diff options
author | 2012-09-19 19:48:09 +0000 | |
---|---|---|
committer | 2012-09-19 19:48:09 +0000 | |
commit | 621ac620ae1ca743a66bb52aaf5478da01c3bac6 (patch) | |
tree | 2743a87e9077417af7546970d1ea1cc3b8781a63 /src/mess/machine/mtx.c | |
parent | 33c77e65bbd4513957f2ece623cee476cf439248 (diff) |
Since nobody checks for NULLs anyway, make
device_memory_interface::space() assert against NULL and
return a reference, and pushed references throughout all
address space usage in the system. Added a has_space()
method to check for those rare case when it is ambiguous.
[Aaron Giles]
Also reinstated the generic space and added fatal error
handlers if anyone tries to actually read/write from it.
Diffstat (limited to 'src/mess/machine/mtx.c')
-rw-r--r-- | src/mess/machine/mtx.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/mess/machine/mtx.c b/src/mess/machine/mtx.c index 0973f55ad14..6060067535b 100644 --- a/src/mess/machine/mtx.c +++ b/src/mess/machine/mtx.c @@ -74,7 +74,7 @@ static void bankswitch(running_machine &machine, UINT8 data) */ mtx_state *state = machine.driver_data<mtx_state>(); - address_space *program = machine.device(Z80_TAG)->memory().space(AS_PROGRAM); + address_space &program = machine.device(Z80_TAG)->memory().space(AS_PROGRAM); ram_device *messram = machine.device<ram_device>(RAM_TAG); // UINT8 cbm_mode = data >> 7 & 0x01; @@ -87,19 +87,19 @@ static void bankswitch(running_machine &machine, UINT8 data) /* set ram bank, for invalid pages a nop-handler will be installed */ if (ram_page >= messram->size()/0x8000) { - program->nop_readwrite(0x4000, 0x7fff); - program->nop_readwrite(0x8000, 0xbfff); + program.nop_readwrite(0x4000, 0x7fff); + program.nop_readwrite(0x8000, 0xbfff); } else if (ram_page + 1 == messram->size()/0x8000) { - program->nop_readwrite(0x4000, 0x7fff); - program->install_readwrite_bank(0x8000, 0xbfff, "bank4"); + program.nop_readwrite(0x4000, 0x7fff); + program.install_readwrite_bank(0x8000, 0xbfff, "bank4"); state->membank("bank4")->set_entry(ram_page); } else { - program->install_readwrite_bank(0x4000, 0x7fff, "bank3"); - program->install_readwrite_bank(0x8000, 0xbfff, "bank4"); + program.install_readwrite_bank(0x4000, 0x7fff, "bank3"); + program.install_readwrite_bank(0x8000, 0xbfff, "bank4"); state->membank("bank3")->set_entry(ram_page); state->membank("bank4")->set_entry(ram_page); } @@ -333,7 +333,7 @@ WRITE8_MEMBER(mtx_state::hrx_attr_w) SNAPSHOT_LOAD( mtx ) { - address_space *program = image.device().machine().device(Z80_TAG)->memory().space(AS_PROGRAM); + address_space &program = image.device().machine().device(Z80_TAG)->memory().space(AS_PROGRAM); UINT8 header[18]; UINT16 addr; @@ -345,9 +345,9 @@ SNAPSHOT_LOAD( mtx ) { /* long header */ addr = pick_integer_le(header, 16, 2); - void *ptr = program->get_write_ptr(addr); + void *ptr = program.get_write_ptr(addr); image.fread( ptr, 599); - ptr = program->get_write_ptr(0xc000); + ptr = program.get_write_ptr(0xc000); image.fread( ptr, snapshot_size - 599 - 18); } else @@ -355,9 +355,9 @@ SNAPSHOT_LOAD( mtx ) /* short header */ addr = pick_integer_le(header, 0, 2); image.fseek(4, SEEK_SET); - void *ptr = program->get_write_ptr(addr); + void *ptr = program.get_write_ptr(addr); image.fread( ptr, 599); - ptr = program->get_write_ptr(0xc000); + ptr = program.get_write_ptr(0xc000); image.fread( ptr, snapshot_size - 599 - 4); } |