public void Fetch(uint addr) { ramAddr = addr; Word0 = sbus.ReadDoubleWord(ramAddr); Word1 = sbus.ReadDoubleWord(ramAddr + 4); Used = (Word1 & 1u << 31) != 0; Wrap = (Word1 & 1u << 30) != 0; Last = (Word1 & 1u << 15) != 0; Length = (ushort)(Word1 & 0x3FFFu); }
public void Fetch(uint addr) { ramAddr = addr; Word0 = sbus.ReadDoubleWord(addr); Word1 = sbus.ReadDoubleWord(addr + 4); BufferAddress = Word0 & (~(0x03u)); Wrap = ((Word0 & (1u << 1)) != 0) ? true : false; Ownership = ((Word0 & (1u << 0)) != 0) ? true : false; StartOfFrame = ((Word1 & (1u << 14)) != 0) ? true : false; EndOfFrame = ((Word1 & (1u << 15)) != 0) ? true : false; Length = (ushort)(Word1 & 0x1FFF); }
public void Fetch(uint address) { ramAddress = address; word0 = sbus.ReadDoubleWord(ramAddress); word1 = sbus.ReadDoubleWord(ramAddress + 4); word0 = (uint)System.Net.IPAddress.HostToNetworkOrder((int)word0); word1 = (uint)System.Net.IPAddress.HostToNetworkOrder((int)word1); AttemptLimitError = (word0 & (1u << 15)) != 0; UnderrunError = (word0 & (1u << 14)) != 0; InterruptEnable = (word0 & (1u << 13)) != 0; Wrap = (word0 & (1u << 12)) != 0; Enable = (word0 & (1u << 11)) != 0; Length = word0 & 0x7ffu; PacketAddress = word1 & ~(0x03u); }
public void Fetch(uint address) { ramAddress = address; word0 = sbus.ReadDoubleWord(ramAddress); word1 = sbus.ReadDoubleWord(ramAddress + 4); word0 = (uint)System.Net.IPAddress.HostToNetworkOrder((int)word0); word1 = (uint)System.Net.IPAddress.HostToNetworkOrder((int)word1); MulticastAddress = (word0 & (1u << 26)) != 0; LengthError = (word0 & (1u << 18)) != 0; OverrunError = (word0 & (1u << 17)) != 0; CRCError = (word0 & (1u << 16)) != 0; FrameTooLong = (word0 & (1u << 15)) != 0; AlignmentError = (word0 & (1u << 14)) != 0; InterruptEnable = (word0 & (1u << 13)) != 0; Wrap = (word0 & (1u << 12)) != 0; Enable = (word0 & (1u << 11)) != 0; Length = word0 & (0x7ffu); PacketAddress = word1 & ~(0x03u); }