mirror of https://github.com/mist64/msbasic.git
cleanup
This commit is contained in:
parent
fa5b615f84
commit
453fef0e3a
|
@ -95,7 +95,7 @@ USR_FUNC:
|
||||||
sta FAC+5
|
sta FAC+5
|
||||||
jmp (FAC+4)
|
jmp (FAC+4)
|
||||||
L29DA:
|
L29DA:
|
||||||
jmp (GOSTROUT)
|
jmp (GOAYINT)
|
||||||
brk
|
brk
|
||||||
brk
|
brk
|
||||||
brk
|
brk
|
||||||
|
|
|
@ -24,7 +24,7 @@ LOWTRX = LOWTR
|
||||||
Z00 := $0000
|
Z00 := $0000
|
||||||
L0001 := $000B
|
L0001 := $000B
|
||||||
GOWARM := $0003
|
GOWARM := $0003
|
||||||
GOSTROUT := $0006
|
GOAYINT := $0006
|
||||||
GOGIVEAYF := $0008
|
GOGIVEAYF := $0008
|
||||||
|
|
||||||
USR := $000A
|
USR := $000A
|
||||||
|
|
|
@ -46,7 +46,7 @@ L0001 := $0001
|
||||||
L0002 := $0002
|
L0002 := $0002
|
||||||
GOWARM := $0003
|
GOWARM := $0003
|
||||||
Z03 := $0003 ; same
|
Z03 := $0003 ; same
|
||||||
GOSTROUT := $0006
|
GOAYINT := $0006
|
||||||
GOGIVEAYF := $0008
|
GOGIVEAYF := $0008
|
||||||
|
|
||||||
Z15 := $0004
|
Z15 := $0004
|
||||||
|
@ -93,7 +93,7 @@ CPRMASK := $0063-82-5
|
||||||
Z14 := $0064-82-5 ; Ctrl+O flag
|
Z14 := $0064-82-5 ; Ctrl+O flag
|
||||||
|
|
||||||
Z17 := $0006
|
Z17 := $0006
|
||||||
GOSTROUT := $0006
|
GOAYINT := $0006
|
||||||
Z18 := $0007
|
Z18 := $0007
|
||||||
GOGIVEAYF := $0008
|
GOGIVEAYF := $0008
|
||||||
Z03 := $000E;3 ; same
|
Z03 := $000E;3 ; same
|
||||||
|
|
|
@ -19,7 +19,7 @@ Z00 := $0700
|
||||||
L0001 := $0001
|
L0001 := $0001
|
||||||
L0002 := $0002
|
L0002 := $0002
|
||||||
GOWARM := $0003
|
GOWARM := $0003
|
||||||
GOSTROUT := $0006
|
GOAYINT := $0006
|
||||||
GOGIVEAYF := $0008
|
GOGIVEAYF := $0008
|
||||||
|
|
||||||
USR := $000A
|
USR := $000A
|
||||||
|
|
|
@ -21,7 +21,7 @@ Z00 := $0000
|
||||||
L0001 := $0001
|
L0001 := $0001
|
||||||
L0002 := $0002
|
L0002 := $0002
|
||||||
GOWARM := $0003
|
GOWARM := $0003
|
||||||
GOSTROUT := $0006
|
GOAYINT := $0006
|
||||||
GOGIVEAYF := $0008
|
GOGIVEAYF := $0008
|
||||||
|
|
||||||
CHARAC := $000A
|
CHARAC := $000A
|
||||||
|
|
|
@ -27,7 +27,7 @@ Z00 := $0017
|
||||||
L0001 := $0001
|
L0001 := $0001
|
||||||
L0002 := $0002
|
L0002 := $0002
|
||||||
GOWARM := $001A
|
GOWARM := $001A
|
||||||
GOSTROUT := $001D
|
GOAYINT := $001D
|
||||||
GOGIVEAYF := $001F
|
GOGIVEAYF := $001F
|
||||||
|
|
||||||
CHARAC := $000A+$1A
|
CHARAC := $000A+$1A
|
||||||
|
@ -55,7 +55,7 @@ MONCOUT := $E216
|
||||||
|
|
||||||
STACK_TOP := $FE
|
STACK_TOP := $FE
|
||||||
SPACE_FOR_GOSUB := $3E
|
SPACE_FOR_GOSUB := $3E
|
||||||
NULL_MAX := $F0 ; probably different in original version; the image I have seems to be modified; see PDF
|
NULL_MAX := $F0
|
||||||
|
|
||||||
|
|
||||||
RAMSTART2 := $0400
|
RAMSTART2 := $0400
|
||||||
|
|
|
@ -17,7 +17,7 @@ Z00 := $0000
|
||||||
L0001 := $0001
|
L0001 := $0001
|
||||||
L0002 := $0002
|
L0002 := $0002
|
||||||
GOWARM := $0003
|
GOWARM := $0003
|
||||||
GOSTROUT := $0006
|
GOAYINT := $0006
|
||||||
GOGIVEAYF := $0008
|
GOGIVEAYF := $0008
|
||||||
|
|
||||||
USR := $000A
|
USR := $000A
|
||||||
|
|
7
error.s
7
error.s
|
@ -36,11 +36,12 @@ define_error ERR_ZERODIV, "DIVISION BY ZERO"
|
||||||
define_error ERR_ILLDIR, "ILLEGAL DIRECT"
|
define_error ERR_ILLDIR, "ILLEGAL DIRECT"
|
||||||
define_error ERR_BADTYPE, "TYPE MISMATCH"
|
define_error ERR_BADTYPE, "TYPE MISMATCH"
|
||||||
define_error ERR_STRLONG, "STRING TOO LONG"
|
define_error ERR_STRLONG, "STRING TOO LONG"
|
||||||
.ifdef CBM1
|
.ifdef CONFIG_FILE
|
||||||
|
.ifdef CBM1
|
||||||
define_error ERR_BADDATA, "BAD DATA"
|
define_error ERR_BADDATA, "BAD DATA"
|
||||||
.endif
|
.else
|
||||||
.ifdef CBM2
|
|
||||||
define_error ERR_BADDATA, "FILE DATA"
|
define_error ERR_BADDATA, "FILE DATA"
|
||||||
|
.endif
|
||||||
.endif
|
.endif
|
||||||
define_error ERR_FRMCPX, "FORMULA TOO COMPLEX"
|
define_error ERR_FRMCPX, "FORMULA TOO COMPLEX"
|
||||||
define_error ERR_CANTCONT, "CAN'T CONTINUE"
|
define_error ERR_CANTCONT, "CAN'T CONTINUE"
|
||||||
|
|
58
init.s
58
init.s
|
@ -43,8 +43,8 @@ COLD_START2:
|
||||||
sty GOWARM+2
|
sty GOWARM+2
|
||||||
lda #<AYINT
|
lda #<AYINT
|
||||||
ldy #>AYINT
|
ldy #>AYINT
|
||||||
sta GOSTROUT
|
sta GOAYINT
|
||||||
sty GOSTROUT+1
|
sty GOAYINT+1
|
||||||
lda #<GIVAYF
|
lda #<GIVAYF
|
||||||
ldy #>GIVAYF
|
ldy #>GIVAYF
|
||||||
sta GOGIVEAYF
|
sta GOGIVEAYF
|
||||||
|
@ -104,11 +104,11 @@ COLD_START2:
|
||||||
.endif /* KBD */
|
.endif /* KBD */
|
||||||
|
|
||||||
.ifdef CONFIG_SMALL
|
.ifdef CONFIG_SMALL
|
||||||
.ifdef KBD
|
.ifdef KBD
|
||||||
ldx #GENERIC_CHRGET_END-GENERIC_CHRGET+4
|
ldx #GENERIC_CHRGET_END-GENERIC_CHRGET+4
|
||||||
.else
|
.else
|
||||||
ldx #GENERIC_CHRGET_END-GENERIC_CHRGET
|
ldx #GENERIC_CHRGET_END-GENERIC_CHRGET
|
||||||
.endif
|
.endif
|
||||||
.else
|
.else
|
||||||
ldx #GENERIC_CHRGET_END-GENERIC_CHRGET-1 ; XXX
|
ldx #GENERIC_CHRGET_END-GENERIC_CHRGET-1 ; XXX
|
||||||
.endif
|
.endif
|
||||||
|
@ -124,31 +124,31 @@ L4098:
|
||||||
.ifndef KBD
|
.ifndef KBD
|
||||||
txa
|
txa
|
||||||
sta SHIFTSIGNEXT
|
sta SHIFTSIGNEXT
|
||||||
.ifdef CONFIG_CBM_ALL
|
.ifdef CONFIG_CBM_ALL
|
||||||
sta Z03
|
sta Z03
|
||||||
.endif
|
.endif
|
||||||
sta LASTPT+1
|
sta LASTPT+1
|
||||||
.if .defined(CONFIG_NULL) || .defined(CONFIG_PRINTNULLS)
|
.if .defined(CONFIG_NULL) || .defined(CONFIG_PRINTNULLS)
|
||||||
sta Z15
|
sta Z15
|
||||||
.endif
|
.endif
|
||||||
.ifndef CONFIG_11
|
.ifndef CONFIG_11
|
||||||
sta POSX
|
sta POSX
|
||||||
.endif
|
.endif
|
||||||
pha
|
pha
|
||||||
sta Z14
|
sta Z14
|
||||||
.ifdef CBM2_KBD
|
.ifdef CBM2_KBD
|
||||||
inx
|
inx
|
||||||
stx $01FD
|
stx $01FD
|
||||||
stx $01FC
|
stx $01FC
|
||||||
.else
|
.else
|
||||||
.ifndef MICROTAN
|
.ifndef MICROTAN
|
||||||
lda #$03
|
lda #$03
|
||||||
sta DSCLEN
|
sta DSCLEN
|
||||||
.endif
|
.endif
|
||||||
.ifndef KIM_APPLE
|
.ifndef KIM_APPLE
|
||||||
lda #$2C
|
lda #$2C
|
||||||
sta LINNUM+1
|
sta LINNUM+1
|
||||||
.endif
|
.endif
|
||||||
jsr CRDO
|
jsr CRDO
|
||||||
.endif
|
.endif
|
||||||
.ifdef APPLE
|
.ifdef APPLE
|
||||||
|
@ -162,11 +162,11 @@ L4098:
|
||||||
lda #<QT_MEMORY_SIZE
|
lda #<QT_MEMORY_SIZE
|
||||||
ldy #>QT_MEMORY_SIZE
|
ldy #>QT_MEMORY_SIZE
|
||||||
jsr STROUT
|
jsr STROUT
|
||||||
.ifdef APPLE
|
.ifdef APPLE
|
||||||
jsr INLINX
|
jsr INLINX
|
||||||
.else
|
.else
|
||||||
jsr NXIN
|
jsr NXIN
|
||||||
.endif
|
.endif
|
||||||
stx TXTPTR
|
stx TXTPTR
|
||||||
sty TXTPTR+1
|
sty TXTPTR+1
|
||||||
jsr CHRGET
|
jsr CHRGET
|
||||||
|
@ -217,13 +217,13 @@ L40DD:
|
||||||
.ifdef CONFIG_CBM_ALL
|
.ifdef CONFIG_CBM_ALL
|
||||||
beq L40D7
|
beq L40D7
|
||||||
.else
|
.else
|
||||||
.ifdef CONFIG_SMALL
|
.ifdef CONFIG_SMALL
|
||||||
beq L40D7
|
beq L40D7
|
||||||
bne L40FA
|
bne L40FA
|
||||||
.else
|
.else
|
||||||
bne L40FA
|
bne L40FA
|
||||||
beq L40D7
|
beq L40D7
|
||||||
.endif
|
.endif
|
||||||
L40EE:
|
L40EE:
|
||||||
jsr CHRGOT
|
jsr CHRGOT
|
||||||
jsr LINGET
|
jsr LINGET
|
||||||
|
@ -242,17 +242,17 @@ L40FA:
|
||||||
.endif
|
.endif
|
||||||
L4106:
|
L4106:
|
||||||
.ifndef CONFIG_CBM_ALL
|
.ifndef CONFIG_CBM_ALL
|
||||||
.ifdef APPLE
|
.ifdef APPLE
|
||||||
lda #$FF
|
lda #$FF
|
||||||
jmp L2829
|
jmp L2829
|
||||||
.word STROUT ; PATCH!
|
.word STROUT ; PATCH!
|
||||||
jsr NXIN
|
jsr NXIN
|
||||||
.else
|
.else
|
||||||
lda #<QT_TERMINAL_WIDTH
|
lda #<QT_TERMINAL_WIDTH
|
||||||
ldy #>QT_TERMINAL_WIDTH
|
ldy #>QT_TERMINAL_WIDTH
|
||||||
jsr STROUT
|
jsr STROUT
|
||||||
jsr NXIN
|
jsr NXIN
|
||||||
.endif
|
.endif
|
||||||
stx TXTPTR
|
stx TXTPTR
|
||||||
sty TXTPTR+1
|
sty TXTPTR+1
|
||||||
jsr CHRGET
|
jsr CHRGET
|
||||||
|
@ -276,7 +276,7 @@ L4129:
|
||||||
sta Z18
|
sta Z18
|
||||||
L4136:
|
L4136:
|
||||||
.endif
|
.endif
|
||||||
.ifdef KIM
|
.ifdef KIM /* RAM? */
|
||||||
lda #<QT_WANT
|
lda #<QT_WANT
|
||||||
ldy #>QT_WANT
|
ldy #>QT_WANT
|
||||||
jsr STROUT
|
jsr STROUT
|
||||||
|
@ -360,9 +360,9 @@ L4192:
|
||||||
ldy #>STROUT
|
ldy #>STROUT
|
||||||
sta GOWARM+1
|
sta GOWARM+1
|
||||||
sty GOWARM+2
|
sty GOWARM+2
|
||||||
.if CONFIG_SCRTCH_ORDER = 3
|
.if CONFIG_SCRTCH_ORDER = 3
|
||||||
jsr SCRTCH
|
jsr SCRTCH
|
||||||
.endif
|
.endif
|
||||||
lda #<RESTART
|
lda #<RESTART
|
||||||
ldy #>RESTART
|
ldy #>RESTART
|
||||||
sta Z00+1
|
sta Z00+1
|
||||||
|
|
4
memory.s
4
memory.s
|
@ -1,3 +1,7 @@
|
||||||
|
; generic stack and memory management code
|
||||||
|
; this code is identical across all versions of
|
||||||
|
; BASIC
|
||||||
|
|
||||||
.segment "CODE"
|
.segment "CODE"
|
||||||
|
|
||||||
; ----------------------------------------------------------------------------
|
; ----------------------------------------------------------------------------
|
||||||
|
|
63
message.s
63
message.s
|
@ -1,55 +1,64 @@
|
||||||
|
; global messages: "error", "in", "ready", "break"
|
||||||
|
|
||||||
.segment "CODE"
|
.segment "CODE"
|
||||||
|
|
||||||
|
CR=13
|
||||||
|
LF=10
|
||||||
|
|
||||||
QT_ERROR:
|
QT_ERROR:
|
||||||
.ifdef KBD
|
.ifdef KBD
|
||||||
.byte " err"
|
.byte " err"
|
||||||
.else
|
.else
|
||||||
.ifdef APPLE
|
.ifdef APPLE
|
||||||
.byte " ERR"
|
.byte " ERR"
|
||||||
.byte $07,$07
|
.byte $07,$07
|
||||||
.else
|
.else
|
||||||
.byte " ERROR"
|
.byte " ERROR"
|
||||||
|
.endif
|
||||||
.endif
|
.endif
|
||||||
.endif
|
.byte 0
|
||||||
.byte $00
|
|
||||||
.ifndef KBD
|
.ifndef KBD
|
||||||
QT_IN:
|
QT_IN:
|
||||||
.byte " IN "
|
.byte " IN "
|
||||||
.byte $00
|
.byte $00
|
||||||
QT_OK:
|
|
||||||
.ifdef APPLE
|
|
||||||
.byte $0D,$00,$00
|
|
||||||
.byte "K"
|
|
||||||
.else
|
|
||||||
.byte $0D,$0A
|
|
||||||
.ifdef CONFIG_CBM_ALL
|
|
||||||
.byte "READY."
|
|
||||||
.else
|
|
||||||
.byte "OK"
|
|
||||||
.endif
|
.endif
|
||||||
.endif
|
|
||||||
.byte $0D,$0A,$00
|
.ifdef KBD
|
||||||
.else
|
|
||||||
.byte $54,$D2 ; ???
|
.byte $54,$D2 ; ???
|
||||||
OKPRT:
|
OKPRT:
|
||||||
jsr LDE42
|
jsr LDE42
|
||||||
.byte $0D,$0D
|
.byte CR,CR,">>",CR,LF
|
||||||
.byte ">>"
|
.byte 0
|
||||||
.byte $0D,$0A,$00
|
|
||||||
rts
|
rts
|
||||||
nop
|
nop
|
||||||
|
.else
|
||||||
|
QT_OK:
|
||||||
|
.ifdef CONFIG_CBM_ALL
|
||||||
|
.byte CR,LF,"READY.",CR,LF
|
||||||
|
.else
|
||||||
|
.ifdef APPLE
|
||||||
|
; binary patch!
|
||||||
|
.byte CR,0,0,"K",CR,LF
|
||||||
|
.else
|
||||||
|
.byte CR,LF,"OK",CR,LF
|
||||||
|
.endif
|
||||||
|
.endif
|
||||||
|
.byte 0
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
QT_BREAK:
|
QT_BREAK:
|
||||||
|
|
||||||
.ifdef KBD
|
.ifdef KBD
|
||||||
.byte $0D,$0A
|
.byte CR,LF," Brk"
|
||||||
.byte " Brk"
|
.byte 0
|
||||||
.byte $00
|
|
||||||
.byte $54,$D0 ; ???
|
.byte $54,$D0 ; ???
|
||||||
.else
|
.else
|
||||||
.byte $0D,$0A
|
|
||||||
.ifdef MICROTAN
|
.ifdef MICROTAN
|
||||||
.byte " "
|
.byte CR,LF," BREAK"
|
||||||
|
.byte 0
|
||||||
|
.else
|
||||||
|
.byte CR,LF,"BREAK"
|
||||||
|
.byte 0
|
||||||
.endif
|
.endif
|
||||||
.byte "BREAK"
|
|
||||||
.byte $00
|
|
||||||
.endif
|
.endif
|
||||||
|
|
|
@ -12,7 +12,7 @@ MEMERR:
|
||||||
; ----------------------------------------------------------------------------
|
; ----------------------------------------------------------------------------
|
||||||
ERROR:
|
ERROR:
|
||||||
lsr Z14
|
lsr Z14
|
||||||
.ifdef CONFIG_CBM_ALL
|
.ifdef CONFIG_FILE
|
||||||
lda Z03 ; output
|
lda Z03 ; output
|
||||||
beq LC366 ; is screen
|
beq LC366 ; is screen
|
||||||
jsr CLRCH ; otherwise redirect output back to screen
|
jsr CLRCH ; otherwise redirect output back to screen
|
||||||
|
@ -950,5 +950,5 @@ L25FD:
|
||||||
lda TOKEN_NAME_TABLE,y
|
lda TOKEN_NAME_TABLE,y
|
||||||
bmi L25CA
|
bmi L25CA
|
||||||
jsr OUTDO
|
jsr OUTDO
|
||||||
bne L25FD
|
bne L25FD ; always
|
||||||
|
|
||||||
|
|
2
token.s
2
token.s
|
@ -109,7 +109,7 @@ UNFNC:
|
||||||
keyword_addr "SGN", SGN, TOKEN_SGN
|
keyword_addr "SGN", SGN, TOKEN_SGN
|
||||||
keyword_addr "INT", INT
|
keyword_addr "INT", INT
|
||||||
keyword_addr "ABS", ABS
|
keyword_addr "ABS", ABS
|
||||||
.ifdef KBD
|
.ifdef CONFIG_NO_POKE
|
||||||
keyword_addr "VER", VER
|
keyword_addr "VER", VER
|
||||||
.else
|
.else
|
||||||
.ifdef KIM
|
.ifdef KIM
|
||||||
|
|
Loading…
Reference in New Issue