mirror of
https://github.com/A2osX/A2osX.git
synced 2024-08-14 13:29:02 +00:00
Kernel 0.9.2
This commit is contained in:
parent
bab7203c10
commit
563d695a1b
Binary file not shown.
Binary file not shown.
@ -245,10 +245,7 @@ CS.RUN.PRINTNUM clc
|
|||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.OPEN >SYSCALL RealPath
|
CS.RUN.OPEN pha
|
||||||
bcs .9
|
|
||||||
stx hFullPath
|
|
||||||
pha
|
|
||||||
|
|
||||||
>PUSHWI 0 Aux type
|
>PUSHWI 0 Aux type
|
||||||
>PUSHBI S.FI.T.TXT
|
>PUSHBI S.FI.T.TXT
|
||||||
@ -257,9 +254,7 @@ CS.RUN.OPEN >SYSCALL RealPath
|
|||||||
pla
|
pla
|
||||||
|
|
||||||
>SYSCALL FOpen
|
>SYSCALL FOpen
|
||||||
bcs .99
|
bcs .9
|
||||||
|
|
||||||
jsr .99
|
|
||||||
|
|
||||||
pha
|
pha
|
||||||
|
|
||||||
@ -268,14 +263,7 @@ CS.RUN.OPEN >SYSCALL RealPath
|
|||||||
|
|
||||||
pla
|
pla
|
||||||
clc
|
clc
|
||||||
rts
|
.9 rts
|
||||||
|
|
||||||
.99 pha
|
|
||||||
lda hFullPath
|
|
||||||
>SYSCALL FreeMem
|
|
||||||
pla
|
|
||||||
.9 sec
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.QUIT >LDA.G hBuf
|
CS.QUIT >LDA.G hBuf
|
||||||
beq CS.RUN.CLOSE
|
beq CS.RUN.CLOSE
|
||||||
@ -339,7 +327,6 @@ ASCII >PSTR "NULL"
|
|||||||
>PSTR "RS"
|
>PSTR "RS"
|
||||||
>PSTR "US"
|
>PSTR "US"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
hFullPath .BS 1
|
|
||||||
BytesRead .BS 1
|
BytesRead .BS 1
|
||||||
ByteIndex .BS 1
|
ByteIndex .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -274,7 +274,7 @@ CS.QUIT clc
|
|||||||
CS.END
|
CS.END
|
||||||
MSG0 .AZ " # Flags PID REF PTR LEN BINPATH/DATA"
|
MSG0 .AZ " # Flags PID REF PTR LEN BINPATH/DATA"
|
||||||
MSG1.INV .AZ "\e[7m"
|
MSG1.INV .AZ "\e[7m"
|
||||||
MSG1 .AZ "%03d %s %03d %03d $%H %05D "
|
MSG1 .AZ "%03d %s %03d %03d $%H %5D "
|
||||||
MSG1.BIN .AZ "{%s}\e[0m\r\n"
|
MSG1.BIN .AZ "{%s}\e[0m\r\n"
|
||||||
MSG1.STR .AZ "[%03d:%s]\e[0m\r\n"
|
MSG1.STR .AZ "[%03d:%s]\e[0m\r\n"
|
||||||
MSG1.HEX .AZ "?HEX:%h%h.%h%h.%h%h.%h%h.%h%h.%h%h.%h%h.%h%h\e[0m\r\n"
|
MSG1.HEX .AZ "?HEX:%h%h.%h%h.%h%h.%h%h.%h%h.%h%h.%h%h.%h%h\e[0m\r\n"
|
||||||
|
@ -175,19 +175,13 @@ CS.RUN.LOOP >SLEEP
|
|||||||
.9 sec
|
.9 sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.OPEN >SYSCALL RealPath
|
CS.RUN.OPEN pha
|
||||||
bcs .9
|
|
||||||
phy
|
|
||||||
pha
|
|
||||||
txa
|
|
||||||
>STA.G hFullPath
|
|
||||||
|
|
||||||
>PUSHWI 0 Aux type
|
>PUSHWI 0 Aux type
|
||||||
>PUSHBI S.FI.T.TXT
|
>PUSHBI S.FI.T.TXT
|
||||||
>PUSHBI O.RDONLY+O.TEXT
|
>PUSHBI O.RDONLY+O.TEXT
|
||||||
|
|
||||||
pla
|
pla
|
||||||
ply
|
|
||||||
>SYSCALL FOpen
|
>SYSCALL FOpen
|
||||||
bcs .9
|
bcs .9
|
||||||
>STA.G hFile
|
>STA.G hFile
|
||||||
@ -215,11 +209,7 @@ CS.QUIT >LDA.G hBuf
|
|||||||
|
|
||||||
>SYSCALL FClose
|
>SYSCALL FClose
|
||||||
|
|
||||||
.2 >LDA.G hFullPath
|
.2
|
||||||
beq .8
|
|
||||||
|
|
||||||
>SYSCALL FreeMem
|
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -242,7 +232,6 @@ MSG.Pause .AZ "\e[7m --- More --- \e[0m\r"
|
|||||||
.OR 0
|
.OR 0
|
||||||
DS.START
|
DS.START
|
||||||
ArgCount .BS 1
|
ArgCount .BS 1
|
||||||
hFullPath .BS 1
|
|
||||||
hFile .BS 1
|
hFile .BS 1
|
||||||
LineCount .BS 1
|
LineCount .BS 1
|
||||||
LineNum .BS 2
|
LineNum .BS 2
|
||||||
|
15
README.md
15
README.md
@ -286,6 +286,21 @@ OApple+1,OApple+2,OApple+3 to switch between screens : Kernel Log, text, DHGR.
|
|||||||
|
|
||||||
note : '$VAR' does NOT expand Variable
|
note : '$VAR' does NOT expand Variable
|
||||||
|
|
||||||
|
## Shell I/O control/redirection:
|
||||||
|
|
||||||
|
| Token | Status | Comment |
|
||||||
|
| ---- | ------ | ------- |
|
||||||
|
| . | Working | use same env |
|
||||||
|
| & | Working | start proc |
|
||||||
|
| \| | | pipe |
|
||||||
|
| < | Working | StdIn redirection |
|
||||||
|
| >> | Working | StdOut redirection |
|
||||||
|
| > | Working | |
|
||||||
|
| 1>> | Working | |
|
||||||
|
| 1> | Working | |
|
||||||
|
| 2>> | Working | StdErr redirection |
|
||||||
|
| 2>> | Working | |
|
||||||
|
|
||||||
## DRV,Drivers:
|
## DRV,Drivers:
|
||||||
|
|
||||||
| Name | Status | Comment | K.Ver |
|
| Name | Status | Comment | K.Ver |
|
||||||
|
@ -657,45 +657,71 @@ CMD.CheckIO >LDYA L.CMD.IO
|
|||||||
jsr CMD.NextCmdBufToken skip this IO token
|
jsr CMD.NextCmdBufToken skip this IO token
|
||||||
|
|
||||||
plx
|
plx
|
||||||
|
|
||||||
jmp (J.CMD.IO,x)
|
jmp (J.CMD.IO,x)
|
||||||
|
|
||||||
.9 lda #0
|
.9 lda #0
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CMD.IO.AMP
|
CMD.IO.AMP >LDA.G CMD.PSFlags
|
||||||
|
and #$ff^S.PS.F.HOLD
|
||||||
|
sta (pData),y
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
CMD.IO.PIPE
|
CMD.IO.PIPE
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
CMD.IO.IN
|
|
||||||
clc
|
|
||||||
rts
|
|
||||||
|
|
||||||
CMD.IO.OUTA
|
CMD.IO.IN lda #O.RDONLY+O.TEXT
|
||||||
CMD.IO.1OUTA lda #O.WRONLY+O.APPEND+O.CREATE
|
jsr CMD.IO.Open
|
||||||
CMD.IO.OUT
|
|
||||||
CMD.IO.1OUT lda #O.WRONLY+O.TRUNC+O.CREATE
|
|
||||||
|
|
||||||
lda (ZPCMDBuf)
|
|
||||||
beq .99 no arg left....
|
|
||||||
|
|
||||||
>LDYA ZPCMDBuf
|
|
||||||
>SYSCALL realpath
|
|
||||||
bcs .9
|
bcs .9
|
||||||
|
jsr IO.Set.In
|
||||||
|
|
||||||
jsr CMD.NextCmdBufToken skip arg
|
jsr CMD.NextCmdBufToken skip arg
|
||||||
clc
|
clc
|
||||||
rts
|
|
||||||
|
|
||||||
.99 lda #E.SYN
|
|
||||||
sec
|
|
||||||
.9 rts
|
.9 rts
|
||||||
|
|
||||||
CMD.IO.2OUTA lda #O.WRONLY+O.APPEND+O.CREATE
|
CMD.IO.OUTA
|
||||||
CMD.IO.2OUT lda #O.WRONLY+O.TRUNC+O.CREATE
|
CMD.IO.1OUTA lda #O.WRONLY+O.APPEND+O.CREATE+O.TEXT
|
||||||
|
bra CMD.IO.OUT.1
|
||||||
|
CMD.IO.OUT
|
||||||
|
CMD.IO.1OUT lda #O.WRONLY+O.TRUNC+O.CREATE+O.TEXT
|
||||||
|
|
||||||
|
CMD.IO.OUT.1 jsr CMD.IO.Open
|
||||||
|
bcs .9
|
||||||
|
jsr IO.Set.Out
|
||||||
|
|
||||||
|
jsr CMD.NextCmdBufToken skip arg
|
||||||
clc
|
clc
|
||||||
|
.9 rts
|
||||||
|
|
||||||
|
CMD.IO.2OUTA lda #O.WRONLY+O.APPEND+O.CREATE+O.TEXT
|
||||||
|
bra CMD.IO.2OUT.1
|
||||||
|
CMD.IO.2OUT lda #O.WRONLY+O.TRUNC+O.CREATE+O.TEXT
|
||||||
|
|
||||||
|
CMD.IO.2OUT.1 jsr CMD.IO.Open
|
||||||
|
bcs .9
|
||||||
|
jsr IO.Set.Err
|
||||||
|
|
||||||
|
jsr CMD.NextCmdBufToken skip arg
|
||||||
|
clc
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
|
CMD.IO.Open pha
|
||||||
|
lda (ZPCMDBuf)
|
||||||
|
beq .9 no arg left....
|
||||||
|
|
||||||
|
>PUSHWI 0 Aux type
|
||||||
|
>PUSHBI S.FI.T.TXT ftype
|
||||||
|
pla
|
||||||
|
>PUSHA flags
|
||||||
|
>LDYA ZPCMDBuf
|
||||||
|
>SYSCALL fopen
|
||||||
|
rts
|
||||||
|
|
||||||
|
.9 pla
|
||||||
|
lda #E.SYN
|
||||||
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CMD.NextCmdBufToken
|
CMD.NextCmdBufToken
|
||||||
|
@ -3,6 +3,89 @@ PREFIX /A2OSX.BUILD
|
|||||||
AUTO 4,1
|
AUTO 4,1
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
IO.Reset jsr IO.Reset.In
|
||||||
|
jsr IO.Reset.Out
|
||||||
|
jsr IO.Reset.Err
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
IO.Set.In pha
|
||||||
|
jsr IO.Reset.In
|
||||||
|
ldy #S.PS.hStdIn
|
||||||
|
lda (pPS),y
|
||||||
|
>STA.G IO.hIn
|
||||||
|
pla
|
||||||
|
ldy #S.PS.hStdIn
|
||||||
|
sta (pPS),y
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
IO.Reset.In >LDA.G IO.hIn
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
pha
|
||||||
|
|
||||||
|
ldy #S.PS.hStdIn
|
||||||
|
lda (pPS),y
|
||||||
|
>SYSCALL fclose
|
||||||
|
|
||||||
|
pla
|
||||||
|
ldy #S.PS.hStdIn
|
||||||
|
sta (pPS),y
|
||||||
|
|
||||||
|
>STZ.G IO.hIn
|
||||||
|
.8 rts
|
||||||
|
*--------------------------------------
|
||||||
|
IO.Set.Out pha
|
||||||
|
jsr IO.Reset.Out
|
||||||
|
ldy #S.PS.hStdOut
|
||||||
|
lda (pPS),y
|
||||||
|
>STA.G IO.hOut
|
||||||
|
pla
|
||||||
|
ldy #S.PS.hStdOut
|
||||||
|
sta (pPS),y
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
IO.Reset.Out >LDA.G IO.hOut
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
pha
|
||||||
|
|
||||||
|
ldy #S.PS.hStdOut
|
||||||
|
lda (pPS),y
|
||||||
|
>SYSCALL fclose
|
||||||
|
|
||||||
|
pla
|
||||||
|
ldy #S.PS.hStdOut
|
||||||
|
sta (pPS),y
|
||||||
|
|
||||||
|
>STZ.G IO.hOut
|
||||||
|
.8 rts
|
||||||
|
*--------------------------------------
|
||||||
|
IO.Set.Err pha
|
||||||
|
jsr IO.Reset.Err
|
||||||
|
ldy #S.PS.hStdErr
|
||||||
|
lda (pPS),y
|
||||||
|
>STA.G IO.hErr
|
||||||
|
pla
|
||||||
|
ldy #S.PS.hStdErr
|
||||||
|
sta (pPS),y
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
IO.Reset.Err >LDA.G IO.hErr
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
pha
|
||||||
|
|
||||||
|
ldy #S.PS.hStdErr
|
||||||
|
lda (pPS),y
|
||||||
|
>SYSCALL fclose
|
||||||
|
|
||||||
|
pla
|
||||||
|
ldy #S.PS.hStdErr
|
||||||
|
sta (pPS),y
|
||||||
|
|
||||||
|
>STZ.G IO.hErr
|
||||||
|
.8 rts
|
||||||
|
*--------------------------------------
|
||||||
IO.PrintErrMsg pha Save EC for PrintF
|
IO.PrintErrMsg pha Save EC for PrintF
|
||||||
|
|
||||||
ldx L.ERR.Codes
|
ldx L.ERR.Codes
|
||||||
|
@ -185,6 +185,8 @@ CS.RUN >LDA.G bReadMode READ Command ?
|
|||||||
jmp CS.RUN.BATCH
|
jmp CS.RUN.BATCH
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.10 jsr CL.RESET reset CmdBuf
|
.10 jsr CL.RESET reset CmdBuf
|
||||||
|
jsr IO.Reset
|
||||||
|
|
||||||
>STZ.G bSecureRead Clear password mode
|
>STZ.G bSecureRead Clear password mode
|
||||||
|
|
||||||
jsr CL.PrintPrompt
|
jsr CL.PrintPrompt
|
||||||
@ -237,6 +239,7 @@ CS.RUN >LDA.G bReadMode READ Command ?
|
|||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.READ jsr CL.RESET reset CmdBuf
|
CS.RUN.READ jsr CL.RESET reset CmdBuf
|
||||||
|
jsr IO.Reset
|
||||||
|
|
||||||
.1 >SLEEP
|
.1 >SLEEP
|
||||||
>SYSCALL GetChar
|
>SYSCALL GetChar
|
||||||
|
@ -102,19 +102,23 @@ IO.OPEN.REG >MLICALL MLIGETFILEINFO
|
|||||||
|
|
||||||
lda #S.FI.A.FULL Yes, Create...
|
lda #S.FI.A.FULL Yes, Create...
|
||||||
sta K.MLI.PARAMS+3 Access
|
sta K.MLI.PARAMS+3 Access
|
||||||
lda K.Open.TYPE
|
|
||||||
sta K.MLI.PARAMS+4 File type
|
ldx #2
|
||||||
>LDYA K.Open.AUXTYPE
|
|
||||||
>STYA K.MLI.PARAMS+5 Aux type
|
.1 lda K.Open.TYPE,x
|
||||||
|
sta K.MLI.PARAMS+4,x File type,Aux type
|
||||||
|
dex
|
||||||
|
bpl .1
|
||||||
|
|
||||||
lda #S.FI.ST.STD
|
lda #S.FI.ST.STD
|
||||||
sta K.MLI.PARAMS+7
|
sta K.MLI.PARAMS+7
|
||||||
|
|
||||||
ldx #3
|
ldx #3
|
||||||
|
|
||||||
.1 lda DATELO,x
|
.2 lda DATELO,x
|
||||||
sta K.MLI.PARAMS+8,x
|
sta K.MLI.PARAMS+8,x
|
||||||
dex
|
dex
|
||||||
bpl .1
|
bpl .2
|
||||||
|
|
||||||
>MLICALL MLICREATE
|
>MLICALL MLICREATE
|
||||||
bcs IO.OPEN.RTS
|
bcs IO.OPEN.RTS
|
||||||
@ -173,13 +177,12 @@ K.IO.OPEN.REG.E >LDYAI S.FD.REG
|
|||||||
>MLICALL MLINEWLINE
|
>MLICALL MLINEWLINE
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
.8 lda #$ff
|
.8 lda #$ff SELF MODIFIED
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.9 pha
|
.9 pha Save Error Code
|
||||||
lda .8+1
|
lda .8+1
|
||||||
pha
|
jsr K.Close
|
||||||
jsr IO.Close.I
|
|
||||||
pla
|
pla
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
@ -217,7 +220,7 @@ K.Close pha save hFD
|
|||||||
jsr K.GetMemPtr
|
jsr K.GetMemPtr
|
||||||
>STYA pFD
|
>STYA pFD
|
||||||
|
|
||||||
IO.Close.I lda (pFD) #S.FD.T
|
lda (pFD) #S.FD.T
|
||||||
tax
|
tax
|
||||||
pla
|
pla
|
||||||
jmp (.1,x)
|
jmp (.1,x)
|
||||||
|
@ -19,7 +19,29 @@ K.FStat jsr PFT.CheckNodeA
|
|||||||
|
|
||||||
lda Nod.Table.hPath,x
|
lda Nod.Table.hPath,x
|
||||||
jsr K.GetMemPtr
|
jsr K.GetMemPtr
|
||||||
bra K.Stat.I
|
jsr K.Stat.I
|
||||||
|
bcs K.Stat.9
|
||||||
|
|
||||||
|
jsr STDIO.GetHFileREG.I
|
||||||
|
bcs K.Stat.BLK2SIZE
|
||||||
|
|
||||||
|
>MLICALL MLIGETEOF
|
||||||
|
bcs K.Stat.BLK2SIZE
|
||||||
|
|
||||||
|
ldy #S.STAT.SIZE+3
|
||||||
|
lda #0
|
||||||
|
sta (ZPPtr1),y
|
||||||
|
|
||||||
|
ldx #2
|
||||||
|
|
||||||
|
.1 lda K.MLI.PARAMS+2,x
|
||||||
|
dey
|
||||||
|
sta (ZPPtr1),y
|
||||||
|
dex
|
||||||
|
bpl .1
|
||||||
|
|
||||||
|
* clc
|
||||||
|
rts
|
||||||
|
|
||||||
.9 >RET 2 discard statbuf
|
.9 >RET 2 discard statbuf
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
@ -35,6 +57,34 @@ K.FStat jsr PFT.CheckNodeA
|
|||||||
* ## RETURN VALUE
|
* ## RETURN VALUE
|
||||||
*\--------------------------------------
|
*\--------------------------------------
|
||||||
K.Stat jsr PFT.CheckPathYA
|
K.Stat jsr PFT.CheckPathYA
|
||||||
|
jsr K.Stat.I
|
||||||
|
bcs K.Stat.9
|
||||||
|
K.Stat.BLK2SIZE
|
||||||
|
ldy #S.STAT.SIZE
|
||||||
|
lda #0
|
||||||
|
sta (ZPPtr1),y
|
||||||
|
|
||||||
|
iny
|
||||||
|
|
||||||
|
lda K.MLI.PARAMS+S.FI.UBLKS
|
||||||
|
asl
|
||||||
|
sta (ZPPtr1),y
|
||||||
|
|
||||||
|
iny
|
||||||
|
|
||||||
|
lda K.MLI.PARAMS+S.FI.UBLKS+1
|
||||||
|
rol
|
||||||
|
sta (ZPPtr1),y
|
||||||
|
|
||||||
|
iny
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
rol
|
||||||
|
sta (ZPPtr1),y
|
||||||
|
|
||||||
|
* clc
|
||||||
|
K.Stat.9 rts
|
||||||
|
|
||||||
K.Stat.I jsr STDIO.SetMLIPathYA
|
K.Stat.I jsr STDIO.SetMLIPathYA
|
||||||
|
|
||||||
>PULLW ZPPtr1
|
>PULLW ZPPtr1
|
||||||
@ -66,28 +116,6 @@ K.Stat.I jsr STDIO.SetMLIPathYA
|
|||||||
dex
|
dex
|
||||||
bne .3
|
bne .3
|
||||||
|
|
||||||
ldy #S.STAT.SIZE
|
|
||||||
lda #0
|
|
||||||
sta (ZPPtr1),y
|
|
||||||
|
|
||||||
iny
|
|
||||||
|
|
||||||
lda K.MLI.PARAMS+S.FI.UBLKS
|
|
||||||
asl
|
|
||||||
sta (ZPPtr1),y
|
|
||||||
|
|
||||||
iny
|
|
||||||
|
|
||||||
lda K.MLI.PARAMS+S.FI.UBLKS+1
|
|
||||||
rol
|
|
||||||
sta (ZPPtr1),y
|
|
||||||
|
|
||||||
iny
|
|
||||||
|
|
||||||
lda #0
|
|
||||||
rol
|
|
||||||
sta (ZPPtr1),y
|
|
||||||
|
|
||||||
clc
|
clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -970,30 +970,32 @@ K.SScanF.Fwd tya Y=char count parsed
|
|||||||
* CC : A = hFILE
|
* CC : A = hFILE
|
||||||
* CS : A = EC
|
* CS : A = EC
|
||||||
*\--------------------------------------
|
*\--------------------------------------
|
||||||
K.FOpen.PATH .BS 2
|
K.FOpen jsr K.realpath.I
|
||||||
*--------------------------------------
|
bcc .1
|
||||||
K.FOpen jsr PFT.CheckPathYA
|
|
||||||
|
>RET 4
|
||||||
|
|
||||||
|
.1 >LDYAI K.Buf256
|
||||||
|
jsr PFT.CheckPathYA
|
||||||
|
|
||||||
>STYA K.FOpen.PATH
|
|
||||||
pha
|
|
||||||
>PULLB K.Open.FLAGS
|
>PULLB K.Open.FLAGS
|
||||||
>PULLB K.Open.TYPE
|
>PULLB K.Open.TYPE
|
||||||
>PULLW K.Open.AUXTYPE
|
>PULLW K.Open.AUXTYPE
|
||||||
|
|
||||||
pla
|
>LDYAI K.Buf256
|
||||||
jsr IO.Open.I
|
jsr IO.Open.I
|
||||||
bcs K.FOpen.RTS
|
bcs K.FOpen.RTS
|
||||||
|
|
||||||
sta .1+1 save hFD
|
sta .2+1 save hFD
|
||||||
tax
|
tax
|
||||||
|
|
||||||
>LDYA K.FOpen.PATH
|
>LDYAI K.Buf256
|
||||||
|
|
||||||
jsr STDIO.NewHFileYAX
|
jsr STDIO.NewHFileYAX
|
||||||
bcc K.FOpen.RTS
|
bcc K.FOpen.RTS
|
||||||
|
|
||||||
pha save MLI error
|
pha save MLI error
|
||||||
.1 lda #$ff SELF MODIFIED
|
.2 lda #$ff SELF MODIFIED
|
||||||
jsr K.Close
|
jsr K.Close
|
||||||
pla get back MLI error
|
pla get back MLI error
|
||||||
sec
|
sec
|
||||||
@ -1308,15 +1310,16 @@ STDIO.NewHFileYAX
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
STDIO.GetHFileREG
|
STDIO.GetHFileREG
|
||||||
jsr STDIO.GetHFile
|
jsr STDIO.GetHFile
|
||||||
bcs .9
|
bcs STDIO.GetHFileREG.9
|
||||||
|
STDIO.GetHFileREG.I
|
||||||
lda (pFD) #S.FD.T
|
lda (pFD) #S.FD.T
|
||||||
bne STDIO.GetHFile.9
|
bne STDIO.GetHFile.9
|
||||||
|
|
||||||
ldy #S.FD.REG.REF
|
ldy #S.FD.REG.REF
|
||||||
lda (pFD),y
|
lda (pFD),y
|
||||||
sta K.MLI.PARAMS+1
|
sta K.MLI.PARAMS+1
|
||||||
.9 rts
|
STDIO.GetHFileREG.9
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
STDIO.GetHFile tay
|
STDIO.GetHFile tay
|
||||||
lda Nod.Table.hFD,y
|
lda Nod.Table.hFD,y
|
||||||
|
@ -292,7 +292,12 @@ STDLIB.32.Clear ldx #3
|
|||||||
* X = hMem of Full Path
|
* X = hMem of Full Path
|
||||||
* CS : A = Error Code
|
* CS : A = Error Code
|
||||||
*\--------------------------------------
|
*\--------------------------------------
|
||||||
K.realpath >STYA ZPPtr1
|
K.realpath sec
|
||||||
|
.HS 90 BCC
|
||||||
|
K.realpath.I clc
|
||||||
|
ror .89+1
|
||||||
|
|
||||||
|
>STYA ZPPtr1
|
||||||
|
|
||||||
ldx #$ff
|
ldx #$ff
|
||||||
|
|
||||||
@ -384,12 +389,17 @@ K.realpath >STYA ZPPtr1
|
|||||||
dex
|
dex
|
||||||
bra .5
|
bra .5
|
||||||
|
|
||||||
.89 >LDYAI K.Buf256
|
.89 lda #$ff SELF MODIFIED
|
||||||
|
bpl .98
|
||||||
|
>LDYAI K.Buf256
|
||||||
jmp K.NewStr
|
jmp K.NewStr
|
||||||
|
|
||||||
.90 lda #E.SYN
|
.90 lda #E.SYN
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
.98 clc
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.RealPath.RemoveAtX
|
K.RealPath.RemoveAtX
|
||||||
txa X = "/something"
|
txa X = "/something"
|
||||||
|
@ -53,8 +53,8 @@ A2osX.E0 .PH $E000
|
|||||||
.INB /A2OSX.SRC/SYS/KERNEL.S.IRQ
|
.INB /A2OSX.SRC/SYS/KERNEL.S.IRQ
|
||||||
.INB /A2OSX.SRC/SYS/KERNEL.S.MEM
|
.INB /A2OSX.SRC/SYS/KERNEL.S.MEM
|
||||||
********* TMP ***** go to A2osX.D1
|
********* TMP ***** go to A2osX.D1
|
||||||
.INB /A2OSX.SRC/SYS/KERNEL.S.IO
|
|
||||||
.INB /A2OSX.SRC/SYS/KERNEL.S.FIO
|
.INB /A2OSX.SRC/SYS/KERNEL.S.FIO
|
||||||
|
.INB /A2OSX.SRC/SYS/KERNEL.S.IO
|
||||||
DevMgr.FreeMem .EQ *
|
DevMgr.FreeMem .EQ *
|
||||||
.EP
|
.EP
|
||||||
A2osX.E0.E .EQ *
|
A2osX.E0.E .EQ *
|
||||||
|
Loading…
Reference in New Issue
Block a user