From 9bd75464b5a20edb5f1c829209e79a4cac623908 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Sat, 25 Nov 2023 18:15:37 -0500 Subject: [PATCH] Proceed to receiving a sense interrupt status. --- Components/8272/Status.hpp | 4 ++++ Machines/PCCompatible/PCCompatible.cpp | 8 +++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Components/8272/Status.hpp b/Components/8272/Status.hpp index 49a4276e2..0ed22b4e1 100644 --- a/Components/8272/Status.hpp +++ b/Components/8272/Status.hpp @@ -13,6 +13,10 @@ namespace Intel::i8272 { class Status { public: + Status() { + reset(); + } + uint8_t main() const { return main_status_; } diff --git a/Machines/PCCompatible/PCCompatible.cpp b/Machines/PCCompatible/PCCompatible.cpp index 6a0d3d0e8..a564376f2 100644 --- a/Machines/PCCompatible/PCCompatible.cpp +++ b/Machines/PCCompatible/PCCompatible.cpp @@ -66,6 +66,10 @@ class FloppyController { return status_.main(); } + void write(uint8_t value) { + decoder_.push_back(value); + } + private: void reset() { decoder_.clear(); @@ -822,10 +826,12 @@ class IO { case 0x03f2: fdc_.set_digital_output(uint8_t(value)); break; + case 0x03f5: + fdc_.write(uint8_t(value)); + break; case 0x03f3: case 0x03f4: - case 0x03f5: case 0x03f6: case 0x03f7: printf("TODO: FDC write of %02x at %04x\n", value, port);