--- nono/vm/windrv.h 2026/04/29 17:05:25 1.1 +++ nono/vm/windrv.h 2026/04/29 17:06:01 1.1.1.3 @@ -24,7 +24,7 @@ class WindrvDevice; class Human68k { public: - static const int MAX_PATH = 96; + static const uint MAX_PATH = 96; static const uint8 ATTR_RDONLY = 0x01; static const uint8 ATTR_HIDDEN = 0x02; @@ -267,7 +267,7 @@ class VDir // ホストでの相対パス。 std::string path {}; - // ホストの対応ディレクトリの更新日時。 + // ホストの対応ディレクトリの更新日時 [nsec]。 // (st_mtimespec がある場合のみ使用する) uint64 mtime {}; @@ -427,13 +427,17 @@ class WindrvDevice : public IODevice, Wi bool Init() override; void ResetHard(bool poweron) override; - busdata Read8(uint32 addr) override; - busdata Write8(uint32 addr, uint32 data) override; - busdata Peek8(uint32 addr) override; - // Windrv を組み込むなら true を返す。 static bool IsWindrv(); + protected: + // BusIO インタフェース + static const uint32 NPORT = 0x2000; + busdata ReadPort(uint32 offset); + busdata WritePort(uint32 offset, uint32 data); + busdata PeekPort(uint32 offset); + bool PokePort(uint32 offset, uint32 data); + private: uint32 GetIdent() const; void Execute();