src/mess/drivers/a2600.c
| r9829 | r9830 | |
| 704 | 704 | static void modeE7_RAM_switch(running_machine *machine, UINT16 offset, UINT8 data) |
| 705 | 705 | { |
| 706 | 706 | a2600_state *state = machine->driver_data<a2600_state>(); |
| 707 | | memory_set_bankptr(machine,"bank9", state->extra_RAM + (4 + offset) * 256 ); |
| 707 | memory_set_bankptr(machine,"bank9", state->extra_RAM->base() + (4 + offset) * 256 ); |
| 708 | 708 | } |
| 709 | 709 | static void modeDC_switch(running_machine *machine, UINT16 offset, UINT8 data) |
| 710 | 710 | { |
| r9829 | r9830 | |
| 1969 | 1969 | memory_install_write8_handler(space, 0x1fe8, 0x1feb, 0, 0, modeE7_RAM_switch_w); |
| 1970 | 1970 | memory_install_read8_handler(space, 0x1fe8, 0x1feb, 0, 0, modeE7_RAM_switch_r); |
| 1971 | 1971 | memory_install_readwrite_bank(space, 0x1800, 0x18ff, 0, 0, "bank9"); |
| 1972 | | memory_set_bankptr(machine, "bank9", state->extra_RAM + 4 * 256 ); |
| 1972 | memory_set_bankptr(machine, "bank9", state->extra_RAM->base() + 4 * 256 ); |
| 1973 | 1973 | break; |
| 1974 | 1974 | |
| 1975 | 1975 | case modeDC: |
| r9829 | r9830 | |
| 2043 | 2043 | memory_install_write_bank(space, 0x1000, 0x10ff, 0, 0, "bank9"); |
| 2044 | 2044 | memory_install_read_bank(space, 0x1100, 0x11ff, 0, 0, "bank9"); |
| 2045 | 2045 | |
| 2046 | | memory_set_bankptr(machine,"bank9", state->extra_RAM); |
| 2046 | memory_set_bankptr(machine,"bank9", state->extra_RAM->base()); |
| 2047 | 2047 | } |
| 2048 | 2048 | |
| 2049 | 2049 | if (state->banking_mode == modeCV) |
| r9829 | r9830 | |
| 2051 | 2051 | memory_install_write_bank(space, 0x1400, 0x17ff, 0, 0, "bank9"); |
| 2052 | 2052 | memory_install_read_bank(space, 0x1000, 0x13ff, 0, 0, "bank9"); |
| 2053 | 2053 | |
| 2054 | | memory_set_bankptr(machine,"bank9", state->extra_RAM); |
| 2054 | memory_set_bankptr(machine,"bank9", state->extra_RAM->base()); |
| 2055 | 2055 | } |
| 2056 | 2056 | |
| 2057 | 2057 | if (chip) |
| r9829 | r9830 | |
| 2059 | 2059 | memory_install_write_bank(space, 0x1000, 0x107f, 0, 0, "bank9"); |
| 2060 | 2060 | memory_install_read_bank(space, 0x1080, 0x10ff, 0, 0, "bank9"); |
| 2061 | 2061 | |
| 2062 | | memory_set_bankptr(machine,"bank9", state->extra_RAM); |
| 2062 | memory_set_bankptr(machine,"bank9", state->extra_RAM->base()); |
| 2063 | 2063 | } |
| 2064 | 2064 | |
| 2065 | 2065 | /* Banks may have changed, reset the cpu so it uses the correct reset vector */ |