diff options
author | R. Belmont <rb6502@users.noreply.github.com> | 2019-04-02 14:56:11 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-02 14:56:11 -0400 |
commit | 631059e094cc7176cb00947bebf7d42a9a999379 (patch) | |
tree | 6f83badde7a68c557378cd00ce418e2a8921b3bd | |
parent | 9bf180e3141b4778a0b5855138418f06e26c0e32 (diff) | |
parent | b905a4c4d6d547737582350c726b2c35f9e9b53e (diff) |
Merge pull request #4841 from cam900/leland_args
leland.cpp, audio/leland.cpp : Updates
-rw-r--r-- | src/mame/audio/leland.cpp | 71 | ||||
-rw-r--r-- | src/mame/audio/leland.h | 57 | ||||
-rw-r--r-- | src/mame/drivers/leland.cpp | 248 | ||||
-rw-r--r-- | src/mame/includes/leland.h | 198 | ||||
-rw-r--r-- | src/mame/machine/leland.cpp | 217 | ||||
-rw-r--r-- | src/mame/video/leland.cpp | 72 |
6 files changed, 430 insertions, 433 deletions
diff --git a/src/mame/audio/leland.cpp b/src/mame/audio/leland.cpp index c27e2871bdf..f558eee078d 100644 --- a/src/mame/audio/leland.cpp +++ b/src/mame/audio/leland.cpp @@ -122,12 +122,15 @@ WRITE_LINE_MEMBER(leland_80186_sound_device::i80186_tmr0_w) WRITE_LINE_MEMBER(leland_80186_sound_device::i80186_tmr1_w) { - if (state) + if (m_ext_base != nullptr) { - if (m_ext_active && (m_ext_start < m_ext_stop)) + if (state) { - m_dac[3]->write(m_ext_base[m_ext_start]); - m_ext_start++; + if (m_ext_active && (m_ext_start < m_ext_stop)) + { + m_dac[3]->write(m_ext_base[m_ext_start]); + m_ext_start++; + } } } set_clock_line(7, state); @@ -354,7 +357,7 @@ void wsf_80186_sound_device::device_add_mconfig(machine_config &config) void leland_80186_sound_device::leland_80186_map_program(address_map &map) { map(0x00000, 0x03fff).mirror(0x1c000).ram(); - map(0x20000, 0xfffff).rom().region(":audiocpu", 0x20000); + map(0x20000, 0xfffff).rom().region("audiocpu", 0x20000); } void leland_80186_sound_device::ataxx_80186_map_io(address_map &map) @@ -401,11 +404,6 @@ void leland_80186_sound_device::device_start() m_ext_start = 0; m_ext_stop = 0; m_ext_active = 0; - m_ext_base = nullptr; - - /* determine which sound hardware is installed */ - if (m_type == TYPE_WSF) - m_ext_base = machine().root_device().memregion("dac")->base(); } void leland_80186_sound_device::device_reset() @@ -422,13 +420,13 @@ void leland_80186_sound_device::device_reset() DEFINE_DEVICE_TYPE(LELAND_80186, leland_80186_sound_device, "leland_80186_sound", "80186 DAC (Leland)") -leland_80186_sound_device::leland_80186_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +leland_80186_sound_device::leland_80186_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : leland_80186_sound_device(mconfig, LELAND_80186, tag, owner, clock) { m_type = TYPE_LELAND; } -leland_80186_sound_device::leland_80186_sound_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) +leland_80186_sound_device::leland_80186_sound_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock) : device_t(mconfig, type, tag, owner, clock) , m_soundlatch(*this, "soundlatch") , m_dac(*this, "dac%u", 1U) @@ -437,13 +435,14 @@ leland_80186_sound_device::leland_80186_sound_device(const machine_config &mconf , m_pit(*this, "pit%u", 0U) , m_audiocpu(*this, "audiocpu") , m_ymsnd(*this, "ymsnd") - , m_master(*this, ":master") + , m_master(*this, finder_base::DUMMY_TAG) + , m_ext_base(*this, "ext") { } DEFINE_DEVICE_TYPE(REDLINE_80186, redline_80186_sound_device, "redline_80186_sound", "80186 DAC (Redline Racer)") -redline_80186_sound_device::redline_80186_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +redline_80186_sound_device::redline_80186_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : leland_80186_sound_device(mconfig, REDLINE_80186, tag, owner, clock) { m_type = TYPE_REDLINE; @@ -451,7 +450,7 @@ redline_80186_sound_device::redline_80186_sound_device(const machine_config &mco DEFINE_DEVICE_TYPE(ATAXX_80186, ataxx_80186_sound_device, "ataxx_80186_sound", "80186 DAC (Ataxx)") -ataxx_80186_sound_device::ataxx_80186_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +ataxx_80186_sound_device::ataxx_80186_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : leland_80186_sound_device(mconfig, ATAXX_80186, tag, owner, clock) { m_type = TYPE_ATAXX; @@ -459,13 +458,13 @@ ataxx_80186_sound_device::ataxx_80186_sound_device(const machine_config &mconfig DEFINE_DEVICE_TYPE(WSF_80186, wsf_80186_sound_device, "wsf_80186_sound", "80186 DAC (WSF)") -wsf_80186_sound_device::wsf_80186_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +wsf_80186_sound_device::wsf_80186_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : leland_80186_sound_device(mconfig, WSF_80186, tag, owner, clock) { m_type = TYPE_WSF; } -WRITE16_MEMBER(leland_80186_sound_device::peripheral_ctrl) +void leland_80186_sound_device::peripheral_ctrl(offs_t offset, u16 data) { switch (offset) { @@ -475,15 +474,15 @@ WRITE16_MEMBER(leland_80186_sound_device::peripheral_ctrl) case 4: { - uint32_t temp = (m_peripheral & 0xffc0) << 4; + u32 temp = (m_peripheral & 0xffc0) << 4; if (data & 0x0040) { - m_audiocpu->space(AS_PROGRAM).install_readwrite_handler(temp, temp + 0x2ff, read16_delegate(FUNC(leland_80186_sound_device::peripheral_r), this), write16_delegate(FUNC(leland_80186_sound_device::peripheral_w), this)); + m_audiocpu->space(AS_PROGRAM).install_readwrite_handler(temp, temp + 0x2ff, read16s_delegate(FUNC(leland_80186_sound_device::peripheral_r), this), write16s_delegate(FUNC(leland_80186_sound_device::peripheral_w), this)); } else { temp &= 0xffff; - m_audiocpu->space(AS_IO).install_readwrite_handler(temp, temp + 0x2ff, read16_delegate(FUNC(leland_80186_sound_device::peripheral_r), this), write16_delegate(FUNC(leland_80186_sound_device::peripheral_w), this)); + m_audiocpu->space(AS_IO).install_readwrite_handler(temp, temp + 0x2ff, read16s_delegate(FUNC(leland_80186_sound_device::peripheral_r), this), write16s_delegate(FUNC(leland_80186_sound_device::peripheral_w), this)); } break; } @@ -499,7 +498,7 @@ WRITE16_MEMBER(leland_80186_sound_device::peripheral_ctrl) * *************************************/ -WRITE8_MEMBER( leland_80186_sound_device::leland_80186_control_w ) +void leland_80186_sound_device::leland_80186_control_w(u8 data) { /* see if anything changed */ int diff = (m_last_control ^ data) & 0xf8; @@ -546,7 +545,7 @@ WRITE8_MEMBER( leland_80186_sound_device::leland_80186_control_w ) * *************************************/ -WRITE8_MEMBER( leland_80186_sound_device::leland_80186_command_lo_w ) +void leland_80186_sound_device::command_lo_w(u8 data) { if (LOG_COMM) logerror("%s:Write sound command latch lo = %02X\n", machine().describe_context(), data); m_sound_command = (m_sound_command & 0xff00) | data; @@ -554,7 +553,7 @@ WRITE8_MEMBER( leland_80186_sound_device::leland_80186_command_lo_w ) } -WRITE8_MEMBER( leland_80186_sound_device::leland_80186_command_hi_w ) +void leland_80186_sound_device::command_hi_w(u8 data) { if (LOG_COMM) logerror("%s:Write sound command latch hi = %02X\n", machine().describe_context(), data); m_sound_command = (m_sound_command & 0x00ff) | (data << 8); @@ -594,7 +593,7 @@ void leland_80186_sound_device::delayed_response_r(void *ptr, int param) } -READ8_MEMBER( leland_80186_sound_device::leland_80186_response_r ) +u8 leland_80186_sound_device::response_r() { offs_t pc = m_master->pcbase(); @@ -613,7 +612,7 @@ READ8_MEMBER( leland_80186_sound_device::leland_80186_response_r ) * *************************************/ -WRITE16_MEMBER( leland_80186_sound_device::dac_w ) +void leland_80186_sound_device::dac_w(offs_t offset, u16 data, u16 mem_mask) { int dac = offset & 7; @@ -638,14 +637,14 @@ WRITE16_MEMBER( leland_80186_sound_device::dac_w ) } -WRITE16_MEMBER( redline_80186_sound_device::redline_dac_w ) +void redline_80186_sound_device::redline_dac_w(offs_t offset, u16 data) { data = (data & 0xff) | (offset << 8); offset = ((offset >> 8) & 7) | ((offset & 0x2000) ? 0x40 : 0) | ((offset & 0x800) ? 0x20 : 0); - dac_w(space, offset, data, 0xffff); + dac_w(offset, data, 0xffff); } -WRITE16_MEMBER( leland_80186_sound_device::ataxx_dac_control ) +void leland_80186_sound_device::ataxx_dac_control(offs_t offset, u16 data, u16 mem_mask) { if (ACCESSING_BITS_0_7) { @@ -653,13 +652,13 @@ WRITE16_MEMBER( leland_80186_sound_device::ataxx_dac_control ) switch (offset & 0x1f) { case 0x00: - dac_w(space, 0x40, data, 0x00ff); + dac_w(0x40, data, 0x00ff); return; case 0x01: - dac_w(space, 0x61, data, 0x00ff); + dac_w(0x61, data, 0x00ff); return; case 0x02: - dac_w(space, 2, data, 0x00ff); + dac_w(2, data, 0x00ff); return; case 0x03: m_dacvol[0]->write((data & 7) << 5); @@ -710,7 +709,7 @@ WRITE16_MEMBER( leland_80186_sound_device::ataxx_dac_control ) * *************************************/ -READ16_MEMBER( leland_80186_sound_device::peripheral_r ) +u16 leland_80186_sound_device::peripheral_r(offs_t offset, u16 mem_mask) { int select = offset / 0x40; offset &= 0x3f; @@ -766,7 +765,7 @@ READ16_MEMBER( leland_80186_sound_device::peripheral_r ) } -WRITE16_MEMBER( leland_80186_sound_device::peripheral_w ) +void leland_80186_sound_device::peripheral_w(offs_t offset, u16 data, u16 mem_mask) { int select = offset / 0x40; offset &= 0x3f; @@ -808,7 +807,7 @@ WRITE16_MEMBER( leland_80186_sound_device::peripheral_w ) case 5: /* Ataxx/WSF/Indy Heat only */ if (m_type > TYPE_REDLINE) - ataxx_dac_control(space, offset, data, mem_mask); + ataxx_dac_control(offset, data, mem_mask); break; default: @@ -825,12 +824,12 @@ WRITE16_MEMBER( leland_80186_sound_device::peripheral_w ) * *************************************/ -WRITE8_MEMBER( leland_80186_sound_device::ataxx_80186_control_w ) +void leland_80186_sound_device::ataxx_80186_control_w(u8 data) { /* compute the bit-shuffled variants of the bits and then write them */ int modified = ((data & 0x01) << 7) | ((data & 0x02) << 5) | ((data & 0x04) << 3) | ((data & 0x08) << 1); - leland_80186_control_w(space, offset, modified); + leland_80186_control_w(modified); } diff --git a/src/mame/audio/leland.h b/src/mame/audio/leland.h index 1aa15ec4be1..d6dd4176dae 100644 --- a/src/mame/audio/leland.h +++ b/src/mame/audio/leland.h @@ -20,18 +20,20 @@ class leland_80186_sound_device : public device_t { public: - leland_80186_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - - DECLARE_WRITE16_MEMBER(peripheral_ctrl); - DECLARE_WRITE8_MEMBER(leland_80186_control_w); - DECLARE_WRITE8_MEMBER(ataxx_80186_control_w); - DECLARE_READ16_MEMBER(peripheral_r); - DECLARE_WRITE16_MEMBER(peripheral_w); - DECLARE_WRITE8_MEMBER(leland_80186_command_lo_w); - DECLARE_WRITE8_MEMBER(leland_80186_command_hi_w); - DECLARE_READ8_MEMBER(leland_80186_response_r); - DECLARE_WRITE16_MEMBER(dac_w); - DECLARE_WRITE16_MEMBER(ataxx_dac_control); + leland_80186_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + + template<class T> void set_master_cpu_tag(T &&tag) { m_master.set_tag(std::forward<T>(tag)); } + + void peripheral_ctrl(offs_t offset, u16 data); + void leland_80186_control_w(u8 data); + void ataxx_80186_control_w(u8 data); + u16 peripheral_r(offs_t offset, u16 mem_mask = ~0); + void peripheral_w(offs_t offset, u16 data, u16 mem_mask = ~0); + void command_lo_w(u8 data); + void command_hi_w(u8 data); + u8 response_r(); + void dac_w(offs_t offset, u16 data, u16 mem_mask = ~0); + void ataxx_dac_control(offs_t offset, u16 data, u16 mem_mask = ~0); DECLARE_WRITE_LINE_MEMBER(i80186_tmr0_w); DECLARE_WRITE_LINE_MEMBER(i80186_tmr1_w); @@ -41,7 +43,7 @@ public: DECLARE_WRITE_LINE_MEMBER(pit1_2_w); protected: - leland_80186_sound_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + leland_80186_sound_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock); // device-level overrides virtual void device_start() override; @@ -73,26 +75,27 @@ private: void set_clock_line(int which, int state) { m_clock_active = state ? (m_clock_active | (1<<which)) : (m_clock_active & ~(1<<which)); } // internal state - uint16_t m_peripheral; - uint8_t m_last_control; - uint8_t m_clock_active; - uint8_t m_clock_tick; - uint16_t m_sound_command; - uint16_t m_sound_response; - uint32_t m_ext_start; - uint32_t m_ext_stop; - uint8_t m_ext_active; - uint8_t* m_ext_base; + u16 m_peripheral; + u8 m_last_control; + u8 m_clock_active; + u8 m_clock_tick; + u16 m_sound_command; + u16 m_sound_response; + u32 m_ext_start; + u32 m_ext_stop; + u8 m_ext_active; required_device<cpu_device> m_master; + + optional_region_ptr<u8> m_ext_base; }; class redline_80186_sound_device : public leland_80186_sound_device { public: - redline_80186_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - DECLARE_WRITE16_MEMBER(redline_dac_w); + redline_80186_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + void redline_dac_w(offs_t offset, u16 data); protected: virtual void device_add_mconfig(machine_config &config) override; @@ -104,7 +107,7 @@ private: class ataxx_80186_sound_device : public leland_80186_sound_device { public: - ataxx_80186_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + ataxx_80186_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); protected: virtual void device_add_mconfig(machine_config &config) override; @@ -114,7 +117,7 @@ protected: class wsf_80186_sound_device : public leland_80186_sound_device { public: - wsf_80186_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + wsf_80186_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); protected: virtual void device_add_mconfig(machine_config &config) override; diff --git a/src/mame/drivers/leland.cpp b/src/mame/drivers/leland.cpp index 155a74f9cd1..0abf9972609 100644 --- a/src/mame/drivers/leland.cpp +++ b/src/mame/drivers/leland.cpp @@ -86,24 +86,24 @@ void leland_state::master_map_program(address_map &map) map(0x2000, 0x9fff).bankr(m_master_bankslot[0]); map(0xa000, 0xdfff).bankr(m_master_bankslot[1]).w(FUNC(leland_state::leland_battery_ram_w)).share("battery"); map(0xe000, 0xefff).ram().share(m_mainram); - map(0xf000, 0xf3ff).rw(FUNC(leland_state::leland_gated_paletteram_r), FUNC(leland_state::leland_gated_paletteram_w)).share("palette"); - map(0xf800, 0xf801).w(FUNC(leland_state::leland_master_video_addr_w)); + map(0xf000, 0xf3ff).rw(FUNC(leland_state::gated_paletteram_r), FUNC(leland_state::gated_paletteram_w)).share("palette"); + map(0xf800, 0xf801).w(FUNC(leland_state::master_video_addr_w)); } void leland_state::master_map_io(address_map &map) { map.global_mask(0xff); map(0xf0, 0xf0).w(FUNC(leland_state::leland_master_alt_bankswitch_w)); - map(0xfd, 0xff).rw(FUNC(leland_state::leland_master_analog_key_r), FUNC(leland_state::leland_master_analog_key_w)); + map(0xfd, 0xff).rw(FUNC(leland_state::master_analog_key_r), FUNC(leland_state::master_analog_key_w)); } void redline_state::master_redline_map_io(address_map &map) { map.global_mask(0xff); map(0xf0, 0xf0).w(FUNC(redline_state::redline_master_alt_bankswitch_w)); - map(0xf2, 0xf2).rw(m_sound, FUNC(leland_80186_sound_device::leland_80186_response_r), FUNC(leland_80186_sound_device::leland_80186_command_lo_w)); - map(0xf4, 0xf4).w(m_sound, FUNC(leland_80186_sound_device::leland_80186_command_hi_w)); - map(0xfd, 0xff).rw(FUNC(redline_state::leland_master_analog_key_r), FUNC(redline_state::leland_master_analog_key_w)); + map(0xf2, 0xf2).rw(m_sound, FUNC(leland_80186_sound_device::response_r), FUNC(leland_80186_sound_device::command_lo_w)); + map(0xf4, 0xf4).w(m_sound, FUNC(leland_80186_sound_device::command_hi_w)); + map(0xfd, 0xff).rw(FUNC(redline_state::master_analog_key_r), FUNC(redline_state::master_analog_key_w)); } @@ -113,18 +113,18 @@ void ataxx_state::master_map_program_2(address_map &map) map(0x2000, 0x9fff).bankr(m_master_bankslot[0]); map(0xa000, 0xdfff).bankr(m_master_bankslot[1]).w(FUNC(ataxx_state::ataxx_battery_ram_w)).share("battery"); map(0xe000, 0xf7ff).ram().share(m_mainram); - map(0xf800, 0xffff).rw(FUNC(ataxx_state::ataxx_paletteram_and_misc_r), FUNC(ataxx_state::ataxx_paletteram_and_misc_w)).share("palette"); + map(0xf800, 0xffff).rw(FUNC(ataxx_state::paletteram_and_misc_r), FUNC(ataxx_state::paletteram_and_misc_w)).share("palette"); } void ataxx_state::master_map_io_2(address_map &map) { map.global_mask(0xff); - map(0x04, 0x04).r(m_sound, FUNC(leland_80186_sound_device::leland_80186_response_r)); - map(0x05, 0x05).w(m_sound, FUNC(leland_80186_sound_device::leland_80186_command_hi_w)); - map(0x06, 0x06).w(m_sound, FUNC(leland_80186_sound_device::leland_80186_command_lo_w)); + map(0x04, 0x04).r(m_sound, FUNC(leland_80186_sound_device::response_r)); + map(0x05, 0x05).w(m_sound, FUNC(leland_80186_sound_device::command_hi_w)); + map(0x06, 0x06).w(m_sound, FUNC(leland_80186_sound_device::command_lo_w)); map(0x0c, 0x0c).w(m_sound, FUNC(leland_80186_sound_device::ataxx_80186_control_w)); - map(0x20, 0x20).rw(FUNC(ataxx_state::ataxx_eeprom_r), FUNC(ataxx_state::ataxx_eeprom_w)); + map(0x20, 0x20).rw(FUNC(ataxx_state::eeprom_r), FUNC(ataxx_state::eeprom_w)); map(0xd0, 0xef).rw(FUNC(ataxx_state::ataxx_mvram_port_r), FUNC(ataxx_state::ataxx_mvram_port_w)); map(0xf0, 0xff).rw(FUNC(ataxx_state::ataxx_master_input_r), FUNC(ataxx_state::ataxx_master_output_w)); } @@ -142,9 +142,9 @@ void leland_state::slave_small_map_program(address_map &map) map(0x0000, 0x1fff).rom(); map(0x2000, 0xdfff).bankr(m_slave_bankslot); map(0xe000, 0xefff).ram(); - map(0xf800, 0xf801).w(FUNC(leland_state::leland_slave_video_addr_w)); - map(0xf802, 0xf802).r(FUNC(leland_state::leland_raster_r)); - map(0xf803, 0xf803).w(FUNC(leland_state::leland_slave_small_banksw_w)); + map(0xf800, 0xf801).w(FUNC(leland_state::slave_video_addr_w)); + map(0xf802, 0xf802).r(FUNC(leland_state::raster_r)); + map(0xf803, 0xf803).w(FUNC(leland_state::slave_small_banksw_w)); } @@ -152,10 +152,10 @@ void redline_state::slave_large_map_program(address_map &map) { map(0x0000, 0x1fff).rom(); map(0x4000, 0xbfff).bankr(m_slave_bankslot); - map(0xc000, 0xc000).w(FUNC(leland_state::leland_slave_large_banksw_w)); + map(0xc000, 0xc000).w(FUNC(leland_state::slave_large_banksw_w)); map(0xe000, 0xefff).ram(); - map(0xf800, 0xf801).w(FUNC(leland_state::leland_slave_video_addr_w)); - map(0xf802, 0xf802).r(FUNC(leland_state::leland_raster_r)); + map(0xf800, 0xf801).w(FUNC(leland_state::slave_video_addr_w)); + map(0xf802, 0xf802).r(FUNC(leland_state::raster_r)); } @@ -173,8 +173,8 @@ void leland_state::slave_map_program(address_map &map) map(0x2000, 0x9fff).bankr(m_slave_bankslot); map(0xa000, 0xdfff).rom(); map(0xe000, 0xefff).ram(); - map(0xfffc, 0xfffd).w(FUNC(leland_state::leland_slave_video_addr_w)); - map(0xfffe, 0xfffe).r(FUNC(leland_state::leland_raster_r)); + map(0xfffc, 0xfffd).w(FUNC(leland_state::slave_video_addr_w)); + map(0xfffe, 0xfffe).r(FUNC(leland_state::raster_r)); map(0xffff, 0xffff).w(FUNC(leland_state::ataxx_slave_banksw_w)); } @@ -1002,15 +1002,15 @@ void leland_state::leland(machine_config &config) AY8910(config, m_ay8910, 10000000/6); m_ay8910->set_flags(AY8910_SINGLE_OUTPUT); m_ay8910->set_resistors_load(1000, 0, 0); - m_ay8910->port_a_read_callback().set(FUNC(leland_state::leland_sound_port_r)); - m_ay8910->port_a_write_callback().set(FUNC(leland_state::leland_sound_port_w)); + m_ay8910->port_a_read_callback().set(FUNC(leland_state::sound_port_r)); + m_ay8910->port_a_write_callback().set(FUNC(leland_state::sound_port_w)); m_ay8910->add_route(ALL_OUTPUTS, "speaker", 0.25); // AY8912(config, m_ay8912, 10000000/6); // m_ay8912->set_flags(AY8910_SINGLE_OUTPUT); // m_ay8912->set_resistors_load(1000, 0, 0); -// m_ay8912->port_a_read_callback().set(FUNC(leland_state::leland_sound_port_r)); -// m_ay8912->port_a_write_callback().set(FUNC(leland_state::leland_sound_port_w)); +// m_ay8912->port_a_read_callback().set(FUNC(leland_state::sound_port_r)); +// m_ay8912->port_a_write_callback().set(FUNC(leland_state::sound_port_w)); // m_ay8912->add_route(ALL_OUTPUTS, "speaker", 0.25); DAC_8BIT_BINARY_WEIGHTED(config, m_dac[0], 0).add_route(ALL_OUTPUTS, "speaker", 0.0625); // ls374.u79 + r17-r23 (24k,12k,6.2k,3k,1.5k,750,390,180) @@ -1029,7 +1029,7 @@ void redline_state::redline(machine_config &config) m_master->set_addrmap(AS_IO, &redline_state::master_redline_map_io); /* sound hardware */ - REDLINE_80186(config, m_sound, 0); + REDLINE_80186(config, m_sound, 0).set_master_cpu_tag(m_master); } @@ -1038,7 +1038,7 @@ void redline_state::quarterb(machine_config &config) redline(config); /* sound hardware */ - LELAND_80186(config.replace(), m_sound, 0); + LELAND_80186(config.replace(), m_sound, 0).set_master_cpu_tag(m_master); } @@ -1070,7 +1070,7 @@ void ataxx_state::ataxx(machine_config &config) ataxx_video(config); /* sound hardware */ - ATAXX_80186(config, m_sound, 0); + ATAXX_80186(config, m_sound, 0).set_master_cpu_tag(m_master); } @@ -1078,7 +1078,7 @@ void ataxx_state::wsf(machine_config &config) { ataxx(config); - WSF_80186(config.replace(), m_sound, 0); + WSF_80186(config.replace(), m_sound, 0).set_master_cpu_tag(m_master); } @@ -1698,7 +1698,7 @@ ROM_START( redlin2p ) ROM_LOAD( "02-13913-01.u9", 0x1a000, 0x02000, CRC(02886071) SHA1(699f13677a3e76e8ec2ec73e62d4da4038f9f85d) ) ROM_CONTINUE( 0x26000, 0x02000 ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "u17t", 0x0e0001, 0x10000, CRC(8d26f221) SHA1(cd5b1d88fec0ff1ab7af554a9fcffc43d33a12e7) ) ROM_LOAD16_BYTE( "u28t", 0x0e0000, 0x10000, CRC(7aa21b2c) SHA1(5fd9f49d4bb1dc28393b9df76dfa19e28677639b) ) @@ -1754,7 +1754,7 @@ ROM_START( quarterb ) ROM_LOAD( "03-15206-01.u9", 0x1a000, 0x02000, CRC(6bf8d4ab) SHA1(cc9b3f1e651b2a667f17553aac655f0039983890) ) ROM_CONTINUE( 0x26000, 0x02000 ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "03-15222-02.u45t", 0x040001, 0x10000, CRC(710bdc76) SHA1(610f7baa17adf2d16c9494b05556b49ae376fe81) ) ROM_LOAD16_BYTE( "03-15225-02.u62t", 0x040000, 0x10000, CRC(041cecde) SHA1(91556a393d61979d3e92f75142832353e9081a15) ) ROM_LOAD16_BYTE( "03-15221-02.u44t", 0x060001, 0x10000, CRC(e0459ddb) SHA1(811896fe3398ecc322ca20c2376b715b2d44992e) ) @@ -1801,7 +1801,7 @@ ROM_START( quarterba ) ROM_LOAD( "03-15206-01.u9", 0x1a000, 0x02000, CRC(6bf8d4ab) SHA1(cc9b3f1e651b2a667f17553aac655f0039983890) ) ROM_CONTINUE( 0x26000, 0x02000 ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "03-15222-01.u45t", 0x040001, 0x10000, CRC(722d1a19) SHA1(b7c7c606798c4357cee58b64d95f2f6a6172d72e) ) ROM_LOAD16_BYTE( "03-15225-01.u62t", 0x040000, 0x10000, CRC(f8c20496) SHA1(5f948a56743127e19d9fbd888b546ce82c0b05f6) ) ROM_LOAD16_BYTE( "03-15221-01.u44t", 0x060001, 0x10000, CRC(bc6abaaf) SHA1(2ca9116c1861d7089679de034c2255bc51179338) ) @@ -1856,7 +1856,7 @@ ROM_START( quarterbc ) ROM_LOAD( "03-15206-01.u9", 0x1a000, 0x02000, CRC(6bf8d4ab) SHA1(cc9b3f1e651b2a667f17553aac655f0039983890) ) ROM_CONTINUE( 0x26000, 0x02000 ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "03-15222-02.u45t", 0x040001, 0x10000, CRC(710bdc76) SHA1(610f7baa17adf2d16c9494b05556b49ae376fe81) ) ROM_LOAD16_BYTE( "03-15225-02.u62t", 0x040000, 0x10000, CRC(041cecde) SHA1(91556a393d61979d3e92f75142832353e9081a15) ) ROM_LOAD16_BYTE( "03-15221-02.u44t", 0x060001, 0x10000, CRC(e0459ddb) SHA1(811896fe3398ecc322ca20c2376b715b2d44992e) ) @@ -1895,7 +1895,7 @@ ROM_START( viper ) ROM_LOAD( "viper.u3t", 0x20000, 0x10000, CRC(213bc02b) SHA1(53fadd81a0138525d3d39fd9c2ea258f90b2e6e7) ) ROM_LOAD( "viper.u4t", 0x30000, 0x10000, CRC(ce0b95b4) SHA1(1a322714ce1e9e5589da9966f2e684e9a2c22592) ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "15620-02.u45t", 0x040001, 0x10000, CRC(7380ece1) SHA1(c131c80c67503785ba1ec5b31366cd72f0f7e0e3) ) ROM_LOAD16_BYTE( "15623-02.u62t", 0x040000, 0x10000, CRC(2921d8f9) SHA1(5ce6752ef3928b40263efdcd81fae376e2d86e36) ) ROM_LOAD16_BYTE( "15619-02.u44t", 0x060001, 0x10000, CRC(c8507cc2) SHA1(aae9f19b3bc6790a137d94e3c4bb3e61e8670b42) ) @@ -1945,7 +1945,7 @@ John Elway's Team Quarterback, the label format is: ROM_LOAD( "03-15606-01.u7t", 0x60000, 0x10000, CRC(8eeb007c) SHA1(6f9d4132c7e5e6502108cb3e8eab9114f07848b4) ) ROM_LOAD( "03-15607-01.u8t", 0x70000, 0x10000, CRC(57cb6d2d) SHA1(56e364aedca25935a5cd7ab4460d9213fcc58b4a) ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "03-15623-01.u25t", 0x040001, 0x10000, CRC(710bdc76) SHA1(610f7baa17adf2d16c9494b05556b49ae376fe81) ) ROM_LOAD16_BYTE( "03-15620-01.u13t", 0x040000, 0x10000, CRC(7e5cb8ad) SHA1(aaff4e93053638955b95951dceea3b35e842e80f) ) ROM_LOAD16_BYTE( "03-15624-01.u26t", 0x060001, 0x10000, CRC(dd090d33) SHA1(09a3fa4fa3a50c6692be2bc5fec2c4e9a5072d5d) ) @@ -1987,7 +1987,7 @@ ROM_START( teamqb2 ) ROM_LOAD( "03-15606-01.u7t", 0x60000, 0x10000, CRC(8eeb007c) SHA1(6f9d4132c7e5e6502108cb3e8eab9114f07848b4) ) ROM_LOAD( "03-15607-01.u8t", 0x70000, 0x10000, CRC(57cb6d2d) SHA1(56e364aedca25935a5cd7ab4460d9213fcc58b4a) ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "03-15623-01.u25t", 0x040001, 0x10000, CRC(710bdc76) SHA1(610f7baa17adf2d16c9494b05556b49ae376fe81) ) ROM_LOAD16_BYTE( "03-15620-01.u13t", 0x040000, 0x10000, CRC(7e5cb8ad) SHA1(aaff4e93053638955b95951dceea3b35e842e80f) ) ROM_LOAD16_BYTE( "03-15624-01.u26t", 0x060001, 0x10000, CRC(dd090d33) SHA1(09a3fa4fa3a50c6692be2bc5fec2c4e9a5072d5d) ) @@ -2030,7 +2030,7 @@ ROM_START( aafb ) ROM_LOAD( "02-15606-01.u7t", 0x60000, 0x10000, CRC(8eeb007c) SHA1(6f9d4132c7e5e6502108cb3e8eab9114f07848b4) ) ROM_LOAD( "03-28002.u8", 0x70000, 0x10000, CRC(c3e09811) SHA1(9b6e036a53000c9bcb104677d9c71743f02fd841) ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "02-24019-01.u25", 0x040001, 0x10000, CRC(9e344768) SHA1(7f16d29c52f3d7f0046f414185c4d889f6128597) ) ROM_LOAD16_BYTE( "02-24016-01.u13", 0x040000, 0x10000, CRC(6997025f) SHA1(5eda3bcae896933385fe97a4e1396ae2da7576cb) ) ROM_LOAD16_BYTE( "02-24020-01.u26", 0x060001, 0x10000, CRC(0788f2a5) SHA1(75eb1ab00185f8efa71f1d46197b5f6d20d721f2) ) @@ -2080,7 +2080,7 @@ ROM_START( aafbb ) ROM_LOAD( "02-15606-01.u7t", 0x60000, 0x10000, CRC(8eeb007c) SHA1(6f9d4132c7e5e6502108cb3e8eab9114f07848b4) ) ROM_LOAD( "02-24002-02.u8t", 0x70000, 0x10000, CRC(3d9747c9) SHA1(4624ac39ff5336b0fd8c70bf35685041d5c38b1c) ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "02-24019-01.u25", 0x040001, 0x10000, CRC(9e344768) SHA1(7f16d29c52f3d7f0046f414185c4d889f6128597) ) ROM_LOAD16_BYTE( "02-24016-01.u13", 0x040000, 0x10000, CRC(6997025f) SHA1(5eda3bcae896933385fe97a4e1396ae2da7576cb) ) ROM_LOAD16_BYTE( "02-24020-01.u26", 0x060001, 0x10000, CRC(0788f2a5) SHA1(75eb1ab00185f8efa71f1d46197b5f6d20d721f2) ) @@ -2122,7 +2122,7 @@ ROM_START( aafbc ) ROM_LOAD( "02-15606-01.u7t", 0x60000, 0x10000, CRC(8eeb007c) SHA1(6f9d4132c7e5e6502108cb3e8eab9114f07848b4) ) ROM_LOAD( "02-24002-02.u8t", 0x70000, 0x10000, CRC(3d9747c9) SHA1(4624ac39ff5336b0fd8c70bf35685041d5c38b1c) ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "02-24019-01.u25", 0x040001, 0x10000, CRC(9e344768) SHA1(7f16d29c52f3d7f0046f414185c4d889f6128597) ) ROM_LOAD16_BYTE( "02-24016-01.u13", 0x040000, 0x10000, CRC(6997025f) SHA1(5eda3bcae896933385fe97a4e1396ae2da7576cb) ) ROM_LOAD16_BYTE( "02-24020-01.u26", 0x060001, 0x10000, CRC(0788f2a5) SHA1(75eb1ab00185f8efa71f1d46197b5f6d20d721f2) ) @@ -2164,7 +2164,7 @@ ROM_START( aafbd2p ) ROM_LOAD( "02-15606-01.u7t", 0x60000, 0x10000, CRC(8eeb007c) SHA1(6f9d4132c7e5e6502108cb3e8eab9114f07848b4) ) ROM_LOAD( "02-24002-02.u8t", 0x70000, 0x10000, CRC(3d9747c9) SHA1(4624ac39ff5336b0fd8c70bf35685041d5c38b1c) ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "02-24019-01.u25", 0x040001, 0x10000, CRC(9e344768) SHA1(7f16d29c52f3d7f0046f414185c4d889f6128597) ) ROM_LOAD16_BYTE( "02-24016-01.u13", 0x040000, 0x10000, CRC(6997025f) SHA1(5eda3bcae896933385fe97a4e1396ae2da7576cb) ) ROM_LOAD16_BYTE( "02-24020-01.u26", 0x060001, 0x10000, CRC(0788f2a5) SHA1(75eb1ab00185f8efa71f1d46197b5f6d20d721f2) ) @@ -2214,7 +2214,7 @@ ROM_START( offroad ) ROM_LOAD( "03-22111-01.u7t", 0x60000, 0x10000, CRC(f79157a1) SHA1(a5731aa92f805123cb00c6ef93a0aed3dc84dae4) ) ROM_LOAD( "03-22112-01.u8t", 0x70000, 0x10000, CRC(3eef38d3) SHA1(9131960592a44c8567ab483f72955d2cc8898445) ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "03-22116-03.u25t", 0x040001, 0x10000, CRC(95bb31d3) SHA1(e7bc43b63126fd33663865b2e41bacc58e962628) ) ROM_LOAD16_BYTE( "03-22113-03.u13t", 0x040000, 0x10000, CRC(71b28df6) SHA1(caf8e4c98a1650dbaedf83f4d38da920d0976f78) ) ROM_LOAD16_BYTE( "03-22117-03.u26t", 0x060001, 0x10000, CRC(703d81ce) SHA1(caf5363fb468a461a260e0ec636b0a7a8dc9cd3d) ) @@ -2256,7 +2256,7 @@ ROM_START( offroad3 ) ROM_LOAD( "03-22111-01.u7t", 0x60000, 0x10000, CRC(f79157a1) SHA1(a5731aa92f805123cb00c6ef93a0aed3dc84dae4) ) ROM_LOAD( "03-22112-01.u8t", 0x70000, 0x10000, CRC(3eef38d3) SHA1(9131960592a44c8567ab483f72955d2cc8898445) ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "03-22116-02.u25t", 0x040001, 0x10000, NO_DUMP ) ROM_LOAD16_BYTE( "03-22113-02.u13t", 0x040000, 0x10000, CRC(de8a047b) SHA1(9cddcb809346737f4ce4d3c9943b4bc502321e27) ) ROM_LOAD16_BYTE( "03-22117-02.u26t", 0x060001, 0x10000, NO_DUMP ) @@ -2316,7 +2316,7 @@ ROM_START( offroadt ) ROM_LOAD( "03-25006-01.u7t", 0x60000, 0x10000, CRC(a5af5b4f) SHA1(e4992bfbf628d034a879bf9317377348ee4c24e9) ) ROM_LOAD( "03-25007-01.u8t", 0x70000, 0x10000, CRC(0f735078) SHA1(cb59b11fbed672cb372759384e5916418e6c3dc7) ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "03-25021-01.u25t", 0x040001, 0x10000, CRC(f952f800) SHA1(0f1fc837b0b5f5495a666b0a42adb6068e58a57a) ) ROM_LOAD16_BYTE( "03-25018-01.u13t", 0x040000, 0x10000, CRC(7beec9fc) SHA1(b03b4a28217a8c7c02dc0314db97fef1d4ab6f20) ) ROM_LOAD16_BYTE( "03-25022-01.u26t", 0x060001, 0x10000, CRC(6227ea94) SHA1(26384af82f73452b7be8a0eeac9f8a3b464068f6) ) @@ -2374,7 +2374,7 @@ ROM_START( offroadt2p ) ROM_LOAD( "03-25006-01.u7t", 0x60000, 0x10000, CRC(a5af5b4f) SHA1(e4992bfbf628d034a879bf9317377348ee4c24e9) ) ROM_LOAD( "03-25007-01.u8t", 0x70000, 0x10000, CRC(0f735078) SHA1(cb59b11fbed672cb372759384e5916418e6c3dc7) ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "03-25021-01.u25t", 0x040001, 0x10000, CRC(f952f800) SHA1(0f1fc837b0b5f5495a666b0a42adb6068e58a57a) ) ROM_LOAD16_BYTE( "03-25018-01.u13t", 0x040000, 0x10000, CRC(7beec9fc) SHA1(b03b4a28217a8c7c02dc0314db97fef1d4ab6f20) ) ROM_LOAD16_BYTE( "03-25022-01.u26t", 0x060001, 0x10000, CRC(6227ea94) SHA1(26384af82f73452b7be8a0eeac9f8a3b464068f6) ) @@ -2426,7 +2426,7 @@ ROM_START( pigout ) ROM_LOAD( "03-29006-01.u7t", 0x60000, 0x10000, CRC(393bd990) SHA1(d66d3c5c6d97bb983549d5037bd69c481751b9bf) ) ROM_LOAD( "03-29007-01.u8t", 0x70000, 0x10000, CRC(cb9ffaad) SHA1(f39fb33e5a30619cd3017574739ccace80afbe1f) ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "03-29025-01.u25t", 0x040001, 0x10000, CRC(92cd2617) SHA1(88e318f4a41c67fd9e91f013b3c29b6275b69c31) ) ROM_LOAD16_BYTE( "03-29022-01.u13t", 0x040000, 0x10000, CRC(9448c389) SHA1(7bb0bd49044ba4b302048d2922ed300f799a2efb) ) ROM_LOAD16_BYTE( "03-29026-01.u26t", 0x060001, 0x10000, CRC(ab57de8f) SHA1(28a366e7441bc85dfb814f7a7797aa704a0277ba) ) @@ -2491,7 +2491,7 @@ ROM_START( pigouta ) ROM_LOAD( "03-29006-01.u7t", 0x60000, 0x10000, CRC(393bd990) SHA1(d66d3c5c6d97bb983549d5037bd69c481751b9bf) ) ROM_LOAD( "03-29007-01.u8t", 0x70000, 0x10000, CRC(cb9ffaad) SHA1(f39fb33e5a30619cd3017574739ccace80afbe1f) ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "03-29025-01.u25t", 0x040001, 0x10000, CRC(92cd2617) SHA1(88e318f4a41c67fd9e91f013b3c29b6275b69c31) ) ROM_LOAD16_BYTE( "03-29022-01.u13t", 0x040000, 0x10000, CRC(9448c389) SHA1(7bb0bd49044ba4b302048d2922ed300f799a2efb) ) ROM_LOAD16_BYTE( "03-29026-01.u26t", 0x060001, 0x10000, CRC(ab57de8f) SHA1(28a366e7441bc85dfb814f7a7797aa704a0277ba) ) @@ -2559,7 +2559,7 @@ ROM_START( ataxx ) ROM_LOAD( "e-302-31013-01.u112", 0x20000, 0x20000, CRC(7e7c3e2f) SHA1(a7e31e1f1b09414c40ab9ace5e9bffbdbaee8704) ) ROM_LOAD( "e-302-31014-01.u113", 0x40000, 0x20000, CRC(8cf3e101) SHA1(672a3a0ca0f5334cf614bc49cbc1ae5ccea54cbe) ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "e-302-31003-01.u15", 0x20001, 0x20000, CRC(8bb3233b) SHA1(5131ad78bdf904cde36534e99efa5576fcea25c0) ) ROM_LOAD16_BYTE( "e-302-31001-01.u1", 0x20000, 0x20000, CRC(728d75f2) SHA1(d9e8e742cc2d536bd62370c1e474c7036e4392bb) ) ROM_LOAD16_BYTE( "e-302-31004-01.u16", 0x60001, 0x20000, CRC(f2bdff48) SHA1(f34eb16ea180effffd81d637acc3d96bffaf81c9) ) @@ -2592,7 +2592,7 @@ ROM_START( ataxxa ) ROM_LOAD( "e-302-31013-01.u112", 0x20000, 0x20000, CRC(7e7c3e2f) SHA1(a7e31e1f1b09414c40ab9ace5e9bffbdbaee8704) ) ROM_LOAD( "e-302-31014-01.u113", 0x40000, 0x20000, CRC(8cf3e101) SHA1(672a3a0ca0f5334cf614bc49cbc1ae5ccea54cbe) ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "e-302-31003-01.u15", 0x20001, 0x20000, CRC(8bb3233b) SHA1(5131ad78bdf904cde36534e99efa5576fcea25c0) ) ROM_LOAD16_BYTE( "e-302-31001-01.u1", 0x20000, 0x20000, CRC(728d75f2) SHA1(d9e8e742cc2d536bd62370c1e474c7036e4392bb) ) ROM_LOAD16_BYTE( "e-302-31004-01.u16", 0x60001, 0x20000, CRC(f2bdff48) SHA1(f34eb16ea180effffd81d637acc3d96bffaf81c9) ) @@ -2625,7 +2625,7 @@ ROM_START( ataxxe ) ROM_LOAD( "e-302-31013-01.u112", 0x20000, 0x20000, CRC(7e7c3e2f) SHA1(a7e31e1f1b09414c40ab9ace5e9bffbdbaee8704) ) ROM_LOAD( "e-302-31014-01.u113", 0x40000, 0x20000, CRC(8cf3e101) SHA1(672a3a0ca0f5334cf614bc49cbc1ae5ccea54cbe) ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "302-38003-01.u15", 0x20001, 0x20000, CRC(db266d3f) SHA1(31c9baf4548b23e1e1939069620a937ee98a7b09) ) ROM_LOAD16_BYTE( "302-38001-01.u1", 0x20000, 0x20000, CRC(d6db2724) SHA1(d3c7b45b165eb7c9a6369863b273ecac5c31ca65) ) ROM_LOAD16_BYTE( "302-38004-01.u16", 0x60001, 0x20000, CRC(2b127f56) SHA1(909fed387ad6bb1d83f9cee271e6dc851ac50525) ) @@ -2658,7 +2658,7 @@ ROM_START( ataxxj ) ROM_LOAD( "e-302-31013-01.u112", 0x20000, 0x20000, CRC(7e7c3e2f) SHA1(a7e31e1f1b09414c40ab9ace5e9bffbdbaee8704) ) ROM_LOAD( "e-302-31014-01.u113", 0x40000, 0x20000, CRC(8cf3e101) SHA1(672a3a0ca0f5334cf614bc49cbc1ae5ccea54cbe) ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "302-38003-01.u15", 0x20001, 0x20000, CRC(db266d3f) SHA1(31c9baf4548b23e1e1939069620a937ee98a7b09) ) ROM_LOAD16_BYTE( "302-38001-01.u1", 0x20000, 0x20000, CRC(d6db2724) SHA1(d3c7b45b165eb7c9a6369863b273ecac5c31ca65) ) ROM_LOAD16_BYTE( "302-38004-01.u16", 0x60001, 0x20000, CRC(2b127f56) SHA1(909fed387ad6bb1d83f9cee271e6dc851ac50525) ) @@ -2706,7 +2706,7 @@ ROM_START( wsf ) ROM_LOAD( "e-302-30007-01.u157", 0xc0000, 0x20000, CRC(451321ae) SHA1(da82f0bba4341b087136afa17767b64389a0f8f4) ) ROM_LOAD( "e-302-30008-01.u158", 0xe0000, 0x20000, CRC(4d23836f) SHA1(7b5b9419774e7537e69017c4c44a0601b6e93714) ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "e-302-30017-02.u3", 0x20001, 0x20000, CRC(b1d578e1) SHA1(861d597c403b5b385395383dc70eac7a8496c11e) ) ROM_LOAD16_BYTE( "e-302-30020-02.u6", 0x20000, 0x20000, CRC(919a62ee) SHA1(ec8110e77d5bd88c39582dc3804fa6982306ed40) ) ROM_LOAD16_BYTE( "e-302-30018-02.u4", 0x60001, 0x20000, CRC(d24947ee) SHA1(e40913d4b16d49357e6b9a306b4cfd5091a15ded) ) @@ -2726,7 +2726,7 @@ ROM_START( wsf ) ROM_LOAD( "e-302-30009-01.u68", 0x00000, 0x10000, CRC(f2fbfc15) SHA1(712cfa7b11135b1f568f38cc478ef5a3330d0608) ) ROM_LOAD( "e-302-30010-01.u69", 0x10000, 0x10000, CRC(b4ed2d3b) SHA1(61c9d86b63cf000187a105c6eed967fecb2f3c1c) ) - ROM_REGION( 0x20000, "dac", 0 ) /* externally clocked DAC data */ + ROM_REGION( 0x20000, "custom:ext", 0 ) /* externally clocked DAC data */ ROM_LOAD( "e-302-30021-02.u8", 0x00000, 0x20000, CRC(a8f97be4) SHA1(738a2ec96a923ef3b3c62425365d4455ba200119) ) ROM_REGION16_BE( 0x100, "eeprom", 0 ) @@ -2749,7 +2749,7 @@ ROM_START( wsf3 ) ROM_LOAD( "e-302-30007-01.u157", 0xc0000, 0x20000, CRC(451321ae) SHA1(da82f0bba4341b087136afa17767b64389a0f8f4) ) ROM_LOAD( "e-302-30008-01.u158", 0xe0000, 0x20000, CRC(4d23836f) SHA1(7b5b9419774e7537e69017c4c44a0601b6e93714) ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "e-302-30017-01.u3", 0x20001, 0x20000, CRC(39ec13c1) SHA1(4067da05cbaf205ab7cc14a3370220ad98b394cd) ) ROM_LOAD16_BYTE( "e-302-30020-01.u6", 0x20000, 0x20000, CRC(532c02bf) SHA1(a2070d57f1ce2a68a064872ea7b77ba418187cfe) ) ROM_LOAD16_BYTE( "e-302-30018-01.u4", 0x60001, 0x20000, CRC(1ec16735) SHA1(86766742b50edd25cfeef6f808d2733c484eca4e) ) @@ -2769,7 +2769,7 @@ ROM_START( wsf3 ) ROM_LOAD( "e-302-30009-01.u68", 0x00000, 0x10000, CRC(f2fbfc15) SHA1(712cfa7b11135b1f568f38cc478ef5a3330d0608) ) ROM_LOAD( "e-302-30010-01.u69", 0x10000, 0x10000, CRC(b4ed2d3b) SHA1(61c9d86b63cf000187a105c6eed967fecb2f3c1c) ) - ROM_REGION( 0x20000, "dac", 0 ) /* externally clocked DAC data */ + ROM_REGION( 0x20000, "custom:ext", 0 ) /* externally clocked DAC data */ ROM_LOAD( "e-302-30021-01.u8", 0x00000, 0x20000, CRC(bb91dc10) SHA1(a7d8676867b5cfe1049040e593985af57ef04334) ) ROM_REGION16_BE( 0x100, "eeprom", 0 ) @@ -2805,7 +2805,7 @@ ROM_START( indyheat ) ROM_LOAD( "e-302-33013-01.u157", 0xc0000, 0x20000, CRC(a6462adc) SHA1(bdc744e3c836715874d40b9e32f509f288ce00fd) ) ROM_LOAD( "e-302-33014-01.u158", 0xe0000, 0x20000, CRC(d6ef27a3) SHA1(37fcf772ce564a9300f9dd437b9015a2d25b46b5) ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "e-302-33021-01.u3", 0x20001, 0x20000, CRC(97413818) SHA1(64caa14e05dd9ec43ce13f5c738df1f39f5fa75c) ) ROM_LOAD16_BYTE( "e-302-33024-01.u6", 0x20000, 0x20000, CRC(15a89962) SHA1(52f66e1ccde0ef3fb7959a207cc967237e37833e) ) ROM_LOAD16_BYTE( "e-302-33022-01.u4", 0x60001, 0x20000, CRC(fa7bfa04) SHA1(0174f5372117d15bf0ecd48b72c9cca4cf8bb75f) ) @@ -2827,7 +2827,7 @@ ROM_START( indyheat ) ROM_LOAD( "e-302-33016-01.u69", 0x10000, 0x10000, CRC(aa39fcb3) SHA1(0cb328d784cda3e0dff3a018f52f9b06bc5d46b8) ) ROM_CONTINUE( 0x30000, 0x10000 ) - ROM_REGION( 0x40000, "dac", 0 ) /* externally clocked DAC data */ + ROM_REGION( 0x40000, "custom:ext", 0 ) /* externally clocked DAC data */ ROM_LOAD( "e-302-33025-01.u8", 0x00000, 0x20000, CRC(9f16e5b6) SHA1(0ea814db7f647f39d11dcde793a17831fca3bddd) ) ROM_LOAD( "e-302-33026-01.u9", 0x20000, 0x20000, CRC(0dc8f488) SHA1(2ff0f45f17b8a182afdaa5603e7a1af70e6336b7) ) @@ -2854,7 +2854,7 @@ ROM_START( brutforc ) ROM_LOAD( "u157", 0xc0000, 0x20000, CRC(e42b3dba) SHA1(ed3707932507bcddd0191e36e2f5479b2ce2e642) ) ROM_LOAD( "u158", 0xe0000, 0x20000, CRC(a0aa3220) SHA1(bd9bffa4fcf76e34a72a497d322c0430cbc7c81e) ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "u3", 0x20001, 0x20000, CRC(9984906c) SHA1(66626ea32fb510a9bb1974e41806fee6a4afa1cf) ) ROM_LOAD16_BYTE( "u6", 0x20000, 0x20000, CRC(c9c5a413) SHA1(5d4f8bc895b89267643b41ecad52b886fd88df97) ) ROM_LOAD16_BYTE( "u4", 0x60001, 0x20000, CRC(ca8ab3a6) SHA1(2e7c7f50fbaed7e052a97ac7954b634bbc657226) ) @@ -2876,7 +2876,7 @@ ROM_START( brutforc ) ROM_LOAD( "u69", 0x10000, 0x10000, CRC(113aa6d5) SHA1(d032a04338e12135ba410afd71cf9538e99eb109) ) ROM_CONTINUE( 0x30000, 0x10000 ) - ROM_REGION( 0x80000, "dac", 0 ) /* externally clocked DAC data */ + ROM_REGION( 0x80000, "custom:ext", 0 ) /* externally clocked DAC data */ ROM_LOAD( "u8", 0x00000, 0x20000, CRC(1e0ead72) SHA1(879d5ba244238af21f6a516494c504721570ec15) ) ROM_LOAD( "u9", 0x20000, 0x20000, CRC(3195b305) SHA1(7c795a7973e0b8dbeb882777d4bee2accc46cea0) ) ROM_LOAD( "u10", 0x40000, 0x20000, CRC(1dc5f375) SHA1(9dd389c30d87fcb02c6a15b67b4b6ea5b555a762) ) @@ -2911,7 +2911,7 @@ ROM_START( asylum ) ROM_CONTINUE( 0x1c0000, 0x20000 ) ROM_LOAD( "asy-spe.158", 0xe0000, 0x20000, CRC(49d19520) SHA1(6f24221c976e9dacc1ce96dfc1d1e3df4e8a8255) ) - ROM_REGION( 0x100000, "audiocpu", 0 ) + ROM_REGION( 0x100000, "custom:audiocpu", 0 ) ROM_LOAD16_BYTE( "asy-65.3", 0x20001, 0x20000, CRC(709bdc78) SHA1(ca235c2ab26fbb153ffe775a1a44b31695902d3f) ) ROM_LOAD16_BYTE( "asy-65.6", 0x20000, 0x20000, CRC(d019fb2e) SHA1(9d16b0399f03067e7bf79043904a1045119937c6) ) ROM_LOAD16_BYTE( "asy-65.4", 0x60001, 0x20000, CRC(1882c3b2) SHA1(71af49d1f59e257e5f8a0fc590d0533dda5bf82b) ) @@ -2933,7 +2933,7 @@ ROM_START( asylum ) ROM_LOAD( "asy-m5.69", 0x10000, 0x10000, CRC(bfc50d6c) SHA1(3239242358e8336354a9bd35f75f9057f079b298) ) ROM_CONTINUE( 0x30000, 0x10000 ) - ROM_REGION( 0x80000, "dac", 0 ) /* externally clocked DAC data */ + ROM_REGION( 0x80000, "custom:ext", 0 ) /* externally clocked DAC data */ ROM_LOAD( "asy-65.8", 0x00000, 0x20000, CRC(624ad02f) SHA1(ce2dd0d11ff39a8e04d1c27cdaca3f068e6fbcf2) ) ROM_LOAD( "asy-65.9", 0x20000, 0x20000, CRC(c92ff376) SHA1(0189519101e3b0b464f0bd3af8352c002e45f937) ) ROM_LOAD( "asy-65.10", 0x40000, 0x20000, CRC(744dbf25) SHA1(03ea3d6eef94005ec0fbbaf43b59e3063830452e) ) @@ -2951,14 +2951,14 @@ ROM_END * *************************************/ -void leland_state::init_master_ports(uint8_t mvram_base, uint8_t io_base) +void leland_state::init_master_ports(u8 mvram_base, u8 io_base) { /* set up the master CPU VRAM I/O */ - m_master->space(AS_IO).install_readwrite_handler(mvram_base, mvram_base + 0x1f, read8_delegate(FUNC(leland_state::leland_mvram_port_r),this), write8_delegate(FUNC(leland_state::leland_mvram_port_w),this)); + m_master->space(AS_IO).install_readwrite_handler(mvram_base, mvram_base + 0x1f, read8sm_delegate(FUNC(leland_state::leland_mvram_port_r),this), write8sm_delegate(FUNC(leland_state::leland_mvram_port_w),this)); /* set up the master CPU I/O ports */ - m_master->space(AS_IO).install_read_handler(io_base, io_base + 0x1f, read8_delegate(FUNC(leland_state::leland_master_input_r),this)); - m_master->space(AS_IO).install_write_handler(io_base, io_base + 0x0f, write8_delegate(FUNC(leland_state::leland_master_output_w),this)); + m_master->space(AS_IO).install_read_handler(io_base, io_base + 0x1f, read8sm_delegate(FUNC(leland_state::leland_master_input_r),this)); + m_master->space(AS_IO).install_write_handler(io_base, io_base + 0x0f, write8sm_delegate(FUNC(leland_state::leland_master_output_w),this)); } @@ -2974,8 +2974,8 @@ void leland_state::init_cerberus() init_master_ports(0x40, 0x80); /* set up additional input ports */ - m_master->space(AS_IO).install_read_handler(0x80, 0x80, read8_delegate(FUNC(leland_state::cerberus_dial_1_r),this)); - m_master->space(AS_IO).install_read_handler(0x90, 0x90, read8_delegate(FUNC(leland_state::cerberus_dial_2_r),this)); + m_master->space(AS_IO).install_read_handler(0x80, 0x80, read8smo_delegate(FUNC(leland_state::cerberus_dial_1_r),this)); + m_master->space(AS_IO).install_read_handler(0x90, 0x90, read8smo_delegate(FUNC(leland_state::cerberus_dial_2_r),this)); } @@ -3020,7 +3020,7 @@ void leland_state::init_alleymas() /* kludge warning: the game uses location E0CA to determine if the joysticks are available */ /* it gets cleared by the code, but there is no obvious way for the value to be set to a */ /* non-zero value. If the value is zero, the joystick is never read. */ - m_master->space(AS_PROGRAM).install_write_handler(0xe0ca, 0xe0ca, write8_delegate(FUNC(leland_state::alleymas_joystick_kludge),this)); + m_master->space(AS_PROGRAM).install_write_handler(0xe0ca, 0xe0ca, write8smo_delegate(FUNC(leland_state::alleymas_joystick_kludge),this)); m_alleymas_kludge_mem = m_mainram + (0xe0ca - 0xe000); } @@ -3044,9 +3044,9 @@ void leland_state::init_dangerz() init_master_ports(0x40, 0x80); /* set up additional input ports */ - m_master->space(AS_IO).install_read_handler(0xf4, 0xf4, read8_delegate(FUNC(leland_state::dangerz_input_upper_r),this)); - m_master->space(AS_IO).install_read_handler(0xf8, 0xf8, read8_delegate(FUNC(leland_state::dangerz_input_y_r),this)); - m_master->space(AS_IO).install_read_handler(0xfc, 0xfc, read8_delegate(FUNC(leland_state::dangerz_input_x_r),this)); + m_master->space(AS_IO).install_read_handler(0xf4, 0xf4, read8smo_delegate(FUNC(leland_state::dangerz_input_upper_r),this)); + m_master->space(AS_IO).install_read_handler(0xf8, 0xf8, read8smo_delegate(FUNC(leland_state::dangerz_input_y_r),this)); + m_master->space(AS_IO).install_read_handler(0xfc, 0xfc, read8smo_delegate(FUNC(leland_state::dangerz_input_x_r),this)); save_item(NAME(m_dangerz_x)); save_item(NAME(m_dangerz_y)); @@ -3088,16 +3088,16 @@ void redline_state::init_redlin2p() /* master CPU bankswitching */ m_update_master_bank = &leland_state::redline_bankswitch; - leland_rotate_memory("master"); + rotate_memory("master"); /* set up the master CPU I/O ports */ init_master_ports(0x00, 0xc0); /* set up additional input ports */ - m_master->space(AS_IO).install_read_handler(0xc0, 0xc0, read8_delegate(FUNC(redline_state::redline_pedal_1_r),this)); - m_master->space(AS_IO).install_read_handler(0xd0, 0xd0, read8_delegate(FUNC(redline_state::redline_pedal_2_r),this)); - m_master->space(AS_IO).install_read_handler(0xf8, 0xf8, read8_delegate(FUNC(redline_state::redline_wheel_2_r),this)); - m_master->space(AS_IO).install_read_handler(0xfb, 0xfb, read8_delegate(FUNC(redline_state::redline_wheel_1_r),this)); + m_master->space(AS_IO).install_read_handler(0xc0, 0xc0, read8smo_delegate(FUNC(redline_state::redline_pedal_1_r),this)); + m_master->space(AS_IO).install_read_handler(0xd0, 0xd0, read8smo_delegate(FUNC(redline_state::redline_pedal_2_r),this)); + m_master->space(AS_IO).install_read_handler(0xf8, 0xf8, read8smo_delegate(FUNC(redline_state::redline_wheel_2_r),this)); + m_master->space(AS_IO).install_read_handler(0xfb, 0xfb, read8smo_delegate(FUNC(redline_state::redline_wheel_1_r),this)); } @@ -3106,7 +3106,7 @@ void redline_state::init_quarterb() /* master CPU bankswitching */ m_update_master_bank = &leland_state::viper_bankswitch; - leland_rotate_memory("master"); + rotate_memory("master"); /* set up the master CPU I/O ports */ init_master_ports(0x40, 0x80); @@ -3118,17 +3118,17 @@ void redline_state::init_viper() /* master CPU bankswitching */ m_update_master_bank = &leland_state::viper_bankswitch; - leland_rotate_memory("master"); - leland_rotate_memory("slave"); - leland_rotate_memory("slave"); + rotate_memory("master"); + rotate_memory("slave"); + rotate_memory("slave"); /* set up the master CPU I/O ports */ init_master_ports(0x00, 0xc0); /* set up additional input ports */ - m_master->space(AS_IO).install_read_handler(0xa4, 0xa4, read8_delegate(FUNC(redline_state::dangerz_input_upper_r),this)); - m_master->space(AS_IO).install_read_handler(0xb8, 0xb8, read8_delegate(FUNC(redline_state::dangerz_input_y_r),this)); - m_master->space(AS_IO).install_read_handler(0xbc, 0xbc, read8_delegate(FUNC(redline_state::dangerz_input_x_r),this)); + m_master->space(AS_IO).install_read_handler(0xa4, 0xa4, read8smo_delegate(FUNC(redline_state::dangerz_input_upper_r),this)); + m_master->space(AS_IO).install_read_handler(0xb8, 0xb8, read8smo_delegate(FUNC(redline_state::dangerz_input_y_r),this)); + m_master->space(AS_IO).install_read_handler(0xbc, 0xbc, read8smo_delegate(FUNC(redline_state::dangerz_input_x_r),this)); save_item(NAME(m_dangerz_x)); save_item(NAME(m_dangerz_y)); @@ -3140,9 +3140,9 @@ void redline_state::init_teamqb() /* master CPU bankswitching */ m_update_master_bank = &leland_state::viper_bankswitch; - leland_rotate_memory("master"); - leland_rotate_memory("slave"); - leland_rotate_memory("slave"); + rotate_memory("master"); + rotate_memory("slave"); + rotate_memory("slave"); /* set up the master CPU I/O ports */ init_master_ports(0x40, 0x80); @@ -3158,9 +3158,9 @@ void redline_state::init_aafb() /* master CPU bankswitching */ m_update_master_bank = &leland_state::viper_bankswitch; - leland_rotate_memory("master"); - leland_rotate_memory("slave"); - leland_rotate_memory("slave"); + rotate_memory("master"); + rotate_memory("slave"); + rotate_memory("slave"); /* set up the master CPU I/O ports */ init_master_ports(0x00, 0xc0); @@ -3176,9 +3176,9 @@ void redline_state::init_aafbb() /* master CPU bankswitching */ m_update_master_bank = &leland_state::viper_bankswitch; - leland_rotate_memory("master"); - leland_rotate_memory("slave"); - leland_rotate_memory("slave"); + rotate_memory("master"); + rotate_memory("slave"); + rotate_memory("slave"); /* set up the master CPU I/O ports */ init_master_ports(0x80, 0x40); @@ -3194,9 +3194,9 @@ void redline_state::init_aafbd2p() /* master CPU bankswitching */ m_update_master_bank = &leland_state::viper_bankswitch; - leland_rotate_memory("master"); - leland_rotate_memory("slave"); - leland_rotate_memory("slave"); + rotate_memory("master"); + rotate_memory("slave"); + rotate_memory("slave"); /* set up the master CPU I/O ports */ init_master_ports(0x00, 0x40); @@ -3212,18 +3212,18 @@ void redline_state::init_offroad() /* master CPU bankswitching */ m_update_master_bank = &leland_state::offroad_bankswitch; - leland_rotate_memory("master"); - leland_rotate_memory("slave"); - leland_rotate_memory("slave"); + rotate_memory("master"); + rotate_memory("slave"); + rotate_memory("slave"); /* set up the master CPU I/O ports */ init_master_ports(0x00, 0xc0); init_master_ports(0x40, 0x80); /* yes, this is intentional */ /* set up additional input ports */ - m_master->space(AS_IO).install_read_handler(0xf8, 0xf8, read8_delegate(FUNC(redline_state::offroad_wheel_3_r),this)); - m_master->space(AS_IO).install_read_handler(0xf9, 0xf9, read8_delegate(FUNC(redline_state::offroad_wheel_1_r),this)); - m_master->space(AS_IO).install_read_handler(0xfb, 0xfb, read8_delegate(FUNC(redline_state::offroad_wheel_2_r),this)); + m_master->space(AS_IO).install_read_handler(0xf8, 0xf8, read8smo_delegate(FUNC(redline_state::offroad_wheel_3_r),this)); + m_master->space(AS_IO).install_read_handler(0xf9, 0xf9, read8smo_delegate(FUNC(redline_state::offroad_wheel_1_r),this)); + m_master->space(AS_IO).install_read_handler(0xfb, 0xfb, read8smo_delegate(FUNC(redline_state::offroad_wheel_2_r),this)); } @@ -3232,17 +3232,17 @@ void redline_state::init_offroadt() /* master CPU bankswitching */ m_update_master_bank = &leland_state::offroad_bankswitch; - leland_rotate_memory("master"); - leland_rotate_memory("slave"); - leland_rotate_memory("slave"); + rotate_memory("master"); + rotate_memory("slave"); + rotate_memory("slave"); /* set up the master CPU I/O ports */ init_master_ports(0x80, 0x40); /* set up additional input ports */ - m_master->space(AS_IO).install_read_handler(0xf8, 0xf8, read8_delegate(FUNC(redline_state::offroad_wheel_3_r),this)); - m_master->space(AS_IO).install_read_handler(0xf9, 0xf9, read8_delegate(FUNC(redline_state::offroad_wheel_1_r),this)); - m_master->space(AS_IO).install_read_handler(0xfb, 0xfb, read8_delegate(FUNC(redline_state::offroad_wheel_2_r),this)); + m_master->space(AS_IO).install_read_handler(0xf8, 0xf8, read8smo_delegate(FUNC(redline_state::offroad_wheel_3_r),this)); + m_master->space(AS_IO).install_read_handler(0xf9, 0xf9, read8smo_delegate(FUNC(redline_state::offroad_wheel_1_r),this)); + m_master->space(AS_IO).install_read_handler(0xfb, 0xfb, read8smo_delegate(FUNC(redline_state::offroad_wheel_2_r),this)); } @@ -3251,9 +3251,9 @@ void redline_state::init_pigout() /* master CPU bankswitching */ m_update_master_bank = &leland_state::offroad_bankswitch; - leland_rotate_memory("master"); - leland_rotate_memory("slave"); - leland_rotate_memory("slave"); + rotate_memory("master"); + rotate_memory("slave"); + rotate_memory("slave"); /* set up the master CPU I/O ports */ init_master_ports(0x00, 0x40); @@ -3265,28 +3265,28 @@ void redline_state::init_pigout() void ataxx_state::init_ataxx() { - leland_rotate_memory("master"); - leland_rotate_memory("slave"); + rotate_memory("master"); + rotate_memory("slave"); /* set up additional input ports */ - m_master->space(AS_IO).install_read_handler(0x00, 0x03, read8_delegate(FUNC(ataxx_state::ataxx_trackball_r),this)); + m_master->space(AS_IO).install_read_handler(0x00, 0x03, read8sm_delegate(FUNC(ataxx_state::ataxx_trackball_r),this)); } void ataxx_state::init_ataxxj() { - leland_rotate_memory("master"); - leland_rotate_memory("slave"); + rotate_memory("master"); + rotate_memory("slave"); /* set up additional input ports */ - m_master->space(AS_IO).install_read_handler(0x00, 0x03, read8_delegate(FUNC(ataxx_state::ataxx_trackball_r),this)); + m_master->space(AS_IO).install_read_handler(0x00, 0x03, read8sm_delegate(FUNC(ataxx_state::ataxx_trackball_r),this)); } void ataxx_state::init_wsf() { - leland_rotate_memory("master"); - leland_rotate_memory("slave"); + rotate_memory("master"); + rotate_memory("slave"); /* set up additional input ports */ m_master->space(AS_IO).install_read_port(0x0d, 0x0d, "P1_P2"); @@ -3297,25 +3297,25 @@ void ataxx_state::init_wsf() void ataxx_state::init_indyheat() { - leland_rotate_memory("master"); - leland_rotate_memory("slave"); + rotate_memory("master"); + rotate_memory("slave"); /* set up additional input ports */ - m_master->space(AS_IO).install_read_handler(0x00, 0x02, read8_delegate(FUNC(ataxx_state::ataxx_trackball_r),this)); - m_master->space(AS_IO).install_read_handler(0x08, 0x0b, read8_delegate(FUNC(ataxx_state::indyheat_analog_r),this)); + m_master->space(AS_IO).install_read_handler(0x00, 0x02, read8sm_delegate(FUNC(ataxx_state::ataxx_trackball_r),this)); + m_master->space(AS_IO).install_read_handler(0x08, 0x0b, read8sm_delegate(FUNC(ataxx_state::indyheat_analog_r),this)); m_master->space(AS_IO).install_read_port(0x0d, 0x0d, "P1"); m_master->space(AS_IO).install_read_port(0x0e, 0x0e, "P2"); m_master->space(AS_IO).install_read_port(0x0f, 0x0f, "P3"); /* set up additional output ports */ - m_master->space(AS_IO).install_write_handler(0x08, 0x0b, write8_delegate(FUNC(ataxx_state::indyheat_analog_w),this)); + m_master->space(AS_IO).install_write_handler(0x08, 0x0b, write8sm_delegate(FUNC(ataxx_state::indyheat_analog_w),this)); } void ataxx_state::init_brutforc() { - leland_rotate_memory("master"); - leland_rotate_memory("slave"); + rotate_memory("master"); + rotate_memory("slave"); /* set up additional input ports */ m_master->space(AS_IO).install_read_port(0x0d, 0x0d, "P2"); @@ -3326,8 +3326,8 @@ void ataxx_state::init_brutforc() void ataxx_state::init_asylum() { - leland_rotate_memory("master"); - leland_rotate_memory("slave"); + rotate_memory("master"); + rotate_memory("slave"); /* asylum appears to have some extra RAM for the slave CPU */ m_slave->space(AS_PROGRAM).install_ram(0xf000, 0xfffb); diff --git a/src/mame/includes/leland.h b/src/mame/includes/leland.h index 3ec1e263010..c34b3312949 100644 --- a/src/mame/includes/leland.h +++ b/src/mame/includes/leland.h @@ -22,8 +22,8 @@ struct vram_state_data { - uint16_t m_addr; - uint8_t m_latch[2]; + u16 m_addr; + u8 m_latch[2]; }; class leland_80186_sound_device; @@ -45,6 +45,8 @@ public: , m_palette(*this, "palette") , m_screen(*this, "screen") , m_gfxdecode(*this, "gfxdecode") + , m_io_in(*this, "IN%u", 0U) + , m_io_an(*this, "AN%u", 0U) , m_dac(*this, "dac%u", 0U) , m_ay8910(*this, "ay8910") , m_ay8912(*this, "ay8912") @@ -75,60 +77,63 @@ public: void offroad_bankswitch(); void viper_bankswitch(); - DECLARE_READ8_MEMBER(leland_raster_r); - DECLARE_WRITE8_MEMBER(leland_slave_video_addr_w); - DECLARE_WRITE8_MEMBER(leland_slave_large_banksw_w); - DECLARE_WRITE8_MEMBER(leland_master_video_addr_w); + u8 raster_r(); + void slave_video_addr_w(offs_t offset, u8 data); + void slave_large_banksw_w(u8 data); + void master_video_addr_w(offs_t offset, u8 data); TIMER_CALLBACK_MEMBER(ataxx_interrupt_callback); protected: required_device<cpu_device> m_master; required_device<cpu_device> m_slave; - required_shared_ptr<uint8_t> m_mainram; + required_shared_ptr<u8> m_mainram; required_memory_bank_array<2> m_master_bankslot; - required_region_ptr<uint8_t> m_master_base; + required_region_ptr<u8> m_master_base; required_memory_bank m_slave_bankslot; - required_region_ptr<uint8_t> m_slave_base; + required_region_ptr<u8> m_slave_base; required_device<eeprom_serial_93cxx_device> m_eeprom; - required_shared_ptr<uint8_t> m_battery_ram; + required_shared_ptr<u8> m_battery_ram; required_device<palette_device> m_palette; required_device<screen_device> m_screen; required_device<gfxdecode_device> m_gfxdecode; + optional_ioport_array<4> m_io_in; + optional_ioport_array<6> m_io_an; + emu_timer *m_master_int_timer; - uint8_t m_battery_ram_enable; + u8 m_battery_ram_enable; - void leland_rotate_memory(const char *cpuname); + void rotate_memory(const char *cpuname); int dial_compute_value(int new_val, int indx); - uint8_t m_dial_last_input[4]; - uint8_t m_dial_last_result[4]; - uint8_t m_analog_result; + u8 m_dial_last_input[4]; + u8 m_dial_last_result[4]; + u8 m_analog_result; int m_dangerz_x; int m_dangerz_y; - void init_master_ports(uint8_t mvram_base, uint8_t io_base); + void init_master_ports(u8 mvram_base, u8 io_base); void (leland_state::*m_update_master_bank)(); - int leland_vram_port_r(address_space &space, int offset, int num); - void leland_vram_port_w(address_space &space, int offset, int data, int num); + int vram_port_r(offs_t offset, int num); + void vram_port_w(offs_t offset, u8 data, int num); - uint8_t m_wcol_enable; + u8 m_wcol_enable; - DECLARE_READ8_MEMBER(leland_master_analog_key_r); - DECLARE_WRITE8_MEMBER(leland_master_analog_key_w); - DECLARE_READ8_MEMBER(dangerz_input_y_r); - DECLARE_READ8_MEMBER(dangerz_input_x_r); - DECLARE_READ8_MEMBER(dangerz_input_upper_r); - DECLARE_WRITE8_MEMBER(leland_scroll_w); - DECLARE_WRITE8_MEMBER(leland_master_alt_bankswitch_w); + u8 master_analog_key_r(offs_t offset); + void master_analog_key_w(offs_t offset, u8 data); + u8 dangerz_input_y_r(); + u8 dangerz_input_x_r(); + u8 dangerz_input_upper_r(); + void scroll_w(offs_t offset, u8 data); + void leland_master_alt_bankswitch_w(u8 data); tilemap_t *m_tilemap; - uint16_t m_xscroll; - uint16_t m_yscroll; - std::unique_ptr<uint8_t[]> m_video_ram; + u16 m_xscroll; + u16 m_yscroll; + std::unique_ptr<u8[]> m_video_ram; struct vram_state_data m_vram_state[2]; void slave_map_program(address_map &map); @@ -140,41 +145,41 @@ private: optional_device<ay8910_device> m_ay8910; optional_device<ay8912_device> m_ay8912; - required_region_ptr<uint8_t> m_bg_gfxrom; - optional_region_ptr<uint8_t> m_bg_prom; - - uint8_t m_dac_control; - uint8_t *m_alleymas_kludge_mem; - uint8_t m_gfx_control; - uint8_t m_keycard_shift; - uint8_t m_keycard_bit; - uint8_t m_keycard_state; - uint8_t m_keycard_clock; - uint8_t m_keycard_command[3]; - uint8_t m_top_board_bank; - uint8_t m_sound_port_bank; - uint8_t m_alternate_bank; - uint8_t m_gfxbank; - uint16_t m_last_scanline; + required_region_ptr<u8> m_bg_gfxrom; + optional_region_ptr<u8> m_bg_prom; + + u8 m_dac_control; + u8 *m_alleymas_kludge_mem; + u8 m_gfx_control; + u8 m_keycard_shift; + u8 m_keycard_bit; + u8 m_keycard_state; + u8 m_keycard_clock; + u8 m_keycard_command[3]; + u8 m_top_board_bank; + u8 m_sound_port_bank; + u8 m_alternate_bank; + u8 m_gfxbank; + u16 m_last_scanline; emu_timer *m_scanline_timer; - DECLARE_READ8_MEMBER(cerberus_dial_1_r); - DECLARE_READ8_MEMBER(cerberus_dial_2_r); - DECLARE_WRITE8_MEMBER(alleymas_joystick_kludge); - DECLARE_WRITE8_MEMBER(leland_battery_ram_w); - DECLARE_READ8_MEMBER(leland_master_input_r); - DECLARE_WRITE8_MEMBER(leland_master_output_w); - DECLARE_WRITE8_MEMBER(leland_gated_paletteram_w); - DECLARE_READ8_MEMBER(leland_gated_paletteram_r); - DECLARE_WRITE8_MEMBER(leland_slave_small_banksw_w); - DECLARE_WRITE8_MEMBER(ataxx_slave_banksw_w); - DECLARE_WRITE8_MEMBER(leland_mvram_port_w); - DECLARE_READ8_MEMBER(leland_mvram_port_r); - DECLARE_WRITE8_MEMBER(leland_svram_port_w); - DECLARE_READ8_MEMBER(leland_svram_port_r); - DECLARE_READ8_MEMBER(leland_sound_port_r); - DECLARE_WRITE8_MEMBER(leland_sound_port_w); - DECLARE_WRITE8_MEMBER(leland_gfx_port_w); + u8 cerberus_dial_1_r(); + u8 cerberus_dial_2_r(); + void alleymas_joystick_kludge(u8 data); + void leland_battery_ram_w(offs_t offset, u8 data); + u8 leland_master_input_r(offs_t offset); + void leland_master_output_w(offs_t offset, u8 data); + void gated_paletteram_w(offs_t offset, u8 data); + u8 gated_paletteram_r(offs_t offset); + void slave_small_banksw_w(u8 data); + void ataxx_slave_banksw_w(u8 data); + void leland_mvram_port_w(offs_t offset, u8 data); + u8 leland_mvram_port_r(offs_t offset); + void leland_svram_port_w(offs_t offset, u8 data); + u8 leland_svram_port_r(offs_t offset); + u8 sound_port_r(); + void sound_port_w(u8 data); + void gfx_port_w(u8 data); virtual void machine_start() override; virtual void machine_reset() override; @@ -182,17 +187,17 @@ private: TILEMAP_MAPPER_MEMBER(leland_scan); TILE_GET_INFO_MEMBER(leland_get_tile_info); - uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); INTERRUPT_GEN_MEMBER(leland_master_interrupt); TIMER_CALLBACK_MEMBER(leland_interrupt_callback); TIMER_CALLBACK_MEMBER(scanline_callback); - void leland_video_addr_w(address_space &space, int offset, int data, int num); + void video_addr_w(offs_t offset, u8 data, int num); void update_dangerz_xy(); - void leland_init_eeprom(uint8_t default_val, const uint16_t *data, uint8_t serial_offset, uint8_t serial_type); - void ataxx_init_eeprom(const uint16_t *data); + void leland_init_eeprom(u8 default_val, const u16 *data, u8 serial_offset, u8 serial_type); + void ataxx_init_eeprom(const u16 *data); int keycard_r(); void keycard_w(int data); void master_map_io(address_map &map); @@ -227,14 +232,14 @@ public: void lelandi(machine_config &config); private: - DECLARE_READ8_MEMBER(redline_pedal_1_r); - DECLARE_READ8_MEMBER(redline_pedal_2_r); - DECLARE_READ8_MEMBER(redline_wheel_1_r); - DECLARE_READ8_MEMBER(redline_wheel_2_r); - DECLARE_READ8_MEMBER(offroad_wheel_1_r); - DECLARE_READ8_MEMBER(offroad_wheel_2_r); - DECLARE_READ8_MEMBER(offroad_wheel_3_r); - DECLARE_WRITE8_MEMBER(redline_master_alt_bankswitch_w); + u8 redline_pedal_1_r(); + u8 redline_pedal_2_r(); + u8 redline_wheel_1_r(); + u8 redline_wheel_2_r(); + u8 offroad_wheel_1_r(); + u8 offroad_wheel_2_r(); + u8 offroad_wheel_3_r(); + void redline_master_alt_bankswitch_w(u8 data); void master_redline_map_io(address_map &map); void slave_large_map_program(address_map &map); @@ -249,7 +254,6 @@ public: ataxx_state(const machine_config &mconfig, device_type type, const char *tag) : leland_state(mconfig, type, tag) , m_sound(*this, "custom") - , m_track_axes(*this, "AN%u", 0U) , m_xrom_base(*this, "xrom") { } @@ -265,21 +269,21 @@ public: void wsf(machine_config &config); private: - DECLARE_READ8_MEMBER(ataxx_trackball_r); - DECLARE_READ8_MEMBER(indyheat_analog_r); - DECLARE_WRITE8_MEMBER(indyheat_analog_w); - - DECLARE_WRITE8_MEMBER(ataxx_battery_ram_w); - DECLARE_READ8_MEMBER(ataxx_master_input_r); - DECLARE_WRITE8_MEMBER(ataxx_master_output_w); - DECLARE_WRITE8_MEMBER(ataxx_paletteram_and_misc_w); - DECLARE_READ8_MEMBER(ataxx_paletteram_and_misc_r); - DECLARE_WRITE8_MEMBER(ataxx_mvram_port_w); - DECLARE_WRITE8_MEMBER(ataxx_svram_port_w); - DECLARE_READ8_MEMBER(ataxx_mvram_port_r); - DECLARE_READ8_MEMBER(ataxx_svram_port_r); - DECLARE_READ8_MEMBER(ataxx_eeprom_r); - DECLARE_WRITE8_MEMBER(ataxx_eeprom_w); + u8 ataxx_trackball_r(offs_t offset); + u8 indyheat_analog_r(offs_t offset); + void indyheat_analog_w(offs_t offset, u8 data); + + void ataxx_battery_ram_w(offs_t offset, u8 data); + u8 ataxx_master_input_r(offs_t offset); + void ataxx_master_output_w(offs_t offset, u8 data); + void paletteram_and_misc_w(offs_t offset, u8 data); + u8 paletteram_and_misc_r(offs_t offset); + void ataxx_mvram_port_w(offs_t offset, u8 data); + void ataxx_svram_port_w(offs_t offset, u8 data); + u8 ataxx_mvram_port_r(offs_t offset); + u8 ataxx_svram_port_r(offs_t offset); + u8 eeprom_r(); + void eeprom_w(u8 data); TILEMAP_MAPPER_MEMBER(ataxx_scan); TILE_GET_INFO_MEMBER(ataxx_get_tile_info); @@ -298,15 +302,13 @@ private: required_device<leland_80186_sound_device> m_sound; - optional_ioport_array<4> m_track_axes; - - required_region_ptr<uint8_t> m_xrom_base; + required_region_ptr<u8> m_xrom_base; - std::unique_ptr<uint8_t[]> m_ataxx_qram; - uint8_t m_master_bank; - uint32_t m_xrom1_addr; - uint32_t m_xrom2_addr; - std::unique_ptr<uint8_t[]> m_extra_tram; + std::unique_ptr<u8[]> m_ataxx_qram; + u8 m_master_bank; + u32 m_xrom1_addr; + u32 m_xrom2_addr; + std::unique_ptr<u8[]> m_extra_tram; }; diff --git a/src/mame/machine/leland.cpp b/src/mame/machine/leland.cpp index 6069d59528c..f94e68f5929 100644 --- a/src/mame/machine/leland.cpp +++ b/src/mame/machine/leland.cpp @@ -48,7 +48,7 @@ int leland_state::dial_compute_value(int new_val, int indx) { int delta = new_val - (int)m_dial_last_input[indx]; - uint8_t result = m_dial_last_result[indx] & 0x80; + u8 result = m_dial_last_result[indx] & 0x80; m_dial_last_input[indx] = new_val; @@ -81,18 +81,18 @@ int leland_state::dial_compute_value(int new_val, int indx) * *************************************/ -READ8_MEMBER(leland_state::cerberus_dial_1_r) +u8 leland_state::cerberus_dial_1_r() { - int original = ioport("IN0")->read(); - int modified = dial_compute_value(ioport("AN0")->read(), 0); + int original = m_io_in[0]->read(); + int modified = dial_compute_value(m_io_an[0]->read(), 0); return (original & 0xc0) | ((modified & 0x80) >> 2) | (modified & 0x1f); } -READ8_MEMBER(leland_state::cerberus_dial_2_r) +u8 leland_state::cerberus_dial_2_r() { - int original = ioport("IN2")->read(); - int modified = dial_compute_value(ioport("AN1")->read(), 1); + int original = m_io_in[2]->read(); + int modified = dial_compute_value(m_io_an[1]->read(), 1); return (original & 0xc0) | ((modified & 0x80) >> 2) | (modified & 0x1f); } @@ -105,7 +105,7 @@ READ8_MEMBER(leland_state::cerberus_dial_2_r) *************************************/ -WRITE8_MEMBER(leland_state::alleymas_joystick_kludge) +void leland_state::alleymas_joystick_kludge(u8 data) { /* catch the case where they clear this memory location at PC $1827 and change */ /* the value written to be a 1 */ @@ -135,8 +135,8 @@ WRITE8_MEMBER(leland_state::alleymas_joystick_kludge) void leland_state::update_dangerz_xy() { - uint8_t newy = ioport("AN0")->read(); - uint8_t newx = ioport("AN1")->read(); + u8 newy = m_io_an[0]->read(); + u8 newx = m_io_an[1]->read(); int deltay = newy - m_dial_last_input[0]; int deltax = newx - m_dial_last_input[1]; @@ -157,21 +157,21 @@ void leland_state::update_dangerz_xy() } -READ8_MEMBER(leland_state::dangerz_input_y_r) +u8 leland_state::dangerz_input_y_r() { update_dangerz_xy(); return m_dangerz_y & 0xff; } -READ8_MEMBER(leland_state::dangerz_input_x_r) +u8 leland_state::dangerz_input_x_r() { update_dangerz_xy(); return m_dangerz_x & 0xff; } -READ8_MEMBER(leland_state::dangerz_input_upper_r) +u8 leland_state::dangerz_input_upper_r() { update_dangerz_xy(); return ((m_dangerz_y >> 2) & 0xc0) | ((m_dangerz_x >> 8) & 0x03); @@ -185,31 +185,31 @@ READ8_MEMBER(leland_state::dangerz_input_upper_r) * *************************************/ -static const uint8_t redline_pedal_value[8] = { 0xf0, 0xe0, 0xc0, 0xd0, 0x90, 0xb0, 0x30, 0x70 }; +static const u8 redline_pedal_value[8] = { 0xf0, 0xe0, 0xc0, 0xd0, 0x90, 0xb0, 0x30, 0x70 }; -READ8_MEMBER(redline_state::redline_pedal_1_r) +u8 redline_state::redline_pedal_1_r() { - ioport_value const pedal = ioport("IN0")->read(); + ioport_value const pedal = m_io_in[0]->read(); return redline_pedal_value[pedal >> 5] | 0x0f; } -READ8_MEMBER(redline_state::redline_pedal_2_r) +u8 redline_state::redline_pedal_2_r() { - ioport_value const pedal = ioport("IN2")->read(); + ioport_value const pedal = m_io_in[2]->read(); return redline_pedal_value[pedal >> 5] | 0x0f; } -READ8_MEMBER(redline_state::redline_wheel_1_r) +u8 redline_state::redline_wheel_1_r() { - return dial_compute_value(ioport("AN0")->read(), 0); + return dial_compute_value(m_io_an[0]->read(), 0); } -READ8_MEMBER(redline_state::redline_wheel_2_r) +u8 redline_state::redline_wheel_2_r() { - return dial_compute_value(ioport("AN1")->read(), 1); + return dial_compute_value(m_io_an[1]->read(), 1); } @@ -220,21 +220,21 @@ READ8_MEMBER(redline_state::redline_wheel_2_r) * *************************************/ -READ8_MEMBER(redline_state::offroad_wheel_1_r) +u8 redline_state::offroad_wheel_1_r() { - return dial_compute_value(ioport("AN3")->read(), 0); + return dial_compute_value(m_io_an[3]->read(), 0); } -READ8_MEMBER(redline_state::offroad_wheel_2_r) +u8 redline_state::offroad_wheel_2_r() { - return dial_compute_value(ioport("AN4")->read(), 1); + return dial_compute_value(m_io_an[4]->read(), 1); } -READ8_MEMBER(redline_state::offroad_wheel_3_r) +u8 redline_state::offroad_wheel_3_r() { - return dial_compute_value(ioport("AN5")->read(), 2); + return dial_compute_value(m_io_an[5]->read(), 2); } @@ -245,9 +245,9 @@ READ8_MEMBER(redline_state::offroad_wheel_3_r) * *************************************/ -READ8_MEMBER(ataxx_state::ataxx_trackball_r) +u8 ataxx_state::ataxx_trackball_r(offs_t offset) { - return dial_compute_value(m_track_axes[offset]->read(), offset); + return dial_compute_value(m_io_an[offset]->read(), offset); } @@ -258,7 +258,7 @@ READ8_MEMBER(ataxx_state::ataxx_trackball_r) * *************************************/ -READ8_MEMBER(ataxx_state::indyheat_analog_r) +u8 ataxx_state::indyheat_analog_r(offs_t offset) { switch (offset) { @@ -279,14 +279,12 @@ READ8_MEMBER(ataxx_state::indyheat_analog_r) } -WRITE8_MEMBER(ataxx_state::indyheat_analog_w) +void ataxx_state::indyheat_analog_w(offs_t offset, u8 data) { - static const char *const tracknames[] = { "AN3", "AN4", "AN5" }; - switch (offset) { case 3: - m_analog_result = ioport(tracknames[data])->read(); + m_analog_result = m_io_an[3 + data]->read(); break; case 0: @@ -333,8 +331,7 @@ void leland_state::machine_reset() /* reset globals */ m_gfx_control = 0x00; - address_space &space = generic_space(); - leland_sound_port_w(space, 0, 0xff); + sound_port_w(0xff); m_wcol_enable = 0; m_dangerz_x = 512; @@ -366,7 +363,7 @@ void ataxx_state::machine_start() { // TODO: further untangle driver so the base class doesn't have stuff that isn't common and this can call the base implementation /* set the odd data banks */ - m_extra_tram = std::make_unique<uint8_t[]>(ATAXX_EXTRA_TRAM_SIZE); + m_extra_tram = std::make_unique<u8[]>(ATAXX_EXTRA_TRAM_SIZE); /* start scanline interrupts going */ m_master_int_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(leland_state::ataxx_interrupt_callback),this)); @@ -448,7 +445,7 @@ TIMER_CALLBACK_MEMBER(leland_state::ataxx_interrupt_callback) INTERRUPT_GEN_MEMBER(leland_state::leland_master_interrupt) { /* check for coins here */ - if ((ioport("IN1")->read() & 0x0e) != 0x0e) + if ((m_io_in[1]->read() & 0x0e) != 0x0e) device.execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); } @@ -460,7 +457,7 @@ INTERRUPT_GEN_MEMBER(leland_state::leland_master_interrupt) * *************************************/ -WRITE8_MEMBER(leland_state::leland_master_alt_bankswitch_w) +void leland_state::leland_master_alt_bankswitch_w(u8 data) { /* update any bankswitching */ if (LOG_BANKSWITCHING_M) @@ -471,12 +468,12 @@ WRITE8_MEMBER(leland_state::leland_master_alt_bankswitch_w) } -WRITE8_MEMBER(redline_state::redline_master_alt_bankswitch_w) +void redline_state::redline_master_alt_bankswitch_w(u8 data) { - leland_master_alt_bankswitch_w(space, offset, data, mem_mask); + leland_master_alt_bankswitch_w(data); /* sound control is in the rest */ - m_sound->leland_80186_control_w(space, offset, data, mem_mask); + m_sound->leland_80186_control_w(data); } @@ -490,7 +487,7 @@ void leland_state::cerberus_bankswitch() /* bankswitching for Mayhem 2002, Power Play, World Series Baseball, and Alley Master */ void leland_state::mayhem_bankswitch() { - uint8_t *address; + u8 *address; m_battery_ram_enable = ((m_sound_port_bank & 0x24) == 0); @@ -505,7 +502,7 @@ void leland_state::mayhem_bankswitch() /* bankswitching for Danger Zone */ void leland_state::dangerz_bankswitch() { - uint8_t *address; + u8 *address; m_battery_ram_enable = ((m_top_board_bank & 0x80) != 0); @@ -520,7 +517,7 @@ void leland_state::dangerz_bankswitch() /* bankswitching for Baseball the Season II, Super Baseball, and Strike Zone */ void leland_state::basebal2_bankswitch() { - uint8_t *address; + u8 *address; m_battery_ram_enable = (m_top_board_bank & 0x80); @@ -538,8 +535,8 @@ void leland_state::basebal2_bankswitch() /* bankswitching for Red Line Racer */ void leland_state::redline_bankswitch() { - static const uint32_t bank_list[] = { 0x10000, 0x18000, 0x02000, 0x02000 }; - uint8_t *address; + static const u32 bank_list[] = { 0x10000, 0x18000, 0x02000, 0x02000 }; + u8 *address; m_battery_ram_enable = ((m_alternate_bank & 3) == 1); @@ -554,8 +551,8 @@ void leland_state::redline_bankswitch() /* bankswitching for Viper, Quarterback, Team Quarterback, and All American Football */ void leland_state::viper_bankswitch() { - static const uint32_t bank_list[] = { 0x02000, 0x10000, 0x18000, 0x02000 }; - uint8_t *address; + static const u32 bank_list[] = { 0x02000, 0x10000, 0x18000, 0x02000 }; + u8 *address; m_battery_ram_enable = ((m_alternate_bank & 0x04) != 0); @@ -575,8 +572,8 @@ void leland_state::viper_bankswitch() /* bankswitching for Super Offroad, Super Offroad Track Pack, and Pig Out */ void leland_state::offroad_bankswitch() { - static const uint32_t bank_list[] = { 0x02000, 0x02000, 0x10000, 0x18000, 0x20000, 0x28000, 0x30000, 0x38000 }; - uint8_t *address; + static const u32 bank_list[] = { 0x02000, 0x02000, 0x10000, 0x18000, 0x20000, 0x28000, 0x30000, 0x38000 }; + u8 *address; m_battery_ram_enable = ((m_alternate_bank & 7) == 1); @@ -596,12 +593,12 @@ void leland_state::offroad_bankswitch() /* bankswitching for Ataxx, WSF, Indy Heat, and Brute Force */ void ataxx_state::ataxx_bankswitch() { - static const uint32_t bank_list[] = + static const u32 bank_list[] = { 0x02000, 0x18000, 0x20000, 0x28000, 0x30000, 0x38000, 0x40000, 0x48000, 0x50000, 0x58000, 0x60000, 0x68000, 0x70000, 0x78000, 0x80000, 0x88000 }; - uint8_t *address; + u8 *address; m_battery_ram_enable = ((m_master_bank & 0x30) == 0x10); @@ -632,11 +629,11 @@ void ataxx_state::ataxx_bankswitch() * *************************************/ -void leland_state::leland_init_eeprom(uint8_t default_val, const uint16_t *data, uint8_t serial_offset, uint8_t serial_type) +void leland_state::leland_init_eeprom(u8 default_val, const u16 *data, u8 serial_offset, u8 serial_type) { - uint8_t xorval = (serial_type == SERIAL_TYPE_ADD_XOR || serial_type == SERIAL_TYPE_ENCRYPT_XOR) ? 0xff : 0x00; - uint8_t eeprom_data[64*2]; - uint32_t serial; + u8 xorval = (serial_type == SERIAL_TYPE_ADD_XOR || serial_type == SERIAL_TYPE_ENCRYPT_XOR) ? 0xff : 0x00; + u8 eeprom_data[64*2]; + u32 serial; /* NOTE: This code is just illustrative, and explains how to generate the @@ -743,12 +740,12 @@ void leland_state::leland_init_eeprom(uint8_t default_val, const uint16_t *data, * *************************************/ -void leland_state::ataxx_init_eeprom(const uint16_t *data) +void leland_state::ataxx_init_eeprom(const u16 *data) { - uint8_t eeprom_data[128*2]; - uint8_t serial_offset = 0; - uint8_t default_val = 0; - uint32_t serial; + u8 eeprom_data[128*2]; + u8 serial_offset = 0; + u8 default_val = 0; + u32 serial; /* NOTE: This code is just illustrative, and explains how to generate the @@ -817,21 +814,21 @@ void leland_state::ataxx_init_eeprom(const uint16_t *data) * *************************************/ -READ8_MEMBER(ataxx_state::ataxx_eeprom_r) +u8 ataxx_state::eeprom_r() { - int port = ioport("IN2")->read(); + int port = m_io_in[2]->read(); if (LOG_EEPROM) logerror("%s:EE read\n", machine().describe_context()); return port; } -WRITE8_MEMBER(ataxx_state::ataxx_eeprom_w) +void ataxx_state::eeprom_w(u8 data) { if (LOG_EEPROM) logerror("%s:EE write %d%d%d\n", machine().describe_context(), (data >> 6) & 1, (data >> 5) & 1, (data >> 4) & 1); - m_eeprom->di_write ((data & 0x10) >> 4); - m_eeprom->clk_write((data & 0x20) ? ASSERT_LINE : CLEAR_LINE); - m_eeprom->cs_write ((data & 0x40) ? ASSERT_LINE : CLEAR_LINE); + m_eeprom->di_write (BIT(data, 4)); + m_eeprom->clk_write(BIT(data, 5)); + m_eeprom->cs_write (BIT(data, 6)); } @@ -842,7 +839,7 @@ WRITE8_MEMBER(ataxx_state::ataxx_eeprom_w) * *************************************/ -WRITE8_MEMBER(leland_state::leland_battery_ram_w) +void leland_state::leland_battery_ram_w(offs_t offset, u8 data) { if (m_battery_ram_enable) { @@ -854,7 +851,7 @@ WRITE8_MEMBER(leland_state::leland_battery_ram_w) } -WRITE8_MEMBER(ataxx_state::ataxx_battery_ram_w) +void ataxx_state::ataxx_battery_ram_w(offs_t offset, u8 data) { if (m_battery_ram_enable) { @@ -909,7 +906,7 @@ WRITE8_MEMBER(ataxx_state::ataxx_battery_ram_w) for (i = 16, b = 0x70, r = 0x08; i < 128; i++, b--, r += 0x10) { - uint8_t a = original_data[i] ^ 0xff; + u8 a = original_data[i] ^ 0xff; a = (a >> 3) | (a << 5); a = (((a ^ r) + 1 + b) ^ b) - b; encrypted_data[i] = a; @@ -1018,7 +1015,7 @@ void leland_state::keycard_w(int data) * *************************************/ -READ8_MEMBER(leland_state::leland_master_analog_key_r) +u8 leland_state::master_analog_key_r(offs_t offset) { int result = 0; @@ -1045,17 +1042,15 @@ READ8_MEMBER(leland_state::leland_master_analog_key_r) -WRITE8_MEMBER(leland_state::leland_master_analog_key_w) +void leland_state::master_analog_key_w(offs_t offset, u8 data) { - static const char *const portnames[] = { "AN0", "AN1", "AN2", "AN3", "AN4", "AN5" }; - switch (offset) { case 0x00: /* FD = analog port trigger */ break; case 0x01: /* FE = analog port select/bankswitch */ - m_analog_result = ioport(portnames[data & 15])->read(); + m_analog_result = m_io_an[data & 15]->read(); /* update top board banking for some games */ if (LOG_BANKSWITCHING_M) @@ -1079,18 +1074,18 @@ WRITE8_MEMBER(leland_state::leland_master_analog_key_w) * *************************************/ -READ8_MEMBER(leland_state::leland_master_input_r) +u8 leland_state::leland_master_input_r(offs_t offset) { int result = 0xff; switch (offset) { case 0x00: /* /GIN0 */ - result = ioport("IN0")->read(); + result = m_io_in[0]->read(); break; case 0x01: /* /GIN1 */ - result = ioport("IN1")->read(); + result = m_io_in[1]->read(); if (m_slave->state_int(Z80_HALT)) result ^= 0x01; break; @@ -1110,11 +1105,11 @@ READ8_MEMBER(leland_state::leland_master_input_r) break; case 0x10: /* /GIN0 */ - result = ioport("IN2")->read(); + result = m_io_in[2]->read(); break; case 0x11: /* /GIN1 */ - result = ioport("IN3")->read(); + result = m_io_in[3]->read(); if (LOG_EEPROM) logerror("%s:EE read\n", machine().describe_context()); break; @@ -1126,21 +1121,21 @@ READ8_MEMBER(leland_state::leland_master_input_r) } -WRITE8_MEMBER(leland_state::leland_master_output_w) +void leland_state::leland_master_output_w(offs_t offset, u8 data) { switch (offset) { case 0x09: /* /MCONT */ - m_slave->set_input_line(INPUT_LINE_RESET, (data & 0x01) ? CLEAR_LINE : ASSERT_LINE); - m_wcol_enable = (data & 0x02); - m_slave->set_input_line(INPUT_LINE_NMI, (data & 0x04) ? CLEAR_LINE : ASSERT_LINE); - m_slave->set_input_line(0, (data & 0x08) ? CLEAR_LINE : ASSERT_LINE); + m_slave->set_input_line(INPUT_LINE_RESET, BIT(data, 0) ? CLEAR_LINE : ASSERT_LINE); + m_wcol_enable = BIT(data, 1); + m_slave->set_input_line(INPUT_LINE_NMI, BIT(data, 2) ? CLEAR_LINE : ASSERT_LINE); + m_slave->set_input_line(0, BIT(data, 3) ? CLEAR_LINE : ASSERT_LINE); if (LOG_EEPROM) logerror("%s:EE write %d%d%d\n", machine().describe_context(), (data >> 6) & 1, (data >> 5) & 1, (data >> 4) & 1); - m_eeprom->di_write ((data & 0x10) >> 4); - m_eeprom->clk_write((data & 0x20) ? ASSERT_LINE : CLEAR_LINE); - m_eeprom->cs_write ((data & 0x40) ? ASSERT_LINE : CLEAR_LINE); + m_eeprom->di_write (BIT(data, 4)); + m_eeprom->clk_write(BIT(data, 5)); + m_eeprom->cs_write (BIT(data, 6)); break; case 0x0a: /* /OGIA */ @@ -1156,7 +1151,7 @@ WRITE8_MEMBER(leland_state::leland_master_output_w) case 0x0d: /* /BKXH */ case 0x0e: /* /BKYL */ case 0x0f: /* /BKYH */ - leland_scroll_w(space, offset - 0x0c, data); + scroll_w(offset - 0x0c, data); break; default: @@ -1166,18 +1161,18 @@ WRITE8_MEMBER(leland_state::leland_master_output_w) } -READ8_MEMBER(ataxx_state::ataxx_master_input_r) +u8 ataxx_state::ataxx_master_input_r(offs_t offset) { int result = 0xff; switch (offset) { case 0x06: /* /GIN0 */ - result = ioport("IN0")->read(); + result = m_io_in[0]->read(); break; case 0x07: /* /SLVBLK */ - result = ioport("IN1")->read(); + result = m_io_in[1]->read(); if (m_slave->state_int(Z80_HALT)) result ^= 0x01; break; @@ -1190,7 +1185,7 @@ READ8_MEMBER(ataxx_state::ataxx_master_input_r) } -WRITE8_MEMBER(ataxx_state::ataxx_master_output_w) +void ataxx_state::ataxx_master_output_w(offs_t offset, u8 data) { switch (offset) { @@ -1198,7 +1193,7 @@ WRITE8_MEMBER(ataxx_state::ataxx_master_output_w) case 0x01: /* /BKXH */ case 0x02: /* /BKYL */ case 0x03: /* /BKYH */ - leland_scroll_w(space, offset, data); + scroll_w(offset, data); break; case 0x04: /* /MBNK */ @@ -1233,14 +1228,14 @@ WRITE8_MEMBER(ataxx_state::ataxx_master_output_w) * *************************************/ -WRITE8_MEMBER(leland_state::leland_gated_paletteram_w) +void leland_state::gated_paletteram_w(offs_t offset, u8 data) { if (m_wcol_enable) m_palette->write8(offset, data); } -READ8_MEMBER(leland_state::leland_gated_paletteram_r) +u8 leland_state::gated_paletteram_r(offs_t offset) { if (m_wcol_enable) return m_palette->basemem().read8(offset); @@ -1248,12 +1243,12 @@ READ8_MEMBER(leland_state::leland_gated_paletteram_r) } -WRITE8_MEMBER(ataxx_state::ataxx_paletteram_and_misc_w) +void ataxx_state::paletteram_and_misc_w(offs_t offset, u8 data) { if (m_wcol_enable) m_palette->write8(offset, data); else if (offset == 0x7f8 || offset == 0x7f9) - leland_master_video_addr_w(space, offset - 0x7f8, data); + master_video_addr_w(offset - 0x7f8, data); else if (offset == 0x7fc) { m_xrom1_addr = (m_xrom1_addr & 0xff00) | (data & 0x00ff); @@ -1279,7 +1274,7 @@ WRITE8_MEMBER(ataxx_state::ataxx_paletteram_and_misc_w) } -READ8_MEMBER(ataxx_state::ataxx_paletteram_and_misc_r) +u8 ataxx_state::paletteram_and_misc_r(offs_t offset) { if (m_wcol_enable) return m_palette->basemem().read8(offset); @@ -1307,16 +1302,16 @@ READ8_MEMBER(ataxx_state::ataxx_paletteram_and_misc_r) * *************************************/ -READ8_MEMBER(leland_state::leland_sound_port_r) +u8 leland_state::sound_port_r() { return m_gfx_control; } -WRITE8_MEMBER(leland_state::leland_sound_port_w) +void leland_state::sound_port_w(u8 data) { /* update the graphics banking */ - leland_gfx_port_w(space, 0, data); + gfx_port_w(data); /* set the new value */ m_gfx_control = data; @@ -1338,7 +1333,7 @@ WRITE8_MEMBER(leland_state::leland_sound_port_w) * *************************************/ -WRITE8_MEMBER(leland_state::leland_slave_small_banksw_w) +void leland_state::slave_small_banksw_w(u8 data) { int bankaddress = 0x10000 + 0xc000 * (data & 1); @@ -1353,7 +1348,7 @@ WRITE8_MEMBER(leland_state::leland_slave_small_banksw_w) } -WRITE8_MEMBER(leland_state::leland_slave_large_banksw_w) +void leland_state::slave_large_banksw_w(u8 data) { int bankaddress = 0x10000 + 0x8000 * (data & 15); @@ -1368,7 +1363,7 @@ WRITE8_MEMBER(leland_state::leland_slave_large_banksw_w) } -WRITE8_MEMBER(leland_state::ataxx_slave_banksw_w) +void leland_state::ataxx_slave_banksw_w(u8 data) { int bankaddress, bank = data & 15; @@ -1399,7 +1394,7 @@ WRITE8_MEMBER(leland_state::ataxx_slave_banksw_w) * *************************************/ -READ8_MEMBER(leland_state::leland_raster_r) +u8 leland_state::raster_r() { return m_screen->vpos(); } @@ -1413,12 +1408,12 @@ READ8_MEMBER(leland_state::leland_raster_r) *************************************/ /* also called by Ataxx */ -void leland_state::leland_rotate_memory(const char *cpuname) +void leland_state::rotate_memory(const char *cpuname) { int startaddr = 0x10000; int banks = (memregion(cpuname)->bytes() - startaddr) / 0x8000; - uint8_t *ram = memregion(cpuname)->base(); - uint8_t temp[0x2000]; + u8 *ram = memregion(cpuname)->base(); + u8 temp[0x2000]; int i; for (i = 0; i < banks; i++) diff --git a/src/mame/video/leland.cpp b/src/mame/video/leland.cpp index ccaece336bd..4301df5e3ce 100644 --- a/src/mame/video/leland.cpp +++ b/src/mame/video/leland.cpp @@ -82,7 +82,7 @@ TILEMAP_MAPPER_MEMBER(ataxx_state::ataxx_scan) TILE_GET_INFO_MEMBER(ataxx_state::ataxx_get_tile_info) { - uint16_t tile = m_ataxx_qram[tile_index] | ((m_ataxx_qram[0x4000 | tile_index] & 0x7f) << 8); + u16 tile = m_ataxx_qram[tile_index] | ((m_ataxx_qram[0x4000 | tile_index] & 0x7f) << 8); SET_TILE_INFO_MEMBER(0, tile, 0, 0); } @@ -99,7 +99,7 @@ void leland_state::video_start() m_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(leland_state::leland_get_tile_info),this), tilemap_mapper_delegate(FUNC(leland_state::leland_scan),this), 8, 8, 256, 256); /* allocate memory */ - m_video_ram = make_unique_clear<uint8_t[]>(VRAM_SIZE); + m_video_ram = make_unique_clear<u8[]>(VRAM_SIZE); /* scanline timer */ m_scanline_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(leland_state::scanline_callback),this)); @@ -111,7 +111,7 @@ void leland_state::video_start() save_item(NAME(m_yscroll)); save_item(NAME(m_gfxbank)); save_item(NAME(m_last_scanline)); - for (uint8_t i = 0; i < 2; i++) + for (u8 i = 0; i < 2; i++) { save_item(NAME(m_vram_state[i].m_addr), i); save_item(NAME(m_vram_state[i].m_latch), i); @@ -125,16 +125,16 @@ void ataxx_state::video_start() m_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(ataxx_state::ataxx_get_tile_info),this), tilemap_mapper_delegate(FUNC(ataxx_state::ataxx_scan),this), 8, 8, 256, 128); /* first do the standard stuff */ - m_video_ram = make_unique_clear<uint8_t[]>(VRAM_SIZE); + m_video_ram = make_unique_clear<u8[]>(VRAM_SIZE); /* allocate memory */ - m_ataxx_qram = make_unique_clear<uint8_t[]>(QRAM_SIZE); + m_ataxx_qram = make_unique_clear<u8[]>(QRAM_SIZE); save_pointer(NAME(m_video_ram), VRAM_SIZE); save_pointer(NAME(m_ataxx_qram), QRAM_SIZE); save_item(NAME(m_xscroll)); save_item(NAME(m_yscroll)); - for (uint8_t i = 0; i < 2; i++) + for (u8 i = 0; i < 2; i++) { save_item(NAME(m_vram_state[i].m_addr), i); save_item(NAME(m_vram_state[i].m_latch), i); @@ -148,7 +148,7 @@ void ataxx_state::video_start() * *************************************/ -WRITE8_MEMBER(leland_state::leland_scroll_w) +void leland_state::scroll_w(offs_t offset, u8 data) { int scanline = m_screen->vpos(); if (scanline > 0) @@ -174,12 +174,12 @@ WRITE8_MEMBER(leland_state::leland_scroll_w) break; default: - fatalerror("Unexpected leland_gfx_port_w\n"); + fatalerror("Unexpected scroll_w\n"); } } -WRITE8_MEMBER(leland_state::leland_gfx_port_w) +void leland_state::gfx_port_w(u8 data) { int scanline = m_screen->vpos(); if (scanline > 0) @@ -199,7 +199,7 @@ WRITE8_MEMBER(leland_state::leland_gfx_port_w) * *************************************/ -void leland_state::leland_video_addr_w(address_space &space, int offset, int data, int num) +void leland_state::video_addr_w(offs_t offset, u8 data, int num) { struct vram_state_data &state = m_vram_state[num]; @@ -216,7 +216,7 @@ void leland_state::leland_video_addr_w(address_space &space, int offset, int dat * *************************************/ -int leland_state::leland_vram_port_r(address_space &space, int offset, int num) +int leland_state::vram_port_r(offs_t offset, int num) { struct vram_state_data *state = m_vram_state + num; int addr = state->m_addr; @@ -262,9 +262,9 @@ int leland_state::leland_vram_port_r(address_space &space, int offset, int num) * *************************************/ -void leland_state::leland_vram_port_w(address_space &space, int offset, int data, int num) +void leland_state::vram_port_w(offs_t offset, u8 data, int num) { - uint8_t *video_ram = m_video_ram.get(); + u8 *video_ram = m_video_ram.get(); struct vram_state_data *state = m_vram_state + num; int addr = state->m_addr; int inc = (offset >> 2) & 2; @@ -344,32 +344,30 @@ void leland_state::leland_vram_port_w(address_space &space, int offset, int data * *************************************/ -WRITE8_MEMBER(leland_state::leland_master_video_addr_w) +void leland_state::master_video_addr_w(offs_t offset, u8 data) { - leland_video_addr_w(space, offset, data, 0); + video_addr_w(offset, data, 0); } TIMER_CALLBACK_MEMBER(leland_state::leland_delayed_mvram_w) { - address_space &space = m_master->space(AS_PROGRAM); - int num = (param >> 16) & 1; int offset = (param >> 8) & 0xff; int data = param & 0xff; - leland_vram_port_w(space, offset, data, num); + vram_port_w(offset, data, num); } -WRITE8_MEMBER(leland_state::leland_mvram_port_w) +void leland_state::leland_mvram_port_w(offs_t offset, u8 data) { machine().scheduler().synchronize(timer_expired_delegate(FUNC(leland_state::leland_delayed_mvram_w),this), 0x00000 | (offset << 8) | data); } -READ8_MEMBER(leland_state::leland_mvram_port_r) +u8 leland_state::leland_mvram_port_r(offs_t offset) { - return leland_vram_port_r(space, offset, 0); + return vram_port_r(offset, 0); } @@ -379,21 +377,21 @@ READ8_MEMBER(leland_state::leland_mvram_port_r) * *************************************/ -WRITE8_MEMBER(leland_state::leland_slave_video_addr_w) +void leland_state::slave_video_addr_w(offs_t offset, u8 data) { - leland_video_addr_w(space, offset, data, 1); + video_addr_w(offset, data, 1); } -WRITE8_MEMBER(leland_state::leland_svram_port_w) +void leland_state::leland_svram_port_w(offs_t offset, u8 data) { - leland_vram_port_w(space, offset, data, 1); + vram_port_w(offset, data, 1); } -READ8_MEMBER(leland_state::leland_svram_port_r) +u8 leland_state::leland_svram_port_r(offs_t offset) { - return leland_vram_port_r(space, offset, 1); + return vram_port_r(offset, 1); } @@ -403,17 +401,17 @@ READ8_MEMBER(leland_state::leland_svram_port_r) * *************************************/ -WRITE8_MEMBER(ataxx_state::ataxx_mvram_port_w) +void ataxx_state::ataxx_mvram_port_w(offs_t offset, u8 data) { offset = ((offset >> 1) & 0x07) | ((offset << 3) & 0x08) | (offset & 0x10); machine().scheduler().synchronize(timer_expired_delegate(FUNC(ataxx_state::leland_delayed_mvram_w),this), 0x00000 | (offset << 8) | data); } -WRITE8_MEMBER(ataxx_state::ataxx_svram_port_w) +void ataxx_state::ataxx_svram_port_w(offs_t offset, u8 data) { offset = ((offset >> 1) & 0x07) | ((offset << 3) & 0x08) | (offset & 0x10); - leland_vram_port_w(space, offset, data, 1); + vram_port_w(offset, data, 1); } @@ -423,17 +421,17 @@ WRITE8_MEMBER(ataxx_state::ataxx_svram_port_w) * *************************************/ -READ8_MEMBER(ataxx_state::ataxx_mvram_port_r) +u8 ataxx_state::ataxx_mvram_port_r(offs_t offset) { offset = ((offset >> 1) & 0x07) | ((offset << 3) & 0x08) | (offset & 0x10); - return leland_vram_port_r(space, offset, 0); + return vram_port_r(offset, 0); } -READ8_MEMBER(ataxx_state::ataxx_svram_port_r) +u8 ataxx_state::ataxx_svram_port_r(offs_t offset) { offset = ((offset >> 1) & 0x07) | ((offset << 3) & 0x08) | (offset & 0x10); - return leland_vram_port_r(space, offset, 1); + return vram_port_r(offset, 1); } @@ -443,7 +441,7 @@ READ8_MEMBER(ataxx_state::ataxx_svram_port_r) * *************************************/ -uint32_t leland_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 leland_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { m_tilemap->set_scrollx(0, m_xscroll); m_tilemap->set_scrolly(0, m_yscroll); @@ -452,8 +450,8 @@ uint32_t leland_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap /* for each scanline in the visible region */ for (int y = cliprect.top(); y <= cliprect.bottom(); y++) { - uint16_t *const dst = &bitmap.pix16(y); - uint8_t const *const fg_src = &m_video_ram[y << 8]; + u16 *const dst = &bitmap.pix16(y); + u8 const *const fg_src = &m_video_ram[y << 8]; /* for each pixel on the scanline */ for (int x = cliprect.left(); x <= cliprect.right(); x++) |