--- nono/vm/printer.h 2026/04/29 17:04:36 1.1.1.2 +++ nono/vm/printer.h 2026/04/29 17:05:50 1.1.1.10 @@ -4,24 +4,33 @@ // Licensed under nono-license.txt // +// +// プリンタポート +// + #pragma once #include "device.h" -class PrinterDevice - : public IODevice +class PrinterDevice : public IODevice { using inherited = IODevice; - private: - static const int baseaddr = 0xe8c000; + + static const uint32 baseaddr = 0xe8c000; public: PrinterDevice(); ~PrinterDevice() override; - uint64 Read8(uint32 addr) override; - uint64 Read16(uint32 addr) override; - uint64 Write8(uint32 addr, uint32 data) override; - uint64 Write16(uint32 addr, uint32 data) override; - uint64 Peek8(uint32 addr) override; + protected: + // BusIO インタフェース + // XXX まだ調べてない + static const uint32 NPORT = 2; + busdata ReadPort(uint32 offset); + busdata WritePort(uint32 offset, uint32 data); + busdata PeekPort(uint32 offset); + bool PokePort(uint32 offset, uint32 data); + + private: + static const busdata wait; };