diff options
Diffstat (limited to 'src/mame/machine/atari.c')
-rw-r--r-- | src/mame/machine/atari.c | 39 |
1 files changed, 17 insertions, 22 deletions
diff --git a/src/mame/machine/atari.c b/src/mame/machine/atari.c index b007d07d1c5..ee73f938884 100644 --- a/src/mame/machine/atari.c +++ b/src/mame/machine/atari.c @@ -35,8 +35,8 @@ static int a800_cart_loaded = 0; static int a800_cart_is_16k = 0; #endif -static void a800xl_mmu(UINT8 new_mmu); -static void a600xl_mmu(UINT8 new_mmu); +static void a800xl_mmu(running_machine *machine, UINT8 new_mmu); +static void a600xl_mmu(running_machine *machine, UINT8 new_mmu); static void pokey_reset(running_machine *machine); @@ -88,8 +88,8 @@ static READ8_HANDLER(atari_pia_pb_r) return atari_input_disabled() ? 0xFF : input_port_read_safe(machine, "djoy_2_3", 0); } -static WRITE8_HANDLER(a600xl_pia_pb_w) { a600xl_mmu(data); } -static WRITE8_HANDLER(a800xl_pia_pb_w) { a800xl_mmu(data); } +static WRITE8_HANDLER(a600xl_pia_pb_w) { a600xl_mmu(machine, data); } +static WRITE8_HANDLER(a800xl_pia_pb_w) { a800xl_mmu(machine, data); } #ifdef MESS extern WRITE8_HANDLER(atari_pia_cb2_w); @@ -127,7 +127,7 @@ static const pia6821_interface a800xl_pia_interface = * **************************************************************/ -void a600xl_mmu(UINT8 new_mmu) +void a600xl_mmu(running_machine *machine, UINT8 new_mmu) { read8_machine_func rbank2; write8_machine_func wbank2; @@ -145,13 +145,12 @@ void a600xl_mmu(UINT8 new_mmu) rbank2 = SMH_BANK2; wbank2 = SMH_UNMAP; } - memory_install_read8_handler(0, ADDRESS_SPACE_PROGRAM, 0x5000, 0x57ff, 0, 0, rbank2); - memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x5000, 0x57ff, 0, 0, wbank2); + memory_install_readwrite8_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0x5000, 0x57ff, 0, 0, rbank2, wbank2); if (rbank2 == SMH_BANK2) memory_set_bankptr(2, memory_region(REGION_CPU1)+0x5000); } -void a800xl_mmu(UINT8 new_mmu) +void a800xl_mmu(running_machine *machine, UINT8 new_mmu) { read8_machine_func rbank1, rbank2, rbank3, rbank4; write8_machine_func wbank1, wbank2, wbank3, wbank4; @@ -178,10 +177,8 @@ void a800xl_mmu(UINT8 new_mmu) wbank4 = SMH_BANK4; base4 = memory_region(REGION_CPU1)+0x0d800; /* 4K RAM + 8K RAM */ } - memory_install_read8_handler(0, ADDRESS_SPACE_PROGRAM, 0xc000, 0xcfff, 0, 0, rbank3); - memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xc000, 0xcfff, 0, 0, wbank3); - memory_install_read8_handler(0, ADDRESS_SPACE_PROGRAM, 0xd800, 0xffff, 0, 0, rbank4); - memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xd800, 0xffff, 0, 0, wbank4); + memory_install_readwrite8_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0xc000, 0xcfff, 0, 0, rbank3, wbank3); + memory_install_readwrite8_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0xd800, 0xffff, 0, 0, rbank4, wbank4); memory_set_bankptr(3, base3); memory_set_bankptr(4, base4); @@ -200,8 +197,7 @@ void a800xl_mmu(UINT8 new_mmu) wbank1 = SMH_UNMAP; base1 = memory_region(REGION_CPU1)+0x10000; /* 8K BASIC */ } - memory_install_read8_handler(0, ADDRESS_SPACE_PROGRAM, 0xa000, 0xbfff, 0, 0, rbank1); - memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xa000, 0xbfff, 0, 0, wbank1); + memory_install_readwrite8_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0xa000, 0xbfff, 0, 0, rbank1, wbank1); memory_set_bankptr(1, base1); /* check if self-test ROM changed */ @@ -219,8 +215,7 @@ void a800xl_mmu(UINT8 new_mmu) wbank2 = SMH_UNMAP; base2 = memory_region(REGION_CPU1)+0x15000; /* 0x0800 bytes */ } - memory_install_read8_handler(0, ADDRESS_SPACE_PROGRAM, 0x5000, 0x57ff, 0, 0, rbank2); - memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x5000, 0x57ff, 0, 0, wbank2); + memory_install_readwrite8_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0x5000, 0x57ff, 0, 0, rbank2, wbank2); memory_set_bankptr(2, base2); } @@ -638,9 +633,9 @@ DRIVER_INIT( atari ) /* install RAM */ ram_top = MIN(mess_ram_size, ram_size) - 1; - memory_install_read8_handler(0, ADDRESS_SPACE_PROGRAM, + memory_install_read8_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0x0000, ram_top, 0, 0, SMH_BANK2); - memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, + memory_install_write8_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0x0000, ram_top, 0, 0, SMH_BANK2); memory_set_bankptr(2, mess_ram); } @@ -682,9 +677,9 @@ static void a800_setbank(int n) break; } - memory_install_read8_handler(0, ADDRESS_SPACE_PROGRAM, 0x8000, 0xbfff, 0, 0, + memory_install_read8_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0x8000, 0xbfff, 0, 0, read_addr ? SMH_BANK1 : SMH_NOP); - memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x8000, 0xbfff, 0, 0, + memory_install_write8_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0x8000, 0xbfff, 0, 0, write_addr ? SMH_BANK1 : SMH_NOP); if (read_addr) memory_set_bankptr(1, read_addr); @@ -790,9 +785,9 @@ static void atari_machine_start(running_machine *machine, int type, const pia682 /* install RAM */ ram_top = MIN(mess_ram_size, ram_size) - 1; - memory_install_read8_handler(0, ADDRESS_SPACE_PROGRAM, + memory_install_read8_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0x0000, ram_top, 0, 0, SMH_BANK2); - memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, + memory_install_write8_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0x0000, ram_top, 0, 0, SMH_BANK2); memory_set_bankptr(2, mess_ram); } |