* * DMAF2 REGISTER TESTING PROGRAM * ADDREG EQU $F00D START OF DMAC REGISTERS OUTCH EQU $F80A CHARACTER OUTPUT ROUTINE DRVREG EQU $F024 DRIVE SELECT LATCH ORG $0100 START LDX #ADDREG LOAD ADDRESS OF REGISTERS LDB BYTE STB 0,X STORE IN REGISTERS STB 1,X STB 2,X STB 3,X STB $21,X STB $22,X STB $23,X LDB 0,X START READING DATA BSR TEST LDB 1,X BSR TEST LDB 2,X BSR TEST LDB 3,X BSR TEST LDB $21,X BSR TEST LDB $22,X BSR TEST LDB $23,X BSR TEST INC BYTE INCREMENT THE PATTERN LDB #$FE SELECT DRIVE 0 STB DRVREG BSR DELAY WAIT AWHILE LDB #$FD SELECT DRIVE 1 STB DRVREG BSR DELAY LDB #$FF STB DRVREG DESELECT ALL DRIVES LDA #'+ JSR [OUTCH] PRINT A + BRA START RE-DO THE TEST TEST CMPB BYTE COMPARE THE DATA BEQ OK LDA #'X OUTPUT A X IF ERRORS JSR [OUTCH] OK RTS DELAY LDX #$FFFF DEC LEAX -1,X CPX #0 BNE DEC RTS BYTE FCB 0 TEMPORARY STORAGE LOCATION END START