This commit is contained in:
Michael Steil 2008-10-14 09:23:44 +00:00
parent 25c9858c47
commit a5ba6d95f1
11 changed files with 78 additions and 63 deletions

View File

@ -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

View File

@ -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

View File

@ -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

6
eval.s
View File

@ -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
@ -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

30
float.s
View File

@ -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
@ -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
View File

@ -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

View File

@ -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
View File

@ -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

View File

@ -849,11 +849,11 @@ L2598:
lda #$FF lda #$FF
sta LINNUM sta LINNUM
sta LINNUM+1 sta LINNUM+1
L25A6:
.ifdef MICROTAN .ifdef MICROTAN
pla pla
pla pla
.endif .endif
L25A6:
.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

12
trig.s
View File

@ -115,15 +115,15 @@ 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
.elseif .def(CONFIG_CBM_ALL)
.else
MICROSOFT:
.byte $A6,$D3,$C1,$C8,$D4,$C8,$D5,$C4
.byte $CE,$CA
.endif .endif
.endif .endif