1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-06-25 18:30:07 +00:00

Ensure EXDOS card is completely disabled if no FDC is present.

This commit is contained in:
Thomas Harte 2021-06-28 21:47:53 -04:00
parent 5351ac560f
commit 1119779c8b

View File

@ -329,11 +329,19 @@ template <bool has_disk_controller> class ConcreteMachine:
case 0x10: case 0x11: case 0x12: case 0x13:
case 0x14: case 0x15: case 0x16: case 0x17:
*cycle.value = exdos_.read(address);
if constexpr (has_disk_controller) {
*cycle.value = exdos_.read(address);
} else {
*cycle.value = 0xff;
}
break;
case 0x18: case 0x19: case 0x1a: case 0x1b:
case 0x1c: case 0x1d: case 0x1e: case 0x1f:
*cycle.value = exdos_.get_control_register();
if constexpr (has_disk_controller) {
*cycle.value = exdos_.get_control_register();
} else {
*cycle.value = 0xff;
}
break;
case 0xb0: *cycle.value = pages_[0]; break;
@ -367,11 +375,15 @@ template <bool has_disk_controller> class ConcreteMachine:
case 0x10: case 0x11: case 0x12: case 0x13:
case 0x14: case 0x15: case 0x16: case 0x17:
exdos_.write(address, *cycle.value);
if constexpr(has_disk_controller) {
exdos_.write(address, *cycle.value);
}
break;
case 0x18: case 0x19: case 0x1a: case 0x1b:
case 0x1c: case 0x1d: case 0x1e: case 0x1f:
exdos_.set_control_register(*cycle.value);
if constexpr(has_disk_controller) {
exdos_.set_control_register(*cycle.value);
}
break;
case 0x80: case 0x81: case 0x82: case 0x83: