diff --git a/defines_apple.s b/defines_apple.s index 856a67c..6da5819 100644 --- a/defines_apple.s +++ b/defines_apple.s @@ -1,5 +1,3 @@ -; http://apple2.org.za/gswv/a2zine/GS.WorldView/Resources/GS.TECH.INFO/AppleSoft/ - ; configuration CONFIG_11 := 1 diff --git a/flow2.s b/flow2.s index 5ba8bea..544c149 100644 --- a/flow2.s +++ b/flow2.s @@ -79,7 +79,7 @@ L281E: POP: bne L281E lda #$FF -.ifdef CONFIG_2 +.ifdef CONFIG_2A sta FORPNT+1 ; bugfix, wrong in AppleSoft II .else sta FORPNT diff --git a/input.s b/input.s index 4c3b709..ed52b07 100644 --- a/input.s +++ b/input.s @@ -245,8 +245,8 @@ PROCESS_INPUT_ITEM: ; code had ldx/ldy/bne here, which was only ; correct for a non-ZP INPUTBUFFER. Commodore ; fixed it in CBMBASIC V1 by swapping the -; ldx and the ldy. It was broken on KIM -; and okay on APPLE and CBM2, because +; ldx and the ldy. It was broken on KIM, +; but okay on APPLE and CBM2, because ; these used a non-ZP INPUTBUFFER. ; Microsoft fixed this somewhere after KIM ; and before MICROTAN, by using beq instead diff --git a/microtan_extra.s b/microtan_extra.s index 039efff..368da6e 100644 --- a/microtan_extra.s +++ b/microtan_extra.s @@ -891,7 +891,7 @@ LE793: sta $16 ldx #$06 LE7B1: - lda LE7DC,x + lda LE7DC,x ; "PARITY" jsr LFE75 dex bpl LE7B1 diff --git a/msbasic.s b/msbasic.s index a0e9704..cd0a04b 100644 --- a/msbasic.s +++ b/msbasic.s @@ -18,7 +18,7 @@ ; KIM BASIC 1977 1.1 N Y ZP - CONFIG_11A ; AppleSoft II 1978 Y Y $0200 Apple CONFIG_2 ; Commodore BASIC 2 1979 Y Y $0200 CBM CONFIG_2A -; KBD BASIC 1980 Y N $0700 KBD CONFIG_2B +; KBD BASIC 1982 Y N $0700 KBD CONFIG_2B ; MicroTAN 1980 Y Y ZP - CONFIG_2C ; ; (Note that this assembly source cannot (yet) build AppleSoft II.) @@ -36,7 +36,7 @@ ; CONFIG_CBM1_PATCHES jump out into CBM1's binary patches instead of doing the right thing inline ; CONFIG_CBM_ALL add all Commodore-specific additions except file I/O ; CONFIG_DATAFLG ? -; CONFIG_EASTER_EGG include the CBM2 "MICROSOFT!" easter egg +; CONFIG_EASTER_EGG include the CBM2 "WAIT 6502" easter egg ; CONFIG_FILE support Commodore PRINT#, INPUT#, GET#, CMD ; CONFIG_IO_MSB all I/O has bit #7 set ; CONFIG_MONCOUT_DESTROYS_Y Y needs to be preserved when calling MONCOUT diff --git a/print.s b/print.s index 7da6eeb..864e52c 100644 --- a/print.s +++ b/print.s @@ -22,6 +22,7 @@ PRINT2: cmp #',' ; Pre-KIM had no CLC. KIM added the CLC ; here. Post-KIM moved the CLC up... +; (makes no sense on KIM, liveness = 0) .if .def(CONFIG_11A) && (!.def(CONFIG_2)) clc .endif diff --git a/program.s b/program.s index e502f87..802c6fc 100644 --- a/program.s +++ b/program.s @@ -281,9 +281,7 @@ L23FA: .ifdef CONFIG_2 beq RET3 .else - bne L2403 - jmp L2351 -L2403: + jeq L2351 .endif ldy #$04 L2405: @@ -701,7 +699,7 @@ L25A6X: lda (LOWTRX),y beq L25E5 .ifdef MICROTAN - jmp LE21F ; C5A6 4C 1F E2 L.. + jmp LE21F LC5A9: .else jsr ISCNTC