|
|
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 ViconDevice ! 11: : public IODevice ! 12: { ! 13: typedef IODevice inherited; ! 14: private: ! 15: static const int baseaddr = 0xe82000; ! 16: ! 17: struct vicon { ! 18: uint16 r0; ! 19: uint16 r1; ! 20: uint16 r2; ! 21: }; ! 22: ! 23: public: ! 24: ViconDevice(); ! 25: virtual ~ViconDevice(); ! 26: ! 27: virtual uint64 Read8(uint32 addr); ! 28: virtual uint64 Read16(uint32 addr); ! 29: virtual uint64 Write8(uint32 addr, uint32 data); ! 30: virtual uint64 Write16(uint32 addr, uint32 data); ! 31: virtual uint64 Peek8(uint32 addr); ! 32: ! 33: // パレットのバッファアドレスを取得 ! 34: // レンダラとかからの参照用? ! 35: const uint16 *GetPalette() const { return &palette.w[0]; } ! 36: ! 37: private: ! 38: uint32 read_r0(); ! 39: uint32 read_r1H(); ! 40: uint32 read_r1L(); ! 41: uint32 read_r2H(); ! 42: uint32 read_r2L(); ! 43: void write_r0(uint32 data); ! 44: void write_r1H(uint32 data); ! 45: void write_r1L(uint32 data); ! 46: void write_r2H(uint32 data); ! 47: void write_r2L(uint32 data); ! 48: ! 49: struct vicon vicon {}; ! 50: union { ! 51: uint8 b[1024]; ! 52: uint16 w[512]; ! 53: } palette {}; ! 54: }; ! 55: ! 56: extern ViconDevice *gVicon;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.