--- nono/vm/ethernet.h 2026/04/29 17:05:18 1.1.1.9 +++ nono/vm/ethernet.h 2026/04/29 17:05:38 1.1.1.13 @@ -15,8 +15,8 @@ // | // +--------+-------+ // v v -// LanceDevice RTL8019Device -// (LUNA, AM7990) (X68000, RTL8019) +// LanceDevice RTL8019ASDevice +// (LUNA, AM7990) (X68000, RTL8019AS) #pragma once @@ -29,15 +29,19 @@ class EthernetDevice : public IODevice { using inherited = IODevice; protected: - EthernetDevice(); + explicit EthernetDevice(uint objid_); public: - virtual ~EthernetDevice() override; + ~EthernetDevice() override; bool Create() override; // 設定から MAC アドレスを取得するヘルパー関数。 // (MAC アドレスを保持するデバイスが呼ぶ) - static bool GetConfigMacAddr(macaddr_t *dst, bool accept_rom); + static bool GetConfigMacAddr(uint n, MacAddr *dst, bool accept_rom); + + // CRC32 を計算する。 + static uint32 CRC32(const uint8 *buf, size_t buflen); + static uint32 CRC32(const MacAddr& mac); protected: // ホストスレッドからの受信通知