mirror of
https://github.com/mist64/msbasic.git
synced 2025-08-15 11:27:29 +00:00
.
This commit is contained in:
16
NOTES.txt
16
NOTES.txt
@@ -1,8 +1,8 @@
|
|||||||
Name Year MS Version ROM 9digit extensions comment
|
Name Release MS Version ROM 9digit extensions comment
|
||||||
Commodore BASIC 1 1977 Y Y CBM
|
Commodore BASIC 1 1977 Y Y CBM
|
||||||
OSI BASIC 1977 1.0 REV 3.2 Y N -
|
OSI BASIC 1977 1.0 REV 3.2 Y N -
|
||||||
AppleSoft I 1977 1.1 N Y Apple CONFIG_11
|
AppleSoft I 1977 1.1 N Y Apple CONFIG_11
|
||||||
KIM BASIC 1977 1.1 N Y - CONFIG_11A
|
KIM BASIC 1977 1.1 N Y - CONFIG_11A
|
||||||
Commodore BASIC 2 1979 Y Y CBM CONFIG_2
|
Commodore BASIC 2 1979 Y Y CBM CONFIG_2
|
||||||
KBD BASIC 1980 Y N KBD
|
KBD BASIC 1980 Y N KBD
|
||||||
MicroTAN 1980 Y Y -
|
MicroTAN 1980 Y Y -
|
||||||
|
@@ -89,7 +89,7 @@ INLINX:
|
|||||||
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
.byte 0,0,0,0,0,0,0,0,0,0
|
.byte 0,0,0,0,0,0,0,0,0,0
|
||||||
L29D0:
|
USR_FUNC:
|
||||||
jsr L29DA
|
jsr L29DA
|
||||||
lda FAC+3
|
lda FAC+3
|
||||||
sta FAC+5
|
sta FAC+5
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
; http://apple2.org.za/gswv/a2zine/GS.WorldView/Resources/GS.TECH.INFO/AppleSoft/
|
||||||
|
|
||||||
CONFIG_11 := 1
|
CONFIG_11 := 1
|
||||||
CBM2_APPLE := 1
|
CBM2_APPLE := 1
|
||||||
CONFIG_SAFE_NAMENOTFOUND := 1
|
CONFIG_SAFE_NAMENOTFOUND := 1
|
||||||
@@ -6,7 +8,7 @@ CBM1_APPLE := 1
|
|||||||
CBM_APPLE := 1
|
CBM_APPLE := 1
|
||||||
KIM_APPLE := 1
|
KIM_APPLE := 1
|
||||||
APPLE_MICROTAN := 1
|
APPLE_MICROTAN := 1
|
||||||
CONFIG_SCRTCH_ORDER := 1
|
.define CONFIG_SCRTCH_ORDER 3
|
||||||
CONFIG_PRINT_CR := 1 ; print CR when line end reached
|
CONFIG_PRINT_CR := 1 ; print CR when line end reached
|
||||||
CONFIG_IO_MSB := 1 ; all I/O has bit #7 set
|
CONFIG_IO_MSB := 1 ; all I/O has bit #7 set
|
||||||
; INPUTBUFFER > $0100
|
; INPUTBUFFER > $0100
|
||||||
|
@@ -28,6 +28,7 @@ CONFIG_DATAFLAG := 1
|
|||||||
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
|
CONFIG_NO_CR := 1; terminal doesn't need explicit CRs on line ends
|
||||||
CONFIG_NO_LINE_EDITING := 1; support for "@", "_", BEL etc.
|
CONFIG_NO_LINE_EDITING := 1; support for "@", "_", BEL etc.
|
||||||
|
.define CONFIG_SCRTCH_ORDER 2
|
||||||
|
|
||||||
CRLF_1 := $0D
|
CRLF_1 := $0D
|
||||||
CRLF_2 := $0A
|
CRLF_2 := $0A
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
CONFIG_SCRTCH_ORDER := 1
|
.define CONFIG_SCRTCH_ORDER 3
|
||||||
CONFIG_SMALL := 1
|
CONFIG_SMALL := 1
|
||||||
CONFIG_2 := 1
|
CONFIG_2 := 1
|
||||||
CBM2_KBD := 1
|
CBM2_KBD := 1
|
||||||
|
@@ -7,6 +7,7 @@ KIM_APPLE := 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
|
||||||
KIM_MICROTAN := 1
|
KIM_MICROTAN := 1
|
||||||
|
.define CONFIG_SCRTCH_ORDER 2
|
||||||
|
|
||||||
CRLF_1 := $0D
|
CRLF_1 := $0D
|
||||||
CRLF_2 := $0A
|
CRLF_2 := $0A
|
||||||
|
@@ -13,6 +13,7 @@ CONFIG_2 := 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
|
||||||
|
.define CONFIG_SCRTCH_ORDER 1
|
||||||
|
|
||||||
CRLF_1 := $0D
|
CRLF_1 := $0D
|
||||||
CRLF_2 := $0A
|
CRLF_2 := $0A
|
||||||
@@ -58,8 +59,8 @@ 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 ; probably different in original version; the image I have seems to be modified; see PDF
|
||||||
|
|
||||||
|
|
||||||
RAMSTART2 := $AAAA
|
RAMSTART2 := $0400
|
||||||
USR := $AAAA
|
USR := $0021
|
||||||
SAVE := $AAAA
|
SAVE := $AAAA
|
||||||
LOAD := $AAAA
|
LOAD := $AAAA
|
||||||
LE21C := $AAAA
|
LE21C := $AAAA
|
||||||
|
@@ -3,8 +3,7 @@ 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
|
.define CONFIG_SCRTCH_ORDER 3
|
||||||
CONFIG_SCRTCH_ORDER := 1
|
|
||||||
|
|
||||||
CRLF_1 := $0D
|
CRLF_1 := $0D
|
||||||
CRLF_2 := $0A
|
CRLF_2 := $0A
|
||||||
|
114
init.s
114
init.s
@@ -20,21 +20,21 @@ COLD_START:
|
|||||||
lda $0353
|
lda $0353
|
||||||
sta $05
|
sta $05
|
||||||
.else
|
.else
|
||||||
.ifndef CONFIG_CBM_ALL
|
.ifndef CONFIG_CBM_ALL
|
||||||
lda #<QT_WRITTEN_BY
|
lda #<QT_WRITTEN_BY
|
||||||
ldy #>QT_WRITTEN_BY
|
ldy #>QT_WRITTEN_BY
|
||||||
jsr STROUT
|
jsr STROUT
|
||||||
.endif
|
.endif
|
||||||
COLD_START2:
|
COLD_START2:
|
||||||
.ifndef CBM2
|
.ifndef CBM2
|
||||||
ldx #$FF
|
ldx #$FF
|
||||||
stx CURLIN+1
|
stx CURLIN+1
|
||||||
.endif
|
.endif
|
||||||
.if INPUTBUFFER >= $0100
|
.if INPUTBUFFER >= $0100
|
||||||
ldx #$FB
|
ldx #$FB
|
||||||
.endif
|
.endif
|
||||||
txs
|
txs
|
||||||
.ifndef CONFIG_CBM_ALL
|
.ifndef CONFIG_CBM_ALL
|
||||||
lda #<COLD_START2
|
lda #<COLD_START2
|
||||||
ldy #>COLD_START2
|
ldy #>COLD_START2
|
||||||
sta Z00+1
|
sta Z00+1
|
||||||
@@ -49,59 +49,60 @@ COLD_START2:
|
|||||||
ldy #>GIVAYF
|
ldy #>GIVAYF
|
||||||
sta GOGIVEAYF
|
sta GOGIVEAYF
|
||||||
sty GOGIVEAYF+1
|
sty GOGIVEAYF+1
|
||||||
.endif
|
.endif
|
||||||
lda #$4C
|
lda #$4C
|
||||||
.ifdef CONFIG_CBM_ALL
|
.ifdef CONFIG_CBM_ALL
|
||||||
sta JMPADRS
|
sta JMPADRS
|
||||||
sta Z00
|
sta Z00
|
||||||
.else
|
.else
|
||||||
sta Z00
|
sta Z00
|
||||||
sta GOWARM
|
sta GOWARM
|
||||||
sta JMPADRS
|
sta JMPADRS
|
||||||
.endif
|
.endif
|
||||||
.ifdef APPLE_MICROTAN
|
.ifdef APPLE
|
||||||
sta L000A
|
sta L000A
|
||||||
.endif
|
.endif
|
||||||
.ifdef CONFIG_SMALL
|
.if .def(CONFIG_SMALL) || .def(MICROTAN)
|
||||||
sta USR
|
sta USR
|
||||||
lda #$88
|
.endif
|
||||||
ldy #$AE
|
|
||||||
sta $0B
|
.ifndef KIM
|
||||||
sty $0C
|
.ifdef APPLE
|
||||||
.endif
|
lda #<USR_FUNC
|
||||||
.ifdef CONFIG_CBM_ALL
|
ldy #>USR_FUNC
|
||||||
lda #<IQERR
|
.else
|
||||||
ldy #>IQERR
|
lda #<IQERR
|
||||||
.endif
|
ldy #>IQERR
|
||||||
.ifdef APPLE
|
.endif
|
||||||
lda #<L29D0
|
sta USR+1
|
||||||
ldy #>L29D0
|
sty USR+2
|
||||||
.endif
|
.endif
|
||||||
.ifdef CBM_APPLE
|
.ifndef CONFIG_CBM_ALL
|
||||||
sta USR+1
|
.ifdef APPLE
|
||||||
sty USR+2
|
|
||||||
.endif
|
|
||||||
.ifndef CONFIG_CBM_ALL
|
|
||||||
.ifdef APPLE
|
|
||||||
lda #$28
|
lda #$28
|
||||||
.else
|
.else
|
||||||
|
.ifdef MICROTAN
|
||||||
|
lda #$50
|
||||||
|
.else
|
||||||
lda #$48
|
lda #$48
|
||||||
.endif
|
.endif
|
||||||
|
.endif
|
||||||
sta Z17
|
sta Z17
|
||||||
.ifdef APPLE
|
.ifdef APPLE
|
||||||
lda #$0E
|
lda #$0E
|
||||||
.else
|
.else
|
||||||
lda #$38
|
lda #$38
|
||||||
.endif
|
.endif
|
||||||
sta Z18
|
sta Z18
|
||||||
.endif
|
.endif
|
||||||
.ifdef CONFIG_2
|
.ifdef CBM2_KBD
|
||||||
lda #$28
|
lda #$28
|
||||||
sta $0F
|
sta $0F
|
||||||
lda #$1E
|
lda #$1E
|
||||||
sta $10
|
sta $10
|
||||||
.endif
|
.endif
|
||||||
.endif
|
.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
|
||||||
@@ -179,8 +180,8 @@ L4098:
|
|||||||
.endif
|
.endif
|
||||||
ldy #>RAMSTART2
|
ldy #>RAMSTART2
|
||||||
.ifdef CONFIG_2
|
.ifdef CONFIG_2
|
||||||
sta $28
|
sta TXTTAB
|
||||||
sty $29
|
sty TXTTAB+1
|
||||||
.endif
|
.endif
|
||||||
sta LINNUM
|
sta LINNUM
|
||||||
sty LINNUM+1
|
sty LINNUM+1
|
||||||
@@ -321,15 +322,18 @@ L4183:
|
|||||||
tya
|
tya
|
||||||
sta (TXTTAB),y
|
sta (TXTTAB),y
|
||||||
inc TXTTAB
|
inc TXTTAB
|
||||||
.ifndef CONFIG_2
|
.ifndef CBM2_KBD
|
||||||
bne L4192
|
bne L4192
|
||||||
inc TXTTAB+1
|
inc TXTTAB+1
|
||||||
L4192:
|
L4192:
|
||||||
|
.endif
|
||||||
|
.if CONFIG_SCRTCH_ORDER = 1
|
||||||
|
jsr SCRTCH
|
||||||
.endif
|
.endif
|
||||||
lda TXTTAB
|
lda TXTTAB
|
||||||
ldy TXTTAB+1
|
ldy TXTTAB+1
|
||||||
jsr REASON
|
jsr REASON
|
||||||
.ifdef CONFIG_2
|
.ifdef CBM2_KBD
|
||||||
lda #<QT_BASIC
|
lda #<QT_BASIC
|
||||||
ldy #>QT_BASIC
|
ldy #>QT_BASIC
|
||||||
jsr STROUT
|
jsr STROUT
|
||||||
@@ -346,7 +350,7 @@ L4192:
|
|||||||
lda #<QT_BYTES_FREE
|
lda #<QT_BYTES_FREE
|
||||||
ldy #>QT_BYTES_FREE
|
ldy #>QT_BYTES_FREE
|
||||||
jsr STROUT
|
jsr STROUT
|
||||||
.ifndef CONFIG_SCRTCH_ORDER
|
.if CONFIG_SCRTCH_ORDER = 2
|
||||||
jsr SCRTCH
|
jsr SCRTCH
|
||||||
.endif
|
.endif
|
||||||
.ifdef CONFIG_CBM_ALL
|
.ifdef CONFIG_CBM_ALL
|
||||||
@@ -356,8 +360,8 @@ L4192:
|
|||||||
ldy #>STROUT
|
ldy #>STROUT
|
||||||
sta GOWARM+1
|
sta GOWARM+1
|
||||||
sty GOWARM+2
|
sty GOWARM+2
|
||||||
.ifdef CONFIG_SCRTCH_ORDER
|
.if CONFIG_SCRTCH_ORDER = 3
|
||||||
jsr SCRTCH
|
jsr SCRTCH
|
||||||
.endif
|
.endif
|
||||||
lda #<RESTART
|
lda #<RESTART
|
||||||
ldy #>RESTART
|
ldy #>RESTART
|
||||||
@@ -365,7 +369,8 @@ L4192:
|
|||||||
sty Z00+2
|
sty Z00+2
|
||||||
jmp (Z00+1)
|
jmp (Z00+1)
|
||||||
.endif
|
.endif
|
||||||
.ifndef CBM_APPLE
|
|
||||||
|
.if .def(KIM) || .def(OSI)
|
||||||
QT_WANT:
|
QT_WANT:
|
||||||
.byte "WANT SIN-COS-TAN-ATN"
|
.byte "WANT SIN-COS-TAN-ATN"
|
||||||
.byte $00
|
.byte $00
|
||||||
@@ -396,7 +401,7 @@ QT_BYTES_FREE:
|
|||||||
.ifndef CBM_APPLE
|
.ifndef CBM_APPLE
|
||||||
.byte $0D,$0A,$0D,$0A
|
.byte $0D,$0A,$0D,$0A
|
||||||
.endif
|
.endif
|
||||||
.ifdef CONFIG_2
|
.ifdef CBM2_KBD
|
||||||
.byte $0D,$00
|
.byte $0D,$00
|
||||||
.endif
|
.endif
|
||||||
.ifdef APPLE
|
.ifdef APPLE
|
||||||
@@ -409,6 +414,9 @@ QT_BASIC:
|
|||||||
.ifdef KIM
|
.ifdef KIM
|
||||||
.byte "MOS TECH 6502 BASIC V1.1"
|
.byte "MOS TECH 6502 BASIC V1.1"
|
||||||
.endif
|
.endif
|
||||||
|
.ifdef MICROTAN
|
||||||
|
.byte "MICROTAN BASIC"
|
||||||
|
.endif
|
||||||
.ifdef CBM1
|
.ifdef CBM1
|
||||||
.byte $13
|
.byte $13
|
||||||
.byte "*** COMMODORE BASIC ***"
|
.byte "*** COMMODORE BASIC ***"
|
||||||
@@ -424,7 +432,11 @@ QT_BASIC:
|
|||||||
.endif
|
.endif
|
||||||
.ifndef CONFIG_CBM_ALL
|
.ifndef CONFIG_CBM_ALL
|
||||||
.byte $0D,$0A
|
.byte $0D,$0A
|
||||||
|
.ifdef MICROTAN
|
||||||
|
.byte "(C) 1980 MICROSOFT" ; E1F2 28 43 29 20 31 39 38 30 (C) 1980
|
||||||
|
.else
|
||||||
.byte "COPYRIGHT 1977 BY MICROSOFT CO."
|
.byte "COPYRIGHT 1977 BY MICROSOFT CO."
|
||||||
|
.endif
|
||||||
.byte $0D,$0A,$00
|
.byte $0D,$0A,$00
|
||||||
.endif
|
.endif
|
||||||
.endif /* KBD */
|
.endif /* KBD */
|
||||||
|
Reference in New Issue
Block a user