Annotation of nono/vm/romimg.h, revision 1.1.1.1

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 ROMDevice
                     11:        : public IODevice
                     12: {
                     13:        typedef IODevice inherited;
                     14:  public:
                     15:        ROMDevice();
                     16:        virtual ~ROMDevice();
                     17: 
                     18:        virtual uint64 Read8(uint32 addr);
                     19:        virtual uint64 Read16(uint32 addr);
                     20:        virtual uint64 Read32(uint32 addr);
                     21:        virtual uint64 Write8(uint32 addr, uint32 data);
                     22:        virtual uint64 Write16(uint32 addr, uint32 data);
                     23:        virtual uint64 Write32(uint32 addr, uint32 data);
                     24:        virtual uint64 Peek8(uint32 addr);
                     25: 
                     26:  protected:
                     27:        bool LoadROM(const char *name, int size);
                     28: 
                     29:        // アドレスマスク
                     30:        uint32 mask = 0;
                     31: 
                     32:        // オープンしているファイルのパスとディスクリプタ
                     33:        std::string filename {};
                     34:        int fd = 0;
                     35: 
                     36:        // mmap される領域とサイズ
                     37:        uint8 *file = NULL;
                     38:        size_t filesize = 0;
                     39: 
                     40:        // メモリ領域をさすポインタ。
                     41:        // 通常は ROM イメージファイルを読み込むだけなので mem = file となる。
                     42:        // ROM イメージを自分で用意したい場合はこれを適当なところにむけてどうぞ。
                     43:        uint8 *mem = NULL;
                     44: };

unix.superglobalmegacorp.com

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