diff options
Diffstat (limited to 'src/mame/drivers')
-rw-r--r-- | src/mame/drivers/cvs.c | 27 | ||||
-rw-r--r-- | src/mame/drivers/dkong.c | 6 | ||||
-rw-r--r-- | src/mame/drivers/galaxia.c | 1 | ||||
-rw-r--r-- | src/mame/drivers/laserbat.c | 2 | ||||
-rw-r--r-- | src/mame/drivers/quasar.c | 1 | ||||
-rw-r--r-- | src/mame/drivers/quizshow.c | 5 | ||||
-rw-r--r-- | src/mame/drivers/zac_1.c | 9 | ||||
-rw-r--r-- | src/mame/drivers/zac_2.c | 7 |
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)) |