--- nono/vm/printer.h 2026/04/29 17:04:55 1.1.1.5 +++ nono/vm/printer.h 2026/04/29 17:05:29 1.1.1.9 @@ -4,6 +4,10 @@ // Licensed under nono-license.txt // +// +// プリンタポート +// + #pragma once #include "device.h" @@ -11,18 +15,19 @@ class PrinterDevice : public IODevice { using inherited = IODevice; - private: - static const int baseaddr = 0xe8c000; + + static const uint32 baseaddr = 0xe8c000; public: PrinterDevice(); - virtual ~PrinterDevice() override; + ~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); }; - -extern std::unique_ptr gPrinter;