mirror of
https://github.com/KrisKennaway/ii-vision.git
synced 2024-11-19 23:32:51 +00:00
fa6c2bb25d
- Use a safe ZP address instead of $00 - Use dec instead of hex for IP address bytes - Remove some unused Uthernet/W5100 defines Optimize the socket buffer management - Since we're guaranteeing 2K frame padding, the low byte is always 0 - Remove some vestiges of the Uthernet TCP demo code - AFAICT there isn't a need to compare high and low bytes of the S0RXRSR, this was just being used as a (slightly risky) check that they were both not equal (presumably to 0) - (h/t Oliver Schmidt <ol.sc@web.de>) it turns out that the W5100 automatically wraps the address pointer at the end of the 8k RX/TX buffer space, so since we're using 8k buffers we don't need any of the pointer/mask arithmetic to make sure we don't stray outside this range - Instead, we can just save the W5100 address pointer before we start doing the stream buffer management and restore it when we're ready to read from the stream again. - Moreover, since we know the low-byte is 0 we don't even need to save it. This gives us enough free cycles to implement a keypress check. For now any key will pause the video and any other key resume it. We still have a whole 16 cycles left over while maintaining the 36/37 cycle tick cadence. We've saved 73 cycles of "dead time" though, i.e. the op_ack + CHECKRECV + op_nop "slow path" now takes 2*73 rather than 3*73 cycles. This should result in better audio quality. |
||
---|---|---|
.. | ||
make | ||
apple2-asm-hgr.cfg | ||
main.s | ||
Makefile |