diff --git a/defines_kbd.s b/defines_kbd.s index 6f76ca2..10264ab 100644 --- a/defines_kbd.s +++ b/defines_kbd.s @@ -6,6 +6,7 @@ CONFIG_11 := 1 CONFIG_11A := 1 CONFIG_SAFE_NAMENOTFOUND := 1 ; INPUTBUFFER > $0100 +CONFIG_NO_POKE := 1 CRLF_1 := $0A CRLF_2 := $0D diff --git a/misc3.s b/misc3.s index e7e2d62..183a723 100644 --- a/misc3.s +++ b/misc3.s @@ -65,44 +65,4 @@ LF472: bcc LF45B LF47D: jmp (JMPADRS+1) -.else - -; ---------------------------------------------------------------------------- -; EVALUATE "EXP1,EXP2" -; -; CONVERT EXP1 TO 16-BIT NUMBER IN LINNUM -; CONVERT EXP2 TO 8-BIT NUMBER IN X-REG -; ---------------------------------------------------------------------------- -GTNUM: - jsr FRMNUM - jsr GETADR - -; ---------------------------------------------------------------------------- -; EVALUATE ",EXPRESSION" -; CONVERT EXPRESSION TO SINGLE BYTE IN X-REG -; ---------------------------------------------------------------------------- -COMBYTE: - jsr CHKCOM - jmp GETBYT - -; ---------------------------------------------------------------------------- -; CONVERT (FAC) TO A 16-BIT VALUE IN LINNUM -; ---------------------------------------------------------------------------- -GETADR: - lda FACSIGN -.ifdef APPLE - nop - nop -.else - bmi GOIQ .endif - lda FAC - cmp #$91 - bcs GOIQ - jsr QINT - lda FAC_LAST-1 - ldy FAC_LAST - sty LINNUM - sta LINNUM+1 - rts -.endif \ No newline at end of file diff --git a/poke.s b/poke.s index d4ebd4d..96f22f6 100644 --- a/poke.s +++ b/poke.s @@ -1,6 +1,45 @@ .segment "CODE" -.ifndef KBD +.ifndef CONFIG_NO_POKE +; ---------------------------------------------------------------------------- +; EVALUATE "EXP1,EXP2" +; +; CONVERT EXP1 TO 16-BIT NUMBER IN LINNUM +; CONVERT EXP2 TO 8-BIT NUMBER IN X-REG +; ---------------------------------------------------------------------------- +GTNUM: + jsr FRMNUM + jsr GETADR + +; ---------------------------------------------------------------------------- +; EVALUATE ",EXPRESSION" +; CONVERT EXPRESSION TO SINGLE BYTE IN X-REG +; ---------------------------------------------------------------------------- +COMBYTE: + jsr CHKCOM + jmp GETBYT + +; ---------------------------------------------------------------------------- +; CONVERT (FAC) TO A 16-BIT VALUE IN LINNUM +; ---------------------------------------------------------------------------- +GETADR: + lda FACSIGN + .ifdef APPLE + nop ; PATCH + nop + .else + bmi GOIQ + .endif + lda FAC + cmp #$91 + bcs GOIQ + jsr QINT + lda FAC_LAST-1 + ldy FAC_LAST + sty LINNUM + sta LINNUM+1 + rts + ; ---------------------------------------------------------------------------- ; "PEEK" FUNCTION ; ---------------------------------------------------------------------------- diff --git a/token.s b/token.s index 969bba7..e1eda79 100644 --- a/token.s +++ b/token.s @@ -36,8 +36,11 @@ keyword_rts "PSAV", PSAV keyword_rts "VLOD", VLOD keyword_rts "VSAV", VSAV -.else +.endif +.ifndef CONFIG_NO_POKE keyword_rts "WAIT", WAIT +.endif +.ifndef KBD keyword_rts "LOAD", LOAD keyword_rts "SAVE", SAVE .endif @@ -47,7 +50,8 @@ keyword_rts "DEF", DEF .ifdef KBD keyword_rts "SLOD", SLOD -.else +.endif +.ifndef CONFIG_NO_POKE keyword_rts "POKE", POKE .endif .ifdef CONFIG_FILE @@ -126,7 +130,8 @@ UNFNC: keyword_addr "ATN", ATN .ifdef KBD keyword_addr "GETC", GETC -.else +.endif +.ifndef CONFIG_NO_POKE keyword_addr "PEEK", PEEK .endif keyword_addr "LEN", LEN