mirror of
https://github.com/mist64/msbasic.git
synced 2025-01-02 07:29:47 +00:00
inline
This commit is contained in:
parent
5bf0b4466b
commit
276a23886c
133
inline.s
Normal file
133
inline.s
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
.segment "CODE"
|
||||||
|
|
||||||
|
.ifndef CONFIG_NO_INPUTBUFFER_ZP
|
||||||
|
L2420:
|
||||||
|
.ifdef OSI
|
||||||
|
jsr OUTDO
|
||||||
|
.endif
|
||||||
|
dex
|
||||||
|
bpl INLIN2
|
||||||
|
L2423:
|
||||||
|
.ifdef OSI
|
||||||
|
jsr OUTDO
|
||||||
|
.endif
|
||||||
|
jsr CRDO
|
||||||
|
.endif
|
||||||
|
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
; READ A LINE, AND STRIP OFF SIGN BITS
|
||||||
|
; ----------------------------------------------------------------------------
|
||||||
|
.ifndef KBD
|
||||||
|
INLIN:
|
||||||
|
.ifdef APPLE
|
||||||
|
ldx #$DD
|
||||||
|
INLIN1:
|
||||||
|
stx $33
|
||||||
|
jsr L2900
|
||||||
|
cpx #$EF
|
||||||
|
bcs L0C32
|
||||||
|
ldx #$EF
|
||||||
|
L0C32:
|
||||||
|
lda #$00
|
||||||
|
sta INPUTBUFFER,x
|
||||||
|
ldx #<INPUTBUFFER-1
|
||||||
|
ldy #>INPUTBUFFER-1
|
||||||
|
rts
|
||||||
|
.endif
|
||||||
|
|
||||||
|
.ifndef APPLE
|
||||||
|
ldx #$00
|
||||||
|
INLIN2:
|
||||||
|
jsr GETLN
|
||||||
|
.ifndef CONFIG_NO_LINE_EDITING
|
||||||
|
cmp #$07
|
||||||
|
beq L2443
|
||||||
|
.endif
|
||||||
|
cmp #$0D
|
||||||
|
beq L2453
|
||||||
|
.ifndef CONFIG_NO_LINE_EDITING
|
||||||
|
cmp #$20
|
||||||
|
bcc INLIN2
|
||||||
|
.ifdef MICROTAN
|
||||||
|
cmp #$80
|
||||||
|
.else
|
||||||
|
cmp #$7D
|
||||||
|
.endif
|
||||||
|
bcs INLIN2
|
||||||
|
cmp #$40 ; @
|
||||||
|
beq L2423
|
||||||
|
.ifdef MICROTAN
|
||||||
|
cmp #$7F ; DEL
|
||||||
|
.else
|
||||||
|
cmp #$5F ; _
|
||||||
|
.endif
|
||||||
|
beq L2420
|
||||||
|
L2443:
|
||||||
|
.ifdef MICROTAN
|
||||||
|
cpx #$4F
|
||||||
|
.else
|
||||||
|
cpx #$47
|
||||||
|
.endif
|
||||||
|
bcs L244C
|
||||||
|
.endif
|
||||||
|
sta INPUTBUFFER,x
|
||||||
|
inx
|
||||||
|
.ifdef OSI
|
||||||
|
.byte $2C
|
||||||
|
.else
|
||||||
|
bne INLIN2
|
||||||
|
.endif
|
||||||
|
L244C:
|
||||||
|
.ifndef CONFIG_NO_LINE_EDITING
|
||||||
|
lda #$07 ; BEL
|
||||||
|
jsr OUTDO
|
||||||
|
bne INLIN2
|
||||||
|
.endif
|
||||||
|
L2453:
|
||||||
|
jmp L29B9
|
||||||
|
.endif
|
||||||
|
.endif
|
||||||
|
|
||||||
|
.ifndef KBD
|
||||||
|
.ifndef APPLE
|
||||||
|
GETLN:
|
||||||
|
.ifdef CONFIG_FILE
|
||||||
|
jsr CHRIN
|
||||||
|
ldy Z03
|
||||||
|
bne L2465
|
||||||
|
.else
|
||||||
|
jsr MONRDKEY
|
||||||
|
.endif
|
||||||
|
.ifdef OSI
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
and #$7F
|
||||||
|
.endif
|
||||||
|
.endif /* APPLE */
|
||||||
|
.ifdef APPLE
|
||||||
|
RDKEY:
|
||||||
|
jsr LFD0C
|
||||||
|
and #$7F
|
||||||
|
.endif
|
||||||
|
cmp #$0F
|
||||||
|
bne L2465
|
||||||
|
pha
|
||||||
|
lda Z14
|
||||||
|
eor #$FF
|
||||||
|
sta Z14
|
||||||
|
pla
|
||||||
|
L2465:
|
||||||
|
rts
|
||||||
|
.endif /* KBD */
|
10
print.s
10
print.s
@ -22,7 +22,7 @@ PRINT2:
|
|||||||
cmp #','
|
cmp #','
|
||||||
; Pre-KIM had no CLC. KIM added the CLC
|
; Pre-KIM had no CLC. KIM added the CLC
|
||||||
; here. Post-KIM moved the CLC up...
|
; here. Post-KIM moved the CLC up...
|
||||||
.ifdef KIM
|
.if .def(CONFIG_11A) && (!.def(CONFIG_2))
|
||||||
clc
|
clc
|
||||||
.endif
|
.endif
|
||||||
beq L29DE
|
beq L29DE
|
||||||
@ -142,9 +142,9 @@ L29D9:
|
|||||||
pla
|
pla
|
||||||
tax
|
tax
|
||||||
.else
|
.else
|
||||||
.ifdef APPLE
|
.ifndef CONFIG_2
|
||||||
lda #$00
|
lda #$00
|
||||||
sta $50
|
sta POSX
|
||||||
.endif
|
.endif
|
||||||
eor #$FF
|
eor #$FF
|
||||||
.endif
|
.endif
|
||||||
@ -196,7 +196,7 @@ L29F5:
|
|||||||
plp
|
plp
|
||||||
bcc L2A09
|
bcc L2A09
|
||||||
.else
|
.else
|
||||||
.ifdef APPLE
|
.ifdef CONFIG_11
|
||||||
beq L1185
|
beq L1185
|
||||||
jmp SYNERR
|
jmp SYNERR
|
||||||
L1185:
|
L1185:
|
||||||
@ -205,7 +205,7 @@ L1185:
|
|||||||
.endif
|
.endif
|
||||||
pla
|
pla
|
||||||
cmp #TOKEN_TAB
|
cmp #TOKEN_TAB
|
||||||
.ifdef APPLE
|
.ifdef CONFIG_11
|
||||||
bne L2A09
|
bne L2A09
|
||||||
.else
|
.else
|
||||||
bne L2A0A
|
bne L2A0A
|
||||||
|
148
program.s
148
program.s
@ -315,137 +315,7 @@ RET3:
|
|||||||
rts
|
rts
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
.ifndef CONFIG_NO_INPUTBUFFER_ZP
|
.include "inline.s"
|
||||||
L2420:
|
|
||||||
.ifdef OSI
|
|
||||||
jsr OUTDO
|
|
||||||
.endif
|
|
||||||
dex
|
|
||||||
bpl INLIN2
|
|
||||||
L2423:
|
|
||||||
.ifdef OSI
|
|
||||||
jsr OUTDO
|
|
||||||
.endif
|
|
||||||
jsr CRDO
|
|
||||||
.endif
|
|
||||||
|
|
||||||
; ----------------------------------------------------------------------------
|
|
||||||
; READ A LINE, AND STRIP OFF SIGN BITS
|
|
||||||
; ----------------------------------------------------------------------------
|
|
||||||
.ifndef KBD
|
|
||||||
INLIN:
|
|
||||||
.ifdef APPLE
|
|
||||||
ldx #$DD
|
|
||||||
INLIN1:
|
|
||||||
stx $33
|
|
||||||
jsr L2900
|
|
||||||
cpx #$EF
|
|
||||||
bcs L0C32
|
|
||||||
ldx #$EF
|
|
||||||
L0C32:
|
|
||||||
lda #$00
|
|
||||||
sta INPUTBUFFER,x
|
|
||||||
ldx #<INPUTBUFFER-1
|
|
||||||
ldy #>INPUTBUFFER-1
|
|
||||||
rts
|
|
||||||
.endif
|
|
||||||
|
|
||||||
.ifndef APPLE
|
|
||||||
ldx #$00
|
|
||||||
INLIN2:
|
|
||||||
jsr GETLN
|
|
||||||
.ifndef CONFIG_NO_LINE_EDITING
|
|
||||||
cmp #$07
|
|
||||||
beq L2443
|
|
||||||
.endif
|
|
||||||
cmp #$0D
|
|
||||||
beq L2453
|
|
||||||
.ifndef CONFIG_NO_LINE_EDITING
|
|
||||||
cmp #$20
|
|
||||||
bcc INLIN2
|
|
||||||
.ifdef MICROTAN
|
|
||||||
cmp #$80
|
|
||||||
.else
|
|
||||||
cmp #$7D
|
|
||||||
.endif
|
|
||||||
bcs INLIN2
|
|
||||||
cmp #$40 ; @
|
|
||||||
beq L2423
|
|
||||||
.ifdef MICROTAN
|
|
||||||
cmp #$7F ; DEL
|
|
||||||
.else
|
|
||||||
cmp #$5F ; _
|
|
||||||
.endif
|
|
||||||
beq L2420
|
|
||||||
L2443:
|
|
||||||
.ifdef MICROTAN
|
|
||||||
cpx #$4F
|
|
||||||
.else
|
|
||||||
cpx #$47
|
|
||||||
.endif
|
|
||||||
bcs L244C
|
|
||||||
.endif
|
|
||||||
sta INPUTBUFFER,x
|
|
||||||
inx
|
|
||||||
.ifdef OSI
|
|
||||||
.byte $2C; XXX
|
|
||||||
.else
|
|
||||||
bne INLIN2
|
|
||||||
.endif
|
|
||||||
L244C:
|
|
||||||
.ifndef CONFIG_NO_LINE_EDITING
|
|
||||||
lda #$07 ; BEL
|
|
||||||
jsr OUTDO
|
|
||||||
bne INLIN2
|
|
||||||
.endif
|
|
||||||
L2453:
|
|
||||||
jmp L29B9
|
|
||||||
.endif
|
|
||||||
.endif
|
|
||||||
|
|
||||||
.ifndef KBD
|
|
||||||
.ifndef APPLE
|
|
||||||
GETLN:
|
|
||||||
.ifdef CONFIG_FILE
|
|
||||||
jsr CHRIN
|
|
||||||
ldy Z03
|
|
||||||
bne L2465
|
|
||||||
.else
|
|
||||||
jsr MONRDKEY
|
|
||||||
.endif
|
|
||||||
.ifdef OSI
|
|
||||||
nop
|
|
||||||
nop
|
|
||||||
nop
|
|
||||||
nop
|
|
||||||
nop
|
|
||||||
nop
|
|
||||||
nop
|
|
||||||
nop
|
|
||||||
nop
|
|
||||||
nop
|
|
||||||
nop
|
|
||||||
nop
|
|
||||||
nop
|
|
||||||
nop
|
|
||||||
and #$7F
|
|
||||||
.endif
|
|
||||||
.endif /* APPLE */
|
|
||||||
.ifdef APPLE
|
|
||||||
RDKEY:
|
|
||||||
jsr LFD0C
|
|
||||||
and #$7F
|
|
||||||
.endif
|
|
||||||
cmp #$0F
|
|
||||||
bne L2465
|
|
||||||
pha
|
|
||||||
lda Z14
|
|
||||||
eor #$FF
|
|
||||||
sta Z14
|
|
||||||
pla
|
|
||||||
L2465:
|
|
||||||
rts
|
|
||||||
.endif /* KBD */
|
|
||||||
|
|
||||||
; ----------------------------------------------------------------------------
|
; ----------------------------------------------------------------------------
|
||||||
; TOKENIZE THE INPUT LINE
|
; TOKENIZE THE INPUT LINE
|
||||||
@ -666,8 +536,7 @@ SCRTCH:
|
|||||||
; ----------------------------------------------------------------------------
|
; ----------------------------------------------------------------------------
|
||||||
SETPTRS:
|
SETPTRS:
|
||||||
jsr STXTPT
|
jsr STXTPT
|
||||||
.ifndef APPLE
|
.ifdef CONFIG_11A
|
||||||
.ifdef CONFIG_11
|
|
||||||
lda #$00
|
lda #$00
|
||||||
|
|
||||||
; ----------------------------------------------------------------------------
|
; ----------------------------------------------------------------------------
|
||||||
@ -676,7 +545,6 @@ SETPTRS:
|
|||||||
CLEAR:
|
CLEAR:
|
||||||
bne L256A
|
bne L256A
|
||||||
.endif
|
.endif
|
||||||
.endif
|
|
||||||
CLEARC:
|
CLEARC:
|
||||||
.ifdef KBD
|
.ifdef KBD
|
||||||
lda #<CONST_MEMSIZ
|
lda #<CONST_MEMSIZ
|
||||||
@ -705,19 +573,11 @@ STKINI:
|
|||||||
.ifdef CONFIG_2
|
.ifdef CONFIG_2
|
||||||
tay
|
tay
|
||||||
.else
|
.else
|
||||||
.ifdef APPLE
|
sta STACK+STACK_TOP+1
|
||||||
sta STACK+249
|
|
||||||
.else
|
|
||||||
sta STACK+253
|
|
||||||
.endif
|
|
||||||
.endif
|
.endif
|
||||||
pla
|
pla
|
||||||
.ifndef CONFIG_2
|
.ifndef CONFIG_2
|
||||||
.ifdef APPLE
|
sta STACK+STACK_TOP+2
|
||||||
sta STACK+250
|
|
||||||
.else
|
|
||||||
sta STACK+254
|
|
||||||
.endif
|
|
||||||
.endif
|
.endif
|
||||||
ldx #STACK_TOP
|
ldx #STACK_TOP
|
||||||
txs
|
txs
|
||||||
|
2
token.s
2
token.s
@ -112,7 +112,7 @@ UNFNC:
|
|||||||
.ifdef CONFIG_NO_POKE
|
.ifdef CONFIG_NO_POKE
|
||||||
keyword_addr "VER", VER
|
keyword_addr "VER", VER
|
||||||
.else
|
.else
|
||||||
.ifdef KIM
|
.ifdef CONFIG_RAM
|
||||||
keyword_addr "USR", IQERR
|
keyword_addr "USR", IQERR
|
||||||
.else
|
.else
|
||||||
keyword_addr "USR", USR
|
keyword_addr "USR", USR
|
||||||
|
Loading…
Reference in New Issue
Block a user