diff options
Diffstat (limited to 'src/mame/machine/partner.cpp')
-rw-r--r-- | src/mame/machine/partner.cpp | 88 |
1 files changed, 41 insertions, 47 deletions
diff --git a/src/mame/machine/partner.cpp b/src/mame/machine/partner.cpp index 67293d2f7ea..9993bec324f 100644 --- a/src/mame/machine/partner.cpp +++ b/src/mame/machine/partner.cpp @@ -15,8 +15,6 @@ #include "includes/radio86.h" #include "includes/partner.h" #include "imagedev/flopdrv.h" -#include "machine/ram.h" - /* Driver initialization */ DRIVER_INIT_MEMBER(partner_state,partner) @@ -26,31 +24,27 @@ DRIVER_INIT_MEMBER(partner_state,partner) void partner_state::partner_window_1(uint8_t bank_num, uint16_t offset,uint8_t *rom) { - char bank[10]; - sprintf(bank,"bank%d",bank_num); switch(m_win_mem_page) { case 2 : // FDD BIOS - membank(bank)->set_base(rom + 0x16000 + offset); + m_bank[bank_num]->set_base(rom + 0x16000 + offset); break; case 4 : // MCPG BIOS - membank(bank)->set_base(rom + 0x14000 + offset); + m_bank[bank_num]->set_base(rom + 0x14000 + offset); break; default : // BIOS - membank(bank)->set_base(rom + 0x10000 + offset); + m_bank[bank_num]->set_base(rom + 0x10000 + offset); break; } } void partner_state::partner_window_2(uint8_t bank_num, uint16_t offset,uint8_t *rom) { - char bank[10]; - sprintf(bank,"bank%d",bank_num); switch(m_win_mem_page) { case 4 : // MCPG FONT - membank(bank)->set_base(rom + 0x18000 + offset); + m_bank[bank_num]->set_base(rom + 0x18000 + offset); break; default : // BIOS - membank(bank)->set_base(rom + 0x10000 + offset); + m_bank[bank_num]->set_base(rom + 0x10000 + offset); break; } } @@ -112,7 +106,7 @@ void partner_state::partner_iomap_bank(uint8_t *rom) // Timer break; default : // BIOS - membank("bank11")->set_base(rom + 0x10000); + m_bank[10]->set_base(rom + 0x10000); break; } } @@ -140,40 +134,40 @@ void partner_state::partner_bank_switch() // BANK 1 (0x0000 - 0x07ff) if (m_mem_page==0) { space.unmap_write(0x0000, 0x07ff); - membank("bank1")->set_base(rom + 0x10000); + m_bank[0]->set_base(rom + 0x10000); } else { if (m_mem_page==7) { - membank("bank1")->set_base(ram + 0x8000); + m_bank[0]->set_base(ram + 0x8000); } else { - membank("bank1")->set_base(ram + 0x0000); + m_bank[0]->set_base(ram + 0x0000); } } // BANK 2 (0x0800 - 0x3fff) if (m_mem_page==7) { - membank("bank2")->set_base(ram + 0x8800); + m_bank[1]->set_base(ram + 0x8800); } else { - membank("bank2")->set_base(ram + 0x0800); + m_bank[1]->set_base(ram + 0x0800); } // BANK 3 (0x4000 - 0x5fff) if (m_mem_page==7) { - membank("bank3")->set_base(ram + 0xC000); + m_bank[2]->set_base(ram + 0xC000); } else { if (m_mem_page==10) { //window 1 space.unmap_write(0x4000, 0x5fff); - partner_window_1(3, 0, rom); + partner_window_1(2, 0, rom); } else { - membank("bank3")->set_base(ram + 0x4000); + m_bank[2]->set_base(ram + 0x4000); } } // BANK 4 (0x6000 - 0x7fff) if (m_mem_page==7) { - membank("bank4")->set_base(ram + 0xe000); + m_bank[3]->set_base(ram + 0xe000); } else { - membank("bank4")->set_base(ram + 0x6000); + m_bank[3]->set_base(ram + 0x6000); } // BANK 5 (0x8000 - 0x9fff) @@ -182,19 +176,19 @@ void partner_state::partner_bank_switch() case 10: //window 2 space.unmap_write(0x8000, 0x9fff); - partner_window_2(5, 0, rom); + partner_window_2(4, 0, rom); break; case 8: case 9: //window 1 space.unmap_write(0x8000, 0x9fff); - partner_window_1(5, 0, rom); + partner_window_1(4, 0, rom); break; case 7: - membank("bank5")->set_base(ram + 0x0000); + m_bank[4]->set_base(ram + 0x0000); break; default: - membank("bank5")->set_base(ram + 0x8000); + m_bank[4]->set_base(ram + 0x8000); break; } @@ -204,19 +198,19 @@ void partner_state::partner_bank_switch() case 10: //window 2 space.unmap_write(0xa000, 0xb7ff); - partner_window_2(6, 0, rom); + partner_window_2(5, 0, rom); break; case 6: case 8: //BASIC space.unmap_write(0xa000, 0xb7ff); - membank("bank6")->set_base(rom + 0x12000); // BASIC + m_bank[5]->set_base(rom + 0x12000); // BASIC break; case 7: - membank("bank6")->set_base(ram + 0x2000); + m_bank[5]->set_base(ram + 0x2000); break; default: - membank("bank6")->set_base(ram + 0xa000); + m_bank[5]->set_base(ram + 0xa000); break; } @@ -227,70 +221,70 @@ void partner_state::partner_bank_switch() case 10: //window 2 space.unmap_write(0xb800, 0xbfff); - partner_window_2(7, 0x1800, rom); + partner_window_2(6, 0x1800, rom); break; case 6: case 8: //BASIC space.unmap_write(0xb800, 0xbfff); - membank("bank7")->set_base(rom + 0x13800); // BASIC + m_bank[6]->set_base(rom + 0x13800); // BASIC break; case 7: - membank("bank7")->set_base(ram + 0x3800); + m_bank[6]->set_base(ram + 0x3800); break; default: - membank("bank7")->set_base(ram + 0xb800); + m_bank[6]->set_base(ram + 0xb800); break; } // BANK 8 (0xc000 - 0xc7ff) switch (m_mem_page) { case 7: - membank("bank8")->set_base(ram + 0x4000); + m_bank[7]->set_base(ram + 0x4000); break; case 8: case 10: space.unmap_write(0xc000, 0xc7ff); - membank("bank8")->set_base(rom + 0x10000); + m_bank[7]->set_base(rom + 0x10000); break; default: - membank("bank8")->set_base(ram + 0xc000); + m_bank[7]->set_base(ram + 0xc000); break; } // BANK 9 (0xc800 - 0xcfff) switch (m_mem_page) { case 7: - membank("bank9")->set_base(ram + 0x4800); + m_bank[8]->set_base(ram + 0x4800); break; case 8: case 9: // window 2 space.unmap_write(0xc800, 0xcfff); - partner_window_2(9, 0, rom); + partner_window_2(8, 0, rom); break; case 10: space.unmap_write(0xc800, 0xcfff); - membank("bank9")->set_base(rom + 0x10800); + m_bank[8]->set_base(rom + 0x10800); break; default: - membank("bank9")->set_base(ram + 0xc800); + m_bank[8]->set_base(ram + 0xc800); break; } // BANK 10 (0xd000 - 0xd7ff) switch (m_mem_page) { case 7: - membank("bank10")->set_base(ram + 0x5000); + m_bank[9]->set_base(ram + 0x5000); break; case 8: case 9: // window 2 space.unmap_write(0xd000, 0xd7ff); - partner_window_2(10, 0x0800, rom); + partner_window_2(9, 0x0800, rom); break; default: - membank("bank10")->set_base(ram + 0xd000); + m_bank[9]->set_base(ram + 0xd000); break; } @@ -299,7 +293,7 @@ void partner_state::partner_bank_switch() // BANK 12 (0xe000 - 0xe7ff) if (m_mem_page==1) { - membank("bank12")->set_base(rom + 0x10000); + m_bank[11]->set_base(rom + 0x10000); } else { //window 1 partner_window_1(12, 0, rom); @@ -311,11 +305,11 @@ void partner_state::partner_bank_switch() case 4: case 5: // window 1 - partner_window_1(13, 0x800, rom); + partner_window_1(12, 0x800, rom); break; default: // BIOS - membank("bank13")->set_base(rom + 0x10800); + m_bank[12]->set_base(rom + 0x10800); break; } } |