A2osX/BASIC.15/BASIC.S.A.txt

1301 lines
18 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

NEW
AUTO 3,1
*--------------------------------------
BS.ResetCSWKSW pha
lda GP.VECTOUT
sta ZP.CSW
lda GP.VECTOUT+1
sta ZP.CSW+1
lda GP.VECTIN
sta ZP.KSW
lda GP.VECTIN+1
sta ZP.KSW+1
pla
rts
BS.SetState0 ldx #$00
jsr BS.SetState
lda ZP.KSW+1
cmp GP.VDOSI+1
bne L9A26
jmp BS.SetCSWKSW2VDOS
L9A26 lda ZP.CSW+1
cmp GP.VDOSO+1
beq BS.SetCSWKSW2VDOS
bne BS.SaveCSWKSW
BS.IO.OUT cmp X9F65
bne L9A54
stx GP.PREGX
tsx
lda $103,x
cmp #$12
bne L9A6E
lda $104,x
cmp #$D8
bne L9A6E
ldx #$04
jsr BS.SetState
lda X9F65
ldx GP.PREGX
jmp BS.JMP.GP.VSYSO
L9A54 cmp GP.CHRLAST
sta GP.CHRLAST
bne L9A74
cmp #$8D
bne L9A74
lda ZP.CH
bne L9A69
lda BS.CMDBUF
cmp #$3F
L9A69 lda #$8D
bcs L9A74
rts
L9A6E ldx GP.PREGX
lda X9F65
L9A74 jsr BS.ResetCSWKSW
jsr MON.COUT
cmp #$8D
bne BS.SaveCSWKSW
lda AS.TRCFLG
cmp #$A5
beq L9A8B
sta GP.DTRACE
lda #$A5
sta AS.TRCFLG
L9A8B lda #$8D
BS.SaveCSWKSW pha
lda ZP.KSW+1
sta GP.VECTIN+1
lda ZP.KSW
sta GP.VECTIN
lda ZP.CSW+1
sta GP.VECTOUT+1
lda ZP.CSW
sta GP.VECTOUT
pla
BS.SetCSWKSW2VDOS
pha
lda GP.VDOSO
sta ZP.CSW
lda GP.VDOSO+1
sta ZP.CSW+1
lda GP.VDOSI
sta ZP.KSW
lda GP.VDOSI+1
sta ZP.KSW+1
pla
rts
BS.IO.IN bit GP.EXECACTV
bpl L9AC5
jsr BS.SaveAXY
jmp BS.IO.IN.EXEC
L9AC5 jsr BS.ResetCSWKSW
jsr MON.KEYIN0
cmp #$8D
bne L9AEB
jsr BS.SaveAXY
sta IO.LINEBUF,x
BS.CheckDOSCMD jsr BS.DOSCMD
bit GP.XCNUM
bmi L9AE8
bcs BS.ERROUT
ldy GP.PREGY
lda #$88
ldx #$00
beq L9AEB
L9AE8 jsr BS.RestoreAXY
L9AEB jmp BS.SaveCSWKSW
BS.NODEVERR lda #$03
BS.ERROUT sta GP.ERRCODE
sta AS.ERRNUM
lda GP.STATE
cmp #$01
php
lda #$0F
sta MLI.LEVEL
lda #$00
sta GP.IFILACTV
sta GP.OFILACTV
sta GP.PFXACTV
sta GP.MLICF.REFNUM
lda #MLI.C.CLOSE
jsr GP.GOSYSTEM
bcs L9B27
jsr LA004
bcs L9B27
lda #$00
sta MLI.LEVEL
sta GP.MLICF.REFNUM
lda #MLI.C.FLUSH
jsr GP.GOSYSTEM
L9B27 plp
ldx #$04
bit AS.ERRFLG
bcs L9B30
ldx #$00
L9B30 php
jsr BS.SetState
jsr BS.SetCSWKSW2VDOS
lda GP.ERRCODE
plp
bmi L9B4D
php
jsr GP.PRINTERR
jsr LB36B
plp
bcs L9B53
jsr BS.CROUT
jmp AS.RESTART1
L9B4D ldx AS.REMSTK
dex
dex
txs
tax
L9B53 lda #$03
jmp AS.BITERRFLG
L9B58 lda #$00
sta AS.ERRNUM
lda #$A3
sta X9F65
jsr AS.NORMAL
jsr BS.ResetCSWKSW
jsr BS.WriteTBUF
jsr BS.SetState0
jsr BS.RestoreAXY
jmp BS.IO.IN
BS.IO.IN0 jsr BS.SaveAXY
bit GP.PFXACTV
bpl L9B7E
jmp BS.IO.IN.CAT
L9B7E bit GP.IFILACTV
bpl L9B86
jmp BS.IO.IN.FILE
L9B86 bit GP.EXECACTV
bmi BS.IO.IN.EXEC
lda ZP.PROMPT
cmp #$DD
beq L9B58
jsr BS.ResetCSWKSW
L9B94 lda GP.PREGA
ldy GP.PREGY
jsr MON.KEYIN0
cmp #$88
bne L9BAC
lda ZP.PROMPT
cmp #$BE
beq L9BAA
txa
beq L9B94
L9BAA lda #$88
L9BAC jmp BS.SaveCSWKSW
BS.IO.IN.EXEC sta (ZP.BASL),y
lda ZP.PROMPT
cmp #$BE
beq L9BF2
lda IO.KBD
bpl L9BCD
cmp #$83
bne L9BCD
jsr LB36B
lda GP.STATE
bne L9C01
sta IO.KSTROBE
beq L9C01
L9BCD jsr BS.Setup4readEFBytesAt200
jsr L9C6C
bcs L9BFA
jsr BS.SaveAXY
bcc L9BDE
L9BDA dex
lda IO.LINEBUF,x
L9BDE ora #$80
sta IO.LINEBUF,x
txa
bne L9BDA
jsr BS.ResetCSWKSW
jsr BS.CheckDOSCMD
bit GP.XCNUM
bpl L9BCD
L9BF1 rts
L9BF2 jsr BS.Setup4readEFBytesAt200
jsr BS.ReadOneByte
bcc L9BF1
L9BFA jsr LB2B5
cmp #$05
bne L9C13
L9C01 ldx #$00
ldy ZP.CH
bne L9C0E
lda #$DD
sta ZP.PROMPT
lda #$88
rts
L9C0E lda (ZP.BASL),y
jmp (ZP.KSW)
L9C13 jmp BS.ERROUT
BS.IO.IN.FILE lda ZP.PROMPT
cmp #$DD
bne L9C1F
jmp L9B58
L9C1F lda GP.PREGA
sta (ZP.BASL),y
lda IO.KBD
bpl L9C31
cmp #$83
bne L9C31
bit IO.KSTROBE
rts
L9C31 lda ZP.PROMPT
bit GP.DIRFLG
bmi L9C95
cmp #$BE
beq L9C42
jsr L9C67
bcs L9C13
rts
L9C42 jsr BS.ReadOneByte
bcs L9C13
rts
BS.ReadOneByte lda GP.MLIRW.COUNT
sta GP.ParamL
lda #$01
sta GP.MLIRW.COUNT
lda #MLI.C.READ
jsr GP.GOSYSTEM
bcs L9C66
lda GP.ParamL
sta GP.MLIRW.COUNT
ldx GP.MLIRW.DATAPTR
lda IO.LINEBUF,x
L9C66 rts
L9C67 lda GP.PREGA
sta (ZP.BASL),y
L9C6C lda #MLI.C.READ
jsr GP.GOSYSTEM
bcs L9C66
lda GP.MLIRW.TRANS
beq L9C8E
clc
adc GP.MLIRW.DATAPTR
tax
lda IO.LINEBUF-1,x
and #$7F
cmp #$0D
bne L9C8E
lda GP.FoundBITS+1
and #$10
bne L9C8E
dex
L9C8E lda #$8D
ldy GP.PREGY
clc
rts
L9C95 cmp #$BE
beq L9C8E
lda GP.PREGA
sta (ZP.BASL),y
lda #$4F
sta BS.CATWIDTH
lda #MLI.C.GETMARK
jsr GP.GOSYSTEM
bcs L9D1F
lda GP.SBUFADR
ora GP.SBUFADR+1
bne L9CDF
lda #$02
sta GP.CATFLAG
jsr BS.ReadDirEnt
bcs L9D1F
lda GP.MLIRW.REFNUM
lsr
ror
ror
ror
tax
lda XBC12
sta XBC5A,x
lda XBC13
sta XBC5B,x
jsr LB128
L9CD3 lda #$A2
sta IO.LINEBUF
lda #$8D
sta IO.LINEBUF,x
clc
rts
L9CDF lda GP.CATFLAG
beq L9D22
bmi L9CF9
ldx #$00
dec GP.CATFLAG
beq L9CD3
jsr BS.LINEBUFCLR80
ldx #$10
jsr BS.PRINTERRMSGX
L9CF5 ldx #$50
bne L9CD3
L9CF9 cmp #$FF
bne L9D1C
dec GP.CATFLAG
lda #$00
sta GP.MLIRW.COUNT
sta GP.MLIRW.COUNT+1
lda #MLI.C.READ
jsr GP.GOSYSTEM
jsr LB157
pha
lda GP.MLIRW.REFNUM
sta GP.MLIMRKEOFBUF.REFNUM
pla
bcc L9CF5
bcs L9D1F
L9D1C lda #$05
sec
L9D1F jmp BS.ERROUT
L9D22 lda #$FF
sta XBC16
lda GP.MLIRW.REFNUM
lsr
ror
ror
ror
tax
lda XBC5A,x
sta XBC12
lda XBC5B,x
sta XBC13
lda GP.SBUFADR+1
and #$01
tax
lda GP.SBUFADR
sec
L9D45 inc XBC16
sbc XBC12
bcs L9D45
dex
beq L9D45
jsr LB241
bcc L9D65
cmp #$02
beq L9D5D
cmp #$05
bne L9D1F
L9D5D dec GP.CATFLAG
ldx #$00
jmp L9CD3
L9D65 jsr LA4D2
jmp L9CF5
BS.IO.IN.CAT cmp #$DD
bne L9D72
jmp L9B58
L9D72 lda GP.PREGA
sta (ZP.BASL),y
lda #$00
sta GP.PFXACTV
ldx BS.CMDBUF.LEN
L9D7F lda BS.CMDBUF.LEN,x
sta IO.LINEBUF-1,x
dex
bne L9D7F
ldx BS.CMDBUF.LEN
lda #$8D
rts
BS.Setup4readEFBytesAt200
lda XBBFE
sta GP.MLIRW.REFNUM
lda #$02
sta GP.MLIRW.DATAPTR+1
lda #$EF
sta GP.MLIRW.COUNT
lda #$00
sta GP.MLIRW.COUNT+1
sta GP.MLIRW.DATAPTR
rts
BS.VSYSO jsr BS.SaveAXY
cmp #$84
bne L9DC5
jsr BS.WriteTBUF
sta GP.INPTR
sta GP.IFILACTV
sta GP.OFILACTV
sta GP.PFXACTV
ldx #$08
jsr BS.SetState
jmp BS.RestoreAXY
L9DC5 ldx #$04
jsr BS.SetState
jsr BS.RestoreAXY
jmp BS.JMP.GP.VSYSO
BS.IO.OUT.CAT jsr BS.SaveAXY
ldx GP.INPTR
sta IO.LINEBUF,x
cmp #$8D
beq L9DEB
inc GP.INPTR
bne L9DE7
lda #$10
L9DE4 jmp BS.ERROUT
L9DE7 ldx GP.PREGX
rts
L9DEB inx
dex
beq L9DFA
jsr BS.ResetCSWKSW
jsr BS.DOSCMD
bcs L9DE4
jsr BS.SaveCSWKSW
L9DFA ldx #$04
jsr BS.SetState
jmp BS.RestoreAXY
L9E02 sty GP.PREGY
ldy ZP.PROMPT
beq L9E15
dey
beq L9E15
dey
beq L9E15
ldy GP.PREGY
jmp L9A74
L9E15 ldy GP.TBUFPTR
and #$7F
sta (AS.HIMEM),y
ldy GP.PREGY
inc GP.TBUFPTR
bne L9E2F
jsr BS.SaveAXY
jsr BS.WriteTBUF256
bcs L9DE4
jsr BS.RestoreAXY
L9E2F rts
BS.IO.OUT.TRACE pha
stx GP.PREGX
tsx
lda $104,x
cmp #$12
bne L9E46
lda $105,x
cmp #$D8
bne L9E46
pla
bcs L9EBA
L9E46 pla
nop
nop
nop
ldx GP.PREGX
bit GP.OFILACTV
bpl L9E70
cmp #$DD
bne L9E5A
cmp ZP.PROMPT
beq L9E8A
L9E5A cmp #$8D
bne L9E02
lda ZP.PROMPT
cmp #$FF
lda #$8D
bcc L9E02
jsr BS.WriteTBUF
sta GP.OFILACTV
lda #$8D
bne L9EA3
L9E70 pha
lda GP.IFILACTV
ora GP.PFXACTV
bpl L9E81
lda ZP.PROMPT
ora #$04
cmp #$84
beq L9EA6
L9E81 pla
cmp #$DD
bne L9EA3
cmp ZP.PROMPT
bne L9EA3
L9E8A jsr BS.SaveAXY
lda GP.OPENCNT
beq L9EA0
jsr BS.WriteTBUF
sta GP.OFILACTV
jsr BS.ResetCSWKSW
lda #$15
jsr GP.PRINTERR
L9EA0 jsr BS.RestoreAXY
L9EA3 jmp L9A74
L9EA6 pla
cmp #$8D
bne L9EAE
cmp GP.CHRLAST
L9EAE sta GP.CHRLAST
bne L9EB5
sta ZP.PROMPT
L9EB5 rts
L9EB6 inc AS.TXTPTR+1
bne L9EBE
L9EBA inc AS.TXTPTR
beq L9EB6
L9EBE ldx #$FF
stx ZP.PROMPT
ldx AS.REMSTK
txs
bit GP.DTRACE
bmi L9F3D
L9ECA ldy #$00
lda (AS.TXTPTR),y
bmi L9EF5
beq L9EF2
L9ED2 dec GP.STRINGS
bne L9EF0
lda AS.STRINGSTART+1
sbc AS.ARRAYEND+1
cmp #$03
bcs L9EE9
jsr BS.WriteTBUF
jsr BS.KW.01
lda AS.STRINGSTART+1
sbc AS.ARRAYEND+1
L9EE9 sta GP.STRINGS
ldy #$00
lda (AS.TXTPTR),y
L9EF0 cmp #$3A
L9EF2 jmp AS.EXECSTMT
L9EF5 sta ZP.PROMPT
tay
lda BS.BYTES-$80,y
bmi L9EF2
sta X9F00+1
X9F00 bne L9F02 SELF MODIFIED
L9F02 sta ZP.PROMPT
sta GP.CHRLAST
lda BS.VSYSO.LO
sta GP.VSYSO
lda BS.VSYSO.HI
sta GP.VSYSO+1
bne L9F32
lda #$01
sta ZP.PROMPT
bne L9F32
lda #$02
sta ZP.PROMPT
bne L9F32
tya
jmp L9ED2
sty GP.DTRACE
bne L9F2E
sta GP.DTRACE
dey
L9F2E lda #$4A
sta AS.TRCFLG
L9F32 tya
jmp AS.EXECSTMT
lda #$00
sta AS.ERRNUM
tya
bne L9EF0
L9F3D jsr BS.ResetCSWKSW
lda #$A3
jsr MON.COUT
ldx AS.CURLINE
lda AS.CURLINE+1
jsr AS.INTPRINTAX
lda #$A0
jsr MON.COUT
jsr BS.SaveCSWKSW
sec
jmp L9ECA
lda #$E3
bne L9F5E
lda #$A3
L9F5E sta X9F65
tya
bne L9EF0
brk
X9F65 .DA #$A3
BS.SaveAXY sta GP.PREGA
stx GP.PREGX
sty GP.PREGY
rts
BS.RestoreAXY lda GP.PREGA
ldx GP.PREGX
ldy GP.PREGY
rts
BS.SetState stx GP.STATE
ldy #$00
L9F7F lda BS.SYSIOVECTS,x
sta GP.VSYSO,y
inx
iny
cpy #$04
bne L9F7F
rts
BS.PRINTERR tay
ldx BS.ERRCODES-1,y
BS.PRINTERRX jsr BS.PRINTERRMSGX
ldx GP.INPTR
stx BS.CATWIDTH
jsr BS.CROUT
lda #$87
jsr BS.COUT
BS.LINEBUFOUT ldx #$00
L9FA3 lda IO.LINEBUF+1,x
jsr BS.COUT
inx
cpx BS.CATWIDTH
bcc L9FA3
BS.CROUT lda #$8D
BS.COUT jmp MON.COUT
BS.PRINTERRMSGX ldy #$00
clc
sty GP.INPTR
L9FBA jsr L9FD6
bne L9FC4
jsr L9FD6
ora #$10
L9FC4 tay
lda BS.TBL6,y
beq L9FD5
ldy GP.INPTR
sta IO.LINEBUF+1,y
inc GP.INPTR
bne L9FBA
L9FD5 rts
L9FD6 lda BS.TBL7,x
bcs L9FED
beq L9FE3
lsr
lsr
lsr
lsr
sec
rts
L9FE3 inx
lda BS.TBL7,x
sta GP.INPTR
inx
bne L9FD6
L9FED inx
and #$0F
clc
rts
BS.WriteTBUF256 lda #$00
ldy #$01
bne LA00B
BS.WriteTBUF jsr LA004
bcc LA020
tay
pla
pla
tya
jmp BS.ERROUT
LA004 ldy #$00
lda GP.TBUFPTR
beq LA01F
LA00B sta GP.MLIRW.COUNT
sty GP.MLIRW.COUNT+1
lda #MLI.C.WRITE
jsr GP.GOSYSTEM
pha
lda #$00
sta GP.TBUFPTR
pla
bcs LA020
LA01F clc
LA020 rts
LA021 jsr BS.KW.01
bcs LA047
lda AS.PGRMSTART+1
sta BS.TXTTAB+1
lda AS.PGRMSTART
sta BS.TXTTAB
lda AS.HIMEM+1
sta XBBD8
lda #$03
sta XBBD9
lda AS.STRINGSTART+1
sta BS.MEMSIZE+1
lda #$00
sta BS.MEMSIZE
jsr LA089
LA047 rts
BS.KW.01 lda #$00
sta BS.TXTTAB
lda #$03
sta XBBD9
lda AS.HIMEM+1
sta XBBD8
lda AS.STRINGSTART+1
sta BS.TXTTAB+1
sec
sbc AS.ARRAYEND+1
cmp #$07
bcc LA07D
sbc #$03
sta XBBD9
lda AS.ARRAYEND+1
adc #$00
sta XBBD8
lda AS.HIMEM+1
sbc AS.STRINGSTART+1
adc #$01
cmp XBBD9
bcs LA07D
sta XBBD9
LA07D lda AS.HIMEM+1
sta BS.MEMSIZE+1
lda AS.HIMEM
sta BS.MEMSIZE
sta AS.STRINGSTART
LA089 clc
beq LA08D
sec
LA08D lda BS.MEMSIZE+1
sta AS.STRINGSTART+1
sbc #$00
sta XBBDA
adc #$00
sta XBBDB
lda AS.ARRAYEND+1
adc #$01
sta XBBDD
LA0A3 lda AS.VARSTART
sbc #$06
sta ZP.A2L
lda AS.VARSTART+1
sbc #$00
sta ZP.A2H
lda AS.ARRAYSTART
sta XBBDC
lda XBBDA
cmp BS.TXTTAB+1
bcc LA0FA
sbc XBBD9
sta XBBD7
lda AS.STRINGSTART+1
sbc XBBDA
sbc XBBD7
eor #$FF
adc #$02
cmp XBBD7
bcc LA0D6
lda XBBD7
LA0D6 cmp BS.TXTTAB+1
bcs LA0E0
lda BS.TXTTAB+1
sbc #$00
LA0E0 sta XBBDA
jsr LA199
ldx AS.ARRAYSTART+1
jsr LA0FB
bcs LA0F8
jsr LA131
lda XBBDA
sta XBBDB
bcc LA0A3
LA0F8 lda #$0C
LA0FA rts
LA0FB clc
LA0FC lda ZP.A2L
adc #$07
sta ZP.A2L
bcc LA106
inc ZP.A2H
LA106 eor AS.ARRAYSTART
bne LA10E
cpx ZP.A2H
beq LA12F
LA10E ldy #$00
lda (ZP.A2L),y
iny
eor (ZP.A2L),y
bpl LA0FB
lda (ZP.A2L),y
bpl LA0FB
ldy #$04
lda (ZP.A2L),y
cmp XBBDA
bcc LA0FC
cmp XBBDB
bcs LA0FB
jsr LA1BC
bcc LA0FC
rts
LA12F clc
rts
LA131 jsr LA160
bcs LA12F
LA136 ldy #$02
lda (ZP.A2L),y
cmp XBBDA
bcc LA14A
cmp XBBDB
bcs LA14A
jsr LA1BC
bcc LA14B
rts
LA14A clc
LA14B lda #$03
adc ZP.A2L
sta ZP.A2L
bcc LA155
inc ZP.A2H
LA155 cmp XBBDC
bne LA136
cpx ZP.A2H
bne LA136
beq LA131
LA160 clc
lda XBBDC
sta ZP.A2L
stx ZP.A2H
eor AS.ARRAYEND
bne LA170
cpx AS.ARRAYEND+1
beq LA198
LA170 ldy #$02
lda (ZP.A2L),y
adc ZP.A2L
sta XBBDC
iny
lda (ZP.A2L),y
adc ZP.A2H
tax
ldy #$00
lda (ZP.A2L),y
iny
eor (ZP.A2L),y
bpl LA160
ldy #$04
lda (ZP.A2L),y
asl
adc #$05
adc ZP.A2L
sta ZP.A2L
bcc LA198
inc ZP.A2H
clc
LA198 rts
LA199 lda XBBD7
sta ZP.PCH
lda XBBD8
sta ZP.A1H
ldy #$00
sty ZP.PCL
sty ZP.A1L
ldx XBBD9
inx
LA1AD lda (ZP.PCL),y
sta (ZP.A1L),y
iny
bne LA1AD
inc ZP.A1H
inc ZP.PCH
dex
bne LA1AD
rts
LA1BC cmp XBBD7
bcc LA1C8
sbc XBBD7
clc
adc XBBD8
LA1C8 sta ZP.PCH
dey
lda (ZP.A2L),y
sta ZP.PCL
dey
sec
lda AS.STRINGSTART
sbc (ZP.A2L),y
sta AS.STRINGSTART
iny
sta (ZP.A2L),y
lda AS.STRINGSTART+1
sbc #$00
sta AS.STRINGSTART+1
iny
sta (ZP.A2L),y
dey
dey
lda (ZP.A2L),y
beq LA1F2
tay
LA1EA dey
lda (ZP.PCL),y
sta (AS.STRINGSTART),y
tya
bne LA1EA
LA1F2 clc
lda XBBDD
sbc AS.STRINGSTART+1
rts
LA1F9 lda #$04
LA1FB sta XBBB5
jsr BS.KW.01
bcs LA24E
lda AS.STRINGSTART+1
sbc AS.ARRAYEND+1
cmp XBBB5
lda #$0C
bcc LA24E
lda AS.STRINGSTART+1
sta ZP.PCH
sbc XBBB5
sta ZP.A1H
sta AS.STRINGSTART+1
lda AS.STRINGSTART
sta ZP.PCL
sta ZP.A1L
lda AS.HIMEM
sbc ZP.PCL
sta XBBED
lda AS.HIMEM+1
sbc ZP.PCH
sta XBBEE
jsr LA35F
lda #$00
sec
sbc XBBB5
sta XBBE2
jsr LA3A3
lda AS.HIMEM+1
sta XBBB7
sec
sbc XBBB5
sta AS.HIMEM+1
clc
adc #$04
sta XBBE3
rts
LA24E sec
rts
LA250 jsr BS.KW.01
bcs LA29D
lda AS.HIMEM+1
sbc #$00
sta ZP.PCH
adc #$03
sta ZP.A1H
lda AS.STRINGSTART
sta ZP.PCL
sta ZP.A1L
lda AS.HIMEM
sec
sbc AS.STRINGSTART
sta XBBED
lda AS.HIMEM+1
sbc AS.STRINGSTART+1
sta XBBEE
jsr LA383
lda #$04
sta XBBE2
clc
adc AS.HIMEM+1
sta AS.HIMEM+1
jsr LA3A3
lda XBBE3
cmp AS.HIMEM+1
beq LA2B7
pha
ldx GP.OPENCNT
beq LA29B
lda AS.HIMEM+1
LA293 cmp XBBEE,x
beq LA29E
dex
bne LA293
LA29B pla
sec
LA29D rts
LA29E pla
LA29F sta GP.SBUFADR+1
sta XBBEE,x
lda #$00
sta GP.SBUFADR
lda XBBF6,x
sta GP.MLIMRKEOFBUF.REFNUM
lda #MLI.C.SETBUF
jsr GP.GOSYSTEM
bcs LA29D
LA2B7 clc
rts
*--------------------------------------
MAN
SAVE usr/src/basic.15/basic.s.a
LOAD usr/src/basic.15/basic.s
ASM