fix(arnitech): the network entries also check the PacketPage Pointer

Without a chip the RR-Net's ports read the floating bus, which can read like
the Product ID by chance. The probe now also reads back the PacketPage
Pointer it set to $0000: on a CS8900A its bits C-E always read 011b
(DS271F5 4.10.5), so the high byte reads $30. Seven bytes.
This commit is contained in:
chris committed 2026-10-18 10:04:44 +02:00
1 parent 05e4b67858
commit 1a6c821cfa
1 file changed
+7 -2
+7 -2
View File
@@ -212,8 +212,10 @@ arnitech_net_args:
; FALLTROUGH
;
; Whether the chip answers: its Product ID at PacketPage $0000. Out: carry clear if it does.
; X and Y are kept.
; Whether the chip answers: the PacketPage Pointer, set to $0000, reads back $3000, as its
; bits C-E always read 011b (DS271F5 4.10.5), and the Product ID is at PacketPage $0000, so a
; floating bus that reads like the Product ID by chance is no chip. Out: carry clear if it
; answers. X and Y are kept.
;
arnitech_net_probe:
@@ -221,6 +223,9 @@ arnitech_net_probe:
lda #$00
sta RRNET_PP_POINTER+0
sta RRNET_PP_POINTER+1
lda RRNET_PP_POINTER+1
cmp #$30
bne @1
lda RRNET_PP_DATA+0
cmp #<CS_PRODUCT_ID
bne @1