mirror of
https://github.com/A2osX/A2osX.git
synced 2024-09-28 03:55:01 +00:00
Kernel 0.92
This commit is contained in:
parent
abe29c162d
commit
dfa2b31ab7
@ -9,11 +9,11 @@ CL.Init >LDYAI 256
|
||||
>STYA ZPCLBuf
|
||||
|
||||
txa
|
||||
>STA.G CMD.hCLBuf
|
||||
>STA.G CL.hCLBuf
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CL.Quit >LDA.G CMD.hCLBuf
|
||||
CL.Quit >LDA.G CL.hCLBuf
|
||||
beq .9
|
||||
>SYSCALL FreeMem
|
||||
|
||||
|
@ -8,7 +8,7 @@ CMD.Init >LDYAI 256
|
||||
bcs .9
|
||||
>STYA ZPArgVBuf
|
||||
txa
|
||||
>STA.G CMD.hArgVBuf
|
||||
>STA.G CORE.hArgVBuf
|
||||
|
||||
lda #PUSHD.STACK
|
||||
tay
|
||||
@ -16,7 +16,7 @@ CMD.Init >LDYAI 256
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CMD.Quit ldy #CMD.hArgVBuf
|
||||
CMD.Quit ldy #CORE.hArgVBuf
|
||||
jsr .8
|
||||
|
||||
ldy #hFileBuf
|
||||
@ -106,10 +106,10 @@ CMD.Get >LDYA ZPInputBufPtr
|
||||
* - or -
|
||||
* intcmd\0 arg1\0 arg2\0 ... \0
|
||||
*--------------------------------------
|
||||
CL.Parse >STZ.G CMD.IntCmd
|
||||
CL.Parse >STZ.G CORE.IntCmd
|
||||
|
||||
lda #S.PS.F.HOLD+S.PS.F.DUPENV
|
||||
>STA.G CMD.PSFlags
|
||||
>STA.G CORE.PSFlags
|
||||
|
||||
>PUSHW ZPCLBuf
|
||||
>LDYA ZPCLBuf
|
||||
@ -126,7 +126,7 @@ CL.Parse >STZ.G CMD.IntCmd
|
||||
.1 cmp #'#' comment ?
|
||||
beq .8 yes, ignore remaining
|
||||
|
||||
>LDA.G CMD.IntCmd
|
||||
>LDA.G CORE.IntCmd
|
||||
bne .3 we already have Cmd, go check args
|
||||
|
||||
ldy #1
|
||||
@ -137,7 +137,7 @@ CL.Parse >STZ.G CMD.IntCmd
|
||||
cmp #'.' leading dot ?
|
||||
bne .2
|
||||
|
||||
>LDA.G CMD.PSFlags yes, child process will run in same ENV
|
||||
>LDA.G CORE.PSFlags yes, child process will run in same ENV
|
||||
and #$ff^S.PS.F.DUPENV
|
||||
sta (pData),y
|
||||
bra .6 and skip this token
|
||||
@ -176,7 +176,7 @@ CL.CheckCmd ldy #$ff
|
||||
bra .4
|
||||
|
||||
.2 >PUSHW ZPCLBufPtr
|
||||
>LDYA L.CMD.INT
|
||||
>LDYA L.CORE.INT
|
||||
jsr Lookup no / found, search internal...
|
||||
bcs .4 not internal, search PATH
|
||||
|
||||
@ -184,7 +184,7 @@ CL.CheckCmd ldy #$ff
|
||||
plx
|
||||
bne .3
|
||||
|
||||
>LDA.G CMD.PSFlags if STARTPROC, skip keyword...
|
||||
>LDA.G CORE.PSFlags if STARTPROC, skip keyword...
|
||||
and #$ff^S.PS.F.HOLD
|
||||
sta (pData),y ...and toggle S.PS.F.HOLD flag
|
||||
clc
|
||||
@ -194,7 +194,7 @@ CL.CheckCmd ldy #$ff
|
||||
bcs .9
|
||||
|
||||
txa
|
||||
>STA.G CMD.IntCmd
|
||||
>STA.G CORE.IntCmd
|
||||
|
||||
clc
|
||||
rts
|
||||
@ -203,7 +203,7 @@ CL.CheckCmd ldy #$ff
|
||||
jsr CL.AddYAToArgV
|
||||
|
||||
lda #$ff
|
||||
>STA.G CMD.IntCmd
|
||||
>STA.G CORE.IntCmd
|
||||
clc
|
||||
|
||||
CL.CheckCmd.RTS
|
||||
@ -223,7 +223,7 @@ CL.CheckIO >PUSHW ZPCLBufPtr
|
||||
.9 lda #0
|
||||
rts
|
||||
*--------------------------------------
|
||||
CL.IO.AMP >LDA.G CMD.PSFlags
|
||||
CL.IO.AMP >LDA.G CORE.PSFlags
|
||||
and #$ff^S.PS.F.HOLD
|
||||
sta (pData),y
|
||||
clc
|
||||
|
@ -3,7 +3,31 @@ PREFIX
|
||||
AUTO 4,1
|
||||
.LIST OFF
|
||||
*--------------------------------------
|
||||
* Input : CMD.IntCmd,ZPArgVBuf
|
||||
* From hCLBuf or hFileBuf
|
||||
* Get Line from buf until ;, CR, \0 (EOL / EOF)
|
||||
* :LOOP
|
||||
* if previous | :
|
||||
* set hStdIn = hStdOut
|
||||
* set hStdOut = Std
|
||||
* GetCmd from line until | or EOL
|
||||
* if | :
|
||||
* create PIPE
|
||||
* set hStdOut -> PIPE
|
||||
* CORE.Exec &
|
||||
* :LOOP
|
||||
* else CORE.Exec
|
||||
*--------------------------------------
|
||||
* SET VAR = `cmd args`, FOR VAR IN `cmd args`
|
||||
* create PIPE
|
||||
* set hStdOut -> PIPE
|
||||
* CORE.Exec `cmd args` &
|
||||
* set READMODE
|
||||
* set hStdIn = hStdOut
|
||||
* set hStdOut = Std
|
||||
*--------------------------------------
|
||||
CORE.Run
|
||||
*--------------------------------------
|
||||
* Input : CORE.IntCmd,ZPArgVBuf
|
||||
*--------------------------------------
|
||||
CORE.Exec jsr CORE.StkGet IF,WHILE,FOR ?
|
||||
bcs .3 no particular context, exec...
|
||||
@ -21,7 +45,7 @@ CORE.Exec jsr CORE.StkGet IF,WHILE,FOR ?
|
||||
asl
|
||||
bpl .8 parent context is FALSE, skip line
|
||||
|
||||
.3 >LDA.G CMD.IntCmd
|
||||
.3 >LDA.G CORE.IntCmd
|
||||
bpl .80 Internal
|
||||
|
||||
>PUSHB.G CORE.PSFlags
|
||||
@ -31,7 +55,7 @@ CORE.Exec jsr CORE.StkGet IF,WHILE,FOR ?
|
||||
|
||||
tax CPID
|
||||
|
||||
>LDA.G CMD.PSFlags
|
||||
>LDA.G CORE.PSFlags
|
||||
and #S.PS.F.HOLD
|
||||
bne .4
|
||||
|
||||
@ -106,7 +130,7 @@ CORE.INT.POPD.RTS
|
||||
rts
|
||||
|
||||
CORE.INT.POPD.CSYN
|
||||
jmp Cmd.Exec.CSYN
|
||||
jmp CORE.Exec.CSYN
|
||||
*--------------------------------------
|
||||
CORE.INT.CD ldx #1
|
||||
jsr CORE.GetArgX
|
||||
@ -135,13 +159,13 @@ CORE.INT.CD.1 >SYSCALL realpath
|
||||
lda (ZPPtr1),y
|
||||
beq CORE.SetPrefixPHA we have '/'
|
||||
|
||||
>PUSHEA.G CMD.Stat
|
||||
>PUSHEA.G StatBuf
|
||||
>LDYA ZPPtr1
|
||||
>SYSCALL STAT
|
||||
|
||||
bcs CORE.INT.CD.1.9
|
||||
|
||||
>LDA.G CMD.Stat+S.STAT.P.TYPE
|
||||
>LDA.G StatBuf+S.STAT.P.TYPE
|
||||
cmp #S.FI.T.DIR
|
||||
bne CORE.INT.CD.1.9
|
||||
|
||||
@ -356,10 +380,10 @@ CORE.INT.DATE sec
|
||||
.HS 90 bcc
|
||||
CORE.INT.TIME clc
|
||||
php
|
||||
>LEA.G CORE.Time
|
||||
>LEA.G TimeBuf
|
||||
>SYSCALL Time
|
||||
|
||||
>PUSHEA.G CORE.Time
|
||||
>PUSHEA.G TimeBuf
|
||||
|
||||
plp
|
||||
bcc .1
|
||||
@ -460,7 +484,7 @@ CORE.INT.GETKEY ldx #1
|
||||
>PUSHEA.G M32.BUF
|
||||
|
||||
ldx #1
|
||||
jsr Cmd.GetArgX
|
||||
jsr CORE.GetArgX
|
||||
>SYSCALL SetEnv
|
||||
.9 rts
|
||||
|
||||
@ -501,9 +525,9 @@ CORE.INT.READ lda #1
|
||||
txa
|
||||
>STA.G hVarName
|
||||
|
||||
.7 >INC.G CMD.ArgIndex
|
||||
.7 >INC.G CORE.ArgIndex
|
||||
tax
|
||||
jsr Cmd.GetArgX
|
||||
jsr CORE.GetArgX
|
||||
bcc .1
|
||||
|
||||
>LDA.G hVarName
|
||||
@ -579,13 +603,13 @@ CORE.INT.RD ldx #1
|
||||
bcs .9
|
||||
phy
|
||||
pha
|
||||
>PUSHEA.G CORE.Stat
|
||||
>PUSHEA.G StatBuf
|
||||
pla
|
||||
ply
|
||||
>SYSCALL STAT
|
||||
bcs .99
|
||||
|
||||
>LDA.G CORE.Stat+S.STAT.P.TYPE
|
||||
>LDA.G StatBuf+S.STAT.P.TYPE
|
||||
cmp #S.FI.T.DIR
|
||||
bne .9
|
||||
|
||||
@ -790,7 +814,7 @@ CORE.Eval.UNARY ldx #3
|
||||
|
||||
CORE.Eval.D jsr CORE.Eval.DEF.7
|
||||
bcs CORE.Eval.DEF.9
|
||||
>LDA.G CORE.Stat+S.STAT.P.TYPE
|
||||
>LDA.G StatBuf+S.STAT.P.TYPE
|
||||
cmp #S.FI.T.DIR
|
||||
bne CORE.Eval.DEF.9
|
||||
bra CORE.Eval.DEF.8
|
||||
@ -802,12 +826,12 @@ CORE.Eval.E jsr CORE.Eval.DEF.7
|
||||
CORE.Eval.F jsr CORE.Eval.DEF.7
|
||||
bcs CORE.Eval.DEF.9
|
||||
|
||||
>LDA.G CORE.Stat+S.STAT.P.TYPE
|
||||
>LDA.G StatBuf+S.STAT.P.TYPE
|
||||
cmp #S.FI.T.DIR
|
||||
beq CORE.Eval.DEF.9
|
||||
bra CORE.Eval.DEF.8
|
||||
|
||||
CORE.Eval.DEF.7 >PUSHEA.G CORE.Stat
|
||||
CORE.Eval.DEF.7 >PUSHEA.G StatBuf
|
||||
ldx #3
|
||||
jsr CORE.GetArgX
|
||||
>SYSCALL STAT
|
||||
|
@ -4,11 +4,11 @@ AUTO 4,1
|
||||
.LIST OFF
|
||||
.OP 65C02
|
||||
.OR $2000
|
||||
.TF BIN/SHELL2
|
||||
.TF BIN/SHELL
|
||||
*--------------------------------------
|
||||
CL.MAX .EQ 159
|
||||
History.MAX .EQ 256
|
||||
CMD.STACK.MAX .EQ 64
|
||||
CORE.STACK.MAX .EQ 64
|
||||
PUSHD.STACK.MAX .EQ 8
|
||||
*--------------------------------------
|
||||
C.STARTPROC .EQ 0
|
||||
@ -192,7 +192,7 @@ CS.RUN jsr CMD.Init
|
||||
|
||||
bra CS.RUN.LOOP
|
||||
*--------------------------------------
|
||||
.1 jsr Cmd.INT.CD.HOME
|
||||
.1 jsr CORE.INT.CD.HOME
|
||||
jsr CL.Init
|
||||
jsr HIS.Init
|
||||
bcs CS.INIT.RTS
|
||||
@ -203,7 +203,7 @@ CS.RUN jsr CMD.Init
|
||||
>SYSCALL printf
|
||||
bcs CS.INIT.RTS
|
||||
|
||||
>PUSHEA.G CMD.Stat
|
||||
>PUSHEA.G StatBuf
|
||||
>LDYA L.HOME.PROFILE
|
||||
>SYSCALL STAT
|
||||
bcs CS.RUN.LOOP
|
||||
@ -358,7 +358,7 @@ CS.RUN.BATCH >SYSCALL GetChar
|
||||
clc
|
||||
jmp CS.RUN.LOOP.END
|
||||
|
||||
.2 jsr CL.GetCmd
|
||||
.2 jsr CMD.Get
|
||||
bcc .7
|
||||
|
||||
cmp #C.EOF
|
||||
@ -394,7 +394,7 @@ CS.RUN.Exec jsr CL.Parse
|
||||
|
||||
lda (ZPArgVBuf)
|
||||
beq CS.RUN.LOOP.8
|
||||
jsr CMD.Exec
|
||||
jsr CORE.Exec
|
||||
*--------------------------------------
|
||||
CS.RUN.LOOP.END ldy #S.PS.RC
|
||||
sta (pPs),y
|
||||
@ -543,9 +543,10 @@ Lookup >STYA ZPPtr2
|
||||
rts
|
||||
*--------------------------------------
|
||||
.INB USR/SRC/BIN/SHELL.S.CL
|
||||
.INB USR/SRC/BIN/SHELL.S.HIS
|
||||
.INB USR/SRC/BIN/SHELL.S.CORE
|
||||
.INB USR/SRC/BIN/SHELL.S.CMD
|
||||
.INB USR/SRC/BIN/SHELL.S.IO
|
||||
.INB USR/SRC/BIN/SHELL.S.HIS
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
*--------------------------------------
|
||||
@ -580,7 +581,7 @@ CL.IO .AZ "&"
|
||||
.AZ "2>"
|
||||
.HS 00
|
||||
*--------------------------------------
|
||||
CMD.INT .AZ "STARTPROC"
|
||||
CORE.INT .AZ "STARTPROC"
|
||||
.AZ "CD"
|
||||
.AZ "DATE"
|
||||
.AZ "ECHO"
|
||||
@ -609,14 +610,17 @@ CMD.INT .AZ "STARTPROC"
|
||||
.AZ "FI"
|
||||
.HS 00
|
||||
*--------------------------------------
|
||||
CMD.Eval.TOKEN1 .AZ "!["
|
||||
CORE.Eval.TOKEN1
|
||||
.AZ "!["
|
||||
.AZ "["
|
||||
.HS 00
|
||||
CMD.Eval.TOKEN2 .AZ "-d"
|
||||
CORE.Eval.TOKEN2
|
||||
.AZ "-d"
|
||||
.AZ "-e"
|
||||
.AZ "-f"
|
||||
.HS 00
|
||||
CMD.Eval.TOKEN3 .AZ "="
|
||||
CORE.Eval.TOKEN3
|
||||
.AZ "="
|
||||
.AZ "!="
|
||||
.AZ "-eq"
|
||||
.AZ "-ne"
|
||||
@ -625,7 +629,7 @@ CMD.Eval.TOKEN3 .AZ "="
|
||||
.AZ "-gt"
|
||||
.AZ "-ge"
|
||||
.HS 00
|
||||
CMD.Eval.TOKEN3.BITS
|
||||
CORE.Eval.TOKEN3.BITS
|
||||
.DA #%000
|
||||
.DA #%000
|
||||
.DA #%010
|
||||
@ -634,7 +638,8 @@ CMD.Eval.TOKEN3.BITS
|
||||
.DA #%110
|
||||
.DA #%001
|
||||
.DA #%011
|
||||
CMD.Eval.TOKEN4 .AZ "+"
|
||||
CORE.Eval.TOKEN4
|
||||
.AZ "+"
|
||||
.AZ "-"
|
||||
.AZ "*"
|
||||
.AZ "div"
|
||||
@ -651,7 +656,7 @@ M32.Printf .AZ "%L"
|
||||
.DUMMY
|
||||
.OR 0
|
||||
DS.START
|
||||
CMD.STACK .BS CMD.STACK.MAX+1 pData (0 = Stack Ptr)
|
||||
CORE.STACK .BS CORE.STACK.MAX+1 pData (0 = Stack Ptr)
|
||||
PUSHD.STACK .BS PUSHD.STACK.MAX+1
|
||||
|
||||
hFileBuf .BS 1 batch mode
|
||||
@ -672,17 +677,17 @@ CL.Ptr .BS 1
|
||||
CL.Len .BS 1
|
||||
CL.bExec .BS 1
|
||||
|
||||
CMD.IntCmd .BS 1
|
||||
CMD.hArgVBuf .BS 1
|
||||
CORE.IntCmd .BS 1
|
||||
CORE.hArgVBuf .BS 1
|
||||
|
||||
CMD.ArgIndex .BS 1
|
||||
CMD.Varname .BS 1
|
||||
CMD.Test .BS 1
|
||||
CMD.Operator .BS 1
|
||||
CORE.ArgIndex .BS 1
|
||||
CORE.Varname .BS 1
|
||||
CORE.Test .BS 1
|
||||
CORE.Operator .BS 1
|
||||
|
||||
CMD.PSFlags .BS 1
|
||||
CMD.Stat .BS S.STAT
|
||||
CMD.Time .BS S.TIME
|
||||
CORE.PSFlags .BS 1
|
||||
StatBuf .BS S.STAT
|
||||
TimeBuf .BS S.TIME
|
||||
|
||||
HIS.hBuf .BS 1
|
||||
HIS.Count .BS 1
|
||||
|
@ -431,8 +431,6 @@ S.FD.REG.IOBUF .EQ 3
|
||||
*
|
||||
S.FD.REG .EQ 4
|
||||
*--------------------------------------
|
||||
S.FD.DIR.REF .EQ 2
|
||||
S.FD.DIR.IOBUF .EQ 3
|
||||
S.FD.DIR.EL .EQ 4
|
||||
S.FD.DIR.EPB .EQ 5
|
||||
S.FD.DIR.FC .EQ 6 word
|
||||
|
@ -14,14 +14,12 @@ K.GetDevByName >STYA ZPPtr1 requested dev name
|
||||
ldx #0
|
||||
|
||||
.1 lda Dev.Table,x
|
||||
sta .3+1
|
||||
clc
|
||||
adc #S.FD.DEV
|
||||
sta ZPPtr2
|
||||
|
||||
lda Dev.Table+1,x
|
||||
beq K.GetDev.NODEV
|
||||
sta .4+1
|
||||
adc /S.FD.DEV
|
||||
sta ZPPtr2+1
|
||||
|
||||
@ -35,8 +33,8 @@ K.GetDevByName >STYA ZPPtr1 requested dev name
|
||||
ora (ZPPtr2),y Both char are 0 ?
|
||||
bne .2 no....loop
|
||||
|
||||
.3 ldy #$ff SELF MODIFIED
|
||||
.4 lda #$ff SELF MODIFIED
|
||||
.3 ldy Dev.Table,x
|
||||
.4 lda Dev.Table+1,x
|
||||
clc
|
||||
rts
|
||||
|
||||
|
@ -39,17 +39,9 @@ K.OpenDir jsr PFT.CheckPathYA
|
||||
cmp #$0F Directory ?
|
||||
bne .98
|
||||
|
||||
jsr STDIO.SetIOBUF
|
||||
|
||||
jsr IO.MLIOPEN
|
||||
bcs .98
|
||||
|
||||
>MLICALL MLIOPEN
|
||||
bcs .98
|
||||
|
||||
lda K.MLI.PARAMS+5 get ref_num
|
||||
ldy #S.FD.DIR.REF
|
||||
sta (pFD),y
|
||||
|
||||
.8 lda #$ff Self Modified
|
||||
jsr STDIO.NewHFile
|
||||
|
||||
@ -90,7 +82,7 @@ K.ReadDir.EC .BS 2
|
||||
K.ReadDir jsr PFT.CheckNodeA
|
||||
bcs K.ReadDir.RTS
|
||||
|
||||
ldy #S.FD.DIR.REF
|
||||
ldy #S.FD.REG.REF
|
||||
lda (pFD),y
|
||||
beq K.ReadDir.ROOT
|
||||
jmp K.ReadDir.DIR
|
||||
|
@ -181,11 +181,11 @@ Kernel.Init3C >LDYAI MSG.Init3
|
||||
>LDYAI MSG.Prefix
|
||||
>SYSCALL printf
|
||||
|
||||
lda KBD
|
||||
bpl .7
|
||||
sta KBDSTROBE
|
||||
cmp #146 CTRL-R for ROOT mode
|
||||
bne .7
|
||||
* lda KBD
|
||||
* bpl .7
|
||||
* sta KBDSTROBE
|
||||
* cmp #146 CTRL-R for ROOT mode
|
||||
* bne .7
|
||||
|
||||
>PUSHBI 0
|
||||
>LDYAI MSG.CTRLR
|
||||
|
@ -121,18 +121,9 @@ IO.OPEN.REG.E >LDYAI S.FD.REG
|
||||
* lda #S.FD.T.REG
|
||||
* sta (pFD),y
|
||||
|
||||
jsr STDIO.SetIOBUF
|
||||
jsr IO.MLIOPEN
|
||||
bcs .9
|
||||
|
||||
>MLICALL MLIOPEN
|
||||
bcs .9
|
||||
|
||||
lda K.MLI.PARAMS+5 get ref_num
|
||||
ldy #S.FD.REG.REF
|
||||
sta (pFD),y
|
||||
|
||||
sta K.MLI.PARAMS+1 Next MLI Calls are REF_NUM based
|
||||
|
||||
lda K.Open.FLAGS
|
||||
bit #O.WRONLY
|
||||
beq .20 Write mode ?
|
||||
@ -479,6 +470,28 @@ K.Pipe
|
||||
.9 sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
IO.MLIOPEN >LDYAI 1024 get a ProDOS IOBUF
|
||||
ldx #S.MEM.F.ALIGN+S.MEM.F.NOMOVE
|
||||
jsr MEM.GetMem.YAX
|
||||
bcs .9
|
||||
|
||||
>STYA K.MLI.PARAMS+3 Save Ptr to IOBUF for MLIOPEN call
|
||||
txa
|
||||
ldy #S.FD.REG.IOBUF
|
||||
sta (pFD),y
|
||||
|
||||
>MLICALL MLIOPEN
|
||||
bcs .9
|
||||
|
||||
lda K.MLI.PARAMS+5 get ref_num
|
||||
ldy #S.FD.REG.REF
|
||||
sta (pFD),y
|
||||
|
||||
sta K.MLI.PARAMS+1 Next MLI Calls are REF_NUM based
|
||||
|
||||
* clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
IO.DEVDIR >PSTR "/DEV/"
|
||||
*--------------------------------------
|
||||
MAN
|
||||
|
@ -2,7 +2,7 @@ NEW
|
||||
PREFIX
|
||||
AUTO 4,1
|
||||
*--------------------------------------
|
||||
X.SLIST jmp (.1-SYS.SListAdd,x)
|
||||
X.SLIST jmp (.1-SYS.SListAddData,x)
|
||||
.1 .DA SLIST.Add
|
||||
.DA SLIST.Lookup
|
||||
.DA SLIST.GetByID
|
||||
|
@ -974,7 +974,7 @@ K.SScanF.Fwd tya Y=char count parsed
|
||||
* CS : A = EC
|
||||
*\--------------------------------------
|
||||
K.FOpen jsr PFT.CheckPathYA
|
||||
bcs .99
|
||||
bcs K.FOpen.RET4
|
||||
|
||||
>PULLB K.Open.FLAGS
|
||||
>PULLB K.Open.TYPE
|
||||
@ -995,7 +995,7 @@ K.FOpen jsr PFT.CheckPathYA
|
||||
sec
|
||||
.9 rts
|
||||
|
||||
.99 >RET 4
|
||||
K.FOpen.RET4 >RET 4
|
||||
*/--------------------------------------
|
||||
* # FClose
|
||||
* Close a file
|
||||
@ -1042,7 +1042,7 @@ K.FClose jsr PFT.CheckNodeA
|
||||
* Y,A = Bytes Read
|
||||
*\--------------------------------------
|
||||
K.FRead jsr PFT.CheckNodeA
|
||||
bcs K.FWrite.9
|
||||
bcs K.FOpen.RET4
|
||||
|
||||
jmp IO.Read.I
|
||||
*/--------------------------------------
|
||||
@ -1060,10 +1060,9 @@ K.FRead jsr PFT.CheckNodeA
|
||||
* Y,A = Bytes Written
|
||||
*\--------------------------------------
|
||||
K.FWrite jsr PFT.CheckNodeA
|
||||
bcs K.FWrite.9
|
||||
bcs K.FOpen.RET4
|
||||
|
||||
jmp IO.Write.I
|
||||
K.FWrite.9 >RET 4
|
||||
*/--------------------------------------
|
||||
* # FFlush
|
||||
* ## C
|
||||
@ -1318,17 +1317,6 @@ STDIO.NewHFile sta .4+1 Store hFD
|
||||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
STDIO.SetIOBUF >LDYAI 1024 get a ProDOS IOBUF
|
||||
ldx #S.MEM.F.ALIGN+S.MEM.F.NOMOVE
|
||||
jsr MEM.GetMem.YAX
|
||||
bcs .9
|
||||
|
||||
>STYA K.MLI.PARAMS+3 Save Ptr to IOBUF for MLIOPEN call
|
||||
txa
|
||||
ldy #S.FD.REG.IOBUF
|
||||
sta (pFD),y
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
STDIO.IOERR lda #MLI.E.IO
|
||||
sec
|
||||
rts
|
||||
|
Loading…
Reference in New Issue
Block a user