mirror of
https://github.com/holub/mame
synced 2025-07-04 17:38:08 +03:00
Minor cleanups and notes
This commit is contained in:
parent
cba86c8114
commit
2e60e72069
@ -1,8 +1,8 @@
|
|||||||
/***********************************************************************************
|
/***********************************************************************************
|
||||||
|
|
||||||
Flicker Pinball
|
PINBALL
|
||||||
|
Flicker was originally an EM machine, and Bally asked Nutting Associates
|
||||||
Prototype create by Nutting Associates for Bally.
|
to create a solid-state prototype.
|
||||||
|
|
||||||
Seems to be the first ever microprocessor-controlled pinball machine.
|
Seems to be the first ever microprocessor-controlled pinball machine.
|
||||||
|
|
||||||
@ -25,22 +25,17 @@ class flicker_state : public genpin_class
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
flicker_state(const machine_config &mconfig, device_type type, const char *tag)
|
flicker_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")
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
DECLARE_WRITE8_MEMBER(port00_w);
|
DECLARE_WRITE8_MEMBER(port00_w);
|
||||||
DECLARE_WRITE8_MEMBER(port01_w);
|
DECLARE_WRITE8_MEMBER(port01_w);
|
||||||
DECLARE_WRITE8_MEMBER(port10_w);
|
DECLARE_WRITE8_MEMBER(port10_w);
|
||||||
DECLARE_READ8_MEMBER(port02_r);
|
DECLARE_READ8_MEMBER(port02_r);
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
// devices
|
|
||||||
required_device<i4004_cpu_device> m_maincpu;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
UINT8 m_out_data;
|
UINT8 m_out_data;
|
||||||
|
required_device<i4004_cpu_device> m_maincpu;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -192,7 +187,7 @@ sound to produce. We need to change this to just one pulse per actual sound. */
|
|||||||
break;
|
break;
|
||||||
case 0x07:
|
case 0x07:
|
||||||
case 0x08:
|
case 0x08:
|
||||||
m_samples->start(0, 5);
|
m_samples->start(5, 5);
|
||||||
break;
|
break;
|
||||||
case 0x09:
|
case 0x09:
|
||||||
m_samples->start(0, 6);
|
m_samples->start(0, 6);
|
||||||
|
@ -13,11 +13,19 @@ games at the start of ball 1.
|
|||||||
All the Z80 "maincpu" code is copied from gp_1.c
|
All the Z80 "maincpu" code is copied from gp_1.c
|
||||||
Any bug fixes need to be applied both here and there.
|
Any bug fixes need to be applied both here and there.
|
||||||
|
|
||||||
|
Sound boards: (each game has its own custom sounds)
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Old Coney Island 3x SN76477
|
||||||
|
Sharpshooter 3x SN76477
|
||||||
|
Super Nova 4x SN76477
|
||||||
|
Andromeda/Cyclopes 6808/6802/6810 + 6821 + 1 rom + ZN428
|
||||||
|
Lady Sharpshooter 6808/6802/6810 + 2x6821 + 2xROM + 6840 + discrete
|
||||||
|
(no schematics for the others)
|
||||||
|
|
||||||
ToDo:
|
ToDo:
|
||||||
- The earlier sets have a sound board with 3x SN76477 and lots of discrete circuitry (not emulated)
|
- Sound
|
||||||
- The later sets (with sound roms) have a sound board with a MC6808 and 6821PIA (not emulated)
|
- Inputs vary per machine
|
||||||
- Each machine has its own set of inputs (not emulated)
|
- Mechanical
|
||||||
|
|
||||||
|
|
||||||
******************************************************************************************/
|
******************************************************************************************/
|
||||||
@ -202,7 +210,7 @@ static INPUT_PORTS_START( gp_1 )
|
|||||||
PORT_DIPSETTING( 0x80, DEF_STR( On ))
|
PORT_DIPSETTING( 0x80, DEF_STR( On ))
|
||||||
|
|
||||||
PORT_START("DSW3")
|
PORT_START("DSW3")
|
||||||
PORT_DIPNAME( 0x07, 0x07, "Max number of credits")
|
PORT_DIPNAME( 0x07, 0x02, "Max number of credits")
|
||||||
PORT_DIPSETTING( 0x00, "5" )
|
PORT_DIPSETTING( 0x00, "5" )
|
||||||
PORT_DIPSETTING( 0x01, "10")
|
PORT_DIPSETTING( 0x01, "10")
|
||||||
PORT_DIPSETTING( 0x02, "15")
|
PORT_DIPSETTING( 0x02, "15")
|
||||||
@ -211,7 +219,7 @@ static INPUT_PORTS_START( gp_1 )
|
|||||||
PORT_DIPSETTING( 0x05, "30")
|
PORT_DIPSETTING( 0x05, "30")
|
||||||
PORT_DIPSETTING( 0x06, "35")
|
PORT_DIPSETTING( 0x06, "35")
|
||||||
PORT_DIPSETTING( 0x07, "40")
|
PORT_DIPSETTING( 0x07, "40")
|
||||||
PORT_DIPNAME( 0x08, 0x08, "Balls")
|
PORT_DIPNAME( 0x08, 0x00, "Balls")
|
||||||
PORT_DIPSETTING( 0x00, "3")
|
PORT_DIPSETTING( 0x00, "3")
|
||||||
PORT_DIPSETTING( 0x08, "5")
|
PORT_DIPSETTING( 0x08, "5")
|
||||||
PORT_DIPNAME( 0x10, 0x10, "Award")
|
PORT_DIPNAME( 0x10, 0x10, "Award")
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
|
|
||||||
Pinball
|
PINBALL
|
||||||
Rowamet : Heavy Metal
|
Rowamet : Heavy Metal
|
||||||
|
|
||||||
PinMAME used as reference (couldn't find a manual)
|
PinMAME used as reference (couldn't find a manual)
|
||||||
@ -10,6 +10,7 @@ ToDO:
|
|||||||
- Outputs
|
- Outputs
|
||||||
- Fix display
|
- Fix display
|
||||||
- Doesn't boot properly
|
- Doesn't boot properly
|
||||||
|
- Bad sound rom
|
||||||
|
|
||||||
*************************************************************************************/
|
*************************************************************************************/
|
||||||
|
|
||||||
@ -22,10 +23,10 @@ class rowamet_state : public driver_device
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
rowamet_state(const machine_config &mconfig, device_type type, const char *tag)
|
rowamet_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag),
|
: driver_device(mconfig, type, tag)
|
||||||
m_maincpu(*this, "maincpu"),
|
, m_maincpu(*this, "maincpu")
|
||||||
m_cpu2(*this, "cpu2"),
|
, m_cpu2(*this, "cpu2")
|
||||||
m_p_ram(*this, "ram")
|
, m_p_ram(*this, "ram")
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
DECLARE_READ8_MEMBER(sound_r);
|
DECLARE_READ8_MEMBER(sound_r);
|
||||||
@ -34,25 +35,19 @@ public:
|
|||||||
DECLARE_READ8_MEMBER(io_r);
|
DECLARE_READ8_MEMBER(io_r);
|
||||||
DECLARE_WRITE8_MEMBER(io_w);
|
DECLARE_WRITE8_MEMBER(io_w);
|
||||||
TIMER_DEVICE_CALLBACK_MEMBER(rowamet_timer);
|
TIMER_DEVICE_CALLBACK_MEMBER(rowamet_timer);
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
// devices
|
|
||||||
required_device<cpu_device> m_maincpu;
|
|
||||||
required_device<cpu_device> m_cpu2;
|
|
||||||
required_shared_ptr<UINT8> m_p_ram;
|
|
||||||
|
|
||||||
// driver_device overrides
|
|
||||||
virtual void machine_reset();
|
|
||||||
private:
|
private:
|
||||||
UINT8 m_out_offs;
|
UINT8 m_out_offs;
|
||||||
UINT8 m_sndcmd;
|
UINT8 m_sndcmd;
|
||||||
UINT8 m_io[16];
|
UINT8 m_io[16];
|
||||||
|
virtual void machine_reset();
|
||||||
|
required_device<cpu_device> m_maincpu;
|
||||||
|
required_device<cpu_device> m_cpu2;
|
||||||
|
required_shared_ptr<UINT8> m_p_ram;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
static ADDRESS_MAP_START( rowamet_map, AS_PROGRAM, 8, rowamet_state )
|
static ADDRESS_MAP_START( rowamet_map, AS_PROGRAM, 8, rowamet_state )
|
||||||
AM_RANGE(0x0000, 0x1fff) AM_ROM
|
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION("roms", 0)
|
||||||
AM_RANGE(0x2800, 0x2808) AM_READ(switch_r)
|
AM_RANGE(0x2800, 0x2808) AM_READ(switch_r)
|
||||||
AM_RANGE(0x4000, 0x407f) AM_RAM
|
AM_RANGE(0x4000, 0x407f) AM_RAM
|
||||||
AM_RANGE(0x4080, 0x408f) AM_RAM AM_SHARE("ram")
|
AM_RANGE(0x4080, 0x408f) AM_RAM AM_SHARE("ram")
|
||||||
@ -61,7 +56,7 @@ static ADDRESS_MAP_START( rowamet_map, AS_PROGRAM, 8, rowamet_state )
|
|||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
static ADDRESS_MAP_START( rowamet_sub_map, AS_PROGRAM, 8, rowamet_state )
|
static ADDRESS_MAP_START( rowamet_sub_map, AS_PROGRAM, 8, rowamet_state )
|
||||||
AM_RANGE(0x0000, 0x0fff) AM_ROM
|
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION("roms", 0x2000)
|
||||||
AM_RANGE(0x1000, 0x17ff) AM_RAM
|
AM_RANGE(0x1000, 0x17ff) AM_RAM
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
@ -82,6 +77,9 @@ READ8_MEMBER( rowamet_state::sound_r )
|
|||||||
|
|
||||||
READ8_MEMBER( rowamet_state::switch_r )
|
READ8_MEMBER( rowamet_state::switch_r )
|
||||||
{
|
{
|
||||||
|
if (offset==6)
|
||||||
|
return 0x3f; // gets stuck in a loop without this
|
||||||
|
else
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -112,6 +110,11 @@ WRITE8_MEMBER( rowamet_state::io_w )
|
|||||||
|
|
||||||
void rowamet_state::machine_reset()
|
void rowamet_state::machine_reset()
|
||||||
{
|
{
|
||||||
|
UINT8 i;
|
||||||
|
m_out_offs = 0;
|
||||||
|
m_sndcmd = 0;
|
||||||
|
for (i = 0; i < 16; i++)
|
||||||
|
m_io[i] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
TIMER_DEVICE_CALLBACK_MEMBER(rowamet_state::rowamet_timer)
|
TIMER_DEVICE_CALLBACK_MEMBER(rowamet_state::rowamet_timer)
|
||||||
@ -150,13 +153,12 @@ MACHINE_CONFIG_END
|
|||||||
/ Heavy Metal (????)
|
/ Heavy Metal (????)
|
||||||
/-------------------------------------------------------------------*/
|
/-------------------------------------------------------------------*/
|
||||||
ROM_START(heavymtl)
|
ROM_START(heavymtl)
|
||||||
ROM_REGION(0x10000, "maincpu", 0)
|
ROM_REGION(0x3000, "roms", 0)
|
||||||
ROM_LOAD("hvymtl_c.bin", 0x0000, 0x1000, CRC(8f36d3da) SHA1(beec79c5d794ede96d95105bad7466b67762606d))
|
ROM_LOAD("hvymtl_c.bin", 0x0000, 0x1000, CRC(8f36d3da) SHA1(beec79c5d794ede96d95105bad7466b67762606d))
|
||||||
ROM_LOAD("hvymtl_b.bin", 0x1000, 0x1000, CRC(357f1252) SHA1(ddc55ded0dc1c8632c31d809bfadfb45ae248cfd))
|
ROM_LOAD("hvymtl_b.bin", 0x1000, 0x1000, CRC(357f1252) SHA1(ddc55ded0dc1c8632c31d809bfadfb45ae248cfd))
|
||||||
|
ROM_LOAD("hvymtl_s.bin", 0x2000, 0x1000, BAD_DUMP CRC(c525e6cb) SHA1(144e06fbbdd1f3e45ccca8bace6b04f876b1312c))
|
||||||
ROM_REGION(0x10000, "cpu2", 0)
|
ROM_FILL(0x2000, 1, 0xaf) // bad byte
|
||||||
ROM_LOAD("hvymtl_s.bin", 0x0000, 0x1000, CRC(c525e6cb) SHA1(144e06fbbdd1f3e45ccca8bace6b04f876b1312c))
|
ROM_FILL(0x2551, 1, 0xdd) // another bad byte
|
||||||
ROM_FILL(0, 1, 0) // remove erronous FF
|
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
/*-------------------------------------------------------------------
|
/*-------------------------------------------------------------------
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/***********************************************************************************
|
/***********************************************************************************
|
||||||
|
|
||||||
Pinball
|
PINBALL
|
||||||
Williams System 3
|
Williams System 3
|
||||||
|
|
||||||
Typical of Williams hardware: Motorola 8-bit CPUs, and lots of PIAs.
|
Typical of Williams hardware: Motorola 8-bit CPUs, and lots of PIAs.
|
||||||
@ -16,7 +16,7 @@
|
|||||||
the real board.
|
the real board.
|
||||||
|
|
||||||
ToDo:
|
ToDo:
|
||||||
- Add 10k chime when added to samples.
|
- Mechanical
|
||||||
|
|
||||||
|
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
@ -33,15 +33,15 @@ class s3_state : public genpin_class
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
s3_state(const machine_config &mconfig, device_type type, const char *tag)
|
s3_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_audiocpu(*this, "audiocpu"),
|
, m_audiocpu(*this, "audiocpu")
|
||||||
m_dac(*this, "dac"),
|
, m_dac(*this, "dac")
|
||||||
m_pia22(*this, "pia22"),
|
, m_pia22(*this, "pia22")
|
||||||
m_pia24(*this, "pia24"),
|
, m_pia24(*this, "pia24")
|
||||||
m_pia28(*this, "pia28"),
|
, m_pia28(*this, "pia28")
|
||||||
m_pia30(*this, "pia30"),
|
, m_pia30(*this, "pia30")
|
||||||
m_pias(*this, "pias")
|
, m_pias(*this, "pias")
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
DECLARE_READ8_MEMBER(dac_r);
|
DECLARE_READ8_MEMBER(dac_r);
|
||||||
@ -71,17 +71,6 @@ public:
|
|||||||
DECLARE_INPUT_CHANGED_MEMBER(audio_nmi);
|
DECLARE_INPUT_CHANGED_MEMBER(audio_nmi);
|
||||||
DECLARE_MACHINE_RESET(s3);
|
DECLARE_MACHINE_RESET(s3);
|
||||||
DECLARE_MACHINE_RESET(s3a);
|
DECLARE_MACHINE_RESET(s3a);
|
||||||
protected:
|
|
||||||
|
|
||||||
// devices
|
|
||||||
required_device<cpu_device> m_maincpu;
|
|
||||||
optional_device<cpu_device> m_audiocpu;
|
|
||||||
optional_device<dac_device> m_dac;
|
|
||||||
required_device<pia6821_device> m_pia22;
|
|
||||||
required_device<pia6821_device> m_pia24;
|
|
||||||
required_device<pia6821_device> m_pia28;
|
|
||||||
required_device<pia6821_device> m_pia30;
|
|
||||||
optional_device<pia6821_device> m_pias;
|
|
||||||
private:
|
private:
|
||||||
UINT8 m_t_c;
|
UINT8 m_t_c;
|
||||||
UINT8 m_sound_data;
|
UINT8 m_sound_data;
|
||||||
@ -90,6 +79,14 @@ private:
|
|||||||
bool m_cb1;
|
bool m_cb1;
|
||||||
bool m_data_ok;
|
bool m_data_ok;
|
||||||
bool m_chimes;
|
bool m_chimes;
|
||||||
|
required_device<cpu_device> m_maincpu;
|
||||||
|
optional_device<cpu_device> m_audiocpu;
|
||||||
|
optional_device<dac_device> m_dac;
|
||||||
|
required_device<pia6821_device> m_pia22;
|
||||||
|
required_device<pia6821_device> m_pia24;
|
||||||
|
required_device<pia6821_device> m_pia28;
|
||||||
|
required_device<pia6821_device> m_pia30;
|
||||||
|
optional_device<pia6821_device> m_pias;
|
||||||
};
|
};
|
||||||
|
|
||||||
static ADDRESS_MAP_START( s3_main_map, AS_PROGRAM, 8, s3_state )
|
static ADDRESS_MAP_START( s3_main_map, AS_PROGRAM, 8, s3_state )
|
||||||
@ -273,7 +270,7 @@ INPUT_CHANGED_MEMBER( s3_state::audio_nmi )
|
|||||||
WRITE8_MEMBER( s3_state::sol0_w )
|
WRITE8_MEMBER( s3_state::sol0_w )
|
||||||
{
|
{
|
||||||
if (BIT(data, 4))
|
if (BIT(data, 4))
|
||||||
m_samples->start(2, 5); // outhole
|
m_samples->start(5, 5); // outhole
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER( s3_state::sol1_w )
|
WRITE8_MEMBER( s3_state::sol1_w )
|
||||||
@ -289,9 +286,8 @@ WRITE8_MEMBER( s3_state::sol1_w )
|
|||||||
if (BIT(data, 2))
|
if (BIT(data, 2))
|
||||||
m_samples->start(3, 3); // 1000 chime
|
m_samples->start(3, 3); // 1000 chime
|
||||||
|
|
||||||
// we don't have a 10k chime in samples yet
|
if (BIT(data, 3))
|
||||||
//if (BIT(data, 3))
|
m_samples->start(4, 4); // 10k chime
|
||||||
//m_samples->start(1, x); // 10k chime
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
/**********************************************************************************
|
/**********************************************************************************
|
||||||
|
|
||||||
Pinball
|
PINBALL
|
||||||
Technoplay "2-2C 8008 LS" (68000 CPU)
|
Technoplay "2-2C 8008 LS" (68000 CPU)
|
||||||
Schematic and PinMAME used as references
|
Schematic and PinMAME used as references
|
||||||
|
|
||||||
ToDo:
|
ToDo:
|
||||||
- Once game starts, nothing responds
|
- Once you press the credit button, nothing responds (game requires 4 balls)
|
||||||
|
- Sliding display is too fast to read (much better if cpu xtal changed to 4MHz)
|
||||||
- No sound due to missing roms
|
- No sound due to missing roms
|
||||||
|
|
||||||
***********************************************************************************/
|
***********************************************************************************/
|
||||||
@ -15,14 +16,13 @@ ToDo:
|
|||||||
#include "cpu/m68000/m68000.h"
|
#include "cpu/m68000/m68000.h"
|
||||||
#include "techno.lh"
|
#include "techno.lh"
|
||||||
|
|
||||||
#define TECHNO_MAINCLK 8e6
|
|
||||||
|
|
||||||
class techno_state : public driver_device
|
class techno_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
techno_state(const machine_config &mconfig, device_type type, const char *tag)
|
techno_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag),
|
: driver_device(mconfig, type, tag)
|
||||||
m_maincpu(*this, "maincpu")
|
, m_maincpu(*this, "maincpu")
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
DECLARE_READ16_MEMBER(key_r);
|
DECLARE_READ16_MEMBER(key_r);
|
||||||
@ -36,20 +36,14 @@ public:
|
|||||||
DECLARE_WRITE16_MEMBER(sol1_w);
|
DECLARE_WRITE16_MEMBER(sol1_w);
|
||||||
DECLARE_WRITE16_MEMBER(sol2_w);
|
DECLARE_WRITE16_MEMBER(sol2_w);
|
||||||
DECLARE_WRITE16_MEMBER(sound_w);
|
DECLARE_WRITE16_MEMBER(sound_w);
|
||||||
UINT16 m_digit;
|
INTERRUPT_GEN_MEMBER(techno_intgen);
|
||||||
UINT8 m_vector;
|
|
||||||
protected:
|
|
||||||
|
|
||||||
// devices
|
|
||||||
required_device<cpu_device> m_maincpu;
|
|
||||||
|
|
||||||
// driver_device overrides
|
|
||||||
virtual void machine_reset();
|
|
||||||
private:
|
private:
|
||||||
bool m_digwait;
|
bool m_digwait;
|
||||||
UINT8 m_keyrow;
|
UINT8 m_keyrow;
|
||||||
public:
|
UINT16 m_digit;
|
||||||
INTERRUPT_GEN_MEMBER(techno_intgen);
|
UINT8 m_vector;
|
||||||
|
virtual void machine_reset();
|
||||||
|
required_device<cpu_device> m_maincpu;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -249,11 +243,11 @@ void techno_state::machine_reset()
|
|||||||
|
|
||||||
static MACHINE_CONFIG_START( techno, techno_state )
|
static MACHINE_CONFIG_START( techno, techno_state )
|
||||||
/* basic machine hardware */
|
/* basic machine hardware */
|
||||||
MCFG_CPU_ADD("maincpu", M68000, TECHNO_MAINCLK)
|
MCFG_CPU_ADD("maincpu", M68000, XTAL_8MHz)
|
||||||
MCFG_CPU_PROGRAM_MAP(techno_map)
|
MCFG_CPU_PROGRAM_MAP(techno_map)
|
||||||
MCFG_CPU_PERIODIC_INT_DRIVER(techno_state, techno_intgen, TECHNO_MAINCLK/256) // 31250Hz
|
MCFG_CPU_PERIODIC_INT_DRIVER(techno_state, techno_intgen, XTAL_8MHz/256) // 31250Hz
|
||||||
MCFG_NVRAM_ADD_0FILL("nvram")
|
MCFG_NVRAM_ADD_0FILL("nvram")
|
||||||
//MCFG_CPU_ADD("cpu2", TMS7000, 4000000)
|
//MCFG_CPU_ADD("cpu2", TMS7000, XTAL_4MHz)
|
||||||
//MCFG_CPU_PROGRAM_MAP(techno_sub_map)
|
//MCFG_CPU_PROGRAM_MAP(techno_sub_map)
|
||||||
|
|
||||||
/* Video */
|
/* Video */
|
||||||
@ -261,12 +255,12 @@ static MACHINE_CONFIG_START( techno, techno_state )
|
|||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
ROM_START(xforce)
|
ROM_START(xforce)
|
||||||
ROM_REGION(0x1000000, "maincpu", 0)
|
ROM_REGION(0x10000, "maincpu", 0)
|
||||||
ROM_LOAD16_BYTE("ic15", 0x000001, 0x8000, CRC(fb8d2853) SHA1(0b0004abfe32edfd3ac15d66f90695d264c97eba))
|
ROM_LOAD16_BYTE("ic15", 0x0001, 0x8000, CRC(fb8d2853) SHA1(0b0004abfe32edfd3ac15d66f90695d264c97eba))
|
||||||
ROM_LOAD16_BYTE("ic17", 0x000000, 0x8000, CRC(122ef649) SHA1(0b425f81869bc359841377a91c39f44395502bff))
|
ROM_LOAD16_BYTE("ic17", 0x0000, 0x8000, CRC(122ef649) SHA1(0b425f81869bc359841377a91c39f44395502bff))
|
||||||
|
|
||||||
//ROM_REGION(0x20000), "cpu2", 0)
|
//ROM_REGION(0x20000), "cpu2", 0)
|
||||||
// 5 x 27256 roms are undumped
|
// 5 x 27256 roms are undumped
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
GAME(1987, xforce, 0, techno, techno, driver_device, 0, ROT0, "Tecnoplay", "X Force", GAME_MECHANICAL | GAME_NO_SOUND | GAME_IMPERFECT_KEYBOARD)
|
GAME(1987, xforce, 0, techno, techno, driver_device, 0, ROT0, "Tecnoplay", "X Force", GAME_IS_SKELETON_MECHANICAL)
|
||||||
|
@ -37,10 +37,10 @@ class wico_state : public genpin_class
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wico_state(const machine_config &mconfig, device_type type, const char *tag)
|
wico_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: genpin_class(mconfig, type, tag),
|
: genpin_class(mconfig, type, tag)
|
||||||
m_ccpu(*this, "ccpu"),
|
, m_ccpu(*this, "ccpu")
|
||||||
m_hcpu(*this, "hcpu"),
|
, m_hcpu(*this, "hcpu")
|
||||||
m_shared_ram(*this, "sharedram")
|
, m_shared_ram(*this, "sharedram")
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
DECLARE_READ8_MEMBER(lampst_r);
|
DECLARE_READ8_MEMBER(lampst_r);
|
||||||
@ -54,21 +54,16 @@ public:
|
|||||||
DECLARE_READ8_MEMBER(gentmrcl_r);
|
DECLARE_READ8_MEMBER(gentmrcl_r);
|
||||||
TIMER_DEVICE_CALLBACK_MEMBER(irq_housekeeping);
|
TIMER_DEVICE_CALLBACK_MEMBER(irq_housekeeping);
|
||||||
TIMER_DEVICE_CALLBACK_MEMBER(firq_housekeeping);
|
TIMER_DEVICE_CALLBACK_MEMBER(firq_housekeeping);
|
||||||
protected:
|
|
||||||
|
|
||||||
// devices
|
|
||||||
required_device<cpu_device> m_ccpu;
|
|
||||||
required_device<cpu_device> m_hcpu;
|
|
||||||
required_shared_ptr<UINT8> m_shared_ram;
|
|
||||||
|
|
||||||
// driver_device overrides
|
|
||||||
virtual void machine_reset();
|
|
||||||
private:
|
private:
|
||||||
bool m_zcen;
|
bool m_zcen;
|
||||||
bool m_gten;
|
bool m_gten;
|
||||||
bool m_disp_on;
|
bool m_disp_on;
|
||||||
bool m_diag_on;
|
bool m_diag_on;
|
||||||
UINT8 m_firqtimer;
|
UINT8 m_firqtimer;
|
||||||
|
virtual void machine_reset();
|
||||||
|
required_device<cpu_device> m_ccpu;
|
||||||
|
required_device<cpu_device> m_hcpu;
|
||||||
|
required_shared_ptr<UINT8> m_shared_ram;
|
||||||
};
|
};
|
||||||
|
|
||||||
// housekeeping cpu
|
// housekeeping cpu
|
||||||
|
@ -26,21 +26,17 @@ class zac_proto_state : public driver_device
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
zac_proto_state(const machine_config &mconfig, device_type type, const char *tag)
|
zac_proto_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag),
|
: driver_device(mconfig, type, tag)
|
||||||
m_maincpu(*this, "maincpu")
|
, m_maincpu(*this, "maincpu")
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
DECLARE_WRITE8_MEMBER(out0_w);
|
DECLARE_WRITE8_MEMBER(out0_w);
|
||||||
DECLARE_WRITE8_MEMBER(out1_w);
|
DECLARE_WRITE8_MEMBER(out1_w);
|
||||||
DECLARE_WRITE8_MEMBER(digit_w);
|
DECLARE_WRITE8_MEMBER(digit_w);
|
||||||
DECLARE_WRITE8_MEMBER(sound_w);
|
DECLARE_WRITE8_MEMBER(sound_w);
|
||||||
protected:
|
private:
|
||||||
|
|
||||||
// devices
|
|
||||||
required_device<cpu_device> m_maincpu;
|
|
||||||
|
|
||||||
// driver_device overrides
|
|
||||||
virtual void machine_reset();
|
virtual void machine_reset();
|
||||||
|
required_device<cpu_device> m_maincpu;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user