diff options
Diffstat (limited to 'src/mame/drivers/pasogo.cpp')
-rw-r--r-- | src/mame/drivers/pasogo.cpp | 76 |
1 files changed, 38 insertions, 38 deletions
diff --git a/src/mame/drivers/pasogo.cpp b/src/mame/drivers/pasogo.cpp index a5058fa31aa..3ad45975fb5 100644 --- a/src/mame/drivers/pasogo.cpp +++ b/src/mame/drivers/pasogo.cpp @@ -141,12 +141,12 @@ private: required_shared_ptr<uint16_t> m_vram; required_device<palette_device> m_palette; - DECLARE_READ16_MEMBER(ems_r); - DECLARE_WRITE16_MEMBER(ems_w); - DECLARE_READ16_MEMBER(emsram_r); - DECLARE_WRITE16_MEMBER(emsram_w); - DECLARE_READ8_MEMBER(vg230_io_r); - DECLARE_WRITE8_MEMBER(vg230_io_w); + uint16_t ems_r(offs_t offset, uint16_t mem_mask); + void ems_w(offs_t offset, uint16_t data, uint16_t mem_mask); + uint16_t emsram_r(offs_t offset, uint16_t mem_mask); + void emsram_w(offs_t offset, uint16_t data, uint16_t mem_mask); + uint8_t vg230_io_r(offs_t offset); + void vg230_io_w(offs_t offset, uint8_t data); struct { @@ -229,7 +229,7 @@ void pasogo_state::machine_start() m_vg230.bios_timer.data=0x7200; // HACK } -READ8_MEMBER( pasogo_state::vg230_io_r ) +uint8_t pasogo_state::vg230_io_r(offs_t offset) { int log = true; uint8_t data = 0; @@ -315,7 +315,7 @@ READ8_MEMBER( pasogo_state::vg230_io_r ) } -WRITE8_MEMBER( pasogo_state::vg230_io_w ) +void pasogo_state::vg230_io_w(offs_t offset, uint8_t data) { int log = true; @@ -387,7 +387,7 @@ WRITE8_MEMBER( pasogo_state::vg230_io_w ) } -READ16_MEMBER( pasogo_state::ems_r ) +uint16_t pasogo_state::ems_r(offs_t offset, uint16_t mem_mask) { uint8_t data = 0; uint8_t index; @@ -407,7 +407,7 @@ READ16_MEMBER( pasogo_state::ems_r ) } -WRITE16_MEMBER( pasogo_state::ems_w ) +void pasogo_state::ems_w(offs_t offset, uint16_t data, uint16_t mem_mask) { uint8_t index; @@ -434,16 +434,16 @@ WRITE16_MEMBER( pasogo_state::ems_w ) } } -READ16_MEMBER( pasogo_state::emsram_r ) +uint16_t pasogo_state::emsram_r(offs_t offset, uint16_t mem_mask) { m_ems->set_bank(m_ems_bank[(offset >> 13) & 0x1f] & 0x7fff); - return m_ems->read16(space, offset & 0x1fff, mem_mask); + return m_ems->read16(offset & 0x1fff, mem_mask); } -WRITE16_MEMBER( pasogo_state::emsram_w ) +void pasogo_state::emsram_w(offs_t offset, uint16_t data, uint16_t mem_mask) { m_ems->set_bank(m_ems_bank[(offset >> 13) & 0x1f] & 0x7fff); - m_ems->write16(space, offset & 0x1fff, data, mem_mask); + m_ems->write16(offset & 0x1fff, data, mem_mask); } void pasogo_state::emsbank_map(address_map &map) @@ -544,38 +544,38 @@ void pasogo_state::machine_reset() contrast(*color->fields().first(), nullptr, 0, color->read()); } -MACHINE_CONFIG_START(pasogo_state::pasogo) - - MCFG_DEVICE_ADD("maincpu", V30, XTAL(32'220'000)/2) - MCFG_DEVICE_PROGRAM_MAP(pasogo_mem) - MCFG_DEVICE_IO_MAP(pasogo_io) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pasogo_state, pasogo_interrupt) - MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb) +void pasogo_state::pasogo(machine_config &config) +{ + V30(config, m_maincpu, XTAL(32'220'000)/2); + m_maincpu->set_addrmap(AS_PROGRAM, &pasogo_state::pasogo_mem); + m_maincpu->set_addrmap(AS_IO, &pasogo_state::pasogo_io); + m_maincpu->set_vblank_int("screen", FUNC(pasogo_state::pasogo_interrupt)); + m_maincpu->set_irq_acknowledge_callback("mb:pic8259", FUNC(pic8259_device::inta_cb)); ADDRESS_MAP_BANK(config, "ems").set_map(&pasogo_state::emsbank_map).set_options(ENDIANNESS_LITTLE, 16, 32, 0x4000); - MCFG_IBM5160_MOTHERBOARD_ADD("mb", "maincpu") + IBM5160_MOTHERBOARD(config, "mb", 0).set_cputag(m_maincpu); RAM(config, RAM_TAG).set_default_size("512K"); // It's a CGA device right so lets use isa_cga! Well, not so much. // The carts use vg230 specific registers and mostly ignore the mc6845. - MCFG_SCREEN_ADD("screen", LCD) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_SIZE(320, 240) - MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1) - MCFG_SCREEN_UPDATE_DRIVER(pasogo_state, screen_update_pasogo) - MCFG_SCREEN_PALETTE("palette") - MCFG_PALETTE_ADD("palette", 2) - - MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "pasogo_cart") - MCFG_GENERIC_WIDTH(GENERIC_ROM16_WIDTH) - MCFG_GENERIC_MANDATORY - - MCFG_SOFTWARE_LIST_ADD("cart_list","pasogo") - - MCFG_TIMER_DRIVER_ADD_PERIODIC("vg230_timer", pasogo_state, vg230_timer, attotime::from_hz(1)) -MACHINE_CONFIG_END + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD)); + screen.set_refresh_hz(60); + screen.set_size(320, 240); + screen.set_visarea(0, 320-1, 0, 240-1); + screen.set_screen_update(FUNC(pasogo_state::screen_update_pasogo)); + screen.set_palette(m_palette); + PALETTE(config, m_palette).set_entries(2); + + GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "pasogo_cart"); + m_cart->set_width(GENERIC_ROM16_WIDTH); + m_cart->set_must_be_loaded(true); + + SOFTWARE_LIST(config, "cart_list").set_original("pasogo"); + + TIMER(config, "vg230_timer").configure_periodic(FUNC(pasogo_state::vg230_timer), attotime::from_hz(1)); +} ROM_START( pasogo ) ROM_REGION( 0x10000, "empty", ROMREGION_ERASEFF ) |