mirror of
https://github.com/mist64/msbasic.git
synced 2024-06-25 22:29:30 +00:00
cleanup
This commit is contained in:
parent
3c270eded7
commit
ecdc58ddbb
|
@ -7,6 +7,7 @@ CBM_APPLE := 1
|
||||||
KIM_APPLE := 1
|
KIM_APPLE := 1
|
||||||
CONFIG_SCRTCH_ORDER := 1
|
CONFIG_SCRTCH_ORDER := 1
|
||||||
CONFIG_PRINT_CR := 1 ; print CR when line end reached
|
CONFIG_PRINT_CR := 1 ; print CR when line end reached
|
||||||
|
CONFIG_IO_MSB := 1 ; IO is 7 bit, MSB may be randomly set
|
||||||
; INPUTBUFFER > $0100
|
; INPUTBUFFER > $0100
|
||||||
|
|
||||||
ZP_START = $55
|
ZP_START = $55
|
||||||
|
|
|
@ -5,6 +5,9 @@ CBM1_APPLE := 1
|
||||||
CBM_APPLE := 1
|
CBM_APPLE := 1
|
||||||
CONFIG_DATAFLAG := 1
|
CONFIG_DATAFLAG := 1
|
||||||
CONFIG_BUG_GET_ERROR := 1; treat GET error like READ error
|
CONFIG_BUG_GET_ERROR := 1; treat GET error like READ error
|
||||||
|
CONFIG_PRINTNULLS := 1; whether PRINTNULLS does anything
|
||||||
|
; minor: just code order
|
||||||
|
CONFIG_INPUTBUFFER_ORDER := 1 ; ldx/ldy or ldy/ldx
|
||||||
.else
|
.else
|
||||||
CONFIG_CBM_ALL := 1
|
CONFIG_CBM_ALL := 1
|
||||||
CONFIG_11 := 1
|
CONFIG_11 := 1
|
||||||
|
@ -20,7 +23,7 @@ CONFIG_DATAFLAG := 1
|
||||||
|
|
||||||
; common:
|
; common:
|
||||||
CONFIG_FILE := 1; support PRINT#, INPUT#, GET#, CMD
|
CONFIG_FILE := 1; support PRINT#, INPUT#, GET#, CMD
|
||||||
|
CONFIG_NO_CR := 1; terminal doesn't need explicit CRs on line ends
|
||||||
|
|
||||||
.ifdef CBM1
|
.ifdef CBM1
|
||||||
ZP_START = $65
|
ZP_START = $65
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
CONFIG_SMALL := 1
|
CONFIG_SMALL := 1
|
||||||
CONFIG_SCRTCH_ORDER := 1
|
|
||||||
CONFIG_NULL := 1
|
CONFIG_NULL := 1
|
||||||
CONFIG_PRINT_CR := 1 ; print CR when line end reached
|
CONFIG_PRINT_CR := 1 ; print CR when line end reached
|
||||||
CONFIG_DATAFLAG := 1
|
CONFIG_DATAFLAG := 1
|
||||||
|
|
||||||
|
; minor: just code order
|
||||||
|
CONFIG_SCRTCH_ORDER := 1
|
||||||
|
|
||||||
ZP_START = $65
|
ZP_START = $65
|
||||||
|
|
||||||
JMPADRS = DSCLEN + 1
|
JMPADRS = DSCLEN + 1
|
||||||
|
|
2
init.s
2
init.s
|
@ -125,7 +125,7 @@ L4098:
|
||||||
sta Z03
|
sta Z03
|
||||||
.endif
|
.endif
|
||||||
sta LASTPT+1
|
sta LASTPT+1
|
||||||
.if .defined(CONFIG_NULL) || .defined(CBM1)
|
.if .defined(CONFIG_NULL) || .defined(CONFIG_PRINTNULLS)
|
||||||
sta Z15
|
sta Z15
|
||||||
.endif
|
.endif
|
||||||
.ifndef CONFIG_11
|
.ifndef CONFIG_11
|
||||||
|
|
69
input.s
69
input.s
|
@ -29,7 +29,7 @@ L2A67:
|
||||||
SYNERR4:
|
SYNERR4:
|
||||||
jmp SYNERR
|
jmp SYNERR
|
||||||
RESPERR:
|
RESPERR:
|
||||||
.ifdef CONFIG_CBM_ALL
|
.ifdef CONFIG_FILE
|
||||||
lda Z03
|
lda Z03
|
||||||
beq LCA8F
|
beq LCA8F
|
||||||
ldx #ERR_BADDATA
|
ldx #ERR_BADDATA
|
||||||
|
@ -43,7 +43,7 @@ LCA8F:
|
||||||
ldy OLDTEXT+1
|
ldy OLDTEXT+1
|
||||||
sta TXTPTR
|
sta TXTPTR
|
||||||
sty TXTPTR+1
|
sty TXTPTR+1
|
||||||
LE920:
|
RTS20:
|
||||||
rts
|
rts
|
||||||
|
|
||||||
; ----------------------------------------------------------------------------
|
; ----------------------------------------------------------------------------
|
||||||
|
@ -128,10 +128,8 @@ LCAF8:
|
||||||
.endif
|
.endif
|
||||||
.ifdef KBD
|
.ifdef KBD
|
||||||
bmi L2ABE
|
bmi L2ABE
|
||||||
.endif
|
.else
|
||||||
|
.ifdef CONFIG_FILE
|
||||||
.ifndef KBD
|
|
||||||
.ifdef CONFIG_FILE
|
|
||||||
lda Z03
|
lda Z03
|
||||||
beq LCB0C
|
beq LCB0C
|
||||||
lda Z96
|
lda Z96
|
||||||
|
@ -140,38 +138,41 @@ LCAF8:
|
||||||
jsr LCAD6
|
jsr LCAD6
|
||||||
jmp DATA
|
jmp DATA
|
||||||
LCB0C:
|
LCB0C:
|
||||||
.endif
|
.endif
|
||||||
lda INPUTBUFFER
|
lda INPUTBUFFER
|
||||||
bne L2ABE
|
bne L2ABE
|
||||||
.ifdef CONFIG_FILE
|
.ifdef CONFIG_FILE
|
||||||
lda Z03
|
lda Z03
|
||||||
bne LCAF8
|
bne LCAF8
|
||||||
.endif
|
.endif
|
||||||
.ifdef CONFIG_CBM1_PATCHES
|
.ifdef CONFIG_CBM1_PATCHES
|
||||||
jmp PATCH1
|
jmp PATCH1
|
||||||
.else
|
.else
|
||||||
clc
|
clc
|
||||||
jmp CONTROL_C_TYPED
|
jmp CONTROL_C_TYPED
|
||||||
.endif
|
.endif
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
NXIN:
|
NXIN:
|
||||||
.ifdef KBD
|
.ifdef KBD
|
||||||
jsr LFDDA
|
jsr LFDDA
|
||||||
bmi LE920
|
bmi RTS20
|
||||||
pla
|
pla
|
||||||
jmp LE86C
|
jmp LE86C
|
||||||
.endif
|
.else
|
||||||
.ifndef KBD
|
.ifdef CONFIG_FILE
|
||||||
.ifdef CONFIG_FILE
|
|
||||||
lda Z03
|
lda Z03
|
||||||
bne LCB21
|
bne LCB21
|
||||||
.endif
|
.endif
|
||||||
jsr OUTQUES
|
jsr OUTQUES ; '?'
|
||||||
jsr OUTSP
|
jsr OUTSP
|
||||||
LCB21:
|
LCB21:
|
||||||
jmp INLIN
|
jmp INLIN
|
||||||
.endif /* KBD */
|
.endif
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; "GETC" STATEMENT
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
.ifdef KBD
|
.ifdef KBD
|
||||||
GETC:
|
GETC:
|
||||||
jsr CONINT
|
jsr CONINT
|
||||||
|
@ -223,25 +224,25 @@ PROCESS_INPUT_ITEM:
|
||||||
jsr CHRGOT
|
jsr CHRGOT
|
||||||
bne INSTART
|
bne INSTART
|
||||||
bit INPUTFLG
|
bit INPUTFLG
|
||||||
.ifndef CONFIG_SMALL
|
.ifndef CONFIG_SMALL ; GET
|
||||||
bvc L2AF0
|
bvc L2AF0
|
||||||
jsr MONRDKEY
|
jsr MONRDKEY
|
||||||
.ifdef APPLE
|
.ifdef CONFIG_IO_MSB
|
||||||
and #$7F
|
and #$7F
|
||||||
.endif
|
.endif
|
||||||
sta INPUTBUFFER
|
sta INPUTBUFFER
|
||||||
.ifdef CBM1
|
.ifdef CONFIG_INPUTBUFFER_ORDER
|
||||||
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
|
||||||
bne L2AF8
|
bne L2AF8
|
||||||
L2AF0:
|
L2AF0:
|
||||||
.endif
|
.endif
|
||||||
bmi FINDATA
|
bmi FINDATA
|
||||||
.ifdef CONFIG_CBM_ALL
|
.ifdef CONFIG_FILE
|
||||||
lda Z03
|
lda Z03
|
||||||
bne LCB64
|
bne LCB64
|
||||||
.endif
|
.endif
|
||||||
|
@ -261,20 +262,20 @@ INSTART:
|
||||||
jsr CHRGET
|
jsr CHRGET
|
||||||
bit VALTYP
|
bit VALTYP
|
||||||
bpl L2B34
|
bpl L2B34
|
||||||
.ifndef CONFIG_SMALL
|
.ifndef CONFIG_SMALL ; GET
|
||||||
bit INPUTFLG
|
bit INPUTFLG
|
||||||
bvc L2B10
|
bvc L2B10
|
||||||
.ifdef CONFIG_CBM1_PATCHES
|
.ifdef CONFIG_CBM1_PATCHES
|
||||||
lda #$00
|
lda #$00
|
||||||
jsr PATCH4
|
jsr PATCH4
|
||||||
nop
|
nop
|
||||||
.else
|
.else
|
||||||
inx
|
inx
|
||||||
stx TXTPTR
|
stx TXTPTR
|
||||||
lda #$00
|
lda #$00
|
||||||
sta CHARAC
|
sta CHARAC
|
||||||
beq L2B1C
|
beq L2B1C
|
||||||
.endif
|
.endif
|
||||||
L2B10:
|
L2B10:
|
||||||
.endif
|
.endif
|
||||||
sta CHARAC
|
sta CHARAC
|
||||||
|
@ -359,17 +360,17 @@ INPDONE:
|
||||||
lda INPTR
|
lda INPTR
|
||||||
ldy INPTR+1
|
ldy INPTR+1
|
||||||
ldx INPUTFLG
|
ldx INPUTFLG
|
||||||
.ifdef OSI
|
.ifdef OSI ; CONFIG_SMALL && !CONFIG_11
|
||||||
beq L2B94
|
beq L2B94 ; INPUT
|
||||||
.else
|
.else
|
||||||
bpl L2B94
|
bpl L2B94; INPUT or GET
|
||||||
.endif
|
.endif
|
||||||
jmp SETDA
|
jmp SETDA
|
||||||
L2B94:
|
L2B94:
|
||||||
ldy #$00
|
ldy #$00
|
||||||
lda (INPTR),y
|
lda (INPTR),y
|
||||||
beq L2BA1
|
beq L2BA1
|
||||||
.ifdef CONFIG_CBM_ALL
|
.ifdef CONFIG_FILE
|
||||||
lda Z03
|
lda Z03
|
||||||
bne L2BA1
|
bne L2BA1
|
||||||
.endif
|
.endif
|
||||||
|
|
62
print.s
62
print.s
|
@ -16,10 +16,12 @@ PRINT2:
|
||||||
beq L29F5
|
beq L29F5
|
||||||
cmp #TOKEN_SPC
|
cmp #TOKEN_SPC
|
||||||
.ifdef CBM2_KBD
|
.ifdef CBM2_KBD
|
||||||
clc
|
clc ; also AppleSoft II
|
||||||
.endif
|
.endif
|
||||||
beq L29F5
|
beq L29F5
|
||||||
cmp #','
|
cmp #','
|
||||||
|
; Pre-KIM had no CLC. KIM added the CLC
|
||||||
|
; here. Post-KIM moved the CLC up...
|
||||||
.ifdef KIM
|
.ifdef KIM
|
||||||
clc
|
clc
|
||||||
.endif
|
.endif
|
||||||
|
@ -31,16 +33,16 @@ PRINT2:
|
||||||
bmi PRSTRING
|
bmi PRSTRING
|
||||||
jsr FOUT
|
jsr FOUT
|
||||||
jsr STRLIT
|
jsr STRLIT
|
||||||
.ifndef CONFIG_CBM_ALL
|
.ifndef CONFIG_NO_CR
|
||||||
ldy #$00
|
ldy #$00
|
||||||
lda (FAC_LAST-1),y
|
lda (FAC_LAST-1),y
|
||||||
clc
|
clc
|
||||||
adc Z16
|
adc Z16
|
||||||
.ifdef KBD
|
.ifdef KBD
|
||||||
cmp #$28
|
cmp #$28
|
||||||
.else
|
.else
|
||||||
cmp Z17
|
cmp Z17
|
||||||
.endif
|
.endif
|
||||||
bcc L29B1
|
bcc L29B1
|
||||||
jsr CRDO
|
jsr CRDO
|
||||||
L29B1:
|
L29B1:
|
||||||
|
@ -48,6 +50,8 @@ L29B1:
|
||||||
jsr STRPRT
|
jsr STRPRT
|
||||||
.ifdef KBD
|
.ifdef KBD
|
||||||
jmp L297E
|
jmp L297E
|
||||||
|
|
||||||
|
; PATCHES
|
||||||
LE86C:
|
LE86C:
|
||||||
pla
|
pla
|
||||||
jmp CONTROL_C_TYPED
|
jmp CONTROL_C_TYPED
|
||||||
|
@ -74,47 +78,53 @@ PRINTNULLS:
|
||||||
jsr OUTSP
|
jsr OUTSP
|
||||||
bne L297E
|
bne L297E
|
||||||
L29B9:
|
L29B9:
|
||||||
.ifdef CBM2
|
.ifdef CBM2
|
||||||
lda #$00
|
lda #$00
|
||||||
sta INPUTBUFFER,x
|
sta INPUTBUFFER,x
|
||||||
ldx #<(INPUTBUFFER-1)
|
ldx #<(INPUTBUFFER-1)
|
||||||
ldy #>(INPUTBUFFER-1)
|
ldy #>(INPUTBUFFER-1)
|
||||||
.else
|
.else
|
||||||
.ifndef APPLE
|
.ifndef APPLE
|
||||||
ldy #$00
|
ldy #$00
|
||||||
sty INPUTBUFFER,x
|
sty INPUTBUFFER,x
|
||||||
ldx #LINNUM+1
|
ldx #LINNUM+1
|
||||||
.endif
|
.endif
|
||||||
.endif
|
.endif
|
||||||
.ifdef CONFIG_CBM_ALL
|
.ifdef CONFIG_CBM_ALL
|
||||||
lda Z03
|
lda Z03
|
||||||
bne L29DD
|
bne L29DD
|
||||||
LC9D2:
|
LC9D2:
|
||||||
.endif
|
.endif
|
||||||
CRDO:
|
CRDO:
|
||||||
.ifdef CBM1
|
.ifdef CBM1
|
||||||
lda Z03
|
lda Z03
|
||||||
bne LC9D8
|
bne LC9D8
|
||||||
sta $05
|
sta $05
|
||||||
LC9D8:
|
LC9D8:
|
||||||
.endif
|
.endif
|
||||||
lda #$0D
|
lda #$0D
|
||||||
.ifndef CONFIG_CBM_ALL
|
.ifndef CONFIG_CBM_ALL
|
||||||
sta Z16
|
sta Z16
|
||||||
.endif
|
.endif
|
||||||
jsr OUTDO
|
jsr OUTDO
|
||||||
.ifdef APPLE
|
.ifdef APPLE
|
||||||
lda #$80
|
lda #$80
|
||||||
.else
|
.else
|
||||||
lda #$0A
|
lda #$0A
|
||||||
.endif
|
.endif
|
||||||
jsr OUTDO
|
jsr OUTDO
|
||||||
|
.endif
|
||||||
|
.ifndef KBD
|
||||||
PRINTNULLS:
|
PRINTNULLS:
|
||||||
.ifdef CBM1
|
.if .def(CONFIG_NULL) || .def(CONFIG_PRINTNULLS)
|
||||||
|
.ifdef CONFIG_FILE
|
||||||
|
; Although there is no statement for it,
|
||||||
|
; CBM1 had NULL support and ignores
|
||||||
|
; it when not targeting the screem,
|
||||||
|
; CBM2 dropped it completely.
|
||||||
lda Z03
|
lda Z03
|
||||||
bne L29DD
|
bne L29DD
|
||||||
.endif
|
.endif
|
||||||
.if .def(CONFIG_NULL) || .def(CBM1)
|
|
||||||
txa
|
txa
|
||||||
pha
|
pha
|
||||||
ldx Z15
|
ldx Z15
|
||||||
|
@ -128,13 +138,13 @@ L29D9:
|
||||||
stx Z16
|
stx Z16
|
||||||
pla
|
pla
|
||||||
tax
|
tax
|
||||||
.else
|
.else
|
||||||
.ifdef APPLE
|
.ifdef APPLE
|
||||||
lda #$00
|
lda #$00
|
||||||
sta $50
|
sta $50
|
||||||
.endif
|
.endif
|
||||||
eor #$FF
|
eor #$FF
|
||||||
.endif
|
.endif
|
||||||
.endif
|
.endif
|
||||||
L29DD:
|
L29DD:
|
||||||
rts
|
rts
|
||||||
|
|
6
token.s
6
token.s
|
@ -4,7 +4,7 @@
|
||||||
keyword_rts "FOR", FOR
|
keyword_rts "FOR", FOR
|
||||||
keyword_rts "NEXT", NEXT
|
keyword_rts "NEXT", NEXT
|
||||||
keyword_rts "DATA", DATA
|
keyword_rts "DATA", DATA
|
||||||
.ifdef CONFIG_CBM_ALL
|
.ifdef CONFIG_FILE
|
||||||
keyword_rts "INPUT#", INPUTH
|
keyword_rts "INPUT#", INPUTH
|
||||||
.endif
|
.endif
|
||||||
keyword_rts "INPUT", INPUT
|
keyword_rts "INPUT", INPUT
|
||||||
|
@ -50,7 +50,7 @@
|
||||||
.else
|
.else
|
||||||
keyword_rts "POKE", POKE
|
keyword_rts "POKE", POKE
|
||||||
.endif
|
.endif
|
||||||
.ifdef CONFIG_CBM_ALL
|
.ifdef CONFIG_FILE
|
||||||
keyword_rts "PRINT#", PRINTH
|
keyword_rts "PRINT#", PRINTH
|
||||||
.endif
|
.endif
|
||||||
keyword_rts "PRINT", PRINT, TOKEN_PRINT
|
keyword_rts "PRINT", PRINT, TOKEN_PRINT
|
||||||
|
@ -61,7 +61,7 @@
|
||||||
.else
|
.else
|
||||||
keyword_rts "CLEAR", CLEAR
|
keyword_rts "CLEAR", CLEAR
|
||||||
.endif
|
.endif
|
||||||
.ifdef CONFIG_CBM_ALL
|
.ifdef CONFIG_FILE
|
||||||
keyword_rts "CMD", CMD
|
keyword_rts "CMD", CMD
|
||||||
keyword_rts "SYS", SYS
|
keyword_rts "SYS", SYS
|
||||||
keyword_rts "OPEN", OPEN
|
keyword_rts "OPEN", OPEN
|
||||||
|
|
Loading…
Reference in New Issue
Block a user