summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/snes.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/snes.cpp')
-rw-r--r--src/mame/drivers/snes.cpp242
1 files changed, 121 insertions, 121 deletions
diff --git a/src/mame/drivers/snes.cpp b/src/mame/drivers/snes.cpp
index 851a73bc3e4..c079dcfbb61 100644
--- a/src/mame/drivers/snes.cpp
+++ b/src/mame/drivers/snes.cpp
@@ -53,42 +53,42 @@ public:
void snes(machine_config &config);
private:
- DECLARE_READ8_MEMBER( snes20_hi_r );
- DECLARE_WRITE8_MEMBER( snes20_hi_w );
- DECLARE_READ8_MEMBER( snes20_lo_r );
- DECLARE_WRITE8_MEMBER( snes20_lo_w );
- DECLARE_READ8_MEMBER( snes21_lo_r );
- DECLARE_WRITE8_MEMBER( snes21_lo_w );
- DECLARE_READ8_MEMBER( snes21_hi_r );
- DECLARE_WRITE8_MEMBER( snes21_hi_w );
- DECLARE_READ8_MEMBER( snessfx_hi_r );
- DECLARE_READ8_MEMBER( snessfx_lo_r );
- DECLARE_WRITE8_MEMBER( snessfx_hi_w );
- DECLARE_WRITE8_MEMBER( snessfx_lo_w );
- DECLARE_READ8_MEMBER( snessa1_hi_r );
- DECLARE_READ8_MEMBER( snessa1_lo_r );
- DECLARE_WRITE8_MEMBER( snessa1_hi_w );
- DECLARE_WRITE8_MEMBER( snessa1_lo_w );
- DECLARE_READ8_MEMBER( snes7110_hi_r );
- DECLARE_READ8_MEMBER( snes7110_lo_r );
- DECLARE_WRITE8_MEMBER( snes7110_hi_w );
- DECLARE_WRITE8_MEMBER( snes7110_lo_w );
- DECLARE_READ8_MEMBER( snessdd1_lo_r );
- DECLARE_WRITE8_MEMBER( snessdd1_lo_w );
- DECLARE_READ8_MEMBER( snessdd1_hi_r );
- DECLARE_WRITE8_MEMBER( snessdd1_hi_w );
- DECLARE_READ8_MEMBER( snesbsx_hi_r );
- DECLARE_WRITE8_MEMBER( snesbsx_hi_w );
- DECLARE_READ8_MEMBER( snesbsx_lo_r );
- DECLARE_WRITE8_MEMBER( snesbsx_lo_w );
- DECLARE_READ8_MEMBER( snessgb_hi_r );
- DECLARE_READ8_MEMBER( snessgb_lo_r );
- DECLARE_WRITE8_MEMBER( snessgb_hi_w );
- DECLARE_WRITE8_MEMBER( snessgb_lo_w );
- DECLARE_READ8_MEMBER( pfest94_hi_r );
- DECLARE_WRITE8_MEMBER( pfest94_hi_w );
- DECLARE_READ8_MEMBER( pfest94_lo_r );
- DECLARE_WRITE8_MEMBER( pfest94_lo_w );
+ uint8_t snes20_hi_r(address_space &space, offs_t offset);
+ void snes20_hi_w(address_space &space, offs_t offset, uint8_t data);
+ uint8_t snes20_lo_r(address_space &space, offs_t offset);
+ void snes20_lo_w(address_space &space, offs_t offset, uint8_t data);
+ uint8_t snes21_lo_r(address_space &space, offs_t offset);
+ void snes21_lo_w(address_space &space, offs_t offset, uint8_t data);
+ uint8_t snes21_hi_r(address_space &space, offs_t offset);
+ void snes21_hi_w(address_space &space, offs_t offset, uint8_t data);
+ uint8_t snessfx_hi_r(address_space &space, offs_t offset);
+ uint8_t snessfx_lo_r(address_space &space, offs_t offset);
+ void snessfx_hi_w(address_space &space, offs_t offset, uint8_t data);
+ void snessfx_lo_w(address_space &space, offs_t offset, uint8_t data);
+ uint8_t snessa1_hi_r(address_space &space, offs_t offset);
+ uint8_t snessa1_lo_r(address_space &space, offs_t offset);
+ void snessa1_hi_w(address_space &space, offs_t offset, uint8_t data);
+ void snessa1_lo_w(address_space &space, offs_t offset, uint8_t data);
+ uint8_t snes7110_hi_r(address_space &space, offs_t offset);
+ uint8_t snes7110_lo_r(address_space &space, offs_t offset);
+ void snes7110_hi_w(address_space &space, offs_t offset, uint8_t data);
+ void snes7110_lo_w(address_space &space, offs_t offset, uint8_t data);
+ uint8_t snessdd1_lo_r(address_space &space, offs_t offset);
+ void snessdd1_lo_w(address_space &space, offs_t offset, uint8_t data);
+ uint8_t snessdd1_hi_r(address_space &space, offs_t offset);
+ void snessdd1_hi_w(address_space &space, offs_t offset, uint8_t data);
+ uint8_t snesbsx_hi_r(address_space &space, offs_t offset);
+ void snesbsx_hi_w(address_space &space, offs_t offset, uint8_t data);
+ uint8_t snesbsx_lo_r(address_space &space, offs_t offset);
+ void snesbsx_lo_w(address_space &space, offs_t offset, uint8_t data);
+ uint8_t snessgb_hi_r(address_space &space, offs_t offset);
+ uint8_t snessgb_lo_r(address_space &space, offs_t offset);
+ void snessgb_hi_w(address_space &space, offs_t offset, uint8_t data);
+ void snessgb_lo_w(address_space &space, offs_t offset, uint8_t data);
+ uint8_t pfest94_hi_r(address_space &space, offs_t offset);
+ void pfest94_hi_w(address_space &space, offs_t offset, uint8_t data);
+ uint8_t pfest94_lo_r(address_space &space, offs_t offset);
+ void pfest94_lo_w(address_space &space, offs_t offset, uint8_t data);
// input related
SNESCTRL_ONSCREEN_CB(onscreen_cb);
@@ -130,7 +130,7 @@ private:
// Also we have here LoROM + CX4, until the Hitachi CPU is emulated,
// and the LoROM + Seta DSP, because their chip_read/chip_write need global offset
-READ8_MEMBER( snes_console_state::snes20_hi_r )
+uint8_t snes_console_state::snes20_hi_r(address_space &space, offs_t offset)
{
uint16_t address = offset & 0xffff;
@@ -150,7 +150,7 @@ READ8_MEMBER( snes_console_state::snes20_hi_r )
if (address < 0x2000)
return m_wram[address];
else if (address < 0x6000)
- return snes_r_io(space, address);
+ return snes_r_io(address);
else if (address < 0x8000)
return snes_open_bus_r();
else
@@ -187,7 +187,7 @@ READ8_MEMBER( snes_console_state::snes20_hi_r )
}
}
-WRITE8_MEMBER( snes_console_state::snes20_hi_w )
+void snes_console_state::snes20_hi_w(address_space &space, offs_t offset, uint8_t data)
{
uint16_t address = offset & 0xffff;
@@ -225,7 +225,7 @@ WRITE8_MEMBER( snes_console_state::snes20_hi_w )
}
}
-READ8_MEMBER( snes_console_state::snes20_lo_r )
+uint8_t snes_console_state::snes20_lo_r(address_space &space, offs_t offset)
{
uint16_t address = offset & 0xffff;
@@ -245,7 +245,7 @@ READ8_MEMBER( snes_console_state::snes20_lo_r )
if (address < 0x2000)
return m_wram[address];
else if (address < 0x6000)
- return snes_r_io(space, address);
+ return snes_r_io(address);
else if (address < 0x8000)
return snes_open_bus_r();
else
@@ -282,14 +282,14 @@ READ8_MEMBER( snes_console_state::snes20_lo_r )
}
}
-WRITE8_MEMBER( snes_console_state::snes20_lo_w )
+void snes_console_state::snes20_lo_w(address_space &space, offs_t offset, uint8_t data)
{
if (m_type == SNES_SUFAMITURBO
&& (offset & 0xffff) >= 0x8000 && ((offset >= 0x600000 && offset < 0x640000) || (offset >= 0x700000 && offset < 0x740000)))
{ m_cartslot->write_l(offset, data); return; }
// other add-on writes matches the hi handler
- snes20_hi_w(space, offset, data, 0xff);
+ snes20_hi_w(space, offset, data);
}
@@ -297,7 +297,7 @@ WRITE8_MEMBER( snes_console_state::snes20_lo_w )
// HiROM & HiROM + BSX slot
//---------------------------------------------------------------------------------
-READ8_MEMBER( snes_console_state::snes21_lo_r )
+uint8_t snes_console_state::snes21_lo_r(address_space &space, offs_t offset)
{
uint16_t address = offset & 0xffff;
@@ -306,7 +306,7 @@ READ8_MEMBER( snes_console_state::snes21_lo_r )
if (address < 0x2000)
return m_wram[address];
else if (address < 0x6000)
- return snes_r_io(space, address);
+ return snes_r_io(address);
else
{
if (m_type == SNES_BSXHI && m_cartslot->m_cart->get_nvram_size() && offset >= 0x200000)
@@ -331,7 +331,7 @@ READ8_MEMBER( snes_console_state::snes21_lo_r )
return m_cartslot->read_l(offset);
}
-WRITE8_MEMBER( snes_console_state::snes21_lo_w )
+void snes_console_state::snes21_lo_w(address_space &space, offs_t offset, uint8_t data)
{
uint16_t address = offset & 0xffff;
if (offset < 0x400000 && address < 0x8000)
@@ -359,7 +359,7 @@ WRITE8_MEMBER( snes_console_state::snes21_lo_w )
}
}
-READ8_MEMBER( snes_console_state::snes21_hi_r )
+uint8_t snes_console_state::snes21_hi_r(address_space &space, offs_t offset)
{
uint16_t address = offset & 0xffff;
@@ -368,7 +368,7 @@ READ8_MEMBER( snes_console_state::snes21_hi_r )
if (address < 0x2000)
return m_wram[address];
else if (address < 0x6000)
- return snes_r_io(space, address);
+ return snes_r_io(address);
else
{
if (m_type == SNES_BSXHI && m_cartslot->m_cart->get_nvram_size() && offset >= 0x200000)
@@ -393,7 +393,7 @@ READ8_MEMBER( snes_console_state::snes21_hi_r )
return m_cartslot->read_h(offset);
}
-WRITE8_MEMBER( snes_console_state::snes21_hi_w )
+void snes_console_state::snes21_hi_w(address_space &space, offs_t offset, uint8_t data)
{
uint16_t address = offset & 0xffff;
if (offset < 0x400000 && address < 0x8000)
@@ -425,7 +425,7 @@ WRITE8_MEMBER( snes_console_state::snes21_hi_w )
// LoROM + SuperFX / GSU
//---------------------------------------------------------------------------------
-READ8_MEMBER( snes_console_state::snessfx_hi_r )
+uint8_t snes_console_state::snessfx_hi_r(address_space &space, offs_t offset)
{
uint16_t address = offset & 0xffff;
@@ -438,7 +438,7 @@ READ8_MEMBER( snes_console_state::snessfx_hi_r )
if (address >= 0x3000 && address < 0x3300)
return m_cartslot->chip_read(offset);
else
- return snes_r_io(space, address);
+ return snes_r_io(address);
}
else if (address < 0x8000)
return m_cartslot->read_ram(offset & 0x1fff);
@@ -451,7 +451,7 @@ READ8_MEMBER( snes_console_state::snessfx_hi_r )
return m_cartslot->read_ram(offset);
}
-READ8_MEMBER( snes_console_state::snessfx_lo_r )
+uint8_t snes_console_state::snessfx_lo_r(address_space &space, offs_t offset)
{
uint16_t address = offset & 0xffff;
@@ -464,7 +464,7 @@ READ8_MEMBER( snes_console_state::snessfx_lo_r )
if (address >= 0x3000 && address < 0x3300)
return m_cartslot->chip_read(offset);
else
- return snes_r_io(space, address);
+ return snes_r_io(address);
}
else if (address < 0x8000)
return m_cartslot->read_ram(offset & 0x1fff);
@@ -477,7 +477,7 @@ READ8_MEMBER( snes_console_state::snessfx_lo_r )
return m_cartslot->read_ram(offset);
}
-WRITE8_MEMBER( snes_console_state::snessfx_hi_w )
+void snes_console_state::snessfx_hi_w(address_space &space, offs_t offset, uint8_t data)
{
uint16_t address = offset & 0xffff;
if (offset < 0x400000)
@@ -498,16 +498,16 @@ WRITE8_MEMBER( snes_console_state::snessfx_hi_w )
m_cartslot->write_ram(offset, data);
}
-WRITE8_MEMBER( snes_console_state::snessfx_lo_w )
+void snes_console_state::snessfx_lo_w(address_space &space, offs_t offset, uint8_t data)
{
- snessfx_hi_w(space, offset, data, 0xff);
+ snessfx_hi_w(space, offset, data);
}
//---------------------------------------------------------------------------------
// LoROM + SA-1
//---------------------------------------------------------------------------------
-READ8_MEMBER( snes_console_state::snessa1_hi_r )
+uint8_t snes_console_state::snessa1_hi_r(address_space &space, offs_t offset)
{
uint16_t address = offset & 0xffff;
@@ -522,7 +522,7 @@ READ8_MEMBER( snes_console_state::snessa1_hi_r )
else if (address >= 0x3000 && address < 0x3800)
return m_cartslot->chip_read(offset); // Internal SA-1 RAM (2K)
else
- return snes_r_io(space, address);
+ return snes_r_io(address);
}
else if (address < 0x8000)
return m_cartslot->chip_read(offset); // SA-1 BWRAM
@@ -533,7 +533,7 @@ READ8_MEMBER( snes_console_state::snessa1_hi_r )
return m_cartslot->read_h(offset);
}
-READ8_MEMBER( snes_console_state::snessa1_lo_r )
+uint8_t snes_console_state::snessa1_lo_r(address_space &space, offs_t offset)
{
uint16_t address = offset & 0xffff;
@@ -548,7 +548,7 @@ READ8_MEMBER( snes_console_state::snessa1_lo_r )
else if (address >= 0x3000 && address < 0x3800)
return m_cartslot->chip_read(offset); // Internal SA-1 RAM (2K)
else
- return snes_r_io(space, address);
+ return snes_r_io(address);
}
else if (address < 0x8000)
return m_cartslot->chip_read(offset); // SA-1 BWRAM
@@ -558,10 +558,10 @@ READ8_MEMBER( snes_console_state::snessa1_lo_r )
else if (offset < 0x500000)
return m_cartslot->chip_read(offset); // SA-1 BWRAM (not mirrored above!)
else
- return snes_r_io(space, address); // nothing mapped here!
+ return snes_r_io(address); // nothing mapped here!
}
-WRITE8_MEMBER( snes_console_state::snessa1_hi_w )
+void snes_console_state::snessa1_hi_w(address_space &space, offs_t offset, uint8_t data)
{
uint16_t address = offset & 0xffff;
if (offset < 0x400000)
@@ -582,19 +582,19 @@ WRITE8_MEMBER( snes_console_state::snessa1_hi_w )
}
}
-WRITE8_MEMBER( snes_console_state::snessa1_lo_w )
+void snes_console_state::snessa1_lo_w(address_space &space, offs_t offset, uint8_t data)
{
if (offset >= 0x400000 && offset < 0x500000)
m_cartslot->chip_write(offset, data); // SA-1 BWRAM (not mirrored above!)
else
- snessa1_hi_w(space, offset, data, 0xff);
+ snessa1_hi_w(space, offset, data);
}
//---------------------------------------------------------------------------------
// HiROM + SPC-7110
//---------------------------------------------------------------------------------
-READ8_MEMBER( snes_console_state::snes7110_hi_r )
+uint8_t snes_console_state::snes7110_hi_r(address_space &space, offs_t offset)
{
uint16_t address = offset & 0xffff;
@@ -608,7 +608,7 @@ READ8_MEMBER( snes_console_state::snes7110_hi_r )
if (address >= 0x4800 && address < limit)
return m_cartslot->chip_read(address);
- return snes_r_io(space, address);
+ return snes_r_io(address);
}
else if (address < 0x8000)
{
@@ -623,7 +623,7 @@ READ8_MEMBER( snes_console_state::snes7110_hi_r )
return m_cartslot->read_h(offset);
}
-READ8_MEMBER( snes_console_state::snes7110_lo_r )
+uint8_t snes_console_state::snes7110_lo_r(address_space &space, offs_t offset)
{
uint16_t address = offset & 0xffff;
@@ -637,7 +637,7 @@ READ8_MEMBER( snes_console_state::snes7110_lo_r )
if (address >= 0x4800 && address < limit)
return m_cartslot->chip_read(address);
- return snes_r_io(space, address);
+ return snes_r_io(address);
}
else if (address < 0x8000)
{
@@ -655,12 +655,12 @@ READ8_MEMBER( snes_console_state::snes7110_lo_r )
return snes_open_bus_r();
}
-WRITE8_MEMBER( snes_console_state::snes7110_hi_w )
+void snes_console_state::snes7110_hi_w(address_space &space, offs_t offset, uint8_t data)
{
- snes7110_lo_w(space, offset, data, 0xff);
+ snes7110_lo_w(space, offset, data);
}
-WRITE8_MEMBER( snes_console_state::snes7110_lo_w )
+void snes_console_state::snes7110_lo_w (address_space &space, offs_t offset, uint8_t data)
{
uint16_t address = offset & 0xffff;
if (offset < 0x400000)
@@ -692,7 +692,7 @@ WRITE8_MEMBER( snes_console_state::snes7110_lo_w )
// LoROM + S-DD1
//---------------------------------------------------------------------------------
-READ8_MEMBER( snes_console_state::snessdd1_lo_r )
+uint8_t snes_console_state::snessdd1_lo_r(address_space &space, offs_t offset)
{
uint16_t address = offset & 0xffff;
@@ -705,7 +705,7 @@ READ8_MEMBER( snes_console_state::snessdd1_lo_r )
if (address >= 0x4800 && address < 0x4808)
return m_cartslot->chip_read(address);
- return snes_r_io(space, address);
+ return snes_r_io(address);
}
else if (address < 0x8000)
return snes_open_bus_r();
@@ -718,20 +718,20 @@ READ8_MEMBER( snes_console_state::snessdd1_lo_r )
return m_cartslot->read_l(offset);
}
-READ8_MEMBER( snes_console_state::snessdd1_hi_r )
+uint8_t snes_console_state::snessdd1_hi_r(address_space &space, offs_t offset)
{
if (offset >= 0x400000)
return m_cartslot->read_h(offset);
else
- return snessdd1_lo_r(space, offset, 0xff);
+ return snessdd1_lo_r(space, offset);
}
-WRITE8_MEMBER( snes_console_state::snessdd1_lo_w )
+void snes_console_state::snessdd1_lo_w(address_space &space, offs_t offset, uint8_t data)
{
- snessdd1_hi_w(space, offset, data, 0xff);
+ snessdd1_hi_w(space, offset, data);
}
-WRITE8_MEMBER( snes_console_state::snessdd1_hi_w )
+void snes_console_state::snessdd1_hi_w(address_space &space, offs_t offset, uint8_t data)
{
uint16_t address = offset & 0xffff;
if (offset < 0x400000)
@@ -762,7 +762,7 @@ WRITE8_MEMBER( snes_console_state::snessdd1_hi_w )
// LoROM + BS-X (Base unit)
//---------------------------------------------------------------------------------
-READ8_MEMBER( snes_console_state::snesbsx_hi_r )
+uint8_t snes_console_state::snesbsx_hi_r(address_space &space, offs_t offset)
{
uint16_t address = offset & 0xffff;
@@ -776,7 +776,7 @@ READ8_MEMBER( snes_console_state::snesbsx_hi_r )
return m_cartslot->chip_read(offset);
if (address >= 0x5000)
return m_cartslot->chip_read(offset);
- return snes_r_io(space, address);
+ return snes_r_io(address);
}
else if (address < 0x8000)
{
@@ -791,7 +791,7 @@ READ8_MEMBER( snes_console_state::snesbsx_hi_r )
return m_cartslot->read_h(offset);
}
-WRITE8_MEMBER( snes_console_state::snesbsx_hi_w )
+void snes_console_state::snesbsx_hi_w(address_space &space, offs_t offset, uint8_t data)
{
uint16_t address = offset & 0xffff;
if (offset < 0x400000)
@@ -823,7 +823,7 @@ WRITE8_MEMBER( snes_console_state::snesbsx_hi_w )
return m_cartslot->write_l(offset, data);
}
-READ8_MEMBER( snes_console_state::snesbsx_lo_r )
+uint8_t snes_console_state::snesbsx_lo_r(address_space &space, offs_t offset)
{
uint16_t address = offset & 0xffff;
@@ -837,7 +837,7 @@ READ8_MEMBER( snes_console_state::snesbsx_lo_r )
return m_cartslot->chip_read(offset);
if (address >= 0x5000)
return m_cartslot->chip_read(offset);
- return snes_r_io(space, address);
+ return snes_r_io(address);
}
else if (address < 0x8000)
{
@@ -852,9 +852,9 @@ READ8_MEMBER( snes_console_state::snesbsx_lo_r )
return m_cartslot->read_l(offset);
}
-WRITE8_MEMBER( snes_console_state::snesbsx_lo_w )
+void snes_console_state::snesbsx_lo_w(address_space &space, offs_t offset, uint8_t data)
{
- snesbsx_hi_w(space, offset, data, 0xff);
+ snesbsx_hi_w(space, offset, data);
}
@@ -862,7 +862,7 @@ WRITE8_MEMBER( snes_console_state::snesbsx_lo_w )
// LoROM + SuperGB
//---------------------------------------------------------------------------------
-READ8_MEMBER( snes_console_state::snessgb_hi_r )
+uint8_t snes_console_state::snessgb_hi_r(address_space &space, offs_t offset)
{
uint16_t address = offset & 0xffff;
@@ -871,7 +871,7 @@ READ8_MEMBER( snes_console_state::snessgb_hi_r )
if (address < 0x2000)
return m_wram[address];
else if (address < 0x6000)
- return snes_r_io(space, address);
+ return snes_r_io(address);
else if (address < 0x8000)
return m_cartslot->chip_read(offset);
else
@@ -883,12 +883,12 @@ READ8_MEMBER( snes_console_state::snessgb_hi_r )
return snes_open_bus_r();
}
-READ8_MEMBER( snes_console_state::snessgb_lo_r )
+uint8_t snes_console_state::snessgb_lo_r(address_space &space, offs_t offset)
{
- return snessgb_hi_r(space, offset, 0xff);
+ return snessgb_hi_r(space, offset);
}
-WRITE8_MEMBER( snes_console_state::snessgb_hi_w )
+void snes_console_state::snessgb_hi_w(address_space &space, offs_t offset, uint8_t data)
{
uint16_t address = offset & 0xffff;
if (offset < 0x400000)
@@ -902,16 +902,16 @@ WRITE8_MEMBER( snes_console_state::snessgb_hi_w )
}
}
-WRITE8_MEMBER( snes_console_state::snessgb_lo_w )
+void snes_console_state::snessgb_lo_w(address_space &space, offs_t offset, uint8_t data)
{
- snessgb_hi_w(space, offset, data, 0xff);
+ snessgb_hi_w(space, offset, data);
}
//---------------------------------------------------------------------------------
// Powerfest '94 event cart
//---------------------------------------------------------------------------------
-READ8_MEMBER( snes_console_state::pfest94_hi_r )
+uint8_t snes_console_state::pfest94_hi_r(address_space &space, offs_t offset)
{
uint16_t address = offset & 0xffff;
@@ -920,7 +920,7 @@ READ8_MEMBER( snes_console_state::pfest94_hi_r )
if (address < 0x2000)
return m_wram[address];
else if (address < 0x6000)
- return snes_r_io(space, address);
+ return snes_r_io(address);
else if (address < 0x8000)
{
if (offset < 0x100000) // DSP access
@@ -938,7 +938,7 @@ READ8_MEMBER( snes_console_state::pfest94_hi_r )
return m_cartslot->read_h(offset);
}
-WRITE8_MEMBER( snes_console_state::pfest94_hi_w )
+void snes_console_state::pfest94_hi_w(address_space &space, offs_t offset, uint8_t data)
{
uint16_t address = offset & 0xffff;
if (offset < 0x400000)
@@ -959,7 +959,7 @@ WRITE8_MEMBER( snes_console_state::pfest94_hi_w )
}
}
-READ8_MEMBER( snes_console_state::pfest94_lo_r )
+uint8_t snes_console_state::pfest94_lo_r(address_space &space, offs_t offset)
{
uint16_t address = offset & 0xffff;
@@ -968,7 +968,7 @@ READ8_MEMBER( snes_console_state::pfest94_lo_r )
if (address < 0x2000)
return m_wram[address];
else if (address < 0x6000)
- return snes_r_io(space, address);
+ return snes_r_io(address);
else if (address < 0x8000)
{
if (offset < 0x100000) // DSP access
@@ -986,9 +986,9 @@ READ8_MEMBER( snes_console_state::pfest94_lo_r )
return 0xff; // or open_bus?
}
-WRITE8_MEMBER( snes_console_state::pfest94_lo_w )
+void snes_console_state::pfest94_lo_w(address_space &space, offs_t offset, uint8_t data)
{
- pfest94_hi_w(space, offset, data, 0xff);
+ pfest94_hi_w(space, offset, data);
}
@@ -1185,8 +1185,8 @@ void snes_console_state::machine_start()
if (m_cartslot && m_cartslot->exists())
{
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8_delegate(*this, FUNC(snes_console_state::snes20_lo_r)), write8_delegate(*this, FUNC(snes_console_state::snes20_lo_w)));
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8_delegate(*this, FUNC(snes_console_state::snes20_hi_r)), write8_delegate(*this, FUNC(snes_console_state::snes20_hi_w)));
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8m_delegate(*this, FUNC(snes_console_state::snes20_lo_r)), write8m_delegate(*this, FUNC(snes_console_state::snes20_lo_w)));
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8m_delegate(*this, FUNC(snes_console_state::snes20_hi_r)), write8m_delegate(*this, FUNC(snes_console_state::snes20_hi_w)));
m_maincpu->set_5a22_map();
m_type = m_cartslot->get_type();
@@ -1203,13 +1203,13 @@ void snes_console_state::machine_start()
case SNES_ST018: // still unemulated
break;
case SNES_Z80GB: // skeleton support
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8_delegate(*this, FUNC(snes_console_state::snessgb_lo_r)), write8_delegate(*this, FUNC(snes_console_state::snessgb_lo_w)));
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8_delegate(*this, FUNC(snes_console_state::snessgb_hi_r)), write8_delegate(*this, FUNC(snes_console_state::snessgb_hi_w)));
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8m_delegate(*this, FUNC(snes_console_state::snessgb_lo_r)), write8m_delegate(*this, FUNC(snes_console_state::snessgb_lo_w)));
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8m_delegate(*this, FUNC(snes_console_state::snessgb_hi_r)), write8m_delegate(*this, FUNC(snes_console_state::snessgb_hi_w)));
m_maincpu->set_5a22_map();
break;
case SNES_SA1: // skeleton support
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8_delegate(*this, FUNC(snes_console_state::snessa1_lo_r)), write8_delegate(*this, FUNC(snes_console_state::snessa1_lo_w)));
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8_delegate(*this, FUNC(snes_console_state::snessa1_hi_r)), write8_delegate(*this, FUNC(snes_console_state::snessa1_hi_w)));
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8m_delegate(*this, FUNC(snes_console_state::snessa1_lo_r)), write8m_delegate(*this, FUNC(snes_console_state::snessa1_lo_w)));
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8m_delegate(*this, FUNC(snes_console_state::snessa1_hi_r)), write8m_delegate(*this, FUNC(snes_console_state::snessa1_hi_w)));
m_maincpu->set_5a22_map();
break;
case SNES_DSP:
@@ -1230,50 +1230,50 @@ void snes_console_state::machine_start()
break;
case SNES_GSU1:
case SNES_GSU2:
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8_delegate(*this, FUNC(snes_console_state::snessfx_lo_r)), write8_delegate(*this, FUNC(snes_console_state::snessfx_lo_w)));
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8_delegate(*this, FUNC(snes_console_state::snessfx_hi_r)), write8_delegate(*this, FUNC(snes_console_state::snessfx_hi_w)));
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8m_delegate(*this, FUNC(snes_console_state::snessfx_lo_r)), write8m_delegate(*this, FUNC(snes_console_state::snessfx_lo_w)));
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8m_delegate(*this, FUNC(snes_console_state::snessfx_hi_r)), write8m_delegate(*this, FUNC(snes_console_state::snessfx_hi_w)));
m_maincpu->set_5a22_map();
break;
case SNES_SDD1:
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8_delegate(*this, FUNC(snes_console_state::snessdd1_lo_r)), write8_delegate(*this, FUNC(snes_console_state::snessdd1_lo_w)));
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8_delegate(*this, FUNC(snes_console_state::snessdd1_hi_r)), write8_delegate(*this, FUNC(snes_console_state::snessdd1_hi_w)));
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8m_delegate(*this, FUNC(snes_console_state::snessdd1_lo_r)), write8m_delegate(*this, FUNC(snes_console_state::snessdd1_lo_w)));
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8m_delegate(*this, FUNC(snes_console_state::snessdd1_hi_r)), write8m_delegate(*this, FUNC(snes_console_state::snessdd1_hi_w)));
m_maincpu->set_5a22_map();
break;
case SNES_BSX:
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8_delegate(*this, FUNC(snes_console_state::snesbsx_lo_r)), write8_delegate(*this, FUNC(snes_console_state::snesbsx_lo_w)));
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8_delegate(*this, FUNC(snes_console_state::snesbsx_hi_r)), write8_delegate(*this, FUNC(snes_console_state::snesbsx_hi_w)));
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8m_delegate(*this, FUNC(snes_console_state::snesbsx_lo_r)), write8m_delegate(*this, FUNC(snes_console_state::snesbsx_lo_w)));
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8m_delegate(*this, FUNC(snes_console_state::snesbsx_hi_r)), write8m_delegate(*this, FUNC(snes_console_state::snesbsx_hi_w)));
m_maincpu->set_5a22_map();
break;
// HiROM & HiROM + addons
case SNES_MODE21:
case SNES_BSXHI:
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8_delegate(*this, FUNC(snes_console_state::snes21_lo_r)), write8_delegate(*this, FUNC(snes_console_state::snes21_lo_w)));
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8_delegate(*this, FUNC(snes_console_state::snes21_hi_r)), write8_delegate(*this, FUNC(snes_console_state::snes21_hi_w)));
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8m_delegate(*this, FUNC(snes_console_state::snes21_lo_r)), write8m_delegate(*this, FUNC(snes_console_state::snes21_lo_w)));
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8m_delegate(*this, FUNC(snes_console_state::snes21_hi_r)), write8m_delegate(*this, FUNC(snes_console_state::snes21_hi_w)));
m_maincpu->set_5a22_map();
break;
case SNES_DSP_MODE21:
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8_delegate(*this, FUNC(snes_console_state::snes21_lo_r)), write8_delegate(*this, FUNC(snes_console_state::snes21_lo_w)));
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8_delegate(*this, FUNC(snes_console_state::snes21_hi_r)), write8_delegate(*this, FUNC(snes_console_state::snes21_hi_w)));
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8m_delegate(*this, FUNC(snes_console_state::snes21_lo_r)), write8m_delegate(*this, FUNC(snes_console_state::snes21_lo_w)));
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8m_delegate(*this, FUNC(snes_console_state::snes21_hi_r)), write8m_delegate(*this, FUNC(snes_console_state::snes21_hi_w)));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x006000, 0x007fff, 0, 0x9f0000, 0, read8sm_delegate(*m_cartslot, FUNC(base_sns_cart_slot_device::chip_read)));
m_maincpu->space(AS_PROGRAM).install_write_handler(0x006000, 0x007fff, 0, 0x9f0000, 0, write8sm_delegate(*m_cartslot, FUNC(base_sns_cart_slot_device::chip_write)));
m_maincpu->set_5a22_map();
break;
case SNES_SRTC:
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8_delegate(*this, FUNC(snes_console_state::snes21_lo_r)), write8_delegate(*this, FUNC(snes_console_state::snes21_lo_w)));
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8_delegate(*this, FUNC(snes_console_state::snes21_hi_r)), write8_delegate(*this, FUNC(snes_console_state::snes21_hi_w)));
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8m_delegate(*this, FUNC(snes_console_state::snes21_lo_r)), write8m_delegate(*this, FUNC(snes_console_state::snes21_lo_w)));
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8m_delegate(*this, FUNC(snes_console_state::snes21_hi_r)), write8m_delegate(*this, FUNC(snes_console_state::snes21_hi_w)));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x002800, 0x002800, 0, 0xbf0000, 0, read8sm_delegate(*m_cartslot, FUNC(base_sns_cart_slot_device::chip_read)));
m_maincpu->space(AS_PROGRAM).install_write_handler(0x002801, 0x002801, 0, 0xbf0000, 0, write8sm_delegate(*m_cartslot, FUNC(base_sns_cart_slot_device::chip_write)));
m_maincpu->set_5a22_map();
break;
case SNES_SPC7110:
case SNES_SPC7110_RTC:
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8_delegate(*this, FUNC(snes_console_state::snes7110_lo_r)), write8_delegate(*this, FUNC(snes_console_state::snes7110_lo_w)));
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8_delegate(*this, FUNC(snes_console_state::snes7110_hi_r)), write8_delegate(*this, FUNC(snes_console_state::snes7110_hi_w)));
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8m_delegate(*this, FUNC(snes_console_state::snes7110_lo_r)), write8m_delegate(*this, FUNC(snes_console_state::snes7110_lo_w)));
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8m_delegate(*this, FUNC(snes_console_state::snes7110_hi_r)), write8m_delegate(*this, FUNC(snes_console_state::snes7110_hi_w)));
m_maincpu->set_5a22_map();
break;
case SNES_PFEST94:
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8_delegate(*this, FUNC(snes_console_state::pfest94_lo_r)), write8_delegate(*this, FUNC(snes_console_state::pfest94_lo_w)));
- m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8_delegate(*this, FUNC(snes_console_state::pfest94_hi_r)), write8_delegate(*this, FUNC(snes_console_state::pfest94_hi_w)));
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8m_delegate(*this, FUNC(snes_console_state::pfest94_lo_r)), write8m_delegate(*this, FUNC(snes_console_state::pfest94_lo_w)));
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8m_delegate(*this, FUNC(snes_console_state::pfest94_hi_r)), write8m_delegate(*this, FUNC(snes_console_state::pfest94_hi_w)));
m_maincpu->set_5a22_map();
break;
// pirate 'mappers'