src/mess/drivers/scorpion.c
| r2609 | r2610 | |
| 228 | 228 | ROMSelection = ((spectrum_128_port_7ffd_data>>4) & 0x01) ? 1 : 0; |
| 229 | 229 | betadisk_disable(); |
| 230 | 230 | memory_set_bankptr(1, memory_region(REGION_CPU1) + 0x010000 + 0x4000*ROMSelection); // Set BASIC ROM |
| 231 | memory_install_write8_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0x0000, 0x3fff, 0, 0, SMH_UNMAP); |
| 231 | 232 | } |
| 232 | 233 | } else if (((activecpu_get_pc() & 0xff00) == 0x3d00) && (ROMSelection==1)) |
| 233 | 234 | { |
| 234 | 235 | ROMSelection = 3; |
| 235 | 236 | betadisk_enable(); |
| 236 | 237 | memory_set_bankptr(1, memory_region(REGION_CPU1) + 0x01c000); // Set TRDOS ROM |
| 238 | memory_install_write8_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0x0000, 0x3fff, 0, 0, SMH_UNMAP); |
| 237 | 239 | } |
| 238 | 240 | return address; |
| 239 | 241 | } |
| r2609 | r2610 | |
| 262 | 264 | |
| 263 | 265 | static WRITE8_HANDLER(scorpion_port_1ffd_w) |
| 264 | 266 | { |
| 265 | | scorpion_256_port_1ffd_data = data; |
| 266 | | |
| 267 | | /* disable paging */ |
| 267 | /* if paging not disabled */ |
| 268 | 268 | if ((spectrum_128_port_7ffd_data & 0x20)==0) |
| 269 | 269 | { |
| 270 | scorpion_256_port_1ffd_data = data; |
| 270 | 271 | scorpion_update_memory(machine); |
| 271 | 272 | } |
| 272 | 273 | } |
| 273 | 274 | |
| 274 | | /* ports are not decoded full. |
| 275 | | The function decodes the ports appropriately */ |
| 276 | 275 | static ADDRESS_MAP_START (scorpion_io, ADDRESS_SPACE_IO, 8) |
| 277 | 276 | ADDRESS_MAP_UNMAP_HIGH |
| 278 | 277 | AM_RANGE(0x001f, 0x001f) AM_READWRITE(betadisk_status_r,betadisk_command_w) AM_MIRROR(0xff00) |