mirror of
https://github.com/mist64/msbasic.git
synced 2024-12-21 17:30:09 +00:00
AppleSoft now byte identical
This commit is contained in:
parent
7d804ddd8f
commit
d7351df0a8
@ -1,8 +1,7 @@
|
||||
Z00 := $0000
|
||||
L0001 := $0001
|
||||
L0002 := $0002
|
||||
L0001 := $000B
|
||||
GOWARM := $0003
|
||||
GOSTROUT := $0003
|
||||
GOSTROUT := $0006
|
||||
GOGIVEAYF := $0008
|
||||
|
||||
USR := $000A
|
||||
@ -121,8 +120,8 @@ TOKEN_SGN := $AD
|
||||
TOKEN_LEFTSTR := $C1
|
||||
|
||||
|
||||
RAMSTART3 := $AAAA
|
||||
RAMSTART2 := $AAAA
|
||||
RAMSTART3 := $2A00
|
||||
RAMSTART2 := $2A00
|
||||
LF689 := $F689
|
||||
LF800 := $F800
|
||||
LF819 := $F819
|
||||
@ -138,17 +137,16 @@ LFEFD := $FEFD
|
||||
L0D28 := $AAAA
|
||||
L000A := $000A
|
||||
L123C := $AAAA
|
||||
L2829 := $AAAA
|
||||
L2AAA := $AAAA
|
||||
L2A52 := $AAAA
|
||||
L2AA3 := $AAAA
|
||||
L1008 := $AAAA
|
||||
L2A6D := $AAAA
|
||||
L2A68 := $AAAA
|
||||
L0008 := $AA
|
||||
L0006 := $AA
|
||||
L0008 := $08
|
||||
L0006 := $06
|
||||
L1F20 := $AAAA
|
||||
L00A4 := $AA
|
||||
L00A4 := $A4
|
||||
L1751 := $AAAA
|
||||
L2198 := $AAAA
|
||||
L13D7 := $AAAA
|
||||
|
10
make.sh
10
make.sh
@ -8,7 +8,7 @@ diff -u cbmbasic1.bin.txt cbmbasic1-new.bin.txt | head
|
||||
|
||||
# 1.0 ?
|
||||
echo kbdbasic
|
||||
ca65 -D KBD -D OSI_KBD -D CBM_KBD -D CBM_KBD_APPLE -D CBM2_KBD -D KIM_KBD -D CONFIG_11 -D CONFIG_11_NOAPPLE -D CBM2_KBD_APPLE -D KIM_KBD_APPLE msbasic.s -o kbdbasic.o &&
|
||||
ca65 -D KBD -D OSI_KBD -D CBM_KBD -D CBM_KBD_APPLE -D CBM2_KBD -D KIM_KBD -D CONFIG_11 -D CONFIG_11_NOAPPLE -D CBM2_KBD_APPLE -D KIM_KBD_APPLE -D OSI_KBD_APPLE msbasic.s -o kbdbasic.o &&
|
||||
ld65 -C kbdbasic.cfg kbdbasic.o -o kbdbasic-new.bin &&
|
||||
xxd -g 1 kbdbasic.bin > kbdbasic.bin.txt
|
||||
xxd -g 1 kbdbasic-new.bin > kbdbasic-new.bin.txt
|
||||
@ -16,7 +16,7 @@ diff -u kbdbasic.bin.txt kbdbasic-new.bin.txt | head
|
||||
|
||||
# 1.0 rev 3.2
|
||||
echo osi
|
||||
ca65 -D OSI -D OSI_KBD msbasic.s -o osi.o &&
|
||||
ca65 -D OSI -D OSI_KBD -D OSI_KBD_APPLE msbasic.s -o osi.o &&
|
||||
ld65 -C osi.cfg osi.o -o osi-new.bin
|
||||
xxd -g 1 osi.bin > osi.bin.txt
|
||||
xxd -g 1 osi-new.bin > osi-new.bin.txt
|
||||
@ -40,9 +40,9 @@ diff -u cbmbasic2.bin.txt cbmbasic2-new.bin.txt | head
|
||||
|
||||
# 1.1
|
||||
echo applesoft
|
||||
ca65 -D APPLE -D CONFIG_11 -D CBM_KBD_APPLE -D CBM2_APPLE -D CBM2_KBD_APPLE -D KIM_KBD_APPLE -D CBM2_KIM_APPLE -D CBM1_APPLE -D CBM_APPLE -D KIM_APPLE msbasic.s -o applesoft.o &&
|
||||
ca65 -D APPLE -D CONFIG_11 -D CBM_KBD_APPLE -D CBM2_APPLE -D CBM2_KBD_APPLE -D KIM_KBD_APPLE -D CBM2_KIM_APPLE -D CBM1_APPLE -D CBM_APPLE -D KIM_APPLE -D OSI_KBD_APPLE msbasic.s -o applesoft.o &&
|
||||
ld65 -C applesoft.cfg applesoft.o -o applesoft-new.bin &&
|
||||
xxd -g 1 applesoft.bin > applesoft.bin.txt
|
||||
xxd -g 1 applesoft-new.bin > applesoft-new.bin.txt
|
||||
#diff -u applesoft.bin.txt applesoft-new.bin.txt | head
|
||||
da65 --info applesoft-temp.txt
|
||||
diff -u applesoft.bin.txt applesoft-new.bin.txt | head
|
||||
#da65 --info applesoft-temp.txt
|
||||
|
136
msbasic.s
136
msbasic.s
@ -597,11 +597,7 @@ LE28E:
|
||||
.ifdef CBM
|
||||
jsr STROUT
|
||||
.else
|
||||
.ifdef APPLE
|
||||
jsr GOSTROUT
|
||||
.else
|
||||
jsr GOWARM ; XXX
|
||||
.endif
|
||||
jsr GOWARM
|
||||
.endif
|
||||
L2351:
|
||||
jsr INLIN
|
||||
@ -1728,14 +1724,14 @@ LOAD:
|
||||
lda #$A6
|
||||
ldy #$27 ; XXX
|
||||
sta L0001
|
||||
sty L0002
|
||||
sty L0001+1
|
||||
jmp L1873
|
||||
ldx #$FF
|
||||
txs
|
||||
lda #$48
|
||||
ldy #$23 ; XXX
|
||||
sta L0001
|
||||
sty L0002
|
||||
sty L0001+1
|
||||
lda #<QT_LOADED
|
||||
ldy #>QT_LOADED
|
||||
jsr STROUT
|
||||
@ -6721,8 +6717,8 @@ COLD_START2:
|
||||
.ifndef CBM
|
||||
lda #<COLD_START2
|
||||
ldy #>COLD_START2
|
||||
sta L0001
|
||||
sty L0002
|
||||
sta Z00+1
|
||||
sty Z00+2
|
||||
sta GOWARM+1
|
||||
sty GOWARM+2
|
||||
lda #<AYINT
|
||||
@ -6753,16 +6749,30 @@ COLD_START2:
|
||||
sta $0B
|
||||
sty $0C
|
||||
.endif
|
||||
.ifdef CBM_APPLE
|
||||
.ifdef CBM
|
||||
lda #<IQERR
|
||||
ldy #>IQERR
|
||||
.endif
|
||||
.ifdef APPLE
|
||||
lda #<L29D0
|
||||
ldy #>L29D0
|
||||
.endif
|
||||
.ifdef CBM_APPLE
|
||||
sta L0001
|
||||
sty L0002
|
||||
sty L0001+1
|
||||
.endif
|
||||
.ifndef CBM
|
||||
.ifdef APPLE
|
||||
lda #$28
|
||||
.else
|
||||
lda #$48
|
||||
.endif
|
||||
sta Z17
|
||||
.ifdef APPLE
|
||||
lda #$0E
|
||||
.else
|
||||
lda #$38
|
||||
.endif
|
||||
sta Z18
|
||||
.endif
|
||||
.ifdef CBM2_KBD
|
||||
@ -6829,17 +6839,16 @@ L4098:
|
||||
lda #<QT_MEMORY_SIZE
|
||||
ldy #>QT_MEMORY_SIZE
|
||||
jsr STROUT
|
||||
.ifdef APPLE
|
||||
jsr INLINX
|
||||
.else
|
||||
jsr NXIN
|
||||
.endif
|
||||
stx TXTPTR
|
||||
sty TXTPTR+1
|
||||
jsr CHRGET
|
||||
cmp #$41
|
||||
.ifdef APPLE
|
||||
nop
|
||||
nop;XXX
|
||||
.else
|
||||
beq COLD_START
|
||||
.endif
|
||||
tay
|
||||
bne L40EE
|
||||
.endif
|
||||
@ -6913,8 +6922,8 @@ L4106:
|
||||
.ifdef APPLE
|
||||
lda #$FF
|
||||
jmp L2829
|
||||
.word STROUT
|
||||
jsr L123C
|
||||
.word STROUT ; PATCH!
|
||||
jsr NXIN
|
||||
.else
|
||||
lda #<QT_TERMINAL_WIDTH
|
||||
ldy #>QT_TERMINAL_WIDTH
|
||||
@ -6932,6 +6941,7 @@ L4106:
|
||||
lda LINNUM
|
||||
cmp #$10
|
||||
bcc L4106
|
||||
L2829:
|
||||
sta Z17
|
||||
L4129:
|
||||
sbc #$0E
|
||||
@ -7014,7 +7024,7 @@ L4192:
|
||||
lda #<QT_BYTES_FREE
|
||||
ldy #>QT_BYTES_FREE
|
||||
jsr STROUT
|
||||
.ifndef OSI_KBD
|
||||
.ifndef OSI_KBD_APPLE
|
||||
jsr SCRTCH
|
||||
.endif
|
||||
.ifdef CBM
|
||||
@ -7024,14 +7034,14 @@ L4192:
|
||||
ldy #>STROUT
|
||||
sta GOWARM+1
|
||||
sty GOWARM+2
|
||||
.ifdef OSI_KBD
|
||||
.ifdef OSI_KBD_APPLE
|
||||
jsr SCRTCH
|
||||
.endif
|
||||
lda #<RESTART
|
||||
ldy #>RESTART
|
||||
sta L0001
|
||||
sty L0002
|
||||
jmp (L0001)
|
||||
sta Z00+1
|
||||
sty Z00+2
|
||||
jmp (Z00+1)
|
||||
.endif
|
||||
.ifndef CBM_APPLE
|
||||
QT_WANT:
|
||||
@ -7656,9 +7666,7 @@ LFFED:
|
||||
.addr LC009
|
||||
.endif
|
||||
.ifdef APPLE
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
.byte 0,0,0
|
||||
L2900:
|
||||
jsr LFD6A
|
||||
stx $33
|
||||
@ -7676,9 +7684,7 @@ L2912:
|
||||
ldx $33
|
||||
rts
|
||||
PLT:
|
||||
.byte $4C
|
||||
L291C:
|
||||
beq L2947
|
||||
jmp L29F0
|
||||
L291E:
|
||||
cmp #$47
|
||||
bne L2925
|
||||
@ -7693,19 +7699,18 @@ L292B:
|
||||
inx
|
||||
L2930:
|
||||
stx $33
|
||||
jsr L13D7
|
||||
jsr L2198
|
||||
jsr L1751
|
||||
lda L00A4
|
||||
L2932:
|
||||
jsr FRMEVL
|
||||
jsr ROUND_FAC
|
||||
jsr AYINT
|
||||
lda FAC+4
|
||||
ldx $33
|
||||
sta $0300,x
|
||||
dec $33
|
||||
bmi L294Dx
|
||||
.byte $A9
|
||||
L2947:
|
||||
bit L1F20
|
||||
ora $10,x
|
||||
.byte $E5
|
||||
lda #$2C
|
||||
jsr SYNCHR
|
||||
bpl L2932
|
||||
L294Dx:
|
||||
tay
|
||||
pla
|
||||
@ -7745,7 +7750,7 @@ INLINX:
|
||||
jsr OUTQUES
|
||||
jsr OUTSP
|
||||
ldx #$80
|
||||
jmp INLIN
|
||||
jmp INLIN1
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
@ -7804,16 +7809,61 @@ INLINX:
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
L29D0:
|
||||
jsr L29DA
|
||||
lda $A3
|
||||
sta $A5
|
||||
jmp (L00A4)
|
||||
lda FAC+3
|
||||
sta FAC+5
|
||||
jmp (FAC+4)
|
||||
L29DA:
|
||||
jmp (L0006)
|
||||
jmp (GOSTROUT)
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
L29E0:
|
||||
pla
|
||||
jmp LFB40
|
||||
brk ; 29E4 00 .
|
||||
brk ; 29E5 00 .
|
||||
brk ; 29E6 00 .
|
||||
L29E7:
|
||||
brk ; 29E7 00 .
|
||||
brk ; 29E8 00 .
|
||||
brk ; 29E9 00 .
|
||||
brk ; 29EA 00 .
|
||||
brk ; 29EB 00 .
|
||||
brk ; 29EC 00 .
|
||||
brk ; 29ED 00 .
|
||||
brk ; 29EE 00 .
|
||||
brk ; 29EF 00 .
|
||||
L29F0:
|
||||
pha ; 29F0 48 H
|
||||
ldx #$01 ; 29F1 A2 01 ..
|
||||
inc $B9 ; 29F3 E6 B9 ..
|
||||
bne L29F9 ; 29F5 D0 02 ..
|
||||
inc $BA ; 29F7 E6 BA ..
|
||||
L29F9:
|
||||
jmp L291E ; 29F9 4C 1E 29 L.)
|
||||
; ----------------------------------------------------------------------------
|
||||
brk ; 29FC 00 .
|
||||
brk ; 29FD 00 .
|
||||
brk ; 29FE 00 .
|
||||
brk ; 29FF 00 .
|
||||
eor ($53,x) ; 2A00 41 53 AS
|
||||
and ($D2,x) ; 2A02 21 D2 !.
|
||||
.byte $02 ; 2A04 02 .
|
||||
.byte $FA ; 2A05 FA .
|
||||
brk ; 2A06 00 .
|
||||
lda $12 ; 2A07 A5 12 ..
|
||||
beq L2A0E ; 2A09 F0 03 ..
|
||||
jmp (L0008) ; 2A0B 6C 08 00 l..
|
||||
L2A0E:
|
||||
jsr LF689
|
||||
.byte $15,$BC,$08,$10,$52,$45,$75,$10
|
||||
.byte $CD,$00,$55,$15,$9E,$08,$10,$4C
|
||||
.byte $45,$75,$10,$D4,$00,$55,$15,$0E
|
||||
.byte $08,$10,$89,$10,$75,$15,$1C,$08
|
||||
.byte $10,$1F,$10,$75,$00
|
||||
jmp (L0008)
|
||||
; ----------------------------------------------------------------------------
|
||||
.byte 0,0,0,0,0,0
|
||||
.endif
|
Loading…
Reference in New Issue
Block a user