summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/drivers/abc80x.c
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2012-09-19 19:48:09 +0000
committer Aaron Giles <aaron@aarongiles.com>2012-09-19 19:48:09 +0000
commit621ac620ae1ca743a66bb52aaf5478da01c3bac6 (patch)
tree2743a87e9077417af7546970d1ea1cc3b8781a63 /src/mess/drivers/abc80x.c
parent33c77e65bbd4513957f2ece623cee476cf439248 (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/drivers/abc80x.c')
-rw-r--r--src/mess/drivers/abc80x.c48
1 files changed, 24 insertions, 24 deletions
diff --git a/src/mess/drivers/abc80x.c b/src/mess/drivers/abc80x.c
index e822539ab12..040797e5ad4 100644
--- a/src/mess/drivers/abc80x.c
+++ b/src/mess/drivers/abc80x.c
@@ -192,17 +192,17 @@ READ8_MEMBER( abc802_state::pling_r )
void abc800_state::bankswitch()
{
- address_space *program = m_maincpu->space(AS_PROGRAM);
+ address_space &program = m_maincpu->space(AS_PROGRAM);
if (m_fetch_charram)
{
// HR video RAM selected
- program->install_ram(0x0000, 0x3fff, m_video_ram);
+ program.install_ram(0x0000, 0x3fff, m_video_ram);
}
else
{
// BASIC ROM selected
- program->install_rom(0x0000, 0x3fff, memregion(Z80_TAG)->base());
+ program.install_rom(0x0000, 0x3fff, memregion(Z80_TAG)->base());
}
}
@@ -213,18 +213,18 @@ void abc800_state::bankswitch()
void abc802_state::bankswitch()
{
- address_space *program = m_maincpu->space(AS_PROGRAM);
+ address_space &program = m_maincpu->space(AS_PROGRAM);
if (m_lrs)
{
// ROM and video RAM selected
- program->install_rom(0x0000, 0x77ff, memregion(Z80_TAG)->base());
- program->install_ram(0x7800, 0x7fff, m_char_ram);
+ program.install_rom(0x0000, 0x77ff, memregion(Z80_TAG)->base());
+ program.install_ram(0x7800, 0x7fff, m_char_ram);
}
else
{
// low RAM selected
- program->install_ram(0x0000, 0x7fff, m_ram->pointer());
+ program.install_ram(0x0000, 0x7fff, m_ram->pointer());
}
}
@@ -235,7 +235,7 @@ void abc802_state::bankswitch()
void abc806_state::bankswitch()
{
- address_space *program = m_maincpu->space(AS_PROGRAM);
+ address_space &program = m_maincpu->space(AS_PROGRAM);
UINT32 videoram_mask = m_ram->size() - (32 * 1024) - 1;
int bank;
char bank_name[10];
@@ -256,7 +256,7 @@ void abc806_state::bankswitch()
sprintf(bank_name,"bank%d",bank);
//logerror("%04x-%04x: Video RAM %04x (32K)\n", start_addr, end_addr, videoram_offset);
- program->install_readwrite_bank(start_addr, end_addr, bank_name);
+ program.install_readwrite_bank(start_addr, end_addr, bank_name);
membank(bank_name)->configure_entry(1, m_video_ram + videoram_offset);
membank(bank_name)->set_entry(1);
}
@@ -270,7 +270,7 @@ void abc806_state::bankswitch()
sprintf(bank_name,"bank%d",bank);
//logerror("%04x-%04x: Work RAM (32K)\n", start_addr, end_addr);
- program->install_readwrite_bank(start_addr, end_addr, bank_name);
+ program.install_readwrite_bank(start_addr, end_addr, bank_name);
membank(bank_name)->set_entry(0);
}
}
@@ -290,7 +290,7 @@ void abc806_state::bankswitch()
// map to video RAM
//logerror("%04x-%04x: Video RAM %04x (4K)\n", start_addr, end_addr, videoram_offset);
- program->install_readwrite_bank(start_addr, end_addr, bank_name);
+ program.install_readwrite_bank(start_addr, end_addr, bank_name);
membank(bank_name)->configure_entry(1, m_video_ram + videoram_offset);
membank(bank_name)->set_entry(1);
}
@@ -304,8 +304,8 @@ void abc806_state::bankswitch()
// ROM
//logerror("%04x-%04x: ROM (4K)\n", start_addr, end_addr);
- program->install_read_bank(start_addr, end_addr, bank_name);
- program->unmap_write(start_addr, end_addr);
+ program.install_read_bank(start_addr, end_addr, bank_name);
+ program.unmap_write(start_addr, end_addr);
membank(bank_name)->set_entry(0);
break;
@@ -313,9 +313,9 @@ void abc806_state::bankswitch()
// ROM/char RAM
//logerror("%04x-%04x: ROM (4K)\n", start_addr, end_addr);
- program->install_read_bank(0x7000, 0x77ff, bank_name);
- program->unmap_write(0x7000, 0x77ff);
- program->install_readwrite_handler(0x7800, 0x7fff, 0, 0, read8_delegate(FUNC(abc806_state::charram_r),this), write8_delegate(FUNC(abc806_state::charram_w),this));
+ program.install_read_bank(0x7000, 0x77ff, bank_name);
+ program.unmap_write(0x7000, 0x77ff);
+ program.install_readwrite_handler(0x7800, 0x7fff, 0, 0, read8_delegate(FUNC(abc806_state::charram_r),this), write8_delegate(FUNC(abc806_state::charram_w),this));
membank(bank_name)->set_entry(0);
break;
@@ -323,7 +323,7 @@ void abc806_state::bankswitch()
// work RAM
//logerror("%04x-%04x: Work RAM (4K)\n", start_addr, end_addr);
- program->install_readwrite_bank(start_addr, end_addr, bank_name);
+ program.install_readwrite_bank(start_addr, end_addr, bank_name);
membank(bank_name)->set_entry(0);
break;
}
@@ -349,12 +349,12 @@ void abc806_state::bankswitch()
if (start_addr == 0x7000)
{
- program->install_readwrite_bank(0x7000, 0x77ff, bank_name);
- program->install_readwrite_handler(0x7800, 0x7fff, 0, 0, read8_delegate(FUNC(abc806_state::charram_r), this), write8_delegate(FUNC(abc806_state::charram_w), this));
+ program.install_readwrite_bank(0x7000, 0x77ff, bank_name);
+ program.install_readwrite_handler(0x7800, 0x7fff, 0, 0, read8_delegate(FUNC(abc806_state::charram_r), this), write8_delegate(FUNC(abc806_state::charram_w), this));
}
else
{
- program->install_readwrite_bank(start_addr, end_addr, bank_name);
+ program.install_readwrite_bank(start_addr, end_addr, bank_name);
}
membank(bank_name)->configure_entry(1, m_video_ram + videoram_offset);
@@ -1498,7 +1498,7 @@ DIRECT_UPDATE_MEMBER( abc800c_state::direct_update_handler )
DRIVER_INIT_MEMBER(abc800c_state,driver_init)
{
- m_maincpu->space(AS_PROGRAM)->set_direct_update_handler(direct_update_delegate(FUNC(abc800c_state::direct_update_handler), this));
+ m_maincpu->space(AS_PROGRAM).set_direct_update_handler(direct_update_delegate(FUNC(abc800c_state::direct_update_handler), this));
}
@@ -1532,7 +1532,7 @@ DIRECT_UPDATE_MEMBER( abc800m_state::direct_update_handler )
DRIVER_INIT_MEMBER(abc800m_state,driver_init)
{
- m_maincpu->space(AS_PROGRAM)->set_direct_update_handler(direct_update_delegate(FUNC(abc800m_state::direct_update_handler), this));
+ m_maincpu->space(AS_PROGRAM).set_direct_update_handler(direct_update_delegate(FUNC(abc800m_state::direct_update_handler), this));
}
@@ -1556,7 +1556,7 @@ DIRECT_UPDATE_MEMBER( abc802_state::direct_update_handler )
DRIVER_INIT_MEMBER(abc802_state,driver_init)
{
- m_maincpu->space(AS_PROGRAM)->set_direct_update_handler(direct_update_delegate(FUNC(abc802_state::direct_update_handler), this));
+ m_maincpu->space(AS_PROGRAM).set_direct_update_handler(direct_update_delegate(FUNC(abc802_state::direct_update_handler), this));
}
@@ -1590,7 +1590,7 @@ DIRECT_UPDATE_MEMBER( abc806_state::direct_update_handler )
DRIVER_INIT_MEMBER(abc806_state,driver_init)
{
- m_maincpu->space(AS_PROGRAM)->set_direct_update_handler(direct_update_delegate(FUNC(abc806_state::direct_update_handler), this));
+ m_maincpu->space(AS_PROGRAM).set_direct_update_handler(direct_update_delegate(FUNC(abc806_state::direct_update_handler), this));
}