passport/src/id/rdos.a

26 lines
809 B
Plaintext
Raw Normal View History

2017-09-07 13:52:27 +00:00
;-------------------------------
2021-06-19 14:54:56 +00:00
; IDRDOS16
2017-09-07 13:52:27 +00:00
; identify RDOS 16-sector bootloader
;
; in: $0800..$08FF contains T00,S00
; first page of track buffer also contains T00,S00
; out: C clear if RDOS 16-sector bootloader found
; C set otherwise
; all registers clobbered
; all other flags clobbered
;-------------------------------
2021-06-19 14:54:56 +00:00
!macro IDRDOS16 {
2017-09-07 13:52:27 +00:00
lda #$00
2019-04-16 05:39:12 +00:00
tax
2017-09-07 13:52:27 +00:00
ldy #$0E
jsr compare ; if T00,S00,$00 ==
!byte $01
!byte $A9,$60 ; LDA #$60
!byte $8D,$01,$08; STA $0801
!byte $A2,$00 ; LDX #$00
!byte $A0,$1F ; LDY #$1F
!byte $B9,$00,$08; LDA $0800,Y
!byte $49 ; EOR
2021-06-19 02:06:12 +00:00
; passport-test-suite/Roadwar 2000.woz [C=0] matches
2017-09-07 13:52:27 +00:00
}