Merge pull request #4736 from wilbertpol/wswan_simplify

wswan: simplify read/write handlers (nw)
This commit is contained in:
ajrhacker 2019-03-09 08:52:15 -05:00 committed by GitHub
commit c9930e9388
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 81 additions and 81 deletions

View File

@ -205,26 +205,26 @@ void ws_rom_device::device_timer(emu_timer &timer, device_timer_id id, int param
mapper specific handlers
-------------------------------------------------*/
READ8_MEMBER(ws_rom_device::read_rom20)
uint8_t ws_rom_device::read_rom20(offs_t offset)
{
return m_rom[offset + m_base20];
}
READ8_MEMBER(ws_rom_device::read_rom30)
uint8_t ws_rom_device::read_rom30(offs_t offset)
{
return m_rom[offset + m_base30];
}
READ8_MEMBER(ws_rom_device::read_rom40)
uint8_t ws_rom_device::read_rom40(offs_t offset)
{
// we still need to mask in some cases, e.g. when game is 512K
return m_rom[(offset + m_base40) & (m_rom_size - 1)];
}
READ8_MEMBER(ws_rom_device::read_io)
uint8_t ws_rom_device::read_io(offs_t offset)
{
uint8_t value = m_io_regs[offset];
@ -254,7 +254,7 @@ READ8_MEMBER(ws_rom_device::read_io)
return value;
}
WRITE8_MEMBER(ws_rom_device::write_io)
void ws_rom_device::write_io(offs_t offset, uint8_t data)
{
switch (offset)
{
@ -344,30 +344,30 @@ WRITE8_MEMBER(ws_rom_device::write_io)
m_io_regs[offset] = data;
}
READ8_MEMBER(ws_rom_sram_device::read_ram)
uint8_t ws_rom_sram_device::read_ram(offs_t offset)
{
return m_nvram[m_nvram_base + offset];
}
WRITE8_MEMBER(ws_rom_sram_device::write_ram)
void ws_rom_sram_device::write_ram(offs_t offset, uint8_t data)
{
m_nvram[m_nvram_base + offset] = data;
}
WRITE8_MEMBER(ws_rom_sram_device::write_io)
void ws_rom_sram_device::write_io(offs_t offset, uint8_t data)
{
switch (offset)
{
case 0x01: // SRAM bank to select
m_nvram_base = (data * 0x10000) & (m_nvram.size() - 1);
default:
ws_rom_device::write_io(space, offset, data);
ws_rom_device::write_io(offset, data);
break;
}
}
READ8_MEMBER(ws_rom_eeprom_device::read_io)
uint8_t ws_rom_eeprom_device::read_io(offs_t offset)
{
uint8_t value = m_io_regs[offset];
@ -381,14 +381,14 @@ READ8_MEMBER(ws_rom_eeprom_device::read_io)
// EEPROM reads, taken from regs
break;
default:
value = ws_rom_device::read_io(space, offset);
value = ws_rom_device::read_io(offset);
break;
}
return value;
}
WRITE8_MEMBER(ws_rom_eeprom_device::write_io)
void ws_rom_eeprom_device::write_io(offs_t offset, uint8_t data)
{
switch (offset)
{
@ -530,7 +530,7 @@ WRITE8_MEMBER(ws_rom_eeprom_device::write_io)
break;
default:
ws_rom_device::write_io(space, offset, data);
ws_rom_device::write_io(offset, data);
break;
}

View File

@ -16,11 +16,11 @@ public:
ws_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom20) override;
virtual DECLARE_READ8_MEMBER(read_rom30) override;
virtual DECLARE_READ8_MEMBER(read_rom40) override;
virtual DECLARE_READ8_MEMBER(read_io) override;
virtual DECLARE_WRITE8_MEMBER(write_io) override;
virtual uint8_t read_rom20(offs_t offset) override;
virtual uint8_t read_rom30(offs_t offset) override;
virtual uint8_t read_rom40(offs_t offset) override;
virtual uint8_t read_io(offs_t offset) override;
virtual void write_io(offs_t offset, uint8_t data) override;
protected:
static constexpr device_timer_id TIMER_RTC = 0;
@ -59,9 +59,9 @@ public:
ws_rom_sram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_ram) override;
virtual DECLARE_WRITE8_MEMBER(write_ram) override;
virtual DECLARE_WRITE8_MEMBER(write_io) override;
virtual uint8_t read_ram(offs_t offset) override;
virtual void write_ram(offs_t offset, uint8_t data) override;
virtual void write_io(offs_t offset, uint8_t data) override;
protected:
// device-level overrides
@ -82,8 +82,8 @@ public:
ws_rom_eeprom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_io) override;
virtual DECLARE_WRITE8_MEMBER(write_io) override;
virtual uint8_t read_io(offs_t offset) override;
virtual void write_io(offs_t offset, uint8_t data) override;
protected:
// device-level overrides

View File

@ -312,10 +312,10 @@ std::string ws_cart_slot_device::get_default_card_software(get_default_card_soft
read_rom20
-------------------------------------------------*/
READ8_MEMBER(ws_cart_slot_device::read_rom20)
uint8_t ws_cart_slot_device::read_rom20(offs_t offset)
{
if (m_cart)
return m_cart->read_rom20(space, offset);
return m_cart->read_rom20(offset);
else
return 0xff;
}
@ -324,10 +324,10 @@ READ8_MEMBER(ws_cart_slot_device::read_rom20)
read_rom30
-------------------------------------------------*/
READ8_MEMBER(ws_cart_slot_device::read_rom30)
uint8_t ws_cart_slot_device::read_rom30(offs_t offset)
{
if (m_cart)
return m_cart->read_rom30(space, offset);
return m_cart->read_rom30(offset);
else
return 0xff;
}
@ -336,10 +336,10 @@ READ8_MEMBER(ws_cart_slot_device::read_rom30)
read_rom40
-------------------------------------------------*/
READ8_MEMBER(ws_cart_slot_device::read_rom40)
uint8_t ws_cart_slot_device::read_rom40(offs_t offset)
{
if (m_cart)
return m_cart->read_rom40(space, offset);
return m_cart->read_rom40(offset);
else
return 0xff;
}
@ -348,10 +348,10 @@ READ8_MEMBER(ws_cart_slot_device::read_rom40)
read_ram
-------------------------------------------------*/
READ8_MEMBER(ws_cart_slot_device::read_ram)
uint8_t ws_cart_slot_device::read_ram(offs_t offset)
{
if (m_cart)
return m_cart->read_ram(space, offset);
return m_cart->read_ram(offset);
else
return 0xff;
}
@ -360,20 +360,20 @@ READ8_MEMBER(ws_cart_slot_device::read_ram)
write_ram
-------------------------------------------------*/
WRITE8_MEMBER(ws_cart_slot_device::write_ram)
void ws_cart_slot_device::write_ram(offs_t offset, uint8_t data)
{
if (m_cart)
m_cart->write_ram(space, offset, data);
m_cart->write_ram(offset, data);
}
/*-------------------------------------------------
read_io
-------------------------------------------------*/
READ8_MEMBER(ws_cart_slot_device::read_io)
uint8_t ws_cart_slot_device::read_io(offs_t offset)
{
if (m_cart)
return m_cart->read_io(space, offset);
return m_cart->read_io(offset);
else
return 0xff;
}
@ -382,10 +382,10 @@ READ8_MEMBER(ws_cart_slot_device::read_io)
write_io
-------------------------------------------------*/
WRITE8_MEMBER(ws_cart_slot_device::write_io)
void ws_cart_slot_device::write_io(offs_t offset, uint8_t data)
{
if (m_cart)
m_cart->write_io(space, offset, data);
m_cart->write_io(offset, data);
}

View File

@ -31,13 +31,13 @@ public:
virtual ~device_ws_cart_interface();
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom20) { return 0xff; }
virtual DECLARE_READ8_MEMBER(read_rom30) { return 0xff; }
virtual DECLARE_READ8_MEMBER(read_rom40) { return 0xff; }
virtual DECLARE_READ8_MEMBER(read_ram) { return 0xff; }
virtual DECLARE_WRITE8_MEMBER(write_ram) {}
virtual DECLARE_READ8_MEMBER(read_io) { return 0xff; }
virtual DECLARE_WRITE8_MEMBER(write_io) { }
virtual uint8_t read_rom20(offs_t offset) { return 0xff; }
virtual uint8_t read_rom30(offs_t offset) { return 0xff; }
virtual uint8_t read_rom40(offs_t offset) { return 0xff; }
virtual uint8_t read_ram(offs_t offset) { return 0xff; }
virtual void write_ram(offs_t offset, uint8_t data) {}
virtual uint8_t read_io(offs_t offset) { return 0xff; }
virtual void write_io(offs_t offset, uint8_t data) { }
void rom_alloc(uint32_t size, const char *tag);
void nvram_alloc(uint32_t size);
@ -109,13 +109,13 @@ public:
virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom20);
virtual DECLARE_READ8_MEMBER(read_rom30);
virtual DECLARE_READ8_MEMBER(read_rom40);
virtual DECLARE_READ8_MEMBER(read_ram);
virtual DECLARE_WRITE8_MEMBER(write_ram);
virtual DECLARE_READ8_MEMBER(read_io);
virtual DECLARE_WRITE8_MEMBER(write_io);
virtual uint8_t read_rom20(offs_t offset);
virtual uint8_t read_rom30(offs_t offset);
virtual uint8_t read_rom40(offs_t offset);
virtual uint8_t read_ram(offs_t offset);
virtual void write_ram(offs_t offset, uint8_t data);
virtual uint8_t read_io(offs_t offset);
virtual void write_io(offs_t offset, uint8_t data);
protected:
// device-level overrides

View File

@ -282,7 +282,7 @@ void wswan_sound_device::wswan_ch_set_freq( CHAN *ch, uint16_t freq )
ch->period = 2048 - freq;
}
WRITE8_MEMBER( wswan_sound_device::port_w )
void wswan_sound_device::port_w(offs_t offset, uint8_t data)
{
m_channel->update();

View File

@ -25,7 +25,7 @@ class wswan_sound_device : public device_t,
public:
wswan_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_WRITE8_MEMBER( port_w );
void port_w(offs_t offset, uint8_t data);
protected:
struct CHAN

View File

@ -85,9 +85,9 @@ protected:
required_ioport m_cursy;
required_ioport m_buttons;
DECLARE_READ8_MEMBER(bios_r);
DECLARE_READ8_MEMBER(port_r);
DECLARE_WRITE8_MEMBER(port_w);
uint8_t bios_r(offs_t offset);
uint8_t port_r(offs_t offset);
void port_w(offs_t offset, uint8_t data);
void set_irq_line(int irq);
void dma_sound_cb();

View File

@ -137,7 +137,7 @@ void wswan_state::dma_sound_cb()
{
address_space &space = m_maincpu->space(AS_PROGRAM);
/* TODO: Output sound DMA byte */
port_w(space, 0x89, space.read_byte(m_sound_dma.source));
port_w(0x89, space.read_byte(m_sound_dma.source));
m_sound_dma.size--;
m_sound_dma.source = (m_sound_dma.source + 1) & 0x0fffff;
if (m_sound_dma.size == 0)
@ -180,15 +180,15 @@ void wswan_state::common_start()
if (m_cart->exists())
{
// ROM
m_maincpu->space(AS_PROGRAM).install_read_handler(0x20000, 0x2ffff, read8_delegate(FUNC(ws_cart_slot_device::read_rom20),(ws_cart_slot_device*)m_cart));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x30000, 0x3ffff, read8_delegate(FUNC(ws_cart_slot_device::read_rom30),(ws_cart_slot_device*)m_cart));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x40000, 0xeffff, read8_delegate(FUNC(ws_cart_slot_device::read_rom40),(ws_cart_slot_device*)m_cart));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x20000, 0x2ffff, read8sm_delegate(FUNC(ws_cart_slot_device::read_rom20),(ws_cart_slot_device*)m_cart));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x30000, 0x3ffff, read8sm_delegate(FUNC(ws_cart_slot_device::read_rom30),(ws_cart_slot_device*)m_cart));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x40000, 0xeffff, read8sm_delegate(FUNC(ws_cart_slot_device::read_rom40),(ws_cart_slot_device*)m_cart));
// SRAM
if (m_cart->get_type() == WS_SRAM)
{
m_maincpu->space(AS_PROGRAM).install_read_handler(0x10000, 0x1ffff, read8_delegate(FUNC(ws_cart_slot_device::read_ram),(ws_cart_slot_device*)m_cart));
m_maincpu->space(AS_PROGRAM).install_write_handler(0x10000, 0x1ffff, write8_delegate(FUNC(ws_cart_slot_device::write_ram),(ws_cart_slot_device*)m_cart));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x10000, 0x1ffff, read8sm_delegate(FUNC(ws_cart_slot_device::read_ram),(ws_cart_slot_device*)m_cart));
m_maincpu->space(AS_PROGRAM).install_write_handler(0x10000, 0x1ffff, write8sm_delegate(FUNC(ws_cart_slot_device::write_ram),(ws_cart_slot_device*)m_cart));
}
}
}
@ -224,15 +224,15 @@ void wswan_state::machine_reset()
memset(&m_sound_dma, 0, sizeof(m_sound_dma));
}
READ8_MEMBER( wswan_state::bios_r )
uint8_t wswan_state::bios_r(offs_t offset)
{
if (!m_bios_disabled)
return m_ws_bios_bank[offset];
else
return m_cart->read_rom40(space, offset + 0xb0000);
return m_cart->read_rom40(offset + 0xb0000);
}
READ8_MEMBER( wswan_state::port_r )
uint8_t wswan_state::port_r(offs_t offset)
{
uint8_t value = m_ws_portram[offset];
@ -240,7 +240,7 @@ READ8_MEMBER( wswan_state::port_r )
logerror("PC=%X: port read %02X\n", m_maincpu->pc(), offset);
if (offset < 0x40 || (offset >= 0xa1 && offset < 0xb0))
return m_vdp->reg_r(space, offset);
return m_vdp->reg_r(offset);
switch (offset)
{
@ -263,7 +263,7 @@ READ8_MEMBER( wswan_state::port_r )
value = m_sound_dma.enable;
break;
case 0x60:
value = m_vdp->reg_r(space, offset);
value = m_vdp->reg_r(offset);
break;
case 0xa0: // Hardware type
// Bit 0 - Disable/enable Bios
@ -289,14 +289,14 @@ READ8_MEMBER( wswan_state::port_r )
case 0xcd:
case 0xce:
case 0xcf:
value = m_cart->read_io(space, offset & 0x0f);
value = m_cart->read_io(offset & 0x0f);
break;
}
return value;
}
WRITE8_MEMBER( wswan_state::port_w )
void wswan_state::port_w(offs_t offset, uint8_t data)
{
address_space &mem = m_maincpu->space(AS_PROGRAM);
uint8_t input;
@ -304,7 +304,7 @@ WRITE8_MEMBER( wswan_state::port_w )
if (offset < 0x40 || (offset >= 0xa1 && offset < 0xb0))
{
m_vdp->reg_w(space, offset, data);
m_vdp->reg_w(offset, data);
return;
}
@ -403,7 +403,7 @@ WRITE8_MEMBER( wswan_state::port_w )
m_sound_dma.enable = data;
break;
case 0x60:
m_vdp->reg_w(space, offset, data);
m_vdp->reg_w(offset, data);
break;
case 0x80: /* Audio 1 freq (lo)
Bit 0-7 - Audio channel 1 frequency bit 0-7
@ -488,7 +488,7 @@ WRITE8_MEMBER( wswan_state::port_w )
Bit 0-3 - Master volume
Bit 4-7 - Unknown
*/
m_sound->port_w(space, offset, data);
m_sound->port_w(offset, data);
break;
case 0xa0: /* Hardware type - this is probably read only
Bit 0 - Enable cartridge slot and/or disable bios
@ -652,7 +652,7 @@ WRITE8_MEMBER( wswan_state::port_w )
case 0xcd:
case 0xce:
case 0xcf:
m_cart->write_io(space, offset & 0x0f, data);
m_cart->write_io(offset & 0x0f, data);
break;
default:
logerror( "Write to unsupported port: %X - %X\n", offset, data );

View File

@ -856,7 +856,7 @@ uint32_t wswan_video_device::screen_update(screen_device &screen, bitmap_ind16 &
}
READ8_MEMBER(wswan_video_device::reg_r)
uint8_t wswan_video_device::reg_r(offs_t offset)
{
uint8_t value = m_regs[offset];
@ -892,7 +892,7 @@ READ8_MEMBER(wswan_video_device::reg_r)
}
WRITE8_MEMBER(wswan_video_device::reg_w)
void wswan_video_device::reg_w(offs_t offset, uint8_t data)
{
if (offset >= 0x20 && offset < 0x40)
{
@ -1206,12 +1206,12 @@ void wswan_video_device::scanline_interrupt()
}
READ8_MEMBER(wswan_video_device::vram_r)
uint8_t wswan_video_device::vram_r(offs_t offset)
{
return m_vram[offset];
}
WRITE8_MEMBER(wswan_video_device::vram_w)
void wswan_video_device::vram_w(offs_t offset, uint8_t data)
{
m_vram[offset] = data;
}

View File

@ -47,10 +47,10 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
virtual DECLARE_READ8_MEMBER(vram_r);
virtual DECLARE_WRITE8_MEMBER(vram_w);
virtual DECLARE_READ8_MEMBER(reg_r);
virtual DECLARE_WRITE8_MEMBER(reg_w);
uint8_t vram_r(offs_t offset);
void vram_w(offs_t offset, uint8_t data);
uint8_t reg_r(offs_t offset);
void reg_w(offs_t offset, uint8_t data);
protected:
// device-level overrides