Annotation of nono/vm/partialram.h, revision 1.1.1.2

1.1       root        1: //
                      2: // nono
                      3: // Copyright (C) 2020 nono project
                      4: // Licensed under nono-license.txt
                      5: //
                      6: 
                      7: //
                      8: // LUNA* の RAM のうち 16MB に満たないメモリブロックを担当する人
                      9: //
                     10: 
                     11: #pragma once
                     12: 
                     13: #include "device.h"
                     14: 
                     15: class MainRAMDevice;
                     16: 
1.1.1.2 ! root       17: class PartialRAMDevice : public IODevice
1.1       root       18: {
1.1.1.2 ! root       19:        using inherited = IODevice;
1.1       root       20:  public:
                     21:        PartialRAMDevice();
1.1.1.2 ! root       22:        ~PartialRAMDevice() override;
1.1       root       23: 
                     24:        bool Init() override;
                     25: 
1.1.1.2 ! root       26:        busdata Read8(uint32 addr) override;
        !            27:        busdata Read16(uint32 addr) override;
        !            28:        busdata Read32(uint32 addr) override;
        !            29:        busdata Write8(uint32 addr, uint32 data) override;
        !            30:        busdata Write16(uint32 addr, uint32 data) override;
        !            31:        busdata Write32(uint32 addr, uint32 data) override;
        !            32:        busdata Peek8(uint32 addr) override;
        !            33:        bool Poke8(uint32 addr, uint32 data) override;
1.1       root       34: 
                     35:  private:
                     36:        inline IODevice *SearchDevice(uint32 addr) const;
                     37: 
                     38:        uint32 ram_size {};
                     39: 
                     40:        MainRAMDevice *ramdev {};
                     41:        IODevice *nopdev {};
                     42: };
                     43: 
                     44: static inline PartialRAMDevice *GetPartialRAMDevice() {
                     45:        return Object::GetObject<PartialRAMDevice>(OBJ_PARTIAL_RAM);
                     46: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.