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

1.1       root        1: //
                      2: // nono
                      3: // Copyright (C) 2017 [email protected]
                      4: //
                      5: 
                      6: #pragma once
                      7: 
                      8: #include "device.h"
                      9: 
                     10: class SRAMDevice
                     11:        : public IODevice
                     12: {
                     13:        typedef IODevice inherited;
                     14:  private:
                     15:        static const uint32 baseaddr = 0xed0000;
                     16: 
                     17:  public:
                     18:        SRAMDevice();
                     19:        virtual ~SRAMDevice();
                     20: 
                     21:        virtual bool Init();
                     22: 
                     23:        virtual uint64 Read8(uint32 addr);
                     24:        virtual uint64 Read16(uint32 addr);
                     25:        virtual uint64 Write8(uint32 addr, uint32 data);
                     26:        virtual uint64 Write16(uint32 addr, uint32 data);
                     27:        virtual uint64 Peek8(uint32 addr);
                     28: 
                     29:        void write_enable(bool value);
                     30: 
                     31:  private:
1.1.1.2 ! root       32:        // アドレスデコーダ
        !            33:        uint64 Decoder(uint32 addr) const;
        !            34: 
1.1       root       35:        std::string filename;
                     36:        int fd = 0;
                     37: 
                     38:        // バイト順はファイルイメージそのまま
                     39:        uint8 *mem = NULL;
                     40: 
                     41:        // mmap する長さ
                     42:        int memlen = 0;
                     43: 
                     44:        bool writeable = false;
                     45: };
                     46: 
1.1.1.2 ! root       47: extern std::unique_ptr<SRAMDevice> gSRAM;

unix.superglobalmegacorp.com

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