--- nono/vm/sprite.h 2026/04/29 17:04:45 1.1.1.4 +++ nono/vm/sprite.h 2026/04/29 17:05:29 1.1.1.10 @@ -4,16 +4,19 @@ // Licensed under nono-license.txt // +// +// スプライトコントローラ +// + #pragma once #include "device.h" -class SpriteDevice - : public IODevice +class SpriteDevice : public IODevice { using inherited = IODevice; - private: - static const int baseaddr = 0xeb0000; + + static const uint32 baseaddr = 0xeb0000; struct sprite_scroll { uint16 xpos; @@ -39,15 +42,16 @@ class SpriteDevice public: SpriteDevice(); - virtual ~SpriteDevice() override; + ~SpriteDevice() 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; + busdata Read(busaddr addr) override; + busdata Write(busaddr addr, uint32 data) override; + busdata Peek1(uint32 addr) override; private: + busdata Get16(uint32 addr) const; + busdata Set16(uint32 addr, uint32 data); + struct sprite_ctrl reg {}; std::unique_ptr mem {}; };