mirror of
https://github.com/mist64/msbasic.git
synced 2025-01-02 07:29:47 +00:00
cleanup
This commit is contained in:
parent
8000398d19
commit
19e6867e20
18
NOTES.txt
18
NOTES.txt
@ -1,9 +1,9 @@
|
|||||||
Name Release MS Version ROM 9digit extensions comment
|
Name Release MS Version ROM 9digit INPUTBUFFER extensions comment
|
||||||
Commodore BASIC 1 1977 Y Y CBM
|
Commodore BASIC 1 1977 Y Y ZP CBM
|
||||||
OSI BASIC 1977 1.0 REV 3.2 Y N -
|
OSI BASIC 1977 1.0 REV 3.2 Y N ZP - CONFIG_10A
|
||||||
AppleSoft I 1977 1.1 N Y Apple CONFIG_11
|
AppleSoft I 1977 1.1 N Y $0200 Apple CONFIG_11
|
||||||
KIM BASIC 1977 1.1 N Y - CONFIG_11A
|
KIM BASIC 1977 1.1 N Y ZP - CONFIG_11A
|
||||||
AppleSoft II 1978 Y Y Apple CONFIG_2
|
AppleSoft II 1978 Y Y $0200 Apple CONFIG_2
|
||||||
Commodore BASIC 2 1979 Y Y CBM CONFIG_2A
|
Commodore BASIC 2 1979 Y Y $0200 CBM CONFIG_2A
|
||||||
KBD BASIC 1980 Y N KBD CONFIG_2B
|
KBD BASIC 1980 Y N $0700 KBD CONFIG_2B
|
||||||
MicroTAN 1979 Y Y -
|
MicroTAN 1979 Y Y ZP - CONFIG_2C
|
||||||
|
4
array.s
4
array.s
@ -21,8 +21,8 @@ L2FAF:
|
|||||||
NEG32768:
|
NEG32768:
|
||||||
.byte $90,$80,$00,$00
|
.byte $90,$80,$00,$00
|
||||||
|
|
||||||
.ifdef MICROTAN
|
.ifdef CONFIG_2C
|
||||||
.byte 0
|
.byte $00; bugfix: short number
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
; ----------------------------------------------------------------------------
|
; ----------------------------------------------------------------------------
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
; http://apple2.org.za/gswv/a2zine/GS.WorldView/Resources/GS.TECH.INFO/AppleSoft/
|
; http://apple2.org.za/gswv/a2zine/GS.WorldView/Resources/GS.TECH.INFO/AppleSoft/
|
||||||
|
|
||||||
; configuration
|
; configuration
|
||||||
|
CONFIG_10A := 1
|
||||||
CONFIG_11 := 1
|
CONFIG_11 := 1
|
||||||
CONFIG_IO_MSB := 1 ; all I/O has bit #7 set
|
CONFIG_IO_MSB := 1 ; all I/O has bit #7 set
|
||||||
CONFIG_PRINT_CR := 1 ; print CR when line end reached
|
CONFIG_PRINT_CR := 1 ; print CR when line end reached
|
||||||
|
@ -11,10 +11,10 @@ CONFIG_SCRTCH_ORDER := 2
|
|||||||
CONFIG_BUG_GET_ERROR := 1; treat GET error like READ error
|
CONFIG_BUG_GET_ERROR := 1; treat GET error like READ error
|
||||||
CONFIG_CBM1_PATCHES := 1 ; ** don't turn off! **
|
CONFIG_CBM1_PATCHES := 1 ; ** don't turn off! **
|
||||||
CONFIG_DATAFLAG := 1
|
CONFIG_DATAFLAG := 1
|
||||||
CONFIG_INPUTBUFFER_ORDER := 1 ; ldx/ldy or ldy/ldx
|
|
||||||
CONFIG_PRINTNULLS := 1; whether PRINTNULLS does anything
|
CONFIG_PRINTNULLS := 1; whether PRINTNULLS does anything
|
||||||
CONFIG_SPC_IS_CRSR_RIGHT := 1; always print CRSR RIGHT for SPC() (otherwise only for screen output)
|
CONFIG_SPC_IS_CRSR_RIGHT := 1; always print CRSR RIGHT for SPC() (otherwise only for screen output)
|
||||||
.else
|
.else
|
||||||
|
CONFIG_10A := 1
|
||||||
CONFIG_11 := 1
|
CONFIG_11 := 1
|
||||||
CONFIG_11A := 1
|
CONFIG_11A := 1
|
||||||
CONFIG_2 := 1
|
CONFIG_2 := 1
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
; configuration
|
; configuration
|
||||||
|
CONFIG_10A := 1
|
||||||
CONFIG_11 := 1
|
CONFIG_11 := 1
|
||||||
CONFIG_11A := 1
|
CONFIG_11A := 1
|
||||||
CONFIG_2 := 1
|
CONFIG_2 := 1
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
; configuration
|
; configuration
|
||||||
|
CONFIG_10A := 1
|
||||||
CONFIG_11 := 1
|
CONFIG_11 := 1
|
||||||
CONFIG_11A := 1
|
CONFIG_11A := 1
|
||||||
|
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
; configuration
|
; configuration
|
||||||
|
CONFIG_10A := 1
|
||||||
CONFIG_11 := 1
|
CONFIG_11 := 1
|
||||||
CONFIG_11A := 1
|
CONFIG_11A := 1
|
||||||
CONFIG_2 := 1
|
CONFIG_2 := 1
|
||||||
CONFIG_2A := 1
|
CONFIG_2A := 1
|
||||||
CONFIG_2B := 1
|
CONFIG_2B := 1
|
||||||
|
CONFIG_2C := 1
|
||||||
|
|
||||||
CONFIG_NULL := 1
|
CONFIG_NULL := 1
|
||||||
CONFIG_MONCOUT_DESTROYS_Y := 1
|
CONFIG_MONCOUT_DESTROYS_Y := 1
|
||||||
|
28
input.s
28
input.s
@ -236,19 +236,35 @@ PROCESS_INPUT_ITEM:
|
|||||||
and #$7F
|
and #$7F
|
||||||
.endif
|
.endif
|
||||||
sta INPUTBUFFER
|
sta INPUTBUFFER
|
||||||
.ifdef CONFIG_INPUTBUFFER_ORDER
|
; BUG: The beq/bne L2AF8 below is supposed
|
||||||
; the order is about whether
|
; to be always taken. For this to happen,
|
||||||
; the beq/bne is taken or not
|
; the last load must be a 0 for beq
|
||||||
|
; and != 0 for bne. The original Microsoft
|
||||||
|
; 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 OSI and
|
||||||
|
; KIM, and 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
|
||||||
|
; of bne in the ZP case.
|
||||||
|
.ifdef CBM1
|
||||||
ldy #>(INPUTBUFFER-1)
|
ldy #>(INPUTBUFFER-1)
|
||||||
ldx #<(INPUTBUFFER-1)
|
ldx #<(INPUTBUFFER-1)
|
||||||
.else
|
.else
|
||||||
ldx #<(INPUTBUFFER-1)
|
ldx #<(INPUTBUFFER-1)
|
||||||
ldy #>(INPUTBUFFER-1)
|
ldy #>(INPUTBUFFER-1)
|
||||||
.endif
|
.endif
|
||||||
.ifdef MICROTAN
|
.ifndef CONFIG_NO_INPUTBUFFER_ZP
|
||||||
beq L2AF8
|
.ifdef CONFIG_2
|
||||||
|
__BEQ = 1
|
||||||
|
.endif
|
||||||
|
.endif
|
||||||
|
.ifdef __BEQ
|
||||||
|
beq L2AF8 ; always
|
||||||
.else
|
.else
|
||||||
bne L2AF8
|
bne L2AF8 ; always
|
||||||
.endif
|
.endif
|
||||||
L2AF0:
|
L2AF0:
|
||||||
.endif
|
.endif
|
||||||
|
Loading…
Reference in New Issue
Block a user