--- nono/vm/pluto.h 2026/04/29 17:04:50 1.1.1.6 +++ nono/vm/pluto.h 2026/04/29 17:05:28 1.1.1.11 @@ -4,47 +4,31 @@ // Licensed under nono-license.txt // +// +// Pluto-X (独自の仮想ボード) +// + #pragma once #include "device.h" -#include -class PlutoDevice - : public IODevice +class PlutoDevice : public IODevice { using inherited = IODevice; + static const uint32 baseaddr = 0xeac000; + public: PlutoDevice(); - virtual ~PlutoDevice() override; - - void ResetHard() override; + ~PlutoDevice() override; - uint64 Read8(uint32 addr) override; - uint64 Read16(uint32 addr) override; - uint64 Read32(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: - // ROM - static const uint16 rom[]; - // ホストファイル起動 uint32 ROM_Load(); - // ベンチマーク - void write_8_benchmark(uint32 addr, uint32 data); - void benchmark_start(uint32 data); - void benchmark_end(); - int m_count {}; - int m_test_num {}; - const char *m_test_name {}; - int m_inst_len {}; - int m_inst_cycle {}; - int m_start_addr {}; - timeval m_start {}; - timeval m_total {}; + // ROM + static const uint16 rom[]; }; - -extern std::unique_ptr gPluto;