Commit Graph
2 Commits
Author SHA1 Message Date
chris 05e4b67858 fix(arnitech): NET_SEND writes the chip's data port with plain stores
The copy loop wrote each byte with STA RRNET_RX_TX_DATA,X, and an indexed
store reads its address first. Reads of RxTxData take the bytes of a received
frame (AN181), so on a real CS8900A each byte sent took one of a frame the
program had started reading. The loop now stores to the port's low or high
byte by address, as ip65's and Contiki's drivers do; reads stay indexed, which
read once.
2026-10-18 10:04:40 +02:00
chris 1aaed55bc7 feat(arnitech): network entries NET_INIT, NET_MAC, NET_SEND, NET_RECV at $FF0C-$FF15
Version 2 of the Arnitech jump table, with 6 entries: whole Ethernet frames
through the CS8900A at the RR-Net socket (arnitech's ADR 0027), found by its
Product ID and polled, from the CS8900A datasheet's PacketPage registers and
its 8-bit mode. NET_INIT resets the chip and turns on receiving its own and
broadcast frames and sending; NET_MAC copies the Individual Address; NET_SEND
bids and writes a frame; NET_RECV copies the oldest frame received, or drops
one longer than the buffer with Skip_1. Carry is the result, with an error
code in A, and the pointer and count go in SAL and EAL.
2026-10-18 07:36:43 +02:00