--- nono/vm/sysport.h 2026/04/29 17:04:28 1.1 +++ nono/vm/sysport.h 2026/04/29 17:04:42 1.1.1.4 @@ -1,6 +1,7 @@ // // nono -// Copyright (C) 2017 isaki@NetBSD.org +// Copyright (C) 2020 nono project +// Licensed under nono-license.txt // #pragma once @@ -20,25 +21,28 @@ struct SYSPORT int contrast; int rom_wait; // 設定値。ウェイトにする時には +2 する - int ram_wait; + int ram_wait; // 設定値。 }; class SysportDevice : public IODevice { - typedef IODevice inherited; + using inherited = IODevice; private: static const uint32 baseaddr = 0xe8e000; public: SysportDevice(); - virtual ~SysportDevice(); + ~SysportDevice() override; - virtual uint64 Read8(uint32 addr); - virtual uint64 Read16(uint32 addr); - virtual uint64 Write8(uint32 addr, uint32 data); - virtual uint64 Write16(uint32 addr, uint32 data); - virtual uint64 Peek8(uint32 addr); + void ResetHard() override; + + protected: + // BusIO インタフェース + static const uint32 NPORT = 8; + uint64 Read(uint32 addr); + uint64 Write(uint32 addr, uint32 data); + uint64 Peek(uint32 addr); private: struct SYSPORT sysport {};