added some basic proxies for monitor
This commit is contained in:
1 parent
73dee0acba
commit
2b650148f1
6 files changed
+58
-4
No files matched your search
@@ -0,0 +1,24 @@
|
|||||||
|
;; #LAYOUT# M65 KERNAL_0 #TAKE
|
||||||
|
;; #LAYOUT# * * #IGNORE
|
||||||
|
|
||||||
|
;
|
||||||
|
; Proxies for calling MEGA65 segment KERNAL_0 routines from KERNAL_1
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
proxy_M1_CHRIN:
|
||||||
|
|
||||||
|
jsr map_NORMAL
|
||||||
|
jsr CHRIN
|
||||||
|
bra proxy_M1_end
|
||||||
|
|
||||||
|
proxy_M1_CHROUT:
|
||||||
|
|
||||||
|
jsr map_NORMAL
|
||||||
|
jsr CHROUT
|
||||||
|
|
||||||
|
; FALLTROUGH
|
||||||
|
|
||||||
|
proxy_M1_end:
|
||||||
|
|
||||||
|
jmp map_MON_1
|
||||||
File renamed without changes.
@@ -0,0 +1,8 @@
|
|||||||
|
;; #IMPORT# KERNAL_0 = KERNAL_0_combined.sym
|
||||||
|
|
||||||
|
;
|
||||||
|
; Definitions for calling MEGA65 segment KERNAL_0 routines from MON_1
|
||||||
|
;
|
||||||
|
|
||||||
|
;; #ALIAS# CHRIN = KERNAL_0.proxy_M1_CHRIN
|
||||||
|
;; #ALIAS# CHROUT = KERNAL_0.proxy_M1_CHROUT
|
||||||
@@ -3,7 +3,6 @@
|
|||||||
|
|
||||||
!ifdef CONFIG_DEV_BSMON {
|
!ifdef CONFIG_DEV_BSMON {
|
||||||
|
|
||||||
!word xtest
|
|
||||||
!word Mon_Call
|
!word Mon_Call
|
||||||
!word Mon_Break
|
!word Mon_Break
|
||||||
!word Mon_Switch
|
!word Mon_Switch
|
||||||
|
|||||||
@@ -83,7 +83,6 @@
|
|||||||
!addr EXIT_OLD = $cf2e ; exit address for ROM 910110
|
!addr EXIT_OLD = $cf2e ; exit address for ROM 910110
|
||||||
!addr EXIT = $cfa4 ; exit address for ROM 911001
|
!addr EXIT = $cfa4 ; exit address for ROM 911001
|
||||||
|
|
||||||
!addr PRIMM = $ff7d
|
|
||||||
!addr CINT = $ff81
|
!addr CINT = $ff81
|
||||||
!addr SETMSG = $ff90
|
!addr SETMSG = $ff90
|
||||||
!addr SECOND = $ff93
|
!addr SECOND = $ff93
|
||||||
@@ -96,8 +95,6 @@
|
|||||||
!addr TALK = $ffb4
|
!addr TALK = $ffb4
|
||||||
!addr OPEN = $ffc0
|
!addr OPEN = $ffc0
|
||||||
!addr CLOSE = $ffc3
|
!addr CLOSE = $ffc3
|
||||||
!addr CHRIN = $ffcf
|
|
||||||
!addr CHROUT = $ffd2
|
|
||||||
!addr STOP = $ffe1
|
!addr STOP = $ffe1
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
; 'Print immediate', original implementation by Mike Barry, adapted to 65CE02
|
||||||
|
; see http://www.6502.org/source/io/primm.htm
|
||||||
|
|
||||||
|
PRIMM:
|
||||||
|
|
||||||
|
pla ; get low part of (string address-1)
|
||||||
|
sta PTR1
|
||||||
|
pla ; get high part of (string address-1)
|
||||||
|
sta PTR2
|
||||||
|
+bra @2
|
||||||
|
@1:
|
||||||
|
jsr CHROUT ; output a string char
|
||||||
|
@2:
|
||||||
|
inc PTR1 ; advance the string pointer
|
||||||
|
bne @3
|
||||||
|
inc PTR2
|
||||||
|
@3:
|
||||||
|
ldy #$00
|
||||||
|
lda (PTR1), y ; get string char
|
||||||
|
bne @1 ; output and continue if not NUL
|
||||||
|
lda PTR2
|
||||||
|
pha
|
||||||
|
lda PTR1
|
||||||
|
pha
|
||||||
|
|
||||||
|
rts
|
||||||
Reference in new issue
Block a user