Files
open-roms/src/kernal/board_m65/mega65_proxies_monitor.s
T

59 lines
725 B
ArmAsm

;; #LAYOUT# M65 KERNAL_0 #TAKE
;; #LAYOUT# * * #IGNORE
;
; Proxies for calling MEGA65 segment KERNAL_0 routines from MON_1
;
proxy_M1_CHRIN:
jsr map_NORMAL
jsr CHRIN
bra proxy_M1_end
proxy_M1_CHROUT:
jsr map_NORMAL
jsr CHROUT
; FALLTROUGH
proxy_M1_jmpout_ret: ; reused by monitor
proxy_M1_end:
jmp map_MON_1
; Memory acccess routines
!addr Long__TMP = $64 ; has to be the same as Long_TMP in monitor
proxy_M1_memread:
jsr map_NORMAL
lda [Long__TMP], z
bra proxy_M1_end
proxy_M1_memwrite:
jsr map_NORMAL
sta [Long__TMP], z
bra proxy_M1_end
; JMP/JSR to user code
proxy_M1_jmpout:
plz ; ZR
ply ; YR
plx ; XR
pla ; BP
tab
pla ; AC
plp ; SR
jmp map_NORMAL