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

1.1       root        1: //
                      2: // nono
                      3: // Copyright (C) 2018 [email protected]
                      4: //
                      5: 
                      6: #pragma once
                      7: 
                      8: #include "device.h"
                      9: 
                     10: class RAMDevice
                     11:        : public IODevice
                     12: {
                     13:        typedef IODevice inherited;
                     14:  public:
                     15:        RAMDevice();
                     16:        virtual ~RAMDevice();
                     17: 
                     18:        virtual bool Init();
                     19: 
                     20:        virtual uint64 Read8(uint32 addr);
                     21:        virtual uint64 Read16(uint32 addr);
                     22:        virtual uint64 Read32(uint32 addr);
                     23:        virtual uint64 Write8(uint32 addr, uint32 data);
                     24:        virtual uint64 Write16(uint32 addr, uint32 data);
                     25:        virtual uint64 Write32(uint32 addr, uint32 data);
                     26:        virtual uint64 Peek8(uint32 addr);
1.1.1.2 ! root       27: 
        !            28:        // ホストの filepath をロードする
        !            29:        uint32 LoadFile(const char *filepath, uint32 mid);
        !            30:        // file, filesize で示されるバッファをロードする
        !            31:        uint32 LoadFile(const char *name, const uint8 *file, size_t filesize,
        !            32:                uint32 mid);
        !            33:  private:
        !            34:        uint32 LoadGzFile(const char *filepath, const uint8 *file, size_t filesize,
        !            35:                uint32 mid);
        !            36:        uint32 Load_aout(const char *name, const uint8 *file, size_t filesize,
        !            37:                uint32 mid);
        !            38:        uint32 Load_elf32(const char *name, const uint8 *file, size_t filesize,
        !            39:                uint32 mid);
1.1       root       40: };
                     41: 
1.1.1.2 ! root       42: extern std::unique_ptr<uint8[]> ram;
1.1       root       43: extern int ram_size;
1.1.1.2 ! root       44: extern std::unique_ptr<RAMDevice> gRAM;

unix.superglobalmegacorp.com

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