Added layout for San Francisco Rush

This commit is contained in:
Risugami 2016-10-18 23:07:35 -05:00
parent c2c25469c7
commit 744c470734
4 changed files with 244 additions and 3 deletions

View File

@ -197,6 +197,7 @@
#include "calspeed.lh"
#include "vaportrx.lh"
#include "hyprdriv.lh"
#include "sfrush.lh"
@ -3306,8 +3307,8 @@ DRIVER_INIT_MEMBER(seattle_state,hyprdriv)
GAME( 1996, wg3dh, 0, wg3dh, wg3dh, seattle_state, wg3dh, ROT0, "Atari Games", "Wayne Gretzky's 3D Hockey", MACHINE_SUPPORTS_SAVE )
GAME( 1996, mace, 0, mace, mace, seattle_state, mace, ROT0, "Atari Games", "Mace: The Dark Age (boot ROM 1.0ce, HDD 1.0b)", MACHINE_SUPPORTS_SAVE )
GAME( 1997, macea, mace, mace, mace, seattle_state, mace, ROT0, "Atari Games", "Mace: The Dark Age (HDD 1.0a)", MACHINE_SUPPORTS_SAVE )
GAME( 1996, sfrush, 0, sfrush, sfrush, seattle_state, sfrush, ROT0, "Atari Games", "San Francisco Rush", MACHINE_SUPPORTS_SAVE )
GAME( 1996, sfrushrk, 0, sfrushrk, sfrushrk, seattle_state, sfrushrk, ROT0, "Atari Games", "San Francisco Rush: The Rock", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
GAMEL( 1996, sfrush, 0, sfrush, sfrush, seattle_state, sfrush, ROT0, "Atari Games", "San Francisco Rush", MACHINE_SUPPORTS_SAVE, layout_sfrush )
GAMEL( 1996, sfrushrk, 0, sfrushrk, sfrushrk, seattle_state, sfrushrk, ROT0, "Atari Games", "San Francisco Rush: The Rock", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE, layout_sfrush )
GAMEL( 1998, calspeed, 0, calspeed, calspeed, seattle_state, calspeed, ROT0, "Atari Games", "California Speed (Version 2.1a Apr 17 1998, GUTS 1.25 Apr 17 1998 / MAIN Apr 17 1998)", MACHINE_SUPPORTS_SAVE, layout_calspeed )
GAMEL( 1998, calspeeda,calspeed, calspeed, calspeed, seattle_state, calspeed, ROT0, "Atari Games", "California Speed (Version 1.0r8 Mar 10 1998, GUTS Mar 10 1998 / MAIN Mar 10 1998)", MACHINE_SUPPORTS_SAVE, layout_calspeed )
GAMEL( 1998, calspeedb,calspeed, calspeed, calspeed, seattle_state, calspeed, ROT0, "Atari Games", "California Speed (Version 1.0r7a Mar 4 1998, GUTS Mar 3 1998 / MAIN Jan 19 1998)", MACHINE_SUPPORTS_SAVE, layout_calspeed )

195
src/mame/layout/sfrush.lay Normal file
View File

@ -0,0 +1,195 @@
<?xml version="1.0"?>
<mamelayout version="2">
<element name="abort" defstate="0">
<rect state="0">
<bounds x="0" y="0" width="2.0" height="1.15" />
<color red="0.25" green="0.0145" blue="0.03425" />
</rect>
<rect state="1">
<bounds x="0" y="0" width="2.0" height="1.15" />
<color red="1.0" green="0.058" blue="0.137" />
</rect>
<text string="ABORT">
<color red="0.1" green="0.0058" blue="0.0137" />
<bounds x="0.34" y="0.185" width="1.29" height="0.78" />
</text>
</element>
<element name="music" defstate="0">
<rect state="0">
<bounds x="0" y="0" width="2.0" height="2.0" />
<color red="0.0375" green="0.25" blue="0.25" />
</rect>
<rect state="1">
<bounds x="0" y="0" width="2.0" height="2.0" />
<color red="0.15" green="1.0" blue="1.0" />
</rect>
<rect>
<bounds x="0.1" y="0.1" width="1.8" height="1.8" />
<color red="0.015" green="0.1" blue="0.1" />
</rect>
<text string="MUSIC" state="0">
<color red="0.0375" green="0.25" blue="0.25" />
<bounds x="0.25" y="0.5" width="1.5" height="1.0" />
</text>
<text string="MUSIC" state="1">
<color red="0.15" green="1.0" blue="1.0" />
<bounds x="0.25" y="0.5" width="1.5" height="1.0" />
</text>
</element>
<element name="view1" defstate="0">
<rect state="0">
<bounds x="0.0" y="0.0" width="2.0" height="2.0" />
<color red="0.25" green="0.16667" blue="0.0" />
</rect>
<rect state="1">
<bounds x="0.0" y="0.0" width="2.0" height="2.0" />
<color red="1.0" green="0.6667" blue="0.0" />
</rect>
<rect>
<bounds x="0.1" y="0.1" width="1.8" height="1.8" />
<color red="0.1" green="0.06667" blue="0.0" />
</rect>
<text string="VIEW" state="0">
<color red="0.25" green="0.16667" blue="0.0" />
<bounds x="0.2" y="0.1" width="1.6" height="0.8" />
</text>
<text string="#1" state="0">
<color red="0.25" green="0.16667" blue="0.0" />
<bounds x="0.2" y="1.0" width="1.6" height="0.8" />
</text>
<text string="VIEW" state="1">
<color red="1.0" green="0.6667" blue="0.0" />
<bounds x="0.2" y="0.1" width="1.6" height="0.8" />
</text>
<text string="#1" state="1">
<color red="1.0" green="0.6667" blue="0.0" />
<bounds x="0.2" y="1.0" width="1.6" height="0.8" />
</text>
</element>
<element name="view2" defstate="0">
<rect state="0">
<bounds x="0.0" y="0.0" width="2.0" height="2.0" />
<color red="0.25" green="0.16667" blue="0.0" />
</rect>
<rect state="1">
<bounds x="0.0" y="0.0" width="2.0" height="2.0" />
<color red="1.0" green="0.6667" blue="0.0" />
</rect>
<rect>
<bounds x="0.1" y="0.1" width="1.8" height="1.8" />
<color red="0.1" green="0.06667" blue="0.0" />
</rect>
<text string="VIEW" state="0">
<color red="0.25" green="0.16667" blue="0.0" />
<bounds x="0.2" y="0.1" width="1.6" height="0.8" />
</text>
<text string="#2" state="0">
<color red="0.25" green="0.16667" blue="0.0" />
<bounds x="0.2" y="1.0" width="1.6" height="0.8" />
</text>
<text string="VIEW" state="1">
<color red="1.0" green="0.6667" blue="0.0" />
<bounds x="0.2" y="0.1" width="1.6" height="0.8" />
</text>
<text string="#2" state="1">
<color red="1.0" green="0.6667" blue="0.0" />
<bounds x="0.2" y="1.0" width="1.6" height="0.8" />
</text>
</element>
<element name="view3" defstate="0">
<rect state="0">
<bounds x="0.0" y="0.0" width="2.0" height="2.0" />
<color red="0.25" green="0.16667" blue="0.0" />
</rect>
<rect state="1">
<bounds x="0.0" y="0.0" width="2.0" height="2.0" />
<color red="1.0" green="0.6667" blue="0.0" />
</rect>
<rect>
<bounds x="0.1" y="0.1" width="1.8" height="1.8" />
<color red="0.1" green="0.06667" blue="0.0" />
</rect>
<text string="VIEW" state="0">
<color red="0.25" green="0.16667" blue="0.0" />
<bounds x="0.2" y="0.1" width="1.6" height="0.8" />
</text>
<text string="#3" state="0">
<color red="0.25" green="0.16667" blue="0.0" />
<bounds x="0.2" y="1.0" width="1.6" height="0.8" />
</text>
<text string="VIEW" state="1">
<color red="1.0" green="0.6667" blue="0.0" />
<bounds x="0.2" y="0.1" width="1.6" height="0.8" />
</text>
<text string="#3" state="1">
<color red="1.0" green="0.6667" blue="0.0" />
<bounds x="0.2" y="1.0" width="1.6" height="0.8" />
</text>
</element>
<element name="leader" defstate="0">
<rect>
<bounds x="0" y="0" width="3.0" height="1.75" />
<color red="0.05" green="0.05" blue="0.05" />
</rect>
<text string="LEADER" state="0">
<color red="0.1" green="0.1" blue="0.0" />
<bounds x="0.5" y="0.3" width="2.0" height="1.15" />
</text>
<text string="LEADER" state="1">
<color red="1.0" green="1.0" blue="0.0" />
<bounds x="0.5" y="0.3" width="2.0" height="1.15" />
</text>
</element>
<element name="winner" defstate="0">
<rect>
<bounds x="0" y="0" width="3.0" height="1.4" />
<color red="0.05" green="0.05" blue="0.05" />
</rect>
<text string="WINNER" state="0">
<color red="0.1" green="0.1" blue="0.0" />
<bounds x="0.5" y="0.24" width="2.0" height="0.94" />
</text>
<text string="WINNER" state="1">
<color red="1.0" green="1.0" blue="0.0" />
<bounds x="0.5" y="0.24" width="2.0" height="0.94" />
</text>
</element>
<view name="Dashboard">
<bounds left="0" top="0" right="4" bottom="3.472" />
<screen index="0">
<bounds left="0" top="0" right="4" bottom="3" />
</screen>
<bezel name="lamp3" element="abort" inputtag="SYSTEM" inputmask="0x04">
<bounds x="3.63" y="3.248" width="0.346" height="0.2" />
</bezel>
<bezel name="lamp4" element="music" inputtag="IN1" inputmask="0x08">
<bounds x="0.248" y="3.024" width="0.2" height="0.2" />
</bezel>
<bezel name="lamp5" element="view3" inputtag="IN1" inputmask="0x04">
<bounds x="0.472" y="3.248" width="0.2" height="0.2" />
</bezel>
<bezel name="lamp6" element="view2" inputtag="IN1" inputmask="0x02">
<bounds x="0.248" y="3.248" width="0.2" height="0.2" />
</bezel>
<bezel name="lamp7" element="view1" inputtag="IN1" inputmask="0x01">
<bounds x="0.024" y="3.248" width="0.2" height="0.2" />
</bezel>
<bezel name="lamp8" element="leader">
<bounds x="1.45" y="3.1" width="0.5" height="0.23" />
</bezel>
<bezel name="lamp9" element="winner">
<bounds x="2.05" y="3.1" width="0.5" height="0.23" />
</bezel>
</view>
</mamelayout>

View File

@ -558,7 +558,7 @@ enum
IOASIC_UARTCONTROL, /* 4: controls some UART behavior */
IOASIC_UARTOUT, /* 5: UART output */
IOASIC_UARTIN, /* 6: UART input */
IOASIC_UNKNOWN7, /* 7: ??? */
IOASIC_COIN, /* 7: triggered on coin insertion */
IOASIC_SOUNDCTL, /* 8: sound communications control */
IOASIC_SOUNDOUT, /* 9: sound output port */
IOASIC_SOUNDSTAT, /* a: sound status port */
@ -876,6 +876,46 @@ void midway_ioasic_device::fifo_full_w(UINT16 data)
}
/* need to check if device callback is required instead of hardcode here */
void midway_ioasic_device::output_w(UINT32 data)
{
/* two writes in pairs. flag off first, on second. arg remains the same. */
UINT8 flag = (data >> 8) & 0x8;
UINT8 op = (data >> 8) & 0x7;
UINT8 arg = data & 0xFF;
switch (op)
{
default:
logerror("Unknown output (%02X) = %02X\n", flag | op, arg);
break;
case 0x0:
if (flag)
{
machine().output().set_value("wheel", arg); // wheel motor delta. signed byte.
}
break;
case 0x4:
if (flag)
{
for (UINT8 bit = 0; bit < 8; bit++)
machine().output().set_lamp_value(bit, (arg >> bit) & 0x1);
}
break;
case 0x5:
if (flag)
{
for (UINT8 bit = 0; bit < 8; bit++)
machine().output().set_lamp_value(8 + bit, (arg >> bit) & 0x1);
}
break;
}
}
/*************************************
*
@ -1072,6 +1112,10 @@ WRITE32_MEMBER( midway_ioasic_device::write )
else
midway_serial_pic2_device::write(space, 0, newreg);
break;
case IOASIC_PICIN:
output_w(data);
break;
case IOASIC_INTCTL:
/* interrupt enables */

View File

@ -129,6 +129,7 @@ public:
void set_shuffle_state(int state);
void fifo_w(UINT16 data);
void fifo_full_w(UINT16 data);
void output_w(UINT32 data);
DECLARE_WRITE_LINE_MEMBER(fifo_reset_w);
DECLARE_READ16_MEMBER(fifo_r);