--- nono/vm/sprite.h 2026/04/29 17:04:28 1.1 +++ nono/vm/sprite.h 2026/04/29 17:05:25 1.1.1.9 @@ -1,17 +1,21 @@ // // nono -// Copyright (C) 2017 isaki@NetBSD.org +// Copyright (C) 2020 nono project +// Licensed under nono-license.txt +// + +// +// スプライトコントローラ // #pragma once #include "device.h" -class SpriteDevice - : public IODevice +class SpriteDevice : public IODevice { - typedef IODevice inherited; - private: + using inherited = IODevice; + static const int baseaddr = 0xeb0000; struct sprite_scroll { @@ -38,15 +42,15 @@ class SpriteDevice public: SpriteDevice(); - virtual ~SpriteDevice(); + ~SpriteDevice() 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); + busdata Read8(uint32 addr) override; + busdata Read16(uint32 addr) override; + busdata Write8(uint32 addr, uint32 data) override; + busdata Write16(uint32 addr, uint32 data) override; + busdata Peek8(uint32 addr) override; private: struct sprite_ctrl reg {}; - uint8 *mem = NULL; + std::unique_ptr mem {}; };