--- nono/vm/rtl8019as.h 2026/04/29 17:05:21 1.1 +++ nono/vm/rtl8019as.h 2026/04/29 17:05:29 1.1.1.3 @@ -259,19 +259,17 @@ class RTL8019ASDevice : public EthernetD }; public: - RTL8019ASDevice(int n_, int vector_); - virtual ~RTL8019ASDevice() override; + RTL8019ASDevice(uint n_, int vector_); + ~RTL8019ASDevice() override; bool Init() override; void ResetHard(bool poweron) override; - uint64 Read8(uint32 addr) override; - uint64 Read16(uint32 addr) override; - uint64 Write8(uint32 addr, uint32 data) override; - uint64 Write16(uint32 addr, uint32 data) override; - uint64 Peek8(uint32 addr) override; + busdata Read(busaddr addr) override; + busdata Write(busaddr addr, uint32 data) override; + busdata Peek1(uint32 addr) override; - int InterruptAcknowledge(); + busdata InterruptAcknowledge(); private: static inline uint32 Decoder(uint32 addr); @@ -279,7 +277,7 @@ class RTL8019ASDevice : public EthernetD uint32 ReadReg(uint32 rn); uint32 ReadDMA8(uint32 a0); uint32 ReadDMA16(); - uint32 WriteReg(uint32 rn, uint32 data); + void WriteReg(uint32 rn, uint32 data); void WriteCR(uint32 data); void WritePSTART(uint32 data); void WritePSTOP(uint32 data); @@ -296,9 +294,9 @@ class RTL8019ASDevice : public EthernetD void WriteTCR(uint32 data); void WriteDCR(uint32 data); void WriteIMR(uint32 data); - void WritePAR(int n, uint32 data); + void WritePAR(uint n, uint32 data); void WriteCURR(uint32 data); - void WriteMAR(int n, uint32 data); + void WriteMAR(uint n, uint32 data); void Write9346CR(uint32 data); void WriteCONFIG0(uint32 data); void WriteCONFIG1(uint32 data); @@ -364,10 +362,10 @@ class RTL8019ASDevice : public EthernetD void Transmit(); void TXEvent(Event&); // 受信 - void HostRxCallback(MessageID msgid, uint32 arg); + void RxMessage(MessageID msgid, uint32 arg); void RXEvent(Event&); - void RXHead(int remain); - void RXCopy(Event&, int remain); + void RXHead(); + void RXCopy(Event&, uint remain); void RXDone(Event&); void TXLedEvent(Event&); @@ -403,7 +401,7 @@ class RTL8019ASDevice : public EthernetD // 割り込みマスク (bit7 は 0 にすること) uint32 intr_mask {}; // 割り込みベクタ (NereidBoardDevice から渡される) - int intr_vector {}; + uint32 intr_vector {}; uint32 tsr {}; uint32 rsr {}; // DIS 以外のビットを保持