trunk/src/mame/drivers/exidy.c
| r243024 | r243025 | |
| 186 | 186 | |
| 187 | 187 | WRITE8_MEMBER(exidy_state::fax_bank_select_w) |
| 188 | 188 | { |
| 189 | | m_fax_bank = data; |
| 189 | membank("bank1")->set_entry(data & 0x1f); |
| 190 | 190 | |
| 191 | | fax_bank_restore(); |
| 191 | if ((data & 0x1f) > 0x17) |
| 192 | logerror("Banking to unpopulated ROM bank %02X!\n", data & 0x1f); |
| 193 | |
| 192 | 194 | } |
| 193 | 195 | |
| 194 | | void exidy_state::fax_bank_restore() |
| 195 | | { |
| 196 | | UINT8 *RAM = memregion("maincpu")->base(); |
| 197 | 196 | |
| 198 | | membank("bank1")->set_base(&RAM[0x10000 + (0x2000 * (m_fax_bank & 0x1f))]); |
| 199 | | if ((m_fax_bank & 0x1f) > 0x17) |
| 200 | | logerror("Banking to unpopulated ROM bank %02X!\n", m_fax_bank & 0x1f); |
| 201 | | } |
| 202 | | |
| 203 | | |
| 204 | | |
| 205 | 197 | /************************************* |
| 206 | 198 | * |
| 207 | 199 | * Main CPU memory handlers |
| r243024 | r243025 | |
| 1548 | 1540 | |
| 1549 | 1541 | exidy_video_config(0x04, 0x04, TRUE); |
| 1550 | 1542 | |
| 1551 | | /* reset the ROM bank */ |
| 1552 | | fax_bank_select_w(space,0,0); |
| 1553 | | |
| 1554 | | save_item(NAME(m_fax_bank)); |
| 1555 | | machine().save().register_postload(save_prepost_delegate(FUNC(exidy_state::fax_bank_restore), this)); |
| 1543 | membank("bank1")->configure_entries(0, 32, memregion("maincpu")->base() + 0x10000, 0x2000); |
| 1556 | 1544 | } |
| 1557 | 1545 | |
| 1558 | 1546 | |