diff options
author | Olivier Galibert <galibert@pobox.com> | 2016-06-05 23:41:13 +0200 |
---|---|---|
committer | Olivier Galibert <galibert@pobox.com> | 2016-06-14 23:21:58 +0200 |
commit | b82d7c4aef44eac0c4752b7db3c29306610a84ac (patch) | |
tree | 40c96f334c72d5dc4d5e1e27bee3616e5905c8ef /src/mame/drivers/apollo.cpp | |
parent | 58ee7eb241f3f9458544df2f14be525cfc6a1810 (diff) |
Memory fun [O.Galibert]
- Added AM_SELECT/addrselect field. Replaces the old
AM_MIRROR/AM_MASK combo used to mirror a handler and get the mirrored
bits in the offset.
- Removed mask and/or mirror from where it didn't belong. Simplified
a lot of instances of mask that just weren't needed, especially in bus
handlers. Used the short forms of install handlers where possible.
- Replaced the 60s hippy, "It's cool man" range parameter handling in
map_range that tried to guess what was meant when the values passed
were not entirely sensible, by a cranky, diner waitress-turned IRS
auditor curmudgeon. Main control function has a series of 14 tests
just to find a reason to fatalerror out your requests. You have
been warned.
Some drivers, hopefully not many, will fail the gate-guarding
bureaucrat trials. Should be easy to fix actually, I worked on the
error messages. A full regression test would be welcome.
Diffstat (limited to 'src/mame/drivers/apollo.cpp')
-rw-r--r-- | src/mame/drivers/apollo.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/mame/drivers/apollo.cpp b/src/mame/drivers/apollo.cpp index 01a1d524c2f..741b105ed03 100644 --- a/src/mame/drivers/apollo.cpp +++ b/src/mame/drivers/apollo.cpp @@ -443,8 +443,8 @@ WRITE32_MEMBER(apollo_state::ram_with_parity_w){ // no more than 192 read/write handlers may be used // see table_assign_handler in memory.c if (parity_error_handler_install_counter < 40) { - //memory_install_read32_handler(space, ram_base_address+offset*4, ram_base_address+offset*4+3, 0xffffffff, 0, ram_with_parity_r); - space.install_read_handler(ram_base_address+offset*4, ram_base_address+offset*4+3, 0xffffffff,0,read32_delegate(FUNC(apollo_state::ram_with_parity_r),this)); + //memory_install_read32_handler(space, ram_base_address+offset*4, ram_base_address+offset*4+3, ram_with_parity_r); + space.install_read_handler(ram_base_address+offset*4, ram_base_address+offset*4+3, read32_delegate(FUNC(apollo_state::ram_with_parity_r),this)); parity_error_handler_is_installed = 1; parity_error_handler_install_counter++; } @@ -455,8 +455,8 @@ WRITE32_MEMBER(apollo_state::ram_with_parity_w){ // uninstall not supported, reinstall previous read handler instead - // memory_install_rom(space, ram_base_address, ram_end_address, 0xffffffff, 0, messram_ptr.v); - space.install_rom(ram_base_address,ram_end_address,0xffffffff,0,&m_messram_ptr[0]); + // memory_install_rom(space, ram_base_address, ram_end_address, messram_ptr.v); + space.install_rom(ram_base_address,ram_end_address,&m_messram_ptr[0]); parity_error_handler_is_installed = 0; parity_error_byte_mask = 0; @@ -950,8 +950,8 @@ void apollo_state::machine_start(){ MACHINE_START_CALL_MEMBER(apollo); // install nop handlers for unmapped ISA bus addresses - m_isa->install16_device(0, ATBUS_IO_END, 0, 0, read16_delegate(FUNC(apollo_state::apollo_atbus_unmap_io_r), this), write16_delegate(FUNC(apollo_state::apollo_atbus_unmap_io_w), this)); - m_isa->install_memory(0, ATBUS_MEMORY_END, 0, 0, read8_delegate(FUNC(apollo_state::apollo_atbus_unmap_r), this), write8_delegate(FUNC(apollo_state::apollo_atbus_unmap_w), this)); + m_isa->install16_device(0, ATBUS_IO_END, read16_delegate(FUNC(apollo_state::apollo_atbus_unmap_io_r), this), write16_delegate(FUNC(apollo_state::apollo_atbus_unmap_io_w), this)); + m_isa->install_memory(0, ATBUS_MEMORY_END, read8_delegate(FUNC(apollo_state::apollo_atbus_unmap_r), this), write8_delegate(FUNC(apollo_state::apollo_atbus_unmap_w), this)); } /*************************************************************************** |