src/mess/machine/z80ne.c
| r8808 | r8809 | |
| 199 | 199 | } |
| 200 | 200 | } |
| 201 | 201 | |
| 202 | DIRECT_UPDATE_HANDLER( z80ne_default ) |
| 203 | { |
| 204 | return address; |
| 205 | } |
| 202 | 206 | /* |
| 203 | 207 | * Handle NMI delay for single step instruction |
| 204 | 208 | */ |
| r8808 | r8809 | |
| 208 | 212 | |
| 209 | 213 | if (!nmi_delay_counter) |
| 210 | 214 | { |
| 211 | | //cputag_get_address_space(machine, "z80ne", ADDRESS_SPACE_PROGRAM)->set_direct_update_handler(NULL); |
| 215 | cputag_get_address_space(machine, "z80ne", ADDRESS_SPACE_PROGRAM)->set_direct_update_handler(direct_update_delegate_create_static(z80ne_default, *machine)); |
| 212 | 216 | cputag_set_input_line(machine, "z80ne", INPUT_LINE_NMI, PULSE_LINE); |
| 213 | 217 | } |
| 214 | 218 | return address; |
| r8808 | r8809 | |
| 231 | 235 | if (!reset_delay_counter) |
| 232 | 236 | { |
| 233 | 237 | /* remove this callback */ |
| 234 | | //cputag_get_address_space(machine, "z80ne", ADDRESS_SPACE_PROGRAM)->set_direct_update_handler(NULL); |
| 238 | cputag_get_address_space(machine, "z80ne", ADDRESS_SPACE_PROGRAM)->set_direct_update_handler(direct_update_delegate_create_static(z80ne_default, *machine)); |
| 235 | 239 | /* and switch to RAM bank at address 0x0000 */ |
| 236 | 240 | memory_set_bank( space->machine, "bank1", 0 ); /* RAM at 0x0000 (bank 1) */ |
| 237 | 241 | } |
| r8808 | r8809 | |
| 282 | 286 | memory_set_bank(machine, "bank2", 1); /* ep548 at 0x0400-0x3FFF */ |
| 283 | 287 | memory_set_bank(machine, "bank3", 0); /* RAM at 0x8000 */ |
| 284 | 288 | memory_set_bank(machine, "bank4", 0); /* RAM at 0xF000 */ |
| 285 | | //cputag_get_address_space(machine, "z80ne", ADDRESS_SPACE_PROGRAM)->set_direct_update_handler(NULL); |
| 289 | cputag_get_address_space(machine, "z80ne", ADDRESS_SPACE_PROGRAM)->set_direct_update_handler(direct_update_delegate_create_static(z80ne_default, *machine)); |
| 286 | 290 | break; |
| 287 | 291 | case 0x03: /* EP390 Boot Loader for 5.5k floppy BASIC */ |
| 288 | 292 | if (VERBOSE) |
| r8808 | r8809 | |
| 291 | 295 | memory_set_bank(machine, "bank2", 0); /* RAM at 0x0400-0x3FFF */ |
| 292 | 296 | memory_set_bank(machine, "bank3", 0); /* RAM at 0x8000 */ |
| 293 | 297 | memory_set_bank(machine, "bank4", 1); /* ep390 at 0xF000 */ |
| 294 | | //cputag_get_address_space(machine, "z80ne", ADDRESS_SPACE_PROGRAM)->set_direct_update_handler(NULL); |
| 298 | cputag_get_address_space(machine, "z80ne", ADDRESS_SPACE_PROGRAM)->set_direct_update_handler(direct_update_delegate_create_static(z80ne_default, *machine)); |
| 295 | 299 | break; |
| 296 | 300 | case 0x04: /* EP1390 Boot Loader for NE DOS 1.0/1.5 */ |
| 297 | 301 | if (VERBOSE) |
| r8808 | r8809 | |
| 300 | 304 | memory_set_bank(machine, "bank2", 0); /* RAM at 0x0400-0x3FFF */ |
| 301 | 305 | memory_set_bank(machine, "bank3", 0); /* RAM at 0x8000 */ |
| 302 | 306 | memory_set_bank(machine, "bank4", 2); /* ep1390 at 0xF000 */ |
| 303 | | //cputag_get_address_space(machine, "z80ne", ADDRESS_SPACE_PROGRAM)->set_direct_update_handler(NULL); |
| 307 | cputag_get_address_space(machine, "z80ne", ADDRESS_SPACE_PROGRAM)->set_direct_update_handler(direct_update_delegate_create_static(z80ne_default, *machine)); |
| 304 | 308 | break; |
| 305 | 309 | case 0x05: /* EP2390 Boot Loader for NE DOS G.1 */ |
| 306 | 310 | if (VERBOSE) |
| r8808 | r8809 | |
| 309 | 313 | memory_set_bank(machine, "bank2", 0); /* RAM at 0x0400-0x3FFF */ |
| 310 | 314 | memory_set_bank(machine, "bank3", 0); /* RAM at 0x8000 */ |
| 311 | 315 | memory_set_bank(machine, "bank4", 3); /* ep2390 at 0xF000 */ |
| 312 | | //cputag_get_address_space(machine, "z80ne", ADDRESS_SPACE_PROGRAM)->set_direct_update_handler(NULL); |
| 316 | cputag_get_address_space(machine, "z80ne", ADDRESS_SPACE_PROGRAM)->set_direct_update_handler(direct_update_delegate_create_static(z80ne_default, *machine)); |
| 313 | 317 | break; |
| 314 | 318 | } |
| 315 | 319 | |