A try at adding switch matrix inputs. Use just part numbers for device tags. (nw)
This commit is contained in:
parent
b8da0e5e89
commit
6b98aa281a
@ -41,7 +41,7 @@
|
|||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "machine/r10788.h"
|
#include "machine/r10788.h"
|
||||||
|
|
||||||
#define VERBOSE 1
|
#define VERBOSE 0
|
||||||
#if VERBOSE
|
#if VERBOSE
|
||||||
#define LOG(x) logerror x
|
#define LOG(x) logerror x
|
||||||
#else
|
#else
|
||||||
|
@ -104,12 +104,12 @@ WRITE8_MEMBER( ra17xx_device::io_w )
|
|||||||
// SOS command
|
// SOS command
|
||||||
if (data & (1 << 3)) {
|
if (data & (1 << 3)) {
|
||||||
m_line[m_bl] = 1; // enable output
|
m_line[m_bl] = 1; // enable output
|
||||||
if (m_enable)
|
// if (m_enable)
|
||||||
m_iowr(m_bl, 1);
|
m_iowr(m_bl, 1, 1);
|
||||||
} else {
|
} else {
|
||||||
m_line[m_bl] = 0; // disable output
|
m_line[m_bl] = 0; // disable output
|
||||||
if (m_enable)
|
// if (m_enable)
|
||||||
m_iowr(m_bl, 0);
|
m_iowr(m_bl, 0, 1);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// SES command
|
// SES command
|
||||||
|
@ -87,6 +87,7 @@ public:
|
|||||||
gts1_state(const machine_config &mconfig, device_type type, const char *tag)
|
gts1_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: genpin_class(mconfig, type, tag)
|
: genpin_class(mconfig, type, tag)
|
||||||
, m_maincpu(*this, "maincpu")
|
, m_maincpu(*this, "maincpu")
|
||||||
|
, m_switches(*this, "X")
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
DECLARE_DRIVER_INIT(gts1);
|
DECLARE_DRIVER_INIT(gts1);
|
||||||
@ -108,12 +109,13 @@ public:
|
|||||||
private:
|
private:
|
||||||
virtual void machine_reset();
|
virtual void machine_reset();
|
||||||
required_device<cpu_device> m_maincpu;
|
required_device<cpu_device> m_maincpu;
|
||||||
UINT8 m_io[256]; //!< dummy I/O values of undefined ranges (will be removed)
|
required_ioport_array<5> m_switches;
|
||||||
|
UINT8 m_strobe; //!< switches strobe lines (5 lower bits used)
|
||||||
UINT8 m_nvram_addr; //!< NVRAM address
|
UINT8 m_nvram_addr; //!< NVRAM address
|
||||||
bool m_nvram_e2; //!< NVRWAM enable (E2 line)
|
bool m_nvram_e2; //!< NVRWAM enable (E2 line)
|
||||||
bool m_nvram_wr; //!< NVRWAM write (W/R line)
|
bool m_nvram_wr; //!< NVRWAM write (W/R line)
|
||||||
UINT16 m_6351_addr;
|
UINT16 m_6351_addr; //!< ROM MM6351 address (12 bits)
|
||||||
UINT16 m_z30_out;
|
UINT16 m_z30_out; //!< 4-to-16 decoder outputs
|
||||||
};
|
};
|
||||||
|
|
||||||
static ADDRESS_MAP_START( gts1_map, AS_PROGRAM, 8, gts1_state )
|
static ADDRESS_MAP_START( gts1_map, AS_PROGRAM, 8, gts1_state )
|
||||||
@ -121,102 +123,210 @@ static ADDRESS_MAP_START( gts1_map, AS_PROGRAM, 8, gts1_state )
|
|||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
static ADDRESS_MAP_START( gts1_data, AS_DATA, 8, gts1_state )
|
static ADDRESS_MAP_START( gts1_data, AS_DATA, 8, gts1_state )
|
||||||
AM_RANGE(0x0000, 0x00ff) AM_RAM // not correct
|
AM_RANGE(0x0000, 0x00ff) AM_RAM
|
||||||
|
AM_RANGE(0x0100, 0x01ff) AM_RAM AM_SHARE("nvram")
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
static ADDRESS_MAP_START( gts1_io, AS_IO, 8, gts1_state )
|
static ADDRESS_MAP_START( gts1_io, AS_IO, 8, gts1_state )
|
||||||
AM_RANGE(0x0020, 0x002f) AM_DEVREADWRITE ( "ra17xx_u4", ra17xx_device, io_r, io_w ) // (U4) solenoid
|
AM_RANGE(0x0020, 0x002f) AM_DEVREADWRITE ( "u4", ra17xx_device, io_r, io_w ) // (U4) solenoid
|
||||||
AM_RANGE(0x0030, 0x003f) AM_DEVREADWRITE ( "r10696_u3", r10696_device, io_r, io_w ) // (U3) solenoid + dips
|
AM_RANGE(0x0030, 0x003f) AM_DEVREADWRITE ( "u3", r10696_device, io_r, io_w ) // (U3) solenoid + dips
|
||||||
AM_RANGE(0x0040, 0x004f) AM_DEVREADWRITE ( "ra17xx_u5", ra17xx_device, io_r, io_w ) // (U5) switch matrix
|
AM_RANGE(0x0040, 0x004f) AM_DEVREADWRITE ( "u5", ra17xx_device, io_r, io_w ) // (U5) switch matrix
|
||||||
AM_RANGE(0x0060, 0x006f) AM_DEVREADWRITE ( "r10696_u2", r10696_device, io_r, io_w ) // (U2) NVRAM io chip
|
AM_RANGE(0x0060, 0x006f) AM_DEVREADWRITE ( "u2", r10696_device, io_r, io_w ) // (U2) NVRAM io chip
|
||||||
AM_RANGE(0x00d0, 0x00df) AM_DEVREADWRITE ( "r10788_u6", r10788_device, io_r, io_w ) // (U6) display chip
|
AM_RANGE(0x00d0, 0x00df) AM_DEVREADWRITE ( "u6", r10788_device, io_r, io_w ) // (U6) display chip
|
||||||
AM_RANGE(0x0000, 0x00ff) AM_READ ( gts1_io_r ) AM_WRITE( gts1_io_w ) // catch undecoded I/O accesss
|
AM_RANGE(0x0000, 0x00ff) AM_READ ( gts1_io_r ) AM_WRITE( gts1_io_w ) // catch undecoded I/O accesss
|
||||||
AM_RANGE(0x0100, 0x0100) AM_READ ( gts1_pa_r ) AM_WRITE( gts1_pa_w ) // CPU I/O port A (input/output)
|
AM_RANGE(0x0100, 0x0100) AM_READ ( gts1_pa_r ) AM_WRITE( gts1_pa_w ) // CPU I/O port A (input/output)
|
||||||
AM_RANGE(0x0101, 0x0101) AM_WRITE( gts1_pb_w ) // CPU I/O port B (output only)
|
AM_RANGE(0x0101, 0x0101) AM_WRITE( gts1_pb_w ) // CPU I/O port B (output only)
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
static INPUT_PORTS_START( gts1 )
|
#define DSW_GTS1 \
|
||||||
PORT_START("DSW0")
|
PORT_START("DSW0") \
|
||||||
PORT_DIPNAME( 0x01, 0x00, "S01")
|
PORT_DIPNAME( 0x01, 0x00, "S01") \
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
PORT_DIPSETTING( 0x00, DEF_STR( Off )) \
|
||||||
PORT_DIPSETTING( 0x01, DEF_STR( On ))
|
PORT_DIPSETTING( 0x01, DEF_STR( On )) \
|
||||||
PORT_DIPNAME( 0x02, 0x00, "S02")
|
PORT_DIPNAME( 0x02, 0x00, "S02") \
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
PORT_DIPSETTING( 0x00, DEF_STR( Off )) \
|
||||||
PORT_DIPSETTING( 0x02, DEF_STR( On ))
|
PORT_DIPSETTING( 0x02, DEF_STR( On )) \
|
||||||
PORT_DIPNAME( 0x04, 0x00, "S03")
|
PORT_DIPNAME( 0x04, 0x00, "S03") \
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
PORT_DIPSETTING( 0x00, DEF_STR( Off )) \
|
||||||
PORT_DIPSETTING( 0x04, DEF_STR( On ))
|
PORT_DIPSETTING( 0x04, DEF_STR( On )) \
|
||||||
PORT_DIPNAME( 0x08, 0x00, "S04")
|
PORT_DIPNAME( 0x08, 0x00, "S04") \
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
PORT_DIPSETTING( 0x00, DEF_STR( Off )) \
|
||||||
PORT_DIPSETTING( 0x08, DEF_STR( On ))
|
PORT_DIPSETTING( 0x08, DEF_STR( On )) \
|
||||||
PORT_DIPNAME( 0x10, 0x00, "S05")
|
PORT_DIPNAME( 0x10, 0x00, "S05") \
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
PORT_DIPSETTING( 0x00, DEF_STR( Off )) \
|
||||||
PORT_DIPSETTING( 0x10, DEF_STR( On ))
|
PORT_DIPSETTING( 0x10, DEF_STR( On )) \
|
||||||
PORT_DIPNAME( 0x20, 0x20, "S06")
|
PORT_DIPNAME( 0x20, 0x20, "S06") \
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( No ))
|
PORT_DIPSETTING( 0x00, DEF_STR( No )) \
|
||||||
PORT_DIPSETTING( 0x20, DEF_STR( Yes ))
|
PORT_DIPSETTING( 0x20, DEF_STR( Yes )) \
|
||||||
PORT_DIPNAME( 0x40, 0x40, "S07")
|
PORT_DIPNAME( 0x40, 0x40, "S07") \
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( No ))
|
PORT_DIPSETTING( 0x00, DEF_STR( No )) \
|
||||||
PORT_DIPSETTING( 0x40, DEF_STR( Yes ))
|
PORT_DIPSETTING( 0x40, DEF_STR( Yes )) \
|
||||||
PORT_DIPNAME( 0x80, 0x80, "S08")
|
PORT_DIPNAME( 0x80, 0x80, "S08") \
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( No ))
|
PORT_DIPSETTING( 0x00, DEF_STR( No )) \
|
||||||
PORT_DIPSETTING( 0x80, DEF_STR( Yes ))
|
PORT_DIPSETTING( 0x80, DEF_STR( Yes )) \
|
||||||
|
\
|
||||||
PORT_START("DSW1")
|
PORT_START("DSW1") \
|
||||||
PORT_DIPNAME( 0x01, 0x00, "S09")
|
PORT_DIPNAME( 0x01, 0x00, "S09") \
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
PORT_DIPSETTING( 0x00, DEF_STR( Off )) \
|
||||||
PORT_DIPSETTING( 0x01, DEF_STR( On ))
|
PORT_DIPSETTING( 0x01, DEF_STR( On )) \
|
||||||
PORT_DIPNAME( 0x02, 0x00, "S10")
|
PORT_DIPNAME( 0x02, 0x00, "S10") \
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
PORT_DIPSETTING( 0x00, DEF_STR( Off )) \
|
||||||
PORT_DIPSETTING( 0x02, DEF_STR( On ))
|
PORT_DIPSETTING( 0x02, DEF_STR( On )) \
|
||||||
PORT_DIPNAME( 0x04, 0x00, "S11")
|
PORT_DIPNAME( 0x04, 0x00, "S11") \
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
PORT_DIPSETTING( 0x00, DEF_STR( Off )) \
|
||||||
PORT_DIPSETTING( 0x04, DEF_STR( On ))
|
PORT_DIPSETTING( 0x04, DEF_STR( On )) \
|
||||||
PORT_DIPNAME( 0x08, 0x00, "S12")
|
PORT_DIPNAME( 0x08, 0x00, "S12") \
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
PORT_DIPSETTING( 0x00, DEF_STR( Off )) \
|
||||||
PORT_DIPSETTING( 0x08, DEF_STR( On ))
|
PORT_DIPSETTING( 0x08, DEF_STR( On )) \
|
||||||
PORT_DIPNAME( 0x10, 0x00, "S13")
|
PORT_DIPNAME( 0x10, 0x00, "S13") \
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
PORT_DIPSETTING( 0x00, DEF_STR( Off )) \
|
||||||
PORT_DIPSETTING( 0x10, DEF_STR( On ))
|
PORT_DIPSETTING( 0x10, DEF_STR( On )) \
|
||||||
PORT_DIPNAME( 0x20, 0x00, "S14")
|
PORT_DIPNAME( 0x20, 0x00, "S14") \
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Yes ))
|
PORT_DIPSETTING( 0x00, DEF_STR( Yes )) \
|
||||||
PORT_DIPSETTING( 0x20, DEF_STR( No ))
|
PORT_DIPSETTING( 0x20, DEF_STR( No )) \
|
||||||
PORT_DIPNAME( 0x40, 0x40, "S15")
|
PORT_DIPNAME( 0x40, 0x40, "S15") \
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( No ))
|
PORT_DIPSETTING( 0x00, DEF_STR( No )) \
|
||||||
PORT_DIPSETTING( 0x40, DEF_STR( Yes ))
|
PORT_DIPSETTING( 0x40, DEF_STR( Yes )) \
|
||||||
PORT_DIPNAME( 0x80, 0x00, "S16")
|
PORT_DIPNAME( 0x80, 0x00, "S16") \
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( No ))
|
PORT_DIPSETTING( 0x00, DEF_STR( No )) \
|
||||||
PORT_DIPSETTING( 0x80, DEF_STR( Yes ))
|
PORT_DIPSETTING( 0x80, DEF_STR( Yes )) \
|
||||||
|
\
|
||||||
PORT_START("DSW2")
|
PORT_START("DSW2") \
|
||||||
PORT_DIPNAME( 0x01, 0x00, "S17")
|
PORT_DIPNAME( 0x01, 0x00, "S17") \
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
PORT_DIPSETTING( 0x00, DEF_STR( Off )) \
|
||||||
PORT_DIPSETTING( 0x01, DEF_STR( On ))
|
PORT_DIPSETTING( 0x01, DEF_STR( On )) \
|
||||||
PORT_DIPNAME( 0x02, 0x00, "S18")
|
PORT_DIPNAME( 0x02, 0x00, "S18") \
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
PORT_DIPSETTING( 0x00, DEF_STR( Off )) \
|
||||||
PORT_DIPSETTING( 0x02, DEF_STR( On ))
|
PORT_DIPSETTING( 0x02, DEF_STR( On )) \
|
||||||
PORT_DIPNAME( 0x04, 0x00, "S19")
|
PORT_DIPNAME( 0x04, 0x00, "S19") \
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
PORT_DIPSETTING( 0x00, DEF_STR( Off )) \
|
||||||
PORT_DIPSETTING( 0x04, DEF_STR( On ))
|
PORT_DIPSETTING( 0x04, DEF_STR( On )) \
|
||||||
PORT_DIPNAME( 0x08, 0x00, "S20")
|
PORT_DIPNAME( 0x08, 0x00, "S20") \
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
PORT_DIPSETTING( 0x00, DEF_STR( Off )) \
|
||||||
PORT_DIPSETTING( 0x08, DEF_STR( On ))
|
PORT_DIPSETTING( 0x08, DEF_STR( On )) \
|
||||||
PORT_DIPNAME( 0x10, 0x00, "S21")
|
PORT_DIPNAME( 0x10, 0x00, "S21") \
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
PORT_DIPSETTING( 0x00, DEF_STR( Off )) \
|
||||||
PORT_DIPSETTING( 0x10, DEF_STR( On ))
|
PORT_DIPSETTING( 0x10, DEF_STR( On )) \
|
||||||
PORT_DIPNAME( 0x20, 0x00, "S22")
|
PORT_DIPNAME( 0x20, 0x00, "S22") \
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
PORT_DIPSETTING( 0x00, DEF_STR( Off )) \
|
||||||
PORT_DIPSETTING( 0x20, DEF_STR( On ))
|
PORT_DIPSETTING( 0x20, DEF_STR( On )) \
|
||||||
PORT_DIPNAME( 0x40, 0x00, "S23")
|
PORT_DIPNAME( 0x40, 0x00, "S23") \
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
PORT_DIPSETTING( 0x00, DEF_STR( Off )) \
|
||||||
PORT_DIPSETTING( 0x40, DEF_STR( On ))
|
PORT_DIPSETTING( 0x40, DEF_STR( On )) \
|
||||||
PORT_DIPNAME( 0x80, 0x00, "S24")
|
PORT_DIPNAME( 0x80, 0x00, "S24") \
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
PORT_DIPSETTING( 0x00, DEF_STR( Off )) \
|
||||||
PORT_DIPSETTING( 0x80, DEF_STR( On ))
|
PORT_DIPSETTING( 0x80, DEF_STR( On ))
|
||||||
|
|
||||||
|
#define SWITCHES_GTS1 \
|
||||||
|
PORT_START("X.0") \
|
||||||
|
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_START("X.1") \
|
||||||
|
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_START("X.2") \
|
||||||
|
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_START("X.3") \
|
||||||
|
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_START("X.4") \
|
||||||
|
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_OTHER) \
|
||||||
|
|
||||||
|
static INPUT_PORTS_START( gts1 )
|
||||||
|
DSW_GTS1
|
||||||
|
|
||||||
|
SWITCHES_GTS1
|
||||||
|
INPUT_PORTS_END
|
||||||
|
|
||||||
|
static INPUT_PORTS_START( jokrpokr )
|
||||||
|
DSW_GTS1
|
||||||
|
|
||||||
|
PORT_START("X.0")
|
||||||
|
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("PLAY/TEST")
|
||||||
|
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("POP/BUMBER")
|
||||||
|
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("EXTRA BALL TARGET")
|
||||||
|
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("SPECIAL ROLLOVER")
|
||||||
|
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("10 POINT CONTACTS")
|
||||||
|
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("\"A\" DROP TARGET (red)")
|
||||||
|
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_OTHER)
|
||||||
|
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_OTHER)
|
||||||
|
|
||||||
|
PORT_START("X.1")
|
||||||
|
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("#1 COIN CHUTE")
|
||||||
|
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("\"A\" ROLLOVER")
|
||||||
|
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("\"10\" DROP TARGET")
|
||||||
|
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("\"Q\" DROP TARGET (red)")
|
||||||
|
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("\"K\" DROP TARGET (black)")
|
||||||
|
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("\"A\" DROP TARGET (black)")
|
||||||
|
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_OTHER)
|
||||||
|
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_OTHER)
|
||||||
|
|
||||||
|
PORT_START("X.2")
|
||||||
|
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("#2 COIN CHUTE")
|
||||||
|
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("\"B\" ROLLOVER")
|
||||||
|
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("\"J\" DROP TARGET (black)")
|
||||||
|
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("\"O\" DROP TARGET (black)")
|
||||||
|
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("\"K\" DROP TARGET")
|
||||||
|
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("JOKER DROP TARGET")
|
||||||
|
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_OTHER)
|
||||||
|
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_OTHER)
|
||||||
|
|
||||||
|
PORT_START("X.3")
|
||||||
|
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("REPLAY BUTTON")
|
||||||
|
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("\"C\" ROLLOVER")
|
||||||
|
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("\"J\" DROP TARGET (red)")
|
||||||
|
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("\"O\" DROP TARGET (red)")
|
||||||
|
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("\"K\" DROP TARGET")
|
||||||
|
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("\"A\" DROP TARGET (red)")
|
||||||
|
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_OTHER)
|
||||||
|
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_OTHER)
|
||||||
|
|
||||||
|
PORT_START("X.4")
|
||||||
|
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("TILT PANEL")
|
||||||
|
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER)
|
||||||
|
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER)
|
||||||
|
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER)
|
||||||
|
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("\"K\" DROP TARGET")
|
||||||
|
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("\"A\" DROP TARGET (red)")
|
||||||
|
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_OTHER)
|
||||||
|
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_OTHER)
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
void gts1_state::machine_reset()
|
void gts1_state::machine_reset()
|
||||||
{
|
{
|
||||||
|
m_strobe = 0;
|
||||||
m_nvram_addr = 0;
|
m_nvram_addr = 0;
|
||||||
m_nvram_e2 = false;
|
m_nvram_e2 = false;
|
||||||
m_nvram_wr = false;
|
m_nvram_wr = false;
|
||||||
@ -237,7 +347,8 @@ READ8_MEMBER (gts1_state::gts1_solenoid_r)
|
|||||||
|
|
||||||
WRITE8_MEMBER(gts1_state::gts1_solenoid_w)
|
WRITE8_MEMBER(gts1_state::gts1_solenoid_w)
|
||||||
{
|
{
|
||||||
switch (offset) {
|
switch (offset)
|
||||||
|
{
|
||||||
case 0:
|
case 0:
|
||||||
LOG(("%s: outhole <- %x\n", __FUNCTION__, data));
|
LOG(("%s: outhole <- %x\n", __FUNCTION__, data));
|
||||||
break;
|
break;
|
||||||
@ -262,10 +373,7 @@ WRITE8_MEMBER(gts1_state::gts1_solenoid_w)
|
|||||||
case 7:
|
case 7:
|
||||||
LOG(("%s: no. 8 <- %x\n", __FUNCTION__, data));
|
LOG(("%s: no. 8 <- %x\n", __FUNCTION__, data));
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 8: case 9: case 10: case 11:
|
||||||
case 9:
|
|
||||||
case 10:
|
|
||||||
case 11:
|
|
||||||
LOG(("%s: not used [%x] <- %x\n", __FUNCTION__, offset, data));
|
LOG(("%s: not used [%x] <- %x\n", __FUNCTION__, offset, data));
|
||||||
break;
|
break;
|
||||||
case 12: // spare
|
case 12: // spare
|
||||||
@ -287,14 +395,26 @@ WRITE8_MEMBER(gts1_state::gts1_solenoid_w)
|
|||||||
|
|
||||||
READ8_MEMBER (gts1_state::gts1_switches_r)
|
READ8_MEMBER (gts1_state::gts1_switches_r)
|
||||||
{
|
{
|
||||||
UINT8 data = 0;
|
UINT8 data = 1;
|
||||||
LOG(("%s: switches[%02x] -> %x\n", __FUNCTION__, offset, data));
|
if (offset >= 8 && offset < 16) {
|
||||||
|
const int bit = offset - 8;
|
||||||
|
for (int i = 0; i < 5; i++) {
|
||||||
|
if (m_strobe & (1 << i)) {
|
||||||
|
data &= BIT(m_switches[i]->read(), bit);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
LOG(("%s: switches[%x,%x] -> %x\n", __FUNCTION__, m_strobe, offset, data));
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(gts1_state::gts1_switches_w)
|
WRITE8_MEMBER(gts1_state::gts1_switches_w)
|
||||||
{
|
{
|
||||||
LOG(("%s: switches[%02x] <- %x\n", __FUNCTION__, offset, data));
|
LOG(("%s: switches[%x] <- %x\n", __FUNCTION__, offset, data));
|
||||||
|
if (offset < 5) {
|
||||||
|
// outputs O-0 to O-4 are the 5 strobe lines
|
||||||
|
m_strobe = (m_strobe & ~(1 << offset)) | ((data & 1) << offset);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -337,7 +457,7 @@ WRITE8_MEMBER(gts1_state::gts1_display_w)
|
|||||||
};
|
};
|
||||||
UINT8 a = ttl7448_mod[(data >> 0) & 15];
|
UINT8 a = ttl7448_mod[(data >> 0) & 15];
|
||||||
UINT8 b = ttl7448_mod[(data >> 4) & 15];
|
UINT8 b = ttl7448_mod[(data >> 4) & 15];
|
||||||
LOG(("%s: offset:%d data:%02x a:%02x b:%02x\n", __FUNCTION__, offset, data, a, b));
|
// LOG(("%s: offset:%d data:%02x a:%02x b:%02x\n", __FUNCTION__, offset, data, a, b));
|
||||||
if ((offset % 8) < 7) {
|
if ((offset % 8) < 7) {
|
||||||
output_set_indexed_value("digit8_", offset, a);
|
output_set_indexed_value("digit8_", offset, a);
|
||||||
output_set_indexed_value("digit8_", offset + 16, b);
|
output_set_indexed_value("digit8_", offset + 16, b);
|
||||||
@ -377,7 +497,10 @@ READ8_MEMBER (gts1_state::gts1_nvram_r)
|
|||||||
case 0: // group A
|
case 0: // group A
|
||||||
// FIXME: Schematics says TO Z5
|
// FIXME: Schematics says TO Z5
|
||||||
if (!m_nvram_wr && m_nvram_e2) {
|
if (!m_nvram_wr && m_nvram_e2) {
|
||||||
// FIXME: read generic NVRAM data
|
UINT8* nvram = memregion("nvram")->base();
|
||||||
|
assert(nvram != NULL);
|
||||||
|
data = nvram[m_nvram_addr];
|
||||||
|
LOG(("%s: nvram[%02x] -> %x\n", __FUNCTION__, m_nvram_addr, data));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 1: // group B
|
case 1: // group B
|
||||||
@ -406,7 +529,9 @@ WRITE8_MEMBER(gts1_state::gts1_nvram_w)
|
|||||||
case 2: // group C - data bits 3:0 of NVRAM
|
case 2: // group C - data bits 3:0 of NVRAM
|
||||||
if (m_nvram_wr && m_nvram_e2) {
|
if (m_nvram_wr && m_nvram_e2) {
|
||||||
LOG(("%s: nvram[%02x] <- %x\n", __FUNCTION__, m_nvram_addr, data & 15));
|
LOG(("%s: nvram[%02x] <- %x\n", __FUNCTION__, m_nvram_addr, data & 15));
|
||||||
// FIXME: write generic NVRAM data
|
UINT8* nvram = memregion("nvram")->base();
|
||||||
|
assert(nvram != NULL);
|
||||||
|
nvram[m_nvram_addr] = data & 15;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -523,15 +648,14 @@ WRITE8_MEMBER(gts1_state::gts1_lamp_apm_w)
|
|||||||
|
|
||||||
READ8_MEMBER (gts1_state::gts1_io_r)
|
READ8_MEMBER (gts1_state::gts1_io_r)
|
||||||
{
|
{
|
||||||
UINT8 data = m_io[offset] & 0x0f;
|
const UINT8 data = 0x0f;
|
||||||
LOG(("%s: io[%02x] -> %x\n", __FUNCTION__, offset, data));
|
LOG(("%s: unmapped io[%02x] -> %x\n", __FUNCTION__, offset, data));
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(gts1_state::gts1_io_w)
|
WRITE8_MEMBER(gts1_state::gts1_io_w)
|
||||||
{
|
{
|
||||||
LOG(("%s: io[%02x] <- %x\n", __FUNCTION__, offset, data));
|
LOG(("%s: unmapped io[%02x] <- %x\n", __FUNCTION__, offset, data));
|
||||||
m_io[offset] = data;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
READ8_MEMBER (gts1_state::gts1_pa_r)
|
READ8_MEMBER (gts1_state::gts1_pa_r)
|
||||||
@ -565,30 +689,30 @@ static MACHINE_CONFIG_START( gts1, gts1_state )
|
|||||||
MCFG_CPU_DATA_MAP(gts1_data)
|
MCFG_CPU_DATA_MAP(gts1_data)
|
||||||
MCFG_CPU_IO_MAP(gts1_io)
|
MCFG_CPU_IO_MAP(gts1_io)
|
||||||
|
|
||||||
//MCFG_NVRAM_ADD_0FILL("nvram")
|
MCFG_NVRAM_ADD_0FILL("nvram")
|
||||||
|
|
||||||
/* A1753CE 2048 x 8 ROM (000-7ff), 128 x 4 RAM (00-7f) and 16 I/O lines (20 ... 2f) */
|
/* A1753CE 2048 x 8 ROM (000-7ff), 128 x 4 RAM (00-7f) and 16 I/O lines (20 ... 2f) */
|
||||||
MCFG_DEVICE_ADD( "ra17xx_u5", RA17XX, 0 )
|
MCFG_DEVICE_ADD( "u5", RA17XX, 0 )
|
||||||
MCFG_RA17XX_READ ( READ8 (gts1_state,gts1_switches_r) )
|
MCFG_RA17XX_READ ( READ8 (gts1_state,gts1_switches_r) )
|
||||||
MCFG_RA17XX_WRITE( WRITE8(gts1_state,gts1_switches_w) )
|
MCFG_RA17XX_WRITE( WRITE8(gts1_state,gts1_switches_w) )
|
||||||
|
|
||||||
/* A1752CF 2048 x 8 ROM (800-fff), 128 x 4 RAM (80-ff) and 16 I/O lines (40 ... 4f) */
|
/* A1752CF 2048 x 8 ROM (800-fff), 128 x 4 RAM (80-ff) and 16 I/O lines (40 ... 4f) */
|
||||||
MCFG_DEVICE_ADD( "ra17xx_u4", RA17XX, 0 )
|
MCFG_DEVICE_ADD( "u4", RA17XX, 0 )
|
||||||
MCFG_RA17XX_READ ( READ8 (gts1_state,gts1_solenoid_r) )
|
MCFG_RA17XX_READ ( READ8 (gts1_state,gts1_solenoid_r) )
|
||||||
MCFG_RA17XX_WRITE( WRITE8(gts1_state,gts1_solenoid_w) )
|
MCFG_RA17XX_WRITE( WRITE8(gts1_state,gts1_solenoid_w) )
|
||||||
|
|
||||||
/* 10696 General Purpose Input/Output */
|
/* 10696 General Purpose Input/Output */
|
||||||
MCFG_DEVICE_ADD( "r10696_u2", R10696, 0 )
|
MCFG_DEVICE_ADD( "u2", R10696, 0 )
|
||||||
MCFG_R10696_IO( READ8 (gts1_state,gts1_nvram_r),
|
MCFG_R10696_IO( READ8 (gts1_state,gts1_nvram_r),
|
||||||
WRITE8(gts1_state,gts1_nvram_w) )
|
WRITE8(gts1_state,gts1_nvram_w) )
|
||||||
|
|
||||||
/* 10696 General Purpose Input/Output */
|
/* 10696 General Purpose Input/Output */
|
||||||
MCFG_DEVICE_ADD( "r10696_u3", R10696, 0 )
|
MCFG_DEVICE_ADD( "u3", R10696, 0 )
|
||||||
MCFG_R10696_IO( READ8 (gts1_state,gts1_lamp_apm_r),
|
MCFG_R10696_IO( READ8 (gts1_state,gts1_lamp_apm_r),
|
||||||
WRITE8(gts1_state,gts1_lamp_apm_w) )
|
WRITE8(gts1_state,gts1_lamp_apm_w) )
|
||||||
|
|
||||||
/* 10788 General Purpose Display and Keyboard */
|
/* 10788 General Purpose Display and Keyboard */
|
||||||
MCFG_DEVICE_ADD( "r10788_u6", R10788, XTAL_3_579545MHz / 18 ) // divided in the circuit
|
MCFG_DEVICE_ADD( "u6", R10788, XTAL_3_579545MHz / 18 ) // divided in the circuit
|
||||||
MCFG_R10788_UPDATE( WRITE8(gts1_state,gts1_display_w) )
|
MCFG_R10788_UPDATE( WRITE8(gts1_state,gts1_display_w) )
|
||||||
|
|
||||||
/* Video */
|
/* Video */
|
||||||
@ -849,34 +973,34 @@ ROM_START(sys1test)
|
|||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
|
|
||||||
GAME(1977, gts1, 0, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "System 1", GAME_IS_BIOS_ROOT)
|
GAME(1977, gts1, 0, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "System 1", GAME_IS_BIOS_ROOT)
|
||||||
|
|
||||||
//Exact same roms as gts1 with added hardware we'll likely need roms for to emulate properly
|
//Exact same roms as gts1 with added hardware we'll likely need roms for to emulate properly
|
||||||
GAME(1979, gts1s, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "System 1 with sound board", GAME_IS_BIOS_ROOT)
|
GAME(1979, gts1s, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "System 1 with sound board", GAME_IS_BIOS_ROOT)
|
||||||
GAME(19??, sys1test, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "System 1 Test prom", GAME_IS_SKELETON_MECHANICAL)
|
GAME(19??, sys1test, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "System 1 Test prom", GAME_IS_SKELETON_MECHANICAL)
|
||||||
|
|
||||||
// chimes
|
// chimes
|
||||||
GAME(1977, cleoptra, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Cleopatra", GAME_IS_SKELETON_MECHANICAL)
|
GAME(1977, cleoptra, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Cleopatra", GAME_IS_SKELETON_MECHANICAL)
|
||||||
GAME(1978, sinbad, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Sinbad", GAME_IS_SKELETON_MECHANICAL)
|
GAME(1978, sinbad, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Sinbad", GAME_IS_SKELETON_MECHANICAL)
|
||||||
GAME(1978, sinbadn, sinbad, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Sinbad (Norway)", GAME_IS_SKELETON_MECHANICAL)
|
GAME(1978, sinbadn, sinbad, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Sinbad (Norway)", GAME_IS_SKELETON_MECHANICAL)
|
||||||
GAME(1978, jokrpokr, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Joker Poker", GAME_IS_SKELETON_MECHANICAL)
|
GAME(1978, jokrpokr, gts1, gts1, jokrpokr, gts1_state, gts1, ROT0, "Gottlieb", "Joker Poker", GAME_IS_SKELETON_MECHANICAL)
|
||||||
GAME(1978, dragon, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Dragon", GAME_IS_SKELETON_MECHANICAL)
|
GAME(1978, dragon, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Dragon", GAME_IS_SKELETON_MECHANICAL)
|
||||||
GAME(1979, solaride, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Solar Ride", GAME_IS_SKELETON_MECHANICAL)
|
GAME(1979, solaride, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Solar Ride", GAME_IS_SKELETON_MECHANICAL)
|
||||||
GAME(1979, countdwn, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Count-Down", GAME_IS_SKELETON_MECHANICAL)
|
GAME(1979, countdwn, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Count-Down", GAME_IS_SKELETON_MECHANICAL)
|
||||||
|
|
||||||
// NE555 beeper
|
// NE555 beeper
|
||||||
GAME(1978, closeenc, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Close Encounters of the Third Kind", GAME_IS_SKELETON_MECHANICAL)
|
GAME(1978, closeenc, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Close Encounters of the Third Kind", GAME_IS_SKELETON_MECHANICAL)
|
||||||
GAME(1978, charlies, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Charlie's Angels", GAME_IS_SKELETON_MECHANICAL)
|
GAME(1978, charlies, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Charlie's Angels", GAME_IS_SKELETON_MECHANICAL)
|
||||||
GAME(1979, pinpool, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Pinball Pool", GAME_IS_SKELETON_MECHANICAL)
|
GAME(1979, pinpool, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Pinball Pool", GAME_IS_SKELETON_MECHANICAL)
|
||||||
|
|
||||||
// sound card
|
// sound card
|
||||||
GAME(1979, totem, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Totem", GAME_IS_SKELETON_MECHANICAL)
|
GAME(1979, totem, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Totem", GAME_IS_SKELETON_MECHANICAL)
|
||||||
GAME(1979, hulk, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "The Incredible Hulk", GAME_IS_SKELETON_MECHANICAL)
|
GAME(1979, hulk, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "The Incredible Hulk", GAME_IS_SKELETON_MECHANICAL)
|
||||||
GAME(1979, geniep, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Genie (Pinball)", GAME_IS_SKELETON_MECHANICAL)
|
GAME(1979, geniep, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Genie (Pinball)", GAME_IS_SKELETON_MECHANICAL)
|
||||||
GAME(1980, buckrgrs, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Buck Rogers", GAME_IS_SKELETON_MECHANICAL)
|
GAME(1980, buckrgrs, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Buck Rogers", GAME_IS_SKELETON_MECHANICAL)
|
||||||
GAME(1980, torch, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Torch", GAME_IS_SKELETON_MECHANICAL)
|
GAME(1980, torch, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Torch", GAME_IS_SKELETON_MECHANICAL)
|
||||||
GAME(1980, roldisco, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Roller Disco", GAME_IS_SKELETON_MECHANICAL)
|
GAME(1980, roldisco, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Roller Disco", GAME_IS_SKELETON_MECHANICAL)
|
||||||
GAME(1980, astannie, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Asteroid Annie and the Aliens", GAME_IS_SKELETON_MECHANICAL)
|
GAME(1980, astannie, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Asteroid Annie and the Aliens", GAME_IS_SKELETON_MECHANICAL)
|
||||||
|
|
||||||
// homebrew
|
// homebrew
|
||||||
GAME(1986, hexagone, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Christian Tabart", "L'Hexagone (France)", GAME_IS_SKELETON_MECHANICAL)
|
GAME(1986, hexagone, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Christian Tabart", "L'Hexagone (France)", GAME_IS_SKELETON_MECHANICAL)
|
||||||
|
Loading…
Reference in New Issue
Block a user