summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
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
commit631059e094cc7176cb00947bebf7d42a9a999379 (patch)
tree6f83badde7a68c557378cd00ce418e2a8921b3bd
parent9bf180e3141b4778a0b5855138418f06e26c0e32 (diff)
parentb905a4c4d6d547737582350c726b2c35f9e9b53e (diff)
Merge pull request #4841 from cam900/leland_args
leland.cpp, audio/leland.cpp : Updates
-rw-r--r--src/mame/audio/leland.cpp71
-rw-r--r--src/mame/audio/leland.h57
-rw-r--r--src/mame/drivers/leland.cpp248
-rw-r--r--src/mame/includes/leland.h198
-rw-r--r--src/mame/machine/leland.cpp217
-rw-r--r--src/mame/video/leland.cpp72
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++)