mirror of
https://github.com/mist64/msbasic.git
synced 2024-06-16 02:29:31 +00:00
...
This commit is contained in:
parent
25c9858c47
commit
a5ba6d95f1
4
array.s
4
array.s
|
@ -21,6 +21,10 @@ L2FAF:
|
||||||
NEG32768:
|
NEG32768:
|
||||||
.byte $90,$80,$00,$00
|
.byte $90,$80,$00,$00
|
||||||
|
|
||||||
|
.ifdef MICROTAN
|
||||||
|
.byte 0
|
||||||
|
.endif
|
||||||
|
|
||||||
; ----------------------------------------------------------------------------
|
; ----------------------------------------------------------------------------
|
||||||
; EVALUATE NUMERIC FORMULA AT TXTPTR
|
; EVALUATE NUMERIC FORMULA AT TXTPTR
|
||||||
; CONVERTING RESULT TO INTEGER 0 <= X <= 32767
|
; CONVERTING RESULT TO INTEGER 0 <= X <= 32767
|
||||||
|
|
|
@ -5,6 +5,7 @@ CBM2_KIM_APPLE := 1 ; OUTDO difference
|
||||||
CBM1_APPLE := 1
|
CBM1_APPLE := 1
|
||||||
CBM_APPLE := 1
|
CBM_APPLE := 1
|
||||||
KIM_APPLE := 1
|
KIM_APPLE := 1
|
||||||
|
APPLE_MICROTAN := 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 ; all I/O has bit #7 set
|
CONFIG_IO_MSB := 1 ; all I/O has bit #7 set
|
||||||
|
|
|
@ -7,6 +7,7 @@ KIM_APPLE := 1
|
||||||
CBM2_MICROTAN := 1
|
CBM2_MICROTAN := 1
|
||||||
KBD_MICROTAN := 1
|
KBD_MICROTAN := 1
|
||||||
KIM_MICROTAN := 1
|
KIM_MICROTAN := 1
|
||||||
|
APPLE_MICROTAN := 1
|
||||||
|
|
||||||
CONFIG_2 := 1
|
CONFIG_2 := 1
|
||||||
|
|
||||||
|
@ -21,12 +22,12 @@ ZP_START = $85
|
||||||
JMPADRS = DSCLEN + 1
|
JMPADRS = DSCLEN + 1
|
||||||
LOWTRX = LOWTR
|
LOWTRX = LOWTR
|
||||||
|
|
||||||
Z00 := $0000
|
Z00 := $0017
|
||||||
L0001 := $0001
|
L0001 := $0001
|
||||||
L0002 := $0002
|
L0002 := $0002
|
||||||
GOWARM := $0003
|
GOWARM := $001A
|
||||||
GOSTROUT := $0006
|
GOSTROUT := $001D
|
||||||
GOGIVEAYF := $0008
|
GOGIVEAYF := $001F
|
||||||
|
|
||||||
CHARAC := $000A+$1A
|
CHARAC := $000A+$1A
|
||||||
ENDCHR := $000B+$1A
|
ENDCHR := $000B+$1A
|
||||||
|
@ -43,7 +44,7 @@ POSX := $0016+$1A
|
||||||
Z17 := $0017+$1A
|
Z17 := $0017+$1A
|
||||||
Z18 := $0018+$1A
|
Z18 := $0018+$1A
|
||||||
LINNUM := $0019+$1A
|
LINNUM := $0019+$1A
|
||||||
TXPSV := $0019+$1A
|
TXPSV := $00BA
|
||||||
INPUTBUFFER := $001B+$1A
|
INPUTBUFFER := $001B+$1A
|
||||||
INPUTBUFFERX := $0000
|
INPUTBUFFERX := $0000
|
||||||
|
|
||||||
|
@ -63,7 +64,10 @@ SAVE := $AAAA
|
||||||
LOAD := $AAAA
|
LOAD := $AAAA
|
||||||
LE21C := $AAAA
|
LE21C := $AAAA
|
||||||
LC3F0 := $AAAA
|
LC3F0 := $AAAA
|
||||||
LFE73 := $AAAA
|
|
||||||
LFE75 := $AAAA
|
|
||||||
LFDFA := $AAAA
|
|
||||||
LE219 := $AAAA
|
LE219 := $AAAA
|
||||||
|
LE21F := $AAAA
|
||||||
|
|
||||||
|
LFDFA := $FDFA
|
||||||
|
LFE73 := $FE73
|
||||||
|
LFE75 := $FE75
|
||||||
|
L000A := $0A
|
12
eval.s
12
eval.s
|
@ -240,12 +240,12 @@ FRM_STACK2:
|
||||||
tay
|
tay
|
||||||
pla
|
pla
|
||||||
sta INDEX
|
sta INDEX
|
||||||
.ifndef KBD
|
.ifndef KBD_MICROTAN
|
||||||
inc INDEX ; bug: assumes not on page boundary
|
inc INDEX ; bug: assumes not on page boundary
|
||||||
.endif
|
.endif
|
||||||
pla
|
pla
|
||||||
sta INDEX+1
|
sta INDEX+1
|
||||||
.ifdef KBD
|
.ifdef KBD_MICROTAN
|
||||||
inc INDEX
|
inc INDEX
|
||||||
bne LEB69
|
bne LEB69
|
||||||
inc INDEX+1
|
inc INDEX+1
|
||||||
|
@ -448,18 +448,18 @@ FRM_VARIABLE_CALL = *-1
|
||||||
ldx VALTYP
|
ldx VALTYP
|
||||||
beq L2DB1
|
beq L2DB1
|
||||||
.ifdef CONFIG_CBM_ALL
|
.ifdef CONFIG_CBM_ALL
|
||||||
.ifdef CONFIG_CBM1_PATCHES
|
.ifdef CONFIG_CBM1_PATCHES
|
||||||
jmp PATCH2
|
jmp PATCH2
|
||||||
clc
|
clc
|
||||||
LCE3B:
|
LCE3B:
|
||||||
.else
|
.else
|
||||||
ldx #$00
|
ldx #$00
|
||||||
stx $6D
|
stx $6D
|
||||||
bit $62
|
bit $62
|
||||||
bpl LCE53
|
bpl LCE53
|
||||||
cmp #$54
|
cmp #$54
|
||||||
bne LCE53
|
bne LCE53
|
||||||
.endif
|
.endif
|
||||||
cpy #$C9
|
cpy #$C9
|
||||||
bne LCE53
|
bne LCE53
|
||||||
jsr LCE76
|
jsr LCE76
|
||||||
|
@ -473,7 +473,7 @@ LCE3B:
|
||||||
jmp LD353
|
jmp LD353
|
||||||
LCE53:
|
LCE53:
|
||||||
.endif
|
.endif
|
||||||
.ifdef KBD
|
.ifdef KBD_MICROTAN
|
||||||
ldx #$00
|
ldx #$00
|
||||||
stx STRNG1+1
|
stx STRNG1+1
|
||||||
.endif
|
.endif
|
||||||
|
|
34
float.s
34
float.s
|
@ -131,8 +131,8 @@ L369B:
|
||||||
sbc 4,x
|
sbc 4,x
|
||||||
sta FAC+4
|
sta FAC+4
|
||||||
.endif
|
.endif
|
||||||
lda GOWARM,y
|
lda 3,y
|
||||||
sbc GOWARM,x
|
sbc 3,x
|
||||||
sta FAC+3
|
sta FAC+3
|
||||||
lda 2,y
|
lda 2,y
|
||||||
sbc 2,x
|
sbc 2,x
|
||||||
|
@ -169,8 +169,8 @@ L36C7:
|
||||||
.endif
|
.endif
|
||||||
sty FACEXTENSION
|
sty FACEXTENSION
|
||||||
adc #$08
|
adc #$08
|
||||||
.ifdef KBD
|
.ifdef KBD_MICROTAN
|
||||||
cmp #$20
|
cmp #(MANTISSA_BYTES+1)*8
|
||||||
.else
|
.else
|
||||||
cmp #MANTISSA_BYTES*8
|
cmp #MANTISSA_BYTES*8
|
||||||
.endif
|
.endif
|
||||||
|
@ -235,7 +235,7 @@ NORMALIZE_FAC5:
|
||||||
NORMALIZE_FAC6:
|
NORMALIZE_FAC6:
|
||||||
inc FAC
|
inc FAC
|
||||||
beq OVERFLOW
|
beq OVERFLOW
|
||||||
.ifndef KIM
|
.ifndef KIM_MICROTAN
|
||||||
ror FAC+1
|
ror FAC+1
|
||||||
ror FAC+2
|
ror FAC+2
|
||||||
ror FAC+3
|
ror FAC+3
|
||||||
|
@ -372,7 +372,7 @@ SHIFT_RIGHT:
|
||||||
tay
|
tay
|
||||||
lda FACEXTENSION
|
lda FACEXTENSION
|
||||||
bcs SHIFT_RIGHT5
|
bcs SHIFT_RIGHT5
|
||||||
.ifndef KIM
|
.ifndef KIM_MICROTAN
|
||||||
LB588:
|
LB588:
|
||||||
asl 1,x
|
asl 1,x
|
||||||
bcc LB58E
|
bcc LB58E
|
||||||
|
@ -387,9 +387,9 @@ LB58E:
|
||||||
SHIFT_RIGHT4:
|
SHIFT_RIGHT4:
|
||||||
ror 2,x
|
ror 2,x
|
||||||
ror 3,x
|
ror 3,x
|
||||||
.ifndef CONFIG_SMALL
|
.ifndef CONFIG_SMALL
|
||||||
ror 4,x
|
ror 4,x
|
||||||
.endif
|
.endif
|
||||||
ror a
|
ror a
|
||||||
iny
|
iny
|
||||||
bne LB588
|
bne LB588
|
||||||
|
@ -577,7 +577,7 @@ L38A7:
|
||||||
adc ARG+1
|
adc ARG+1
|
||||||
sta RESULT
|
sta RESULT
|
||||||
L38C3:
|
L38C3:
|
||||||
.ifndef KIM
|
.ifndef KIM_MICROTAN
|
||||||
ror RESULT
|
ror RESULT
|
||||||
ror RESULT+1
|
ror RESULT+1
|
||||||
.ifdef APPLE
|
.ifdef APPLE
|
||||||
|
@ -1224,7 +1224,7 @@ FIN3:
|
||||||
beq FIN4
|
beq FIN4
|
||||||
bne FIN6
|
bne FIN6
|
||||||
L3BA6:
|
L3BA6:
|
||||||
.ifndef KIM
|
.ifndef KIM_MICROTAN
|
||||||
ror EXPSGN
|
ror EXPSGN
|
||||||
.else
|
.else
|
||||||
lda #$00
|
lda #$00
|
||||||
|
@ -1251,7 +1251,7 @@ FIN6:
|
||||||
; FOUND A DECIMAL POINT
|
; FOUND A DECIMAL POINT
|
||||||
; ----------------------------------------------------------------------------
|
; ----------------------------------------------------------------------------
|
||||||
FIN10:
|
FIN10:
|
||||||
.ifndef KIM
|
.ifndef KIM_MICROTAN
|
||||||
ror LOWTR
|
ror LOWTR
|
||||||
.else
|
.else
|
||||||
lda #$00
|
lda #$00
|
||||||
|
@ -1488,17 +1488,9 @@ L3CBE:
|
||||||
ldx #$01
|
ldx #$01
|
||||||
lda INDX
|
lda INDX
|
||||||
clc
|
clc
|
||||||
.ifdef CONFIG_SMALL
|
adc #3*BYTES_FP-5
|
||||||
adc #$07
|
|
||||||
.else
|
|
||||||
adc #$0A
|
|
||||||
.endif
|
|
||||||
bmi L3CD3
|
bmi L3CD3
|
||||||
.ifdef CONFIG_SMALL
|
cmp #3*BYTES_FP-4
|
||||||
cmp #$08
|
|
||||||
.else
|
|
||||||
cmp #$0B
|
|
||||||
.endif
|
|
||||||
bcs L3CD4
|
bcs L3CD4
|
||||||
adc #$FF
|
adc #$FF
|
||||||
tax
|
tax
|
||||||
|
|
14
init.s
14
init.s
|
@ -59,7 +59,7 @@ COLD_START2:
|
||||||
sta GOWARM
|
sta GOWARM
|
||||||
sta JMPADRS
|
sta JMPADRS
|
||||||
.endif
|
.endif
|
||||||
.ifdef APPLE
|
.ifdef APPLE_MICROTAN
|
||||||
sta L000A
|
sta L000A
|
||||||
.endif
|
.endif
|
||||||
.ifdef CONFIG_SMALL
|
.ifdef CONFIG_SMALL
|
||||||
|
@ -135,13 +135,15 @@ L4098:
|
||||||
.endif
|
.endif
|
||||||
pha
|
pha
|
||||||
sta Z14
|
sta Z14
|
||||||
.ifdef CONFIG_2
|
.ifdef CBM2_KBD
|
||||||
inx
|
inx
|
||||||
stx $01FD
|
stx $01FD
|
||||||
stx $01FC
|
stx $01FC
|
||||||
.else
|
.else
|
||||||
|
.ifndef MICROTAN
|
||||||
lda #$03
|
lda #$03
|
||||||
sta DSCLEN
|
sta DSCLEN
|
||||||
|
.endif
|
||||||
.ifndef KIM_APPLE
|
.ifndef KIM_APPLE
|
||||||
lda #$2C
|
lda #$2C
|
||||||
sta LINNUM+1
|
sta LINNUM+1
|
||||||
|
@ -172,7 +174,7 @@ L4098:
|
||||||
tay
|
tay
|
||||||
bne L40EE
|
bne L40EE
|
||||||
.endif
|
.endif
|
||||||
.ifndef CONFIG_2
|
.ifndef CBM2_KBD
|
||||||
lda #<RAMSTART2
|
lda #<RAMSTART2
|
||||||
.endif
|
.endif
|
||||||
ldy #>RAMSTART2
|
ldy #>RAMSTART2
|
||||||
|
@ -182,7 +184,7 @@ L4098:
|
||||||
.endif
|
.endif
|
||||||
sta LINNUM
|
sta LINNUM
|
||||||
sty LINNUM+1
|
sty LINNUM+1
|
||||||
.ifdef CONFIG_2
|
.ifdef CBM2_KBD
|
||||||
tay
|
tay
|
||||||
.else
|
.else
|
||||||
ldy #$00
|
ldy #$00
|
||||||
|
@ -196,7 +198,7 @@ L40D7:
|
||||||
cmp #$80
|
cmp #$80
|
||||||
beq L40FA
|
beq L40FA
|
||||||
.endif
|
.endif
|
||||||
.ifdef CONFIG_2
|
.ifdef CBM2_KBD
|
||||||
bmi L40FA
|
bmi L40FA
|
||||||
.endif
|
.endif
|
||||||
L40DD:
|
L40DD:
|
||||||
|
@ -233,8 +235,10 @@ L40FA:
|
||||||
ldy LINNUM+1
|
ldy LINNUM+1
|
||||||
sta MEMSIZ
|
sta MEMSIZ
|
||||||
sty MEMSIZ+1
|
sty MEMSIZ+1
|
||||||
|
.ifndef MICROTAN
|
||||||
sta FRETOP
|
sta FRETOP
|
||||||
sty FRETOP+1
|
sty FRETOP+1
|
||||||
|
.endif
|
||||||
L4106:
|
L4106:
|
||||||
.ifndef CONFIG_CBM_ALL
|
.ifndef CONFIG_CBM_ALL
|
||||||
.ifdef APPLE
|
.ifdef APPLE
|
||||||
|
|
6
input.s
6
input.s
|
@ -232,13 +232,19 @@ PROCESS_INPUT_ITEM:
|
||||||
.endif
|
.endif
|
||||||
sta INPUTBUFFER
|
sta INPUTBUFFER
|
||||||
.ifdef CONFIG_INPUTBUFFER_ORDER
|
.ifdef CONFIG_INPUTBUFFER_ORDER
|
||||||
|
; the order is about whether
|
||||||
|
; the beq/bne is taken or not
|
||||||
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
|
||||||
|
beq L2AF8
|
||||||
|
.else
|
||||||
bne L2AF8
|
bne L2AF8
|
||||||
|
.endif
|
||||||
L2AF0:
|
L2AF0:
|
||||||
.endif
|
.endif
|
||||||
bmi FINDATA
|
bmi FINDATA
|
||||||
|
|
Binary file not shown.
4
poke.s
4
poke.s
|
@ -44,7 +44,7 @@ GETADR:
|
||||||
; "PEEK" FUNCTION
|
; "PEEK" FUNCTION
|
||||||
; ----------------------------------------------------------------------------
|
; ----------------------------------------------------------------------------
|
||||||
PEEK:
|
PEEK:
|
||||||
.ifdef CBM2
|
.ifdef CBM2_MICROTAN
|
||||||
lda LINNUM+1
|
lda LINNUM+1
|
||||||
pha
|
pha
|
||||||
lda LINNUM
|
lda LINNUM
|
||||||
|
@ -71,7 +71,7 @@ LD6F3:
|
||||||
.endif
|
.endif
|
||||||
lda (LINNUM),y
|
lda (LINNUM),y
|
||||||
tay
|
tay
|
||||||
.ifdef CBM2
|
.ifdef CBM2_MICROTAN
|
||||||
pla
|
pla
|
||||||
sta LINNUM
|
sta LINNUM
|
||||||
pla
|
pla
|
||||||
|
|
32
program.s
32
program.s
|
@ -806,54 +806,54 @@ LIST:
|
||||||
L25A6:
|
L25A6:
|
||||||
jsr CRDO
|
jsr CRDO
|
||||||
.else
|
.else
|
||||||
.ifdef MICROTAN
|
.ifdef MICROTAN
|
||||||
php
|
php
|
||||||
jmp LE21C
|
jmp LE21C
|
||||||
LC57E:
|
LC57E:
|
||||||
.else
|
.else
|
||||||
bcc L2581
|
bcc L2581
|
||||||
beq L2581
|
beq L2581
|
||||||
cmp #TOKEN_MINUS
|
cmp #TOKEN_MINUS
|
||||||
bne L256A
|
bne L256A
|
||||||
L2581:
|
L2581:
|
||||||
jsr LINGET
|
jsr LINGET
|
||||||
.endif
|
.endif
|
||||||
jsr FNDLIN
|
jsr FNDLIN
|
||||||
.ifdef MICROTAN
|
.ifdef MICROTAN
|
||||||
plp
|
plp
|
||||||
beq LC598
|
beq LC598
|
||||||
.endif
|
.endif
|
||||||
jsr CHRGOT
|
jsr CHRGOT
|
||||||
beq L2598
|
beq L2598
|
||||||
cmp #TOKEN_MINUS
|
cmp #TOKEN_MINUS
|
||||||
bne L2520
|
bne L2520
|
||||||
jsr CHRGET
|
jsr CHRGET
|
||||||
.ifdef MICROTAN
|
.ifdef MICROTAN
|
||||||
beq LC598
|
beq LC598
|
||||||
jsr LINGET
|
jsr LINGET
|
||||||
beq L25A6
|
beq L25A6
|
||||||
rts
|
rts
|
||||||
LC598:
|
LC598:
|
||||||
.else
|
.else
|
||||||
jsr LINGET
|
jsr LINGET
|
||||||
bne L2520
|
bne L2520
|
||||||
.endif
|
.endif
|
||||||
L2598:
|
L2598:
|
||||||
.ifndef MICROTAN
|
.ifndef MICROTAN
|
||||||
pla
|
pla
|
||||||
pla
|
pla
|
||||||
lda LINNUM
|
lda LINNUM
|
||||||
ora LINNUM+1
|
ora LINNUM+1
|
||||||
bne L25A6
|
bne L25A6
|
||||||
.endif
|
.endif
|
||||||
lda #$FF
|
lda #$FF
|
||||||
sta LINNUM
|
sta LINNUM
|
||||||
sta LINNUM+1
|
sta LINNUM+1
|
||||||
.ifdef MICROTAN
|
|
||||||
pla
|
|
||||||
pla
|
|
||||||
.endif
|
|
||||||
L25A6:
|
L25A6:
|
||||||
|
.ifdef MICROTAN
|
||||||
|
pla
|
||||||
|
pla
|
||||||
|
.endif
|
||||||
.endif
|
.endif
|
||||||
ldy #$01
|
ldy #$01
|
||||||
.ifdef CONFIG_DATAFLAG
|
.ifdef CONFIG_DATAFLAG
|
||||||
|
@ -861,7 +861,11 @@ L25A6:
|
||||||
.endif
|
.endif
|
||||||
lda (LOWTRX),y
|
lda (LOWTRX),y
|
||||||
beq L25E5
|
beq L25E5
|
||||||
|
.ifdef MICROTAN
|
||||||
|
jmp LE21F ; C5A6 4C 1F E2 L..
|
||||||
|
.else
|
||||||
jsr ISCNTC
|
jsr ISCNTC
|
||||||
|
.endif
|
||||||
.ifndef KBD
|
.ifndef KBD
|
||||||
jsr CRDO
|
jsr CRDO
|
||||||
.endif
|
.endif
|
||||||
|
|
14
trig.s
14
trig.s
|
@ -115,16 +115,16 @@ POLY_SIN:
|
||||||
.byte $07,$FB,$F8,$87,$99,$68,$89,$01
|
.byte $07,$FB,$F8,$87,$99,$68,$89,$01
|
||||||
.byte $87,$23,$35,$DF,$E1,$86,$A5,$5D
|
.byte $87,$23,$35,$DF,$E1,$86,$A5,$5D
|
||||||
.byte $E7,$28,$83,$49,$0F,$DA,$A2
|
.byte $E7,$28,$83,$49,$0F,$DA,$A2
|
||||||
.ifndef CONFIG_CBM_ALL
|
.ifdef CBM2_MICROTAN
|
||||||
MICROSOFT:
|
|
||||||
.byte $A6,$D3,$C1,$C8,$D4,$C8,$D5,$C4
|
|
||||||
.byte $CE,$CA
|
|
||||||
.endif
|
|
||||||
.ifdef CBM2
|
|
||||||
MICROSOFT:
|
MICROSOFT:
|
||||||
.byte $A1,$54,$46,$8F,$13,$8F,$52,$43
|
.byte $A1,$54,$46,$8F,$13,$8F,$52,$43
|
||||||
.byte $89,$CD
|
.byte $89,$CD
|
||||||
.endif
|
.elseif .def(CONFIG_CBM_ALL)
|
||||||
|
.else
|
||||||
|
MICROSOFT:
|
||||||
|
.byte $A6,$D3,$C1,$C8,$D4,$C8,$D5,$C4
|
||||||
|
.byte $CE,$CA
|
||||||
|
.endif
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
; ----------------------------------------------------------------------------
|
; ----------------------------------------------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue
Block a user