summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers')
-rw-r--r--src/mame/drivers/cvs.c27
-rw-r--r--src/mame/drivers/dkong.c6
-rw-r--r--src/mame/drivers/galaxia.c1
-rw-r--r--src/mame/drivers/laserbat.c2
-rw-r--r--src/mame/drivers/quasar.c1
-rw-r--r--src/mame/drivers/quizshow.c5
-rw-r--r--src/mame/drivers/zac_1.c9
-rw-r--r--src/mame/drivers/zac_2.c7
8 files changed, 29 insertions, 29 deletions
diff --git a/src/mame/drivers/cvs.c b/src/mame/drivers/cvs.c
index e36ab59f38a..4ff3c0c354d 100644
--- a/src/mame/drivers/cvs.c
+++ b/src/mame/drivers/cvs.c
@@ -109,9 +109,14 @@ Todo & FIXME:
*
*************************************/
+WRITE_LINE_MEMBER(cvs_state::write_s2650_flag)
+{
+ m_s2650_flag = state;
+}
+
READ8_MEMBER(cvs_state::cvs_video_or_color_ram_r)
{
- if (*m_fo_state)
+ if (m_s2650_flag)
return m_video_ram[offset];
else
return m_color_ram[offset];
@@ -119,7 +124,7 @@ READ8_MEMBER(cvs_state::cvs_video_or_color_ram_r)
WRITE8_MEMBER(cvs_state::cvs_video_or_color_ram_w)
{
- if (*m_fo_state)
+ if (m_s2650_flag)
m_video_ram[offset] = data;
else
m_color_ram[offset] = data;
@@ -128,7 +133,7 @@ WRITE8_MEMBER(cvs_state::cvs_video_or_color_ram_w)
READ8_MEMBER(cvs_state::cvs_bullet_ram_or_palette_r)
{
- if (*m_fo_state)
+ if (m_s2650_flag)
return m_palette_ram[offset & 0x0f];
else
return m_bullet_ram[offset];
@@ -136,7 +141,7 @@ READ8_MEMBER(cvs_state::cvs_bullet_ram_or_palette_r)
WRITE8_MEMBER(cvs_state::cvs_bullet_ram_or_palette_w)
{
- if (*m_fo_state)
+ if (m_s2650_flag)
m_palette_ram[offset & 0x0f] = data;
else
m_bullet_ram[offset] = data;
@@ -145,7 +150,7 @@ WRITE8_MEMBER(cvs_state::cvs_bullet_ram_or_palette_w)
READ8_MEMBER(cvs_state::cvs_s2636_0_or_character_ram_r)
{
- if (*m_fo_state)
+ if (m_s2650_flag)
return m_character_ram[(0 * 0x800) | 0x400 | m_character_ram_page_start | offset];
else
return m_s2636_0->work_ram_r(space, offset);
@@ -153,7 +158,7 @@ READ8_MEMBER(cvs_state::cvs_s2636_0_or_character_ram_r)
WRITE8_MEMBER(cvs_state::cvs_s2636_0_or_character_ram_w)
{
- if (*m_fo_state)
+ if (m_s2650_flag)
{
offset |= (0 * 0x800) | 0x400 | m_character_ram_page_start;
m_character_ram[offset] = data;
@@ -166,7 +171,7 @@ WRITE8_MEMBER(cvs_state::cvs_s2636_0_or_character_ram_w)
READ8_MEMBER(cvs_state::cvs_s2636_1_or_character_ram_r)
{
- if (*m_fo_state)
+ if (m_s2650_flag)
return m_character_ram[(1 * 0x800) | 0x400 | m_character_ram_page_start | offset];
else
return m_s2636_1->work_ram_r(space, offset);
@@ -174,7 +179,7 @@ READ8_MEMBER(cvs_state::cvs_s2636_1_or_character_ram_r)
WRITE8_MEMBER(cvs_state::cvs_s2636_1_or_character_ram_w)
{
- if (*m_fo_state)
+ if (m_s2650_flag)
{
offset |= (1 * 0x800) | 0x400 | m_character_ram_page_start;
m_character_ram[offset] = data;
@@ -187,7 +192,7 @@ WRITE8_MEMBER(cvs_state::cvs_s2636_1_or_character_ram_w)
READ8_MEMBER(cvs_state::cvs_s2636_2_or_character_ram_r)
{
- if (*m_fo_state)
+ if (m_s2650_flag)
return m_character_ram[(2 * 0x800) | 0x400 | m_character_ram_page_start | offset];
else
return m_s2636_2->work_ram_r(space, offset);
@@ -195,7 +200,7 @@ READ8_MEMBER(cvs_state::cvs_s2636_2_or_character_ram_r)
WRITE8_MEMBER(cvs_state::cvs_s2636_2_or_character_ram_w)
{
- if (*m_fo_state)
+ if (m_s2650_flag)
{
offset |= (2 * 0x800) | 0x400 | m_character_ram_page_start;
m_character_ram[offset] = data;
@@ -468,7 +473,6 @@ static ADDRESS_MAP_START( cvs_main_cpu_io_map, AS_IO, 8, cvs_state )
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READWRITE(cvs_collision_clear, cvs_video_fx_w)
AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_READ(cvs_collision_r) AM_WRITE(audio_command_w)
AM_RANGE(S2650_SENSE_PORT, S2650_SENSE_PORT) AM_READ_PORT("SENSE")
- AM_RANGE(S2650_FO_PORT, S2650_FO_PORT) AM_RAM AM_SHARE("fo_state")
ADDRESS_MAP_END
@@ -1006,6 +1010,7 @@ static MACHINE_CONFIG_START( cvs, cvs_state )
MCFG_CPU_PROGRAM_MAP(cvs_main_cpu_map)
MCFG_CPU_IO_MAP(cvs_main_cpu_io_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", cvs_state, cvs_main_cpu_interrupt)
+ MCFG_S2650_FLAG_HANDLER(WRITELINE(cvs_state, write_s2650_flag))
MCFG_CPU_ADD("audiocpu", S2650, 894886.25)
MCFG_CPU_PROGRAM_MAP(cvs_dac_cpu_map)
diff --git a/src/mame/drivers/dkong.c b/src/mame/drivers/dkong.c
index 34ddd5df550..bbcf5d6c991 100644
--- a/src/mame/drivers/dkong.c
+++ b/src/mame/drivers/dkong.c
@@ -653,13 +653,13 @@ WRITE8_MEMBER(dkong_state::s2650_data_w)
m_hunchloopback = data;
}
-WRITE8_MEMBER(dkong_state::s2650_fo_w)
+WRITE_LINE_MEMBER(dkong_state::s2650_fo_w)
{
#if DEBUG_PROTECTION
logerror("write : pc = %04x, FO = %02x\n",space.device().safe_pc(), data);
#endif
- m_main_fo = data;
+ m_main_fo = state;
if (m_main_fo)
m_hunchloopback = 0xfb;
@@ -884,7 +884,6 @@ static ADDRESS_MAP_START( s2650_io_map, AS_IO, 8, dkong_state )
AM_RANGE(0x00, 0x00) AM_READ(s2650_port0_r)
AM_RANGE(0x01, 0x01) AM_READ(s2650_port1_r)
AM_RANGE(S2650_SENSE_PORT, S2650_SENSE_PORT) AM_READ_PORT("SENSE")
- AM_RANGE(S2650_FO_PORT, S2650_FO_PORT) AM_WRITE(s2650_fo_w)
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_WRITE(s2650_data_w)
ADDRESS_MAP_END
@@ -1657,6 +1656,7 @@ static MACHINE_CONFIG_START( dkong_base, dkong_state )
MCFG_CPU_ADD("maincpu", Z80, CLOCK_1H)
MCFG_CPU_PROGRAM_MAP(dkong_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", dkong_state, vblank_irq)
+ MCFG_S2650_FLAG_HANDLER(WRITELINE(dkong_state, s2650_fo_w))
MCFG_MACHINE_START_OVERRIDE(dkong_state,dkong2b)
MCFG_MACHINE_RESET_OVERRIDE(dkong_state,dkong)
diff --git a/src/mame/drivers/galaxia.c b/src/mame/drivers/galaxia.c
index dae5eadbccc..fb2e8cf9d59 100644
--- a/src/mame/drivers/galaxia.c
+++ b/src/mame/drivers/galaxia.c
@@ -151,7 +151,6 @@ static ADDRESS_MAP_START( galaxia_io_map, AS_IO, 8, galaxia_state )
AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_READWRITE(galaxia_collision_r, galaxia_ctrlport_w)
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READWRITE(galaxia_collision_clear, galaxia_dataport_w)
AM_RANGE(S2650_SENSE_PORT, S2650_SENSE_PORT) AM_READ_PORT("SENSE")
- AM_RANGE(S2650_FO_PORT, S2650_FO_PORT) AM_RAM AM_SHARE("fo_state")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/laserbat.c b/src/mame/drivers/laserbat.c
index 328b00af82c..f8e7bb1537c 100644
--- a/src/mame/drivers/laserbat.c
+++ b/src/mame/drivers/laserbat.c
@@ -178,7 +178,6 @@ static ADDRESS_MAP_START( laserbat_io_map, AS_IO, 8, laserbat_state )
AM_RANGE(0x06, 0x06) AM_WRITE(laserbat_input_mux_w)
AM_RANGE(0x07, 0x07) AM_WRITE(laserbat_csound2_w)
AM_RANGE(S2650_SENSE_PORT, S2650_SENSE_PORT) AM_READ_PORT("SENSE")
- AM_RANGE(S2650_FO_PORT, S2650_FO_PORT) AM_RAM AM_SHARE("fo_state")
ADDRESS_MAP_END
@@ -191,7 +190,6 @@ static ADDRESS_MAP_START( catnmous_io_map, AS_IO, 8, laserbat_state )
AM_RANGE(0x06, 0x06) AM_WRITE(laserbat_input_mux_w)
AM_RANGE(0x07, 0x07) AM_WRITENOP // unknown
AM_RANGE(S2650_SENSE_PORT, S2650_SENSE_PORT) AM_READ_PORT("SENSE")
- AM_RANGE(S2650_FO_PORT, S2650_FO_PORT) AM_RAM AM_SHARE("fo_state")
ADDRESS_MAP_END
// the same as in zaccaria.c ?
diff --git a/src/mame/drivers/quasar.c b/src/mame/drivers/quasar.c
index ef3708f31a8..a61054a11a3 100644
--- a/src/mame/drivers/quasar.c
+++ b/src/mame/drivers/quasar.c
@@ -126,7 +126,6 @@ static ADDRESS_MAP_START( quasar_io, AS_IO, 8, quasar_state )
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READ(cvs_collision_clear) AM_WRITE(quasar_sh_command_w)
AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_READ(cvs_collision_r) AM_WRITENOP
AM_RANGE(S2650_SENSE_PORT, S2650_SENSE_PORT) AM_READ_PORT("SENSE")
- AM_RANGE(S2650_FO_PORT, S2650_FO_PORT) AM_RAM AM_SHARE("fo_state")
ADDRESS_MAP_END
/*************************************
diff --git a/src/mame/drivers/quizshow.c b/src/mame/drivers/quizshow.c
index aaf37edcf51..89af24c297e 100644
--- a/src/mame/drivers/quizshow.c
+++ b/src/mame/drivers/quizshow.c
@@ -41,14 +41,12 @@ public:
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_dac(*this, "dac"),
- m_main_ram(*this, "main_ram"),
- m_fo_state(*this, "fo_state")
+ m_main_ram(*this, "main_ram")
{ }
required_device<cpu_device> m_maincpu;
required_device<dac_device> m_dac;
required_shared_ptr<UINT8> m_main_ram;
- required_shared_ptr<UINT8> m_fo_state;
tilemap_t *m_tilemap;
UINT32 m_clocks;
@@ -240,7 +238,6 @@ static ADDRESS_MAP_START( quizshow_io_map, AS_IO, 8, quizshow_state )
// AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_NOP // unused
// AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_NOP // unused
AM_RANGE(S2650_SENSE_PORT, S2650_SENSE_PORT) AM_READ(quizshow_tape_signal_r)
- AM_RANGE(S2650_FO_PORT, S2650_FO_PORT) AM_RAM AM_SHARE("fo_state")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/zac_1.c b/src/mame/drivers/zac_1.c
index 3f3408b8693..3045969e803 100644
--- a/src/mame/drivers/zac_1.c
+++ b/src/mame/drivers/zac_1.c
@@ -44,7 +44,7 @@ public:
DECLARE_READ8_MEMBER(ctrl_r);
DECLARE_WRITE8_MEMBER(ctrl_w);
DECLARE_READ8_MEMBER(serial_r);
- DECLARE_WRITE8_MEMBER(serial_w);
+ DECLARE_WRITE_LINE_MEMBER(serial_w);
DECLARE_READ8_MEMBER(reset_int_r);
DECLARE_WRITE8_MEMBER(reset_int_w);
TIMER_DEVICE_CALLBACK_MEMBER(zac_1_inttimer);
@@ -75,7 +75,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( zac_1_io, AS_IO, 8, zac_1_state )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_READWRITE(ctrl_r,ctrl_w)
- AM_RANGE(S2650_SENSE_PORT, S2650_FO_PORT) AM_READWRITE(serial_r,serial_w)
+ AM_RANGE(S2650_SENSE_PORT, S2650_SENSE_PORT) AM_READ(serial_r)
ADDRESS_MAP_END
static INPUT_PORTS_START( zac_1 )
@@ -180,7 +180,7 @@ READ8_MEMBER( zac_1_state::serial_r )
return 0;
}
-WRITE8_MEMBER( zac_1_state::serial_w )
+WRITE_LINE_MEMBER( zac_1_state::serial_w )
{
// to printer
}
@@ -246,6 +246,7 @@ static MACHINE_CONFIG_START( zac_1, zac_1_state )
MCFG_CPU_PROGRAM_MAP(zac_1_map)
MCFG_CPU_IO_MAP(zac_1_io)
MCFG_NVRAM_ADD_0FILL("ram")
+ MCFG_S2650_FLAG_HANDLER(WRITELINE(zac_1_state, serial_w))
MCFG_TIMER_DRIVER_ADD_PERIODIC("zac_1_inttimer", zac_1_state, zac_1_inttimer, attotime::from_hz(200))
MCFG_TIMER_DRIVER_ADD_PERIODIC("zac_1_outtimer", zac_1_state, zac_1_outtimer, attotime::from_hz(187500))
@@ -270,7 +271,7 @@ static ADDRESS_MAP_START( locomotp_io, AS_IO, 8, zac_1_state)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_READWRITE(ctrl_r,ctrl_w)
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READ(reset_int_r)
- AM_RANGE(S2650_SENSE_PORT, S2650_FO_PORT) AM_READWRITE(serial_r,serial_w)
+ AM_RANGE(S2650_SENSE_PORT, S2650_SENSE_PORT) AM_READ(serial_r)
ADDRESS_MAP_END
READ8_MEMBER( zac_1_state::reset_int_r )
diff --git a/src/mame/drivers/zac_2.c b/src/mame/drivers/zac_2.c
index 4e08279b880..09f3e04f8eb 100644
--- a/src/mame/drivers/zac_2.c
+++ b/src/mame/drivers/zac_2.c
@@ -21,7 +21,7 @@ public:
DECLARE_READ8_MEMBER(data_r);
DECLARE_WRITE8_MEMBER(data_w);
DECLARE_READ8_MEMBER(serial_r);
- DECLARE_WRITE8_MEMBER(serial_w);
+ DECLARE_WRITE_LINE_MEMBER(serial_w);
UINT8 m_t_c;
UINT8 m_out_offs;
required_device<cpu_device> m_maincpu;
@@ -53,7 +53,7 @@ static ADDRESS_MAP_START(zac_2_io, AS_IO, 8, zac_2_state)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_READWRITE(ctrl_r,ctrl_w)
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READWRITE(data_r,data_w)
- AM_RANGE(S2650_SENSE_PORT, S2650_FO_PORT) AM_READWRITE(serial_r,serial_w)
+ AM_RANGE(S2650_SENSE_PORT, S2650_SENSE_PORT) AM_READ(serial_r)
ADDRESS_MAP_END
static INPUT_PORTS_START( zac_2 )
@@ -164,7 +164,7 @@ READ8_MEMBER( zac_2_state::serial_r )
return 0;
}
-WRITE8_MEMBER( zac_2_state::serial_w )
+WRITE_LINE_MEMBER( zac_2_state::serial_w )
{
// to printer
}
@@ -203,6 +203,7 @@ static MACHINE_CONFIG_START( zac_2, zac_2_state )
MCFG_CPU_PROGRAM_MAP(zac_2_map)
MCFG_CPU_IO_MAP(zac_2_io)
MCFG_NVRAM_ADD_0FILL("ram")
+ MCFG_S2650_FLAG_HANDLER(WRITELINE(zac_2_state, serial_w))
MCFG_TIMER_DRIVER_ADD_PERIODIC("zac_2_inttimer", zac_2_state, zac_2_inttimer, attotime::from_hz(200))
MCFG_TIMER_DRIVER_ADD_PERIODIC("zac_2_outtimer", zac_2_state, zac_2_outtimer, attotime::from_hz(187500))