diff options
Diffstat (limited to 'src/mame/drivers/pengadvb.cpp')
-rw-r--r-- | src/mame/drivers/pengadvb.cpp | 49 |
1 files changed, 24 insertions, 25 deletions
diff --git a/src/mame/drivers/pengadvb.cpp b/src/mame/drivers/pengadvb.cpp index 66ca6bbaf9e..efc6dd434c5 100644 --- a/src/mame/drivers/pengadvb.cpp +++ b/src/mame/drivers/pengadvb.cpp @@ -54,15 +54,15 @@ public: void init_pengadvb(); private: - DECLARE_READ8_MEMBER(mem_r); - DECLARE_WRITE8_MEMBER(mem_w); - DECLARE_WRITE8_MEMBER(megarom_bank_w); + uint8_t mem_r(offs_t offset); + void mem_w(offs_t offset, uint8_t data); + void megarom_bank_w(offs_t offset, uint8_t data); - DECLARE_WRITE8_MEMBER(pengadvb_psg_port_b_w); - DECLARE_READ8_MEMBER(pengadvb_ppi_port_a_r); - DECLARE_WRITE8_MEMBER(pengadvb_ppi_port_a_w); - DECLARE_READ8_MEMBER(pengadvb_ppi_port_b_r); - DECLARE_WRITE8_MEMBER(pengadvb_ppi_port_c_w); + void psg_port_b_w(uint8_t data); + uint8_t ppi_port_a_r(); + void ppi_port_a_w(uint8_t data); + uint8_t ppi_port_b_r(); + void ppi_port_c_w(uint8_t data); virtual void machine_start() override; virtual void machine_reset() override; @@ -86,17 +86,17 @@ private: ***************************************************************************/ -READ8_MEMBER(pengadvb_state::mem_r) +uint8_t pengadvb_state::mem_r(offs_t offset) { - return m_page[offset >> 14 & 3]->read8(space, offset); + return m_page[offset >> 14 & 3]->read8(offset); } -WRITE8_MEMBER(pengadvb_state::mem_w) +void pengadvb_state::mem_w(offs_t offset, uint8_t data) { - m_page[offset >> 14 & 3]->write8(space, offset, data); + m_page[offset >> 14 & 3]->write8(offset, data); } -WRITE8_MEMBER(pengadvb_state::megarom_bank_w) +void pengadvb_state::megarom_bank_w(offs_t offset, uint8_t data) { m_bank[offset >> 13 & 3]->set_entry(data & 0xf); } @@ -126,8 +126,7 @@ void pengadvb_state::io_mem(address_map &map) { map.unmap_value_high(); map.global_mask(0xff); - map(0x98, 0x98).rw("tms9128", FUNC(tms9128_device::vram_r), FUNC(tms9128_device::vram_w)); - map(0x99, 0x99).rw("tms9128", FUNC(tms9128_device::register_r), FUNC(tms9128_device::register_w)); + map(0x98, 0x99).rw("tms9128", FUNC(tms9128_device::read), FUNC(tms9128_device::write)); map(0xa0, 0xa1).w("aysnd", FUNC(ay8910_device::address_data_w)); map(0xa2, 0xa2).r("aysnd", FUNC(ay8910_device::data_r)); map(0xa8, 0xab).rw("ppi8255", FUNC(i8255_device::read), FUNC(i8255_device::write)); @@ -165,7 +164,7 @@ INPUT_PORTS_END ***************************************************************************/ // AY8910 -WRITE8_MEMBER(pengadvb_state::pengadvb_psg_port_b_w) +void pengadvb_state::psg_port_b_w(uint8_t data) { // leftover from msx ver? } @@ -173,12 +172,12 @@ WRITE8_MEMBER(pengadvb_state::pengadvb_psg_port_b_w) /**************************************************************************/ // I8255 -READ8_MEMBER(pengadvb_state::pengadvb_ppi_port_a_r) +uint8_t pengadvb_state::ppi_port_a_r() { return m_primary_slot_reg; } -WRITE8_MEMBER(pengadvb_state::pengadvb_ppi_port_a_w) +void pengadvb_state::ppi_port_a_w(uint8_t data) { if (data != m_primary_slot_reg) { @@ -189,7 +188,7 @@ WRITE8_MEMBER(pengadvb_state::pengadvb_ppi_port_a_w) } } -READ8_MEMBER(pengadvb_state::pengadvb_ppi_port_b_r) +uint8_t pengadvb_state::ppi_port_b_r() { // TODO: dipswitch switch (m_kb_matrix_row) @@ -204,7 +203,7 @@ READ8_MEMBER(pengadvb_state::pengadvb_ppi_port_b_r) return 0xff; } -WRITE8_MEMBER(pengadvb_state::pengadvb_ppi_port_c_w) +void pengadvb_state::ppi_port_c_w(uint8_t data) { m_kb_matrix_row = data & 0x0f; } @@ -227,10 +226,10 @@ void pengadvb_state::pengadvb(machine_config &config) ADDRESS_MAP_BANK(config, "page3").set_map(&pengadvb_state::bank_mem).set_options(ENDIANNESS_LITTLE, 8, 18, 0x10000); i8255_device &ppi(I8255(config, "ppi8255")); - ppi.in_pa_callback().set(FUNC(pengadvb_state::pengadvb_ppi_port_a_r)); - ppi.out_pa_callback().set(FUNC(pengadvb_state::pengadvb_ppi_port_a_w)); - ppi.in_pb_callback().set(FUNC(pengadvb_state::pengadvb_ppi_port_b_r)); - ppi.out_pc_callback().set(FUNC(pengadvb_state::pengadvb_ppi_port_c_w)); + ppi.in_pa_callback().set(FUNC(pengadvb_state::ppi_port_a_r)); + ppi.out_pa_callback().set(FUNC(pengadvb_state::ppi_port_a_w)); + ppi.in_pb_callback().set(FUNC(pengadvb_state::ppi_port_b_r)); + ppi.out_pc_callback().set(FUNC(pengadvb_state::ppi_port_c_w)); /* video hardware */ tms9128_device &vdp(TMS9128(config, "tms9128", XTAL(10'738'635))); @@ -243,7 +242,7 @@ void pengadvb_state::pengadvb(machine_config &config) SPEAKER(config, "mono").front_center(); ay8910_device &aysnd(AY8910(config, "aysnd", XTAL(10'738'635)/6)); aysnd.port_a_read_callback().set_ioport("IN0"); - aysnd.port_b_write_callback().set(FUNC(pengadvb_state::pengadvb_psg_port_b_w)); + aysnd.port_b_write_callback().set(FUNC(pengadvb_state::psg_port_b_w)); aysnd.add_route(ALL_OUTPUTS, "mono", 0.50); } |