handle edge cases properly
This commit is contained in:
parent
c475372372
commit
6b306e18a5
|
@ -793,13 +793,12 @@ bool ProcessTX(TXSlot* slot, int num)
|
||||||
|
|
||||||
inline void IncrementRXAddr(u16& addr, u16 inc = 2)
|
inline void IncrementRXAddr(u16& addr, u16 inc = 2)
|
||||||
{
|
{
|
||||||
addr += inc;
|
for (u32 i = 0; i < inc; i += 2)
|
||||||
addr &= 0x1FFE;
|
|
||||||
if (addr >= (IOPORT(W_RXBufEnd) & 0x1FFE))
|
|
||||||
{
|
{
|
||||||
addr -= (IOPORT(W_RXBufEnd) & 0x1FFE);
|
addr += 2;
|
||||||
addr += (IOPORT(W_RXBufBegin) & 0x1FFE);
|
|
||||||
addr &= 0x1FFE;
|
addr &= 0x1FFE;
|
||||||
|
if (addr == (IOPORT(W_RXBufEnd) & 0x1FFE))
|
||||||
|
addr = (IOPORT(W_RXBufBegin) & 0x1FFE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue