mirror of
https://github.com/mist64/msbasic.git
synced 2024-12-21 01:30:42 +00:00
EXTRA segment
This commit is contained in:
parent
6ced72245d
commit
bb6af5f8f6
128
apple_extra.s
Normal file
128
apple_extra.s
Normal file
@ -0,0 +1,128 @@
|
||||
.segment "EXTRA"
|
||||
|
||||
.byte 0,0,0
|
||||
L2900:
|
||||
jsr LFD6A
|
||||
stx $33
|
||||
ldx #$00
|
||||
L2907:
|
||||
lda $0200,x
|
||||
and #$7F
|
||||
cmp #$0D
|
||||
bne L2912
|
||||
lda #$00
|
||||
L2912:
|
||||
sta $0200,x
|
||||
inx
|
||||
bne L2907
|
||||
ldx $33
|
||||
rts
|
||||
PLT:
|
||||
jmp L29F0
|
||||
L291E:
|
||||
cmp #$47
|
||||
bne L2925
|
||||
jmp L29E0
|
||||
L2925:
|
||||
cmp #$43
|
||||
bne L292B
|
||||
beq L2988
|
||||
L292B:
|
||||
cmp #$50
|
||||
beq L2930
|
||||
inx
|
||||
L2930:
|
||||
stx $33
|
||||
L2932:
|
||||
jsr FRMEVL
|
||||
jsr ROUND_FAC
|
||||
jsr AYINT
|
||||
lda FAC+4
|
||||
ldx $33
|
||||
sta $0300,x
|
||||
dec $33
|
||||
bmi L294Dx
|
||||
lda #$2C
|
||||
jsr SYNCHR
|
||||
bpl L2932
|
||||
L294Dx:
|
||||
tay
|
||||
pla
|
||||
cmp #$43
|
||||
bne L2957
|
||||
tya
|
||||
jmp LF864
|
||||
L2957:
|
||||
cmp #$50
|
||||
bne L2962
|
||||
tya
|
||||
ldy $0301
|
||||
jmp LF800
|
||||
L2962:
|
||||
pha
|
||||
lda $0301
|
||||
sta $2C
|
||||
sta $2D
|
||||
pla
|
||||
cmp #$48
|
||||
bne L2978
|
||||
lda $0300
|
||||
ldy $0302
|
||||
jmp LF819
|
||||
L2978:
|
||||
cmp #$56
|
||||
beq L297F
|
||||
jmp SYNERR
|
||||
L297F:
|
||||
ldy $0300
|
||||
lda $0302
|
||||
jmp LF828
|
||||
L2988:
|
||||
dex
|
||||
beq L2930
|
||||
INLINX:
|
||||
jsr OUTQUES
|
||||
jsr OUTSP
|
||||
ldx #$80
|
||||
jmp INLIN1
|
||||
.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
|
||||
L29D0:
|
||||
jsr L29DA
|
||||
lda FAC+3
|
||||
sta FAC+5
|
||||
jmp (FAC+4)
|
||||
L29DA:
|
||||
jmp (GOSTROUT)
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
L29E0:
|
||||
pla
|
||||
jmp LFB40
|
||||
.byte 0,0,0,0,0,0,0,0,0,0,0,0
|
||||
L29F0:
|
||||
pha
|
||||
ldx #$01
|
||||
inc $B9
|
||||
bne L29F9
|
||||
inc $BA
|
||||
L29F9:
|
||||
jmp L291E
|
||||
.byte $00,$00,$00,$00,$41,$53,$21,$D2
|
||||
.byte $02,$FA,$00
|
||||
lda $12
|
||||
beq L2A0E
|
||||
jmp (L0008)
|
||||
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
|
@ -13,6 +13,7 @@ SEGMENTS {
|
||||
CODE: load = BASROM, type = ro;
|
||||
CHRGET: load = BASROM, type = ro;
|
||||
INIT: load = BASROM, type = ro;
|
||||
EXTRA: load = BASROM, type = ro;
|
||||
DUMMY: load = DUMMY; # don't include
|
||||
}
|
||||
|
||||
|
@ -13,6 +13,7 @@ SEGMENTS {
|
||||
CODE: load = BASROM, type = ro;
|
||||
CHRGET: load = BASROM, type = ro;
|
||||
INIT: load = BASROM, type = ro;
|
||||
EXTRA: load = BASROM, type = ro;
|
||||
DUMMY: load = DUMMY; # don't include
|
||||
}
|
||||
|
||||
|
@ -13,6 +13,7 @@ SEGMENTS {
|
||||
CODE: load = BASROM, type = ro;
|
||||
CHRGET: load = BASROM, type = ro;
|
||||
INIT: load = BASROM, type = ro;
|
||||
EXTRA: load = BASROM, type = ro;
|
||||
DUMMY: load = DUMMY; # don't include
|
||||
}
|
||||
|
||||
|
637
init.s
637
init.s
@ -422,178 +422,16 @@ QT_BASIC:
|
||||
.byte $0D,$0A,$00
|
||||
.endif
|
||||
.endif /* KBD */
|
||||
|
||||
.segment "EXTRA"
|
||||
|
||||
.ifdef OSI
|
||||
.byte $00,$00
|
||||
LBEE4:
|
||||
lda LBF05
|
||||
lsr a
|
||||
bcc LBEE4
|
||||
lda $FB03
|
||||
sta $FB07
|
||||
and #$7F
|
||||
rts
|
||||
pha
|
||||
LBEF4:
|
||||
lda $FB05
|
||||
bpl LBEF4
|
||||
pla
|
||||
sta $FB04
|
||||
rts
|
||||
lda $FB06
|
||||
lda #$FF
|
||||
.byte $8D
|
||||
.byte $05
|
||||
LBF05:
|
||||
.byte $FB
|
||||
rts
|
||||
LBF07:
|
||||
lda $FC00
|
||||
lsr a
|
||||
bcc LBF07
|
||||
lda $FC01
|
||||
beq LBF07
|
||||
and #$7F
|
||||
rts
|
||||
pha
|
||||
LBF16:
|
||||
lda $FC00
|
||||
lsr a
|
||||
lsr a
|
||||
bcc LBF16
|
||||
pla
|
||||
sta $FC01
|
||||
rts
|
||||
lda #$03
|
||||
sta $FC00
|
||||
lda #$B1
|
||||
sta $FC00
|
||||
rts
|
||||
sta $0202
|
||||
pha
|
||||
txa
|
||||
pha
|
||||
tya
|
||||
pha
|
||||
lda $0202
|
||||
beq LBF6D
|
||||
ldy $0206
|
||||
beq LBF47
|
||||
LBF3F:
|
||||
ldx #$40
|
||||
LBF41:
|
||||
dex
|
||||
bne LBF41
|
||||
dey
|
||||
bne LBF3F
|
||||
LBF47:
|
||||
cmp #$0A
|
||||
beq LBF76
|
||||
cmp #$0D
|
||||
bne LBF55
|
||||
jsr LBFD5
|
||||
jmp LBF6D
|
||||
LBF55:
|
||||
sta $0201
|
||||
jsr LBFC2
|
||||
inc $0200
|
||||
lda $FFE1
|
||||
clc
|
||||
adc $FFE0
|
||||
cmp $0200
|
||||
bmi LBF73
|
||||
LBF6A:
|
||||
jsr LBFDE
|
||||
LBF6D:
|
||||
pla
|
||||
tay
|
||||
pla
|
||||
tax
|
||||
pla
|
||||
rts
|
||||
LBF73:
|
||||
jsr LBFD8
|
||||
LBF76:
|
||||
jsr LBFC2
|
||||
lda $FFE0
|
||||
and #$E0
|
||||
sta $0202
|
||||
ldx #$07
|
||||
LBF83:
|
||||
lda LBFF3,x
|
||||
sta L0207,x
|
||||
dex
|
||||
bpl LBF83
|
||||
ldx LBFFB,y
|
||||
lda #$20
|
||||
ldy $FFE1
|
||||
cpy #$20
|
||||
bmi LBF99
|
||||
asl a
|
||||
LBF99:
|
||||
sta $0208
|
||||
ldy #$00
|
||||
LBF9E:
|
||||
jsr L0207
|
||||
bne LBF9E
|
||||
inc $0209
|
||||
inc $020C
|
||||
cpx $0209
|
||||
bne LBF9E
|
||||
LBFAE:
|
||||
jsr L0207
|
||||
cpy $0202
|
||||
bne LBFAE
|
||||
lda #$20
|
||||
LBFB8:
|
||||
jsr L020A
|
||||
dec $0208
|
||||
bne LBFB8
|
||||
beq LBF6A
|
||||
LBFC2:
|
||||
ldx $0200
|
||||
lda $0201
|
||||
LBFC8:
|
||||
ldy $FFE2
|
||||
bne LBFD1
|
||||
sta $D300,x
|
||||
rts
|
||||
LBFD1:
|
||||
sta $D700,x
|
||||
rts
|
||||
LBFD5:
|
||||
jsr LBFC2
|
||||
LBFD8:
|
||||
lda $FFE0
|
||||
sta $0200
|
||||
LBFDE:
|
||||
ldx $0200
|
||||
lda $D300,x
|
||||
ldy $FFE2
|
||||
beq LBFEC
|
||||
lda $D700,x
|
||||
LBFEC:
|
||||
sta $0201
|
||||
lda #$5F
|
||||
bne LBFC8
|
||||
LBFF3:
|
||||
lda $D000,y
|
||||
sta $D000,y
|
||||
iny
|
||||
rts
|
||||
LBFFB:
|
||||
.byte $D3
|
||||
.byte $D7
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
.endif /* CONFIG_SMALL */
|
||||
.include "osi_extra.s"
|
||||
.endif
|
||||
|
||||
.ifdef KIM
|
||||
RAMSTART2:
|
||||
.byte $08,$29,$25,$20,$60,$2A,$E5,$E4
|
||||
.byte $20,$66,$24,$65,$AC,$04,$A4
|
||||
.endif /* KIM */
|
||||
|
||||
|
||||
.include "kim_extra.s"
|
||||
.endif
|
||||
|
||||
.ifdef CONFIG_CBM1_PATCHES
|
||||
.include "cbm1_patches.s"
|
||||
@ -601,462 +439,9 @@ RAMSTART2:
|
||||
|
||||
|
||||
.ifdef KBD
|
||||
stx SHIFTSIGNEXT
|
||||
stx $0800
|
||||
inx
|
||||
stx Z17
|
||||
stx Z18
|
||||
stx TXTTAB
|
||||
lda #$08
|
||||
sta TXTTAB+1
|
||||
jsr SCRTCH
|
||||
sta STACK+255
|
||||
jsr LDE42
|
||||
.byte $1B,$06,$01,$0C
|
||||
.byte "INTELLIVISION BASIC"
|
||||
.byte $0D,$0A,$0A
|
||||
.byte "Copyright Microsoft, Mattel 1980"
|
||||
.byte $0D,$0A,$00
|
||||
sta $0435
|
||||
sta $8F
|
||||
ldy #$0F
|
||||
lda #$FF
|
||||
sta ($04),y
|
||||
jsr LDE8C
|
||||
.byte $0C
|
||||
jmp RESTART
|
||||
OUTQUESSP:
|
||||
jsr OUTQUES
|
||||
jmp OUTSP
|
||||
LFDDA:
|
||||
ldy #$FF
|
||||
LFDDC:
|
||||
iny
|
||||
LFDDD:
|
||||
jsr LF43B
|
||||
cmp #$03
|
||||
beq LFDF7
|
||||
cmp #$20
|
||||
bcs LFDEC
|
||||
sbc #$09
|
||||
bne LFDDD
|
||||
LFDEC:
|
||||
sta Z00,y
|
||||
tax
|
||||
bne LFDDC
|
||||
jsr LE882
|
||||
ldy #$06
|
||||
LFDF7:
|
||||
tax
|
||||
clc
|
||||
rts
|
||||
LFDFA:
|
||||
bit $8F
|
||||
bmi LFE01
|
||||
jsr LDE48
|
||||
LFE01:
|
||||
bit $8F
|
||||
bvc LFE10
|
||||
jmp LDE53
|
||||
LFE08:
|
||||
jsr LFDFA
|
||||
LFE0B:
|
||||
jsr LDE24
|
||||
bne LFE08
|
||||
LFE10:
|
||||
rts
|
||||
VSAV:
|
||||
jsr GARBAG
|
||||
lda FRETOP
|
||||
sta $00
|
||||
lda FRETOP+1
|
||||
.byte $85
|
||||
LFE1B:
|
||||
ora ($A5,x)
|
||||
.byte $2F
|
||||
sta $02
|
||||
lda STREND+1
|
||||
sta $03
|
||||
ldy #$00
|
||||
LFE26:
|
||||
lda ($00),y
|
||||
sta ($02),y
|
||||
inc $02
|
||||
bne LFE30
|
||||
inc $03
|
||||
LFE30:
|
||||
inc $00
|
||||
bne LFE26
|
||||
inc $01
|
||||
bit $01
|
||||
bvc LFE26
|
||||
ldx VARTAB
|
||||
ldy VARTAB+1
|
||||
lda #$01
|
||||
bne LFE50
|
||||
PSAV:
|
||||
lda VARTAB
|
||||
sta $02
|
||||
lda VARTAB+1
|
||||
sta $03
|
||||
ldx #$01
|
||||
ldy #$08
|
||||
lda #$02
|
||||
LFE50:
|
||||
sta $0513
|
||||
stx $0503
|
||||
stx $00
|
||||
sty $0504
|
||||
sty $01
|
||||
ldy #$0D
|
||||
lda #$00
|
||||
LFE61:
|
||||
sta $0504,y
|
||||
dey
|
||||
bne LFE61
|
||||
sty $0500
|
||||
lda #$40
|
||||
sta $0505
|
||||
lda $02
|
||||
sec
|
||||
sbc $00
|
||||
sta $00
|
||||
lda $03
|
||||
sbc $01
|
||||
sta $01
|
||||
lsr a
|
||||
lsr a
|
||||
lsr a
|
||||
sta $03
|
||||
jsr LE870
|
||||
sta $02
|
||||
jsr CHRGOT
|
||||
beq LFEA6
|
||||
cmp #$2C
|
||||
beq L40FA
|
||||
jmp SYNERR
|
||||
L40FA:
|
||||
jsr CHRGET
|
||||
jsr LE870
|
||||
sec
|
||||
sbc $02
|
||||
cmp $03
|
||||
bpl LFEBF
|
||||
lda #$27
|
||||
sta JMPADRS
|
||||
jmp LFFBD
|
||||
LFEA6:
|
||||
lda $02
|
||||
clc
|
||||
adc $03
|
||||
jsr LE874
|
||||
pha
|
||||
jsr LFE0B
|
||||
jsr L6874
|
||||
.byte $72
|
||||
adc $00,x
|
||||
pla
|
||||
tax
|
||||
lda #$00
|
||||
jsr LINPRT
|
||||
LFEBF:
|
||||
ldx #$07
|
||||
LBF83:
|
||||
dex
|
||||
lda VARTAB,x
|
||||
sec
|
||||
sbc TXTTAB,x
|
||||
sta $051B,x
|
||||
lda VARTAB+1,x
|
||||
sbc TXTTAB+1,x
|
||||
sta $051C,x
|
||||
dex
|
||||
bpl LBF83
|
||||
txa
|
||||
sbc FRETOP
|
||||
sta $0521
|
||||
lda #$3F
|
||||
sbc FRETOP+1
|
||||
sta $0522
|
||||
lda FRETOP
|
||||
sta $0523
|
||||
lda FRETOP+1
|
||||
sta $0524
|
||||
ldx $02
|
||||
jsr LFFDD
|
||||
jsr LFFD1
|
||||
lda $01
|
||||
ldx #$05
|
||||
LFEF7:
|
||||
stx $0511
|
||||
ldy #$E4
|
||||
sec
|
||||
sbc #$08
|
||||
sta $01
|
||||
bpl LFF15
|
||||
adc #$08
|
||||
asl $00
|
||||
rol a
|
||||
asl $00
|
||||
rol a
|
||||
asl $00
|
||||
rol a
|
||||
adc #$01
|
||||
sta $0505
|
||||
ldy #$00
|
||||
LFF15:
|
||||
sty $0512
|
||||
jsr LE4C0
|
||||
ldx #$00
|
||||
lda $01
|
||||
bpl LFEF7
|
||||
LFF21:
|
||||
rts
|
||||
VLOD:
|
||||
jsr LFFD1
|
||||
stx JMPADRS
|
||||
lda VARTAB
|
||||
ldy VARTAB+1
|
||||
ldx #$01
|
||||
jsr LFF64
|
||||
ldx #$00
|
||||
ldy #$02
|
||||
LFF34:
|
||||
jsr LE39A
|
||||
iny
|
||||
iny
|
||||
inx
|
||||
inx
|
||||
cpx #$05
|
||||
bmi LFF34
|
||||
lda STREND
|
||||
sta LOWTR
|
||||
lda STREND+1
|
||||
sta LOWTR+1
|
||||
lda FRETOP
|
||||
sta HIGHTR
|
||||
lda FRETOP+1
|
||||
sta HIGHTR+1
|
||||
lda #$FF
|
||||
sta HIGHDS
|
||||
lda #$3F
|
||||
sta HIGHDS+1
|
||||
lda $0523
|
||||
sta FRETOP
|
||||
lda $0524
|
||||
sta FRETOP+1
|
||||
jmp BLTU2
|
||||
LFF64:
|
||||
sta $9A
|
||||
sty $9B
|
||||
stx $00
|
||||
jsr LE870
|
||||
jsr LFFDD
|
||||
lda JMPADRS
|
||||
beq LFF7F
|
||||
lda #$01
|
||||
sta $9A
|
||||
lda #$08
|
||||
sta $9B
|
||||
jsr STXTPT
|
||||
LFF7F:
|
||||
lda $9A
|
||||
sta $0503
|
||||
lda $9B
|
||||
sta $0504
|
||||
lda #$ED
|
||||
sta $0512
|
||||
lda #$05
|
||||
sta $01
|
||||
LFF92:
|
||||
ldx $0512
|
||||
beq LFF21
|
||||
ldy #$04
|
||||
jsr LE4C4
|
||||
lda $01
|
||||
cmp $0511
|
||||
bne LFFB2
|
||||
lda #$00
|
||||
sta $01
|
||||
lda $00
|
||||
cmp $0513
|
||||
beq LFF92
|
||||
lda #$18
|
||||
bne LFFB8
|
||||
LFFB2:
|
||||
lda #$27
|
||||
bne LFFB8
|
||||
LFFB6:
|
||||
lda #$3C
|
||||
LFFB8:
|
||||
sta JMPADRS
|
||||
jsr CLEARC
|
||||
LFFBD:
|
||||
jsr LF422
|
||||
sta $9A
|
||||
sty $9B
|
||||
lda #$00
|
||||
tay
|
||||
sta ($9A),y
|
||||
iny
|
||||
sta ($9A),y
|
||||
ldx JMPADRS
|
||||
jmp ERROR
|
||||
LFFD1:
|
||||
ldx #$00
|
||||
LFFD3:
|
||||
lda #$02
|
||||
.byte $2C
|
||||
LFFD6:
|
||||
lda #$03
|
||||
jsr LDE8C
|
||||
asl FACSIGN
|
||||
LFFDD:
|
||||
jsr CHRGOT
|
||||
beq LFFE5
|
||||
jmp SYNERR
|
||||
LFFE5:
|
||||
lda #$0D
|
||||
ldy #$00
|
||||
jsr LDE8C
|
||||
.byte $06
|
||||
LFFED:
|
||||
lda $034C
|
||||
bmi LFFED
|
||||
ldy #$01
|
||||
lda ($04),y
|
||||
bne LFFB6
|
||||
rts
|
||||
.byte $FF
|
||||
.addr LC000
|
||||
.addr LC000
|
||||
.addr LC009
|
||||
.include "kbd_extra.s"
|
||||
.endif
|
||||
|
||||
.ifdef APPLE
|
||||
.byte 0,0,0
|
||||
L2900:
|
||||
jsr LFD6A
|
||||
stx $33
|
||||
ldx #$00
|
||||
L2907:
|
||||
lda $0200,x
|
||||
and #$7F
|
||||
cmp #$0D
|
||||
bne L2912
|
||||
lda #$00
|
||||
L2912:
|
||||
sta $0200,x
|
||||
inx
|
||||
bne L2907
|
||||
ldx $33
|
||||
rts
|
||||
PLT:
|
||||
jmp L29F0
|
||||
L291E:
|
||||
cmp #$47
|
||||
bne L2925
|
||||
jmp L29E0
|
||||
L2925:
|
||||
cmp #$43
|
||||
bne L292B
|
||||
beq L2988
|
||||
L292B:
|
||||
cmp #$50
|
||||
beq L2930
|
||||
inx
|
||||
L2930:
|
||||
stx $33
|
||||
L2932:
|
||||
jsr FRMEVL
|
||||
jsr ROUND_FAC
|
||||
jsr AYINT
|
||||
lda FAC+4
|
||||
ldx $33
|
||||
sta $0300,x
|
||||
dec $33
|
||||
bmi L294Dx
|
||||
lda #$2C
|
||||
jsr SYNCHR
|
||||
bpl L2932
|
||||
L294Dx:
|
||||
tay
|
||||
pla
|
||||
cmp #$43
|
||||
bne L2957
|
||||
tya
|
||||
jmp LF864
|
||||
L2957:
|
||||
cmp #$50
|
||||
bne L2962
|
||||
tya
|
||||
ldy $0301
|
||||
jmp LF800
|
||||
L2962:
|
||||
pha
|
||||
lda $0301
|
||||
sta $2C
|
||||
sta $2D
|
||||
pla
|
||||
cmp #$48
|
||||
bne L2978
|
||||
lda $0300
|
||||
ldy $0302
|
||||
jmp LF819
|
||||
L2978:
|
||||
cmp #$56
|
||||
beq L297F
|
||||
jmp SYNERR
|
||||
L297F:
|
||||
ldy $0300
|
||||
lda $0302
|
||||
jmp LF828
|
||||
L2988:
|
||||
dex
|
||||
beq L2930
|
||||
INLINX:
|
||||
jsr OUTQUES
|
||||
jsr OUTSP
|
||||
ldx #$80
|
||||
jmp INLIN1
|
||||
.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
|
||||
L29D0:
|
||||
jsr L29DA
|
||||
lda FAC+3
|
||||
sta FAC+5
|
||||
jmp (FAC+4)
|
||||
L29DA:
|
||||
jmp (GOSTROUT)
|
||||
brk
|
||||
brk
|
||||
brk
|
||||
L29E0:
|
||||
pla
|
||||
jmp LFB40
|
||||
.byte 0,0,0,0,0,0,0,0,0,0,0,0
|
||||
L29F0:
|
||||
pha
|
||||
ldx #$01
|
||||
inc $B9
|
||||
bne L29F9
|
||||
inc $BA
|
||||
L29F9:
|
||||
jmp L291E
|
||||
.byte $00,$00,$00,$00,$41,$53,$21,$D2
|
||||
.byte $02,$FA,$00
|
||||
lda $12
|
||||
beq L2A0E
|
||||
jmp (L0008)
|
||||
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
|
||||
.include "apple_extra.s"
|
||||
.endif
|
1
kb9.cfg
1
kb9.cfg
@ -13,6 +13,7 @@ SEGMENTS {
|
||||
CODE: load = BASROM, type = ro;
|
||||
CHRGET: load = BASROM, type = ro;
|
||||
INIT: load = BASROM, type = ro;
|
||||
EXTRA: load = BASROM, type = ro;
|
||||
DUMMY: load = DUMMY; # don't include
|
||||
}
|
||||
|
||||
|
331
kbd_extra.s
Normal file
331
kbd_extra.s
Normal file
@ -0,0 +1,331 @@
|
||||
.segment "EXTRA"
|
||||
stx SHIFTSIGNEXT
|
||||
stx $0800
|
||||
inx
|
||||
stx Z17
|
||||
stx Z18
|
||||
stx TXTTAB
|
||||
lda #$08
|
||||
sta TXTTAB+1
|
||||
jsr SCRTCH
|
||||
sta STACK+255
|
||||
jsr LDE42
|
||||
.byte $1B,$06,$01,$0C
|
||||
.byte "INTELLIVISION BASIC"
|
||||
.byte $0D,$0A,$0A
|
||||
.byte "Copyright Microsoft, Mattel 1980"
|
||||
.byte $0D,$0A,$00
|
||||
sta $0435
|
||||
sta $8F
|
||||
ldy #$0F
|
||||
lda #$FF
|
||||
sta ($04),y
|
||||
jsr LDE8C
|
||||
.byte $0C
|
||||
jmp RESTART
|
||||
OUTQUESSP:
|
||||
jsr OUTQUES
|
||||
jmp OUTSP
|
||||
LFDDA:
|
||||
ldy #$FF
|
||||
LFDDC:
|
||||
iny
|
||||
LFDDD:
|
||||
jsr LF43B
|
||||
cmp #$03
|
||||
beq LFDF7
|
||||
cmp #$20
|
||||
bcs LFDEC
|
||||
sbc #$09
|
||||
bne LFDDD
|
||||
LFDEC:
|
||||
sta Z00,y
|
||||
tax
|
||||
bne LFDDC
|
||||
jsr LE882
|
||||
ldy #$06
|
||||
LFDF7:
|
||||
tax
|
||||
clc
|
||||
rts
|
||||
LFDFA:
|
||||
bit $8F
|
||||
bmi LFE01
|
||||
jsr LDE48
|
||||
LFE01:
|
||||
bit $8F
|
||||
bvc LFE10
|
||||
jmp LDE53
|
||||
LFE08:
|
||||
jsr LFDFA
|
||||
LFE0B:
|
||||
jsr LDE24
|
||||
bne LFE08
|
||||
LFE10:
|
||||
rts
|
||||
VSAV:
|
||||
jsr GARBAG
|
||||
lda FRETOP
|
||||
sta $00
|
||||
lda FRETOP+1
|
||||
.byte $85
|
||||
LFE1B:
|
||||
ora ($A5,x)
|
||||
.byte $2F
|
||||
sta $02
|
||||
lda STREND+1
|
||||
sta $03
|
||||
ldy #$00
|
||||
LFE26:
|
||||
lda ($00),y
|
||||
sta ($02),y
|
||||
inc $02
|
||||
bne LFE30
|
||||
inc $03
|
||||
LFE30:
|
||||
inc $00
|
||||
bne LFE26
|
||||
inc $01
|
||||
bit $01
|
||||
bvc LFE26
|
||||
ldx VARTAB
|
||||
ldy VARTAB+1
|
||||
lda #$01
|
||||
bne LFE50
|
||||
PSAV:
|
||||
lda VARTAB
|
||||
sta $02
|
||||
lda VARTAB+1
|
||||
sta $03
|
||||
ldx #$01
|
||||
ldy #$08
|
||||
lda #$02
|
||||
LFE50:
|
||||
sta $0513
|
||||
stx $0503
|
||||
stx $00
|
||||
sty $0504
|
||||
sty $01
|
||||
ldy #$0D
|
||||
lda #$00
|
||||
LFE61:
|
||||
sta $0504,y
|
||||
dey
|
||||
bne LFE61
|
||||
sty $0500
|
||||
lda #$40
|
||||
sta $0505
|
||||
lda $02
|
||||
sec
|
||||
sbc $00
|
||||
sta $00
|
||||
lda $03
|
||||
sbc $01
|
||||
sta $01
|
||||
lsr a
|
||||
lsr a
|
||||
lsr a
|
||||
sta $03
|
||||
jsr LE870
|
||||
sta $02
|
||||
jsr CHRGOT
|
||||
beq LFEA6
|
||||
cmp #$2C
|
||||
beq L40FA
|
||||
jmp SYNERR
|
||||
L40FA:
|
||||
jsr CHRGET
|
||||
jsr LE870
|
||||
sec
|
||||
sbc $02
|
||||
cmp $03
|
||||
bpl LFEBF
|
||||
lda #$27
|
||||
sta JMPADRS
|
||||
jmp LFFBD
|
||||
LFEA6:
|
||||
lda $02
|
||||
clc
|
||||
adc $03
|
||||
jsr LE874
|
||||
pha
|
||||
jsr LFE0B
|
||||
jsr L6874
|
||||
.byte $72
|
||||
adc $00,x
|
||||
pla
|
||||
tax
|
||||
lda #$00
|
||||
jsr LINPRT
|
||||
LFEBF:
|
||||
ldx #$07
|
||||
LBF83:
|
||||
dex
|
||||
lda VARTAB,x
|
||||
sec
|
||||
sbc TXTTAB,x
|
||||
sta $051B,x
|
||||
lda VARTAB+1,x
|
||||
sbc TXTTAB+1,x
|
||||
sta $051C,x
|
||||
dex
|
||||
bpl LBF83
|
||||
txa
|
||||
sbc FRETOP
|
||||
sta $0521
|
||||
lda #$3F
|
||||
sbc FRETOP+1
|
||||
sta $0522
|
||||
lda FRETOP
|
||||
sta $0523
|
||||
lda FRETOP+1
|
||||
sta $0524
|
||||
ldx $02
|
||||
jsr LFFDD
|
||||
jsr LFFD1
|
||||
lda $01
|
||||
ldx #$05
|
||||
LFEF7:
|
||||
stx $0511
|
||||
ldy #$E4
|
||||
sec
|
||||
sbc #$08
|
||||
sta $01
|
||||
bpl LFF15
|
||||
adc #$08
|
||||
asl $00
|
||||
rol a
|
||||
asl $00
|
||||
rol a
|
||||
asl $00
|
||||
rol a
|
||||
adc #$01
|
||||
sta $0505
|
||||
ldy #$00
|
||||
LFF15:
|
||||
sty $0512
|
||||
jsr LE4C0
|
||||
ldx #$00
|
||||
lda $01
|
||||
bpl LFEF7
|
||||
LFF21:
|
||||
rts
|
||||
VLOD:
|
||||
jsr LFFD1
|
||||
stx JMPADRS
|
||||
lda VARTAB
|
||||
ldy VARTAB+1
|
||||
ldx #$01
|
||||
jsr LFF64
|
||||
ldx #$00
|
||||
ldy #$02
|
||||
LFF34:
|
||||
jsr LE39A
|
||||
iny
|
||||
iny
|
||||
inx
|
||||
inx
|
||||
cpx #$05
|
||||
bmi LFF34
|
||||
lda STREND
|
||||
sta LOWTR
|
||||
lda STREND+1
|
||||
sta LOWTR+1
|
||||
lda FRETOP
|
||||
sta HIGHTR
|
||||
lda FRETOP+1
|
||||
sta HIGHTR+1
|
||||
lda #$FF
|
||||
sta HIGHDS
|
||||
lda #$3F
|
||||
sta HIGHDS+1
|
||||
lda $0523
|
||||
sta FRETOP
|
||||
lda $0524
|
||||
sta FRETOP+1
|
||||
jmp BLTU2
|
||||
LFF64:
|
||||
sta $9A
|
||||
sty $9B
|
||||
stx $00
|
||||
jsr LE870
|
||||
jsr LFFDD
|
||||
lda JMPADRS
|
||||
beq LFF7F
|
||||
lda #$01
|
||||
sta $9A
|
||||
lda #$08
|
||||
sta $9B
|
||||
jsr STXTPT
|
||||
LFF7F:
|
||||
lda $9A
|
||||
sta $0503
|
||||
lda $9B
|
||||
sta $0504
|
||||
lda #$ED
|
||||
sta $0512
|
||||
lda #$05
|
||||
sta $01
|
||||
LFF92:
|
||||
ldx $0512
|
||||
beq LFF21
|
||||
ldy #$04
|
||||
jsr LE4C4
|
||||
lda $01
|
||||
cmp $0511
|
||||
bne LFFB2
|
||||
lda #$00
|
||||
sta $01
|
||||
lda $00
|
||||
cmp $0513
|
||||
beq LFF92
|
||||
lda #$18
|
||||
bne LFFB8
|
||||
LFFB2:
|
||||
lda #$27
|
||||
bne LFFB8
|
||||
LFFB6:
|
||||
lda #$3C
|
||||
LFFB8:
|
||||
sta JMPADRS
|
||||
jsr CLEARC
|
||||
LFFBD:
|
||||
jsr VARTAB_MINUS_2_TO_AY
|
||||
sta $9A
|
||||
sty $9B
|
||||
lda #$00
|
||||
tay
|
||||
sta ($9A),y
|
||||
iny
|
||||
sta ($9A),y
|
||||
ldx JMPADRS
|
||||
jmp ERROR
|
||||
LFFD1:
|
||||
ldx #$00
|
||||
LFFD3:
|
||||
lda #$02
|
||||
.byte $2C
|
||||
LFFD6:
|
||||
lda #$03
|
||||
jsr LDE8C
|
||||
asl FACSIGN
|
||||
LFFDD:
|
||||
jsr CHRGOT
|
||||
beq LFFE5
|
||||
jmp SYNERR
|
||||
LFFE5:
|
||||
lda #$0D
|
||||
ldy #$00
|
||||
jsr LDE8C
|
||||
.byte $06
|
||||
LFFED:
|
||||
lda $034C
|
||||
bmi LFFED
|
||||
ldy #$01
|
||||
lda ($04),y
|
||||
bne LFFB6
|
||||
rts
|
||||
.byte $FF
|
||||
.addr LC000
|
||||
.addr LC000
|
||||
.addr LC009
|
@ -13,6 +13,7 @@ SEGMENTS {
|
||||
CODE: load = BASROM, type = ro;
|
||||
CHRGET: load = BASROM, type = ro;
|
||||
INIT: load = BASROM, type = ro;
|
||||
EXTRA: load = BASROM, type = ro;
|
||||
DUMMY: load = DUMMY; # don't include
|
||||
}
|
||||
|
||||
|
5
kim_extra.s
Normal file
5
kim_extra.s
Normal file
@ -0,0 +1,5 @@
|
||||
.segment "EXTRA"
|
||||
|
||||
RAMSTART2:
|
||||
.byte $08,$29,$25,$20,$60,$2A,$E5,$E4
|
||||
.byte $20,$66,$24,$65,$AC,$04,$A4
|
18
misc3.s
18
misc3.s
@ -1,7 +1,9 @@
|
||||
; KBD specific patches
|
||||
|
||||
.segment "CODE"
|
||||
|
||||
.ifdef KBD
|
||||
LF422:
|
||||
VARTAB_MINUS_2_TO_AY:
|
||||
lda VARTAB
|
||||
sec
|
||||
sbc #$02
|
||||
@ -10,17 +12,21 @@ LF422:
|
||||
dey
|
||||
LF42C:
|
||||
rts
|
||||
LF42D:
|
||||
lda Z00,x
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
GET_UPPER:
|
||||
lda INPUTBUFFERX,x
|
||||
LF430:
|
||||
cmp #$61
|
||||
cmp #'a'
|
||||
bcc LF43A
|
||||
cmp #$7B
|
||||
cmp #'z'+1
|
||||
bcs LF43A
|
||||
LF438:
|
||||
sbc #$1F
|
||||
LF43A:
|
||||
rts
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
LF43B:
|
||||
ldx #$5D
|
||||
LF43D:
|
||||
@ -38,6 +44,8 @@ LF44D:
|
||||
bcc LF44D
|
||||
RTS4:
|
||||
rts
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
LF457:
|
||||
lda TXTTAB
|
||||
ldx TXTTAB+1
|
||||
|
1
osi.cfg
1
osi.cfg
@ -13,6 +13,7 @@ SEGMENTS {
|
||||
CODE: load = BASROM, type = ro;
|
||||
CHRGET: load = BASROM, type = ro;
|
||||
INIT: load = BASROM, type = ro;
|
||||
EXTRA: load = BASROM, type = ro;
|
||||
DUMMY: load = DUMMY; # don't include
|
||||
}
|
||||
|
||||
|
165
osi_extra.s
Normal file
165
osi_extra.s
Normal file
@ -0,0 +1,165 @@
|
||||
.segment "EXTRA"
|
||||
|
||||
.byte $00,$00
|
||||
LBEE4:
|
||||
lda LBF05
|
||||
lsr a
|
||||
bcc LBEE4
|
||||
lda $FB03
|
||||
sta $FB07
|
||||
and #$7F
|
||||
rts
|
||||
pha
|
||||
LBEF4:
|
||||
lda $FB05
|
||||
bpl LBEF4
|
||||
pla
|
||||
sta $FB04
|
||||
rts
|
||||
lda $FB06
|
||||
lda #$FF
|
||||
.byte $8D
|
||||
.byte $05
|
||||
LBF05:
|
||||
.byte $FB
|
||||
rts
|
||||
LBF07:
|
||||
lda $FC00
|
||||
lsr a
|
||||
bcc LBF07
|
||||
lda $FC01
|
||||
beq LBF07
|
||||
and #$7F
|
||||
rts
|
||||
pha
|
||||
LBF16:
|
||||
lda $FC00
|
||||
lsr a
|
||||
lsr a
|
||||
bcc LBF16
|
||||
pla
|
||||
sta $FC01
|
||||
rts
|
||||
lda #$03
|
||||
sta $FC00
|
||||
lda #$B1
|
||||
sta $FC00
|
||||
rts
|
||||
sta $0202
|
||||
pha
|
||||
txa
|
||||
pha
|
||||
tya
|
||||
pha
|
||||
lda $0202
|
||||
beq LBF6D
|
||||
ldy $0206
|
||||
beq LBF47
|
||||
LBF3F:
|
||||
ldx #$40
|
||||
LBF41:
|
||||
dex
|
||||
bne LBF41
|
||||
dey
|
||||
bne LBF3F
|
||||
LBF47:
|
||||
cmp #$0A
|
||||
beq LBF76
|
||||
cmp #$0D
|
||||
bne LBF55
|
||||
jsr LBFD5
|
||||
jmp LBF6D
|
||||
LBF55:
|
||||
sta $0201
|
||||
jsr LBFC2
|
||||
inc $0200
|
||||
lda $FFE1
|
||||
clc
|
||||
adc $FFE0
|
||||
cmp $0200
|
||||
bmi LBF73
|
||||
LBF6A:
|
||||
jsr LBFDE
|
||||
LBF6D:
|
||||
pla
|
||||
tay
|
||||
pla
|
||||
tax
|
||||
pla
|
||||
rts
|
||||
LBF73:
|
||||
jsr LBFD8
|
||||
LBF76:
|
||||
jsr LBFC2
|
||||
lda $FFE0
|
||||
and #$E0
|
||||
sta $0202
|
||||
ldx #$07
|
||||
LBF83:
|
||||
lda LBFF3,x
|
||||
sta L0207,x
|
||||
dex
|
||||
bpl LBF83
|
||||
ldx LBFFB,y
|
||||
lda #$20
|
||||
ldy $FFE1
|
||||
cpy #$20
|
||||
bmi LBF99
|
||||
asl a
|
||||
LBF99:
|
||||
sta $0208
|
||||
ldy #$00
|
||||
LBF9E:
|
||||
jsr L0207
|
||||
bne LBF9E
|
||||
inc $0209
|
||||
inc $020C
|
||||
cpx $0209
|
||||
bne LBF9E
|
||||
LBFAE:
|
||||
jsr L0207
|
||||
cpy $0202
|
||||
bne LBFAE
|
||||
lda #$20
|
||||
LBFB8:
|
||||
jsr L020A
|
||||
dec $0208
|
||||
bne LBFB8
|
||||
beq LBF6A
|
||||
LBFC2:
|
||||
ldx $0200
|
||||
lda $0201
|
||||
LBFC8:
|
||||
ldy $FFE2
|
||||
bne LBFD1
|
||||
sta $D300,x
|
||||
rts
|
||||
LBFD1:
|
||||
sta $D700,x
|
||||
rts
|
||||
LBFD5:
|
||||
jsr LBFC2
|
||||
LBFD8:
|
||||
lda $FFE0
|
||||
sta $0200
|
||||
LBFDE:
|
||||
ldx $0200
|
||||
lda $D300,x
|
||||
ldy $FFE2
|
||||
beq LBFEC
|
||||
lda $D700,x
|
||||
LBFEC:
|
||||
sta $0201
|
||||
lda #$5F
|
||||
bne LBFC8
|
||||
LBFF3:
|
||||
lda $D000,y
|
||||
sta $D000,y
|
||||
iny
|
||||
rts
|
||||
LBFFB:
|
||||
.byte $D3
|
||||
.byte $D7
|
||||
brk
|
||||
brk
|
||||
brk
|
14
poke.s
14
poke.s
@ -44,10 +44,10 @@ GETADR:
|
||||
; "PEEK" FUNCTION
|
||||
; ----------------------------------------------------------------------------
|
||||
PEEK:
|
||||
.ifdef CBM2_KBD
|
||||
lda $12
|
||||
.ifdef CBM2
|
||||
lda LINNUM+1
|
||||
pha
|
||||
lda $11
|
||||
lda LINNUM
|
||||
pha
|
||||
.endif
|
||||
jsr GETADR
|
||||
@ -59,7 +59,7 @@ PEEK:
|
||||
bcc LD6F6
|
||||
LD6F3:
|
||||
.endif
|
||||
.ifdef CBM2_KBD
|
||||
.ifdef CBM2
|
||||
nop ; patch that disables the compares above
|
||||
nop
|
||||
nop
|
||||
@ -71,11 +71,11 @@ LD6F3:
|
||||
.endif
|
||||
lda (LINNUM),y
|
||||
tay
|
||||
.ifdef CBM2_KBD
|
||||
.ifdef CBM2
|
||||
pla
|
||||
sta $11
|
||||
sta LINNUM
|
||||
pla
|
||||
sta $12
|
||||
sta LINNUM+1
|
||||
.endif
|
||||
LD6F6:
|
||||
jmp SNGFLT
|
||||
|
@ -302,7 +302,7 @@ PLOD:
|
||||
iny
|
||||
sty JMPADRS
|
||||
jsr LFFD3
|
||||
jsr LF422
|
||||
jsr VARTAB_MINUS_2_TO_AY
|
||||
ldx #$02
|
||||
jsr LFF64
|
||||
ldx #$6F
|
||||
@ -495,13 +495,13 @@ L2497:
|
||||
inx
|
||||
L2498:
|
||||
.ifdef KBD
|
||||
jsr LF42D
|
||||
jsr GET_UPPER
|
||||
.else
|
||||
lda INPUTBUFFERX,x
|
||||
.ifndef CBM2
|
||||
.ifndef CBM2
|
||||
cmp #$20
|
||||
beq L2497
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
sec
|
||||
sbc TOKEN_NAME_TABLE,y
|
||||
|
Loading…
Reference in New Issue
Block a user