--- nono/vm/mainbus_virt68k.h 2026/04/29 17:05:24 1.1 +++ nono/vm/mainbus_virt68k.h 2026/04/29 17:05:28 1.1.1.2 @@ -5,23 +5,32 @@ // // -// メインバス (virt68k) +// メインバス (virt-m68k) // #pragma once #include "mainbus.h" -class Virt68kMainbus : public Mainbus24Device +class Virt68kMainbus : public MainbusDevice { - using inherited = Mainbus24Device; + using inherited = MainbusDevice; public: Virt68kMainbus(); ~Virt68kMainbus() override; bool InitMainbus() override; + busdata Read(busaddr addr) override; + busdata Write(busaddr addr, uint32 data) override; + busdata ReadBurst16(busaddr addr, uint32 *dst) override; + busdata WriteBurst16(busaddr addr, const uint32 *dst) override; + busdata Peek1(uint32 addr) override; + bool Poke1(uint32 addr, uint32 data) override; + private: + inline IODevice *Decoder(uint32) const; + // ブートページを切り替える。 void SwitchBootPage(bool isrom) override; @@ -29,4 +38,6 @@ class Virt68kMainbus : public Mainbus24D std::unique_ptr pInterrupt {}; std::unique_ptr pMainRAM {}; std::unique_ptr pV68kIO {}; + + uint32 ramsize {}; };