passport/src/id/trace.a
2021-07-11 00:51:32 -04:00

35 lines
828 B
Plaintext

;-------------------------------
; Trace
; common code for all boot tracers
; in: A = lo byte of callback
; X = hi byte of callback
; never returns (exits via callback or UseUniversal)
;-------------------------------
!zone {
Trace
pha
txa
pha
lda #$C6
ldx #$16
jsr CopyMemory1
pla
ldx #0
ldy $16F8
cpy #$4C
beq +
ldx #3
ldy $16FB
cpy #$4C
bne ++
+ sta $16FA,x ; hi byte of callback
pla
sta $16F9,x ; lo byte of callback
jmp $1600
++ pla
jsr PrintByID ; unknown disk controller
!byte s_canttrace
; /!\ execution falls through here to UseUniversal
}