Quantcast
Channel: stardot.org.uk
Viewing all articles
Browse latest Browse all 5780

32-bit acorn hardware • Re: Unipod and ADF10 or AEH52

$
0
0
You know when you do something you haven’t done for 40 years, which doesn’t look right and eventually you start to doubt your own sanity, well I’m at that point. ](*,)
The following code from IanB’s version of the Econet module, that tests if an ADF10 is present: -

Code:

MOV     r0, #2_11111000    ; TxRst, RxRst, FrDisc, TxDataSrvRq, RxDataSrvRq, -TIE, -RIE, -ACSTRB    r0, CReg1MOV     r0, #2_01111111    ; -RTS, ClrTxSt, ClrRxSt, TxLast, FrComp, Flag, 2Byte, PSESTRB    r0, CReg2LDRB    r1, SReg1TST     r1, #2_11101101    ; IRQ, FC, TxU, -CTS, FlagDet, Loop, -SR2Rq, RDABNE nohardware             ; Any of these BITs means no hardware
Which using Zap, to disassemble the module, converts to this in BASIC Assembler: -

Code:

MOV R0, #&F8               ; TxRst, RxRst, FrDisc, TxDataSrvRq, RxDataSrvRq, -TIE, -RIE, -AC STRB R0, [R10,#0]MOV R0, #&7F               ; -RTS, ClrTxSt, ClrRxSt, TxLast, FrComp, Flag, 2Byte, PSESTRB R0, [R10,#4]LDRB R1, [R10,#0]TST  R1, #&ED              ; IRQ, FC, TxU, -CTS, FlagDet, Loop, -SR2Rq, RDABNE nohardware             ; Any of these BITs means no hardware
The registers for the MC6854 are as follows: -
MC6854 CReg1.png
MC6854 CReg2.png
MC6854 SReg1.png

When this code is run, these are what I see using an 8 channel 24Mz Logic Analyser, connected to the 8 BIT bus on the Unipod, with an ADF10 plugged in: -
Unipod D0-D5 WEB LA2 LA3 F8 7F.png
Unipod D0-D7 F8 7F.png
And 8 is returned when reading SReg1.

Now this is where I’m getting confused, shouldn’t D0 be the least significant BIT, because to me the data bus looks mirrored or am I interpreting it incorrectly?

Statistics: Posted by Drobell — Tue Oct 21, 2025 11:51 pm



Viewing all articles
Browse latest Browse all 5780

Trending Articles