I'm not sure what the etticuite is on reviving dead threads, but I found this thread useful.
Grant Searle's version which is unified and cc65 ready was really easy to use, but with 1 problem.
Updated link:
http://searle.x10host.com/6502/Simple6502.htmlThere is a bug in the ctrl-c handling code which causes LIST/RUN commands to not work.
The ISCNTC always runs into STOP no matter what, so LIST/RUN just simple exits right away.
The original code here:
http://www.pagetable.com/?p=46does not have the bug.
The fix is to simply copy the code from the original source.
Here is a diff:
Code:
diff --git a/Microsoft Basic/osi_bas.s b/Microsoft Basic/osi_bas.s
index 0270d39..59cf91f 100644
--- a/Microsoft Basic/osi_bas.s
+++ b/Microsoft Basic/osi_bas.s
@@ -1289,14 +1289,23 @@ SETDA:
sta DATPTR
sty DATPTR+1
rts
+RET2:
+ rts
; ----------------------------------------------------------------------------
; SEE IF CONTROL-C TYPED
; ----------------------------------------------------------------------------
ISCNTC:
-; MODIFIED CALL BY G.SEARLE FROM THE ORIGINAL OSI CODE
- jsr MONISCNTC
-; runs into "STOP"
+ jsr MONISCNTC
+ nop
+ nop
+ nop
+ nop
+ lsr a
+ bcc RET2
+ jsr GETLN
+ cmp #$03
+;!!! *used*to* run into "STOP"
; ----------------------------------------------------------------------------
; "STOP" STATEMENT
; ----------------------------------------------------------------------------