|
|
1.1 root 1: //
2: // nono
1.1.1.2 root 3: // Copyright (C) 2020 nono project
4: // Licensed under nono-license.txt
1.1 root 5: //
6:
7: #pragma once
8:
1.1.1.2 root 9: #include "rom.h"
1.1 root 10:
1.1.1.5 ! root 11: class IPLROM1Device;
! 12:
! 13: class IPLROM0Device
! 14: : public ROMDevice
! 15: {
! 16: using inherited = ROMDevice;
! 17: public:
! 18: IPLROM0Device();
! 19: virtual ~IPLROM0Device() override;
! 20:
! 21: bool Init() override;
! 22: void ResetHard() override;
! 23:
! 24: uint64 Read8(uint32 addr) override;
! 25: uint64 Read16(uint32 addr) override;
! 26: uint64 Read32(uint32 addr) override;
! 27: uint64 Peek8(uint32 addr) override;
! 28:
! 29: private:
! 30: IPLROM1Device *iplrom1 {};
! 31: };
! 32:
1.1 root 33: class IPLROM1Device
34: : public ROMDevice
35: {
1.1.1.2 root 36: using inherited = ROMDevice;
1.1 root 37: public:
38: IPLROM1Device();
1.1.1.4 root 39: virtual ~IPLROM1Device() override;
1.1 root 40:
1.1.1.2 root 41: bool Init() override;
1.1 root 42: };
43:
44: class IPLROM2Device
45: : public ROMDevice
46: {
1.1.1.2 root 47: using inherited = ROMDevice;
1.1 root 48: public:
49: IPLROM2Device();
1.1.1.4 root 50: virtual ~IPLROM2Device() override;
1.1 root 51:
1.1.1.2 root 52: bool Init() override;
1.1 root 53: };
54:
55: class CGROMDevice
56: : public ROMDevice
57: {
1.1.1.2 root 58: using inherited = ROMDevice;
1.1 root 59: public:
60: CGROMDevice();
1.1.1.4 root 61: virtual ~CGROMDevice() override;
1.1 root 62:
1.1.1.2 root 63: bool Init() override;
1.1 root 64: };
1.1.1.3 root 65:
66: extern std::unique_ptr<CGROMDevice> gCGROM;
1.1.1.5 ! root 67: extern std::unique_ptr<IPLROM0Device> gIPLROM0;
1.1.1.3 root 68: extern std::unique_ptr<IPLROM1Device> gIPLROM1;
69: extern std::unique_ptr<IPLROM2Device> gIPLROM2;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.