| Previous | 199869 Revisions | Next |
| r33974 Saturday 20th December, 2014 at 00:28:57 UTC by Robbbert |
|---|
| (MESS) fixed crash with no cart for 3 drivers (nw) - gameking, svision, advision - only affects my build - See forum post for details |
| [src/mess/drivers] | gameking.c svision.c |
| [src/mess/machine] | advision.c |
| r242485 | r242486 | |
|---|---|---|
| 121 | 121 | astring region_tag; |
| 122 | 122 | m_cart_rom = memregion(region_tag.cpy(m_cart->tag()).cat(GENERIC_ROM_REGION_TAG)); |
| 123 | 123 | |
| 124 | if (!m_cart_rom) printf("No Rom\n"); | |
| 124 | if (!m_cart_rom) | |
| 125 | { | |
| 126 | printf("No Rom\n"); | |
| 127 | return; | |
| 128 | } | |
| 125 | 129 | |
| 126 | 130 | m_bank4000 = membank("bank4000"); |
| 127 | 131 | m_bank8000 = membank("bank8000"); |
| r242485 | r242486 | |
|---|---|---|
| 475 | 475 | m_bank1 = membank("bank1"); |
| 476 | 476 | m_bank2 = membank("bank2"); |
| 477 | 477 | // bank1 is set to the first bank |
| 478 | m_bank1->set_base(m_cart_rom->base()); | |
| 479 | // bank2 is set to the last bank | |
| 480 | m_bank2->set_base(m_cart_rom->base() + (num_banks - 1) * 0x4000); | |
| 478 | // do not crash if no cart | |
| 479 | if (num_banks) | |
| 480 | { | |
| 481 | m_bank1->set_base(m_cart_rom->base()); | |
| 482 | // bank2 is set to the last bank | |
| 483 | m_bank2->set_base(m_cart_rom->base() + (num_banks - 1) * 0x4000); | |
| 484 | } | |
| 481 | 485 | } |
| 482 | 486 | |
| 483 | 487 | void svision_state::machine_reset() |
| r242485 | r242486 | |
|---|---|---|
| 76 | 76 | m_rambank = (data & 0x03) << 8; |
| 77 | 77 | |
| 78 | 78 | m_maincpu->set_input_line(MCS48_INPUT_EA, m_ea_bank ? ASSERT_LINE : CLEAR_LINE); |
| 79 | m_bank1->set_entry(m_ea_bank); | |
| 79 | if (m_cart_rom) | |
| 80 | m_bank1->set_entry(m_ea_bank); | |
| 80 | 81 | } |
| 81 | 82 | |
| 82 | 83 | /* External RAM */ |
| https://github.com/mamedev/mame/commit/2d3aede494c244ddce682af61d90e74a1dc56319 |
| Previous | 199869 Revisions | Next |