added PRIMM implementation for easier debugging
This commit is contained in:
1 parent
17ecb018af
commit
94d0d2176f
6 files changed
+59
-2
No files matched your search
@@ -0,0 +1,11 @@
|
||||
;; #LAYOUT# M65 KERNAL_0 #TAKE
|
||||
;; #LAYOUT# * * #IGNORE
|
||||
|
||||
|
||||
; 'Print immediate' - useful debug routine, present on many CBM machines
|
||||
; see https://www.pagetable.com/?p=926
|
||||
|
||||
|
||||
JPRIMM:
|
||||
|
||||
jmp PRIMM
|
||||
@@ -0,0 +1,31 @@
|
||||
;; #LAYOUT# M65 KERNAL_0 #TAKE
|
||||
;; #LAYOUT# * * #IGNORE
|
||||
|
||||
|
||||
; '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 JCHROUT ; 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