[Coco] Color BASIC BREAK CHECK RAM hook ($17c)
    Allen Huffman 
    alsplace at pobox.com
       
    Sat Jun 18 20:34:49 EDT 2022
    
    
  
Continuing … a simple test program on JSR and using LEAS $02,S to skip back.
* lwasm jsrtest.asm -fbasic -ojsrtest.bas --map
    org $3f00
init
    ldx #startmsg
    jsr print
    jsr breakcheck
    ldx #endmsg
    jsr print
    rts
breakcheck jsr newcode
    ldx #breakmsg
    jsr print
    rts
newcode ldx #newcodemsg
    bsr print
    leas $02,s  **HERE***
    rts
print lda ,x+
    beq printdone
    jsr [$a002]
    bra print
printdone
    rts
startmsg fcc "START"
    fcb 13,0
breakmsg fcc "BREAK CHECK"
    fcb 13,0
newcodemsg fcc "NEW CODE"
    fcb 13,0
endmsg fcc "END"
    fcb 13,0
If I start with the LEAS $02,S commented out, it runs like the BASIC ROMs do with the RAM hooks:
START
NEW CODE
BREAK CHECK
END
If I have the LEAS $02, S in NEWCODE, I see what I am trying to get:
START
NEW CODE
END
But in my “new code” using the RAM Hook, I see it execute mine, and I do the LEAS $02,S, and it still returns to complete the BREAK CHECK code.
I don’t see anything else getting put on the stack — just a few instructions from there to here — but maybe it’s there and I just don’t see it.
		— Allen
    
    
More information about the Coco
mailing list