|
|
1.1 root 1: //
2: // nono
1.1.1.3 root 3: // Copyright (C) 2020 nono project
4: // Licensed under nono-license.txt
1.1 root 5: //
6:
1.1.1.8 root 7: //
8: // Pluto-X (独自の仮想ボード)
9: //
10:
1.1 root 11: #pragma once
12:
13: #include "device.h"
1.1.1.3 root 14: #include <sys/time.h>
1.1 root 15:
1.1.1.7 root 16: class PlutoDevice : public IODevice
1.1 root 17: {
1.1.1.3 root 18: using inherited = IODevice;
1.1.1.9 root 19: static const uint baseaddr = 0xeac000;
20:
1.1 root 21: public:
22: PlutoDevice();
1.1.1.10! root 23: ~PlutoDevice() override;
1.1 root 24:
1.1.1.8 root 25: void ResetHard(bool poweron) override;
1.1.1.4 root 26:
1.1.1.10! root 27: busdata Read8(uint32 addr) override;
! 28: busdata Read16(uint32 addr) override;
! 29: busdata Read32(uint32 addr) override;
! 30: busdata Write8(uint32 addr, uint32 data) override;
! 31: busdata Write16(uint32 addr, uint32 data) override;
! 32: busdata Peek8(uint32 addr) override;
1.1 root 33:
34: private:
1.1.1.3 root 35: // ROM
36: static const uint16 rom[];
37:
38: // ホストファイル起動
39: uint32 ROM_Load();
40:
41: // ベンチマーク
1.1 root 42: void write_8_benchmark(uint32 addr, uint32 data);
43: void benchmark_start(uint32 data);
44: void benchmark_end();
1.1.1.4 root 45: int m_count {};
46: int m_test_num {};
47: const char *m_test_name {};
48: int m_inst_len {};
49: int m_inst_cycle {};
50: int m_start_addr {};
1.1 root 51: timeval m_start {};
52: timeval m_total {};
53: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.