diff options
author | Aaron Giles <aaron@aarongiles.com> | 2012-09-04 22:15:53 +0000 |
---|---|---|
committer | Aaron Giles <aaron@aarongiles.com> | 2012-09-04 22:15:53 +0000 |
commit | 459980bd3ef86e89b3af460744e3e3f100e958b6 (patch) | |
tree | 07d638f5d1f25b153cf859a252858a45c26ea976 /src/mess/drivers/apollo.c | |
parent | 65cb0b57e923dec0eefae6882c78c2aa6c18d79e (diff) |
And death to AM_SIZE_LEGACY.
Diffstat (limited to 'src/mess/drivers/apollo.c')
-rw-r--r-- | src/mess/drivers/apollo.c | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/src/mess/drivers/apollo.c b/src/mess/drivers/apollo.c index fc7b4f3e36c..115cd2f5b08 100644 --- a/src/mess/drivers/apollo.c +++ b/src/mess/drivers/apollo.c @@ -107,9 +107,6 @@ static UINT32 node_id = DEFAULT_NODE_ID; static UINT32 ram_base_address; static UINT32 ram_end_address; -static generic_ptr messram_ptr; -static size_t messram_size = 0; - static int node_type; // FIXME: value of ram_config_byte must match with default/selected RAM size @@ -445,7 +442,7 @@ READ16_MEMBER(apollo_state::selective_clear_locations_r){ ***************************************************************************/ READ32_MEMBER(apollo_state::ram_with_parity_r){ - UINT32 data = messram_ptr.u32[parity_error_offset+offset]; + UINT32 data = m_messram_ptr[parity_error_offset+offset]; SLOG2(("memory dword read with parity error at %08x = %08x & %08x parity_byte=%04x", ram_base_address + parity_error_offset*4 + offset*4,data, mem_mask, parity_error_byte_mask)); @@ -467,7 +464,7 @@ READ32_MEMBER(apollo_state::ram_with_parity_r){ WRITE32_MEMBER(apollo_state::ram_with_parity_w){ - COMBINE_DATA(messram_ptr.u32+offset); + COMBINE_DATA(m_messram_ptr+offset); if (apollo_csr_get_control_register() & APOLLO_CSR_CR_FORCE_BAD_PARITY) { parity_error_byte_mask = (apollo_csr_get_control_register() @@ -499,7 +496,7 @@ 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,messram_ptr.v); + space.install_rom(ram_base_address,ram_end_address,0xffffffff,0,&m_messram_ptr[0]); parity_error_handler_is_installed = 0; parity_error_byte_mask = 0; @@ -765,7 +762,7 @@ static ADDRESS_MAP_START(dn3500_map, AS_PROGRAM, 32, apollo_state ) // FIXME: must match with RAM size in driver/apollo_sio.c // AM_RANGE(DN3500_RAM_BASE, DN3500_RAM_END) AM_RAM /* 8MB RAM */ - AM_RANGE(DN3500_RAM_BASE, DN3500_RAM_END) AM_RAM_WRITE(ram_with_parity_w) AM_BASE_LEGACY(&messram_ptr.u32) AM_SIZE_LEGACY(&messram_size) + AM_RANGE(DN3500_RAM_BASE, DN3500_RAM_END) AM_RAM_WRITE(ram_with_parity_w) AM_SHARE("messram") AM_RANGE(ATBUS_MEMORY_BASE, ATBUS_MEMORY_END) AM_READWRITE(apollo_atbus_memory_r, apollo_atbus_memory_w) @@ -813,7 +810,7 @@ static ADDRESS_MAP_START(dsp3500_map, AS_PROGRAM, 32, apollo_state ) // FIXME: must match with RAM size in driver/apollo_sio.c // AM_RANGE(DN3500_RAM_BASE, DN3500_RAM_END) AM_RAM /* 8MB RAM */ - AM_RANGE(DN3500_RAM_BASE, DN3500_RAM_END) AM_RAM_WRITE(ram_with_parity_w) AM_BASE_LEGACY(&messram_ptr.u32) AM_SIZE_LEGACY(&messram_size) + AM_RANGE(DN3500_RAM_BASE, DN3500_RAM_END) AM_RAM_WRITE(ram_with_parity_w) AM_SHARE("messram") AM_RANGE(ATBUS_MEMORY_BASE, ATBUS_MEMORY_END) AM_READWRITE(apollo_atbus_memory_r, apollo_atbus_memory_w) @@ -852,7 +849,7 @@ static ADDRESS_MAP_START(dn3000_map, AS_PROGRAM, 32, apollo_state ) // FIXME: must match with RAM size in driver/apollo_sio.c // AM_RANGE(DN3000_RAM_BASE, DN3000_RAM_END) AM_RAM /* 8MB RAM */ - AM_RANGE(DN3000_RAM_BASE, DN3000_RAM_END) AM_RAM_WRITE(ram_with_parity_w) AM_BASE_LEGACY(&messram_ptr.u32) AM_SIZE_LEGACY(&messram_size) + AM_RANGE(DN3000_RAM_BASE, DN3000_RAM_END) AM_RAM_WRITE(ram_with_parity_w) AM_SHARE("messram") AM_RANGE(ATBUS_MEMORY_BASE, ATBUS_MEMORY_END) AM_READWRITE(apollo_atbus_memory_r, apollo_atbus_memory_w) @@ -890,7 +887,7 @@ static ADDRESS_MAP_START(dsp3000_map, AS_PROGRAM, 32, apollo_state ) // FIXME: must match with RAM size in driver/apollo_sio.c // AM_RANGE(DN3000_RAM_BASE, DN3000_RAM_END) AM_RAM /* 8MB RAM */ - AM_RANGE(DN3000_RAM_BASE, DN3000_RAM_END) AM_RAM_WRITE(ram_with_parity_w) AM_BASE_LEGACY(&messram_ptr.u32) AM_SIZE_LEGACY(&messram_size) + AM_RANGE(DN3000_RAM_BASE, DN3000_RAM_END) AM_RAM_WRITE(ram_with_parity_w) AM_SHARE("messram") AM_RANGE(ATBUS_MEMORY_BASE, ATBUS_MEMORY_END) AM_READWRITE(apollo_atbus_memory_r, apollo_atbus_memory_w) @@ -936,7 +933,7 @@ static ADDRESS_MAP_START(dn5500_map, AS_PROGRAM, 32, apollo_state ) // FIXME: must match with RAM size in driver/apollo_sio.c // AM_RANGE(DN3500_RAM_BASE, DN3500_RAM_END) AM_RAM /* 8MB RAM */ - AM_RANGE(DN5500_RAM_BASE, DN5500_RAM_END) AM_RAM_WRITE(ram_with_parity_w) AM_BASE_LEGACY(&messram_ptr.u32) AM_SIZE_LEGACY(&messram_size) + AM_RANGE(DN5500_RAM_BASE, DN5500_RAM_END) AM_RAM_WRITE(ram_with_parity_w) AM_SHARE("messram") AM_RANGE(ATBUS_MEMORY_BASE, ATBUS_MEMORY_END) AM_READWRITE(apollo_atbus_memory_r, apollo_atbus_memory_w) @@ -987,7 +984,7 @@ static ADDRESS_MAP_START(dsp5500_map, AS_PROGRAM, 32, apollo_state ) AM_RANGE(0x080000, 0x081fff) AM_ROM /* 3C505 boot ROM */ // FIXME: must match with RAM size in driver/apollo_sio.c - AM_RANGE(DN5500_RAM_BASE, DN5500_RAM_END) AM_RAM_WRITE(ram_with_parity_w) AM_BASE_LEGACY(&messram_ptr.u32) AM_SIZE_LEGACY(&messram_size) + AM_RANGE(DN5500_RAM_BASE, DN5500_RAM_END) AM_RAM_WRITE(ram_with_parity_w) AM_SHARE("messram") AM_RANGE(ATBUS_MEMORY_BASE, ATBUS_MEMORY_END) AM_READWRITE(apollo_atbus_memory_r, apollo_atbus_memory_w) @@ -1066,10 +1063,11 @@ static void apollo_reset_instr_callback(device_t *device) ***************************************************************************/ static MACHINE_START( dn3500 ) { - MLOG1(("machine_start_dn3500: ram size is %d MB", (int)messram_size/(1024*1024))); + memory_share *messram = machine.root_device().memshare("messram"); + MLOG1(("machine_start_dn3500: ram size is %d MB", (int)messram->bytes()/(1024*1024))); // clear ram - memset(messram_ptr.u8, 0x55, messram_size); + memset(messram->ptr(), 0x55, messram->bytes()); MACHINE_START_CALL(apollo); } |