Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-08-19 21:39:43 +02:00
parent 88484b578b
commit a5034337e5
21 changed files with 248 additions and 213 deletions

Binary file not shown.

Binary file not shown.

View File

@ -25,7 +25,7 @@ S.BMP .EQ $36
.DUMMY
.OR ZPBIN
ZS.START
ZPPTR1 .BS 2
ZPPtr1 .BS 2
ZPInputBuf .BS 2
ZPInputBufPtr .BS 2
ZPInputRowBytes .BS 2
@ -125,7 +125,7 @@ CS.RUN
beq .99
>LDA.G BMP.Header+S.BMP.BPP
cmp #1
cmp #1
beq CS.RUN.1
jmp CS.RUN.24
*--------------------------------------
@ -193,15 +193,15 @@ CS.RUN.1 lda #S.BM.F.BBP1
* sbc ZPBMPRowBytes+1
* sta ZPInputDataPtr+1
* >LDYA ZPBufPtr
* >STYA ZPPTR1
* >STYA ZPPtr1
* ldy #0
*.2 lda (ZPInputDataPtr),y
* tax
* lda TWIST,x
* sta (ZPPTR1)
* inc ZPPTR1
* sta (ZPPtr1)
* inc ZPPtr1
* bne .3
* inc ZPPTR1+1
* inc ZPPtr1+1
*.3 iny
* cpy ZPPIXRowBytes
* bne .2
@ -616,17 +616,17 @@ DEBUG.ClrScr sta SETMIXED
sta CLRTEXT
ldx #19
.1 lda SCR.BASEL,x
sta ZPPTR1
sta ZPPtr1
lda SCR.BASEH,x
sta ZPPTR1+1
sta ZPPtr1+1
lda #0
ldy #39
.2 sta SETPAGE2
sta (ZPPTR1),y
sta (ZPPtr1),y
sta CLRPAGE2
sta (ZPPTR1),y
sta (ZPPtr1),y
dey
bpl .2
@ -668,9 +668,9 @@ DEBUG.PLOT php
lsr
tax
lda SCR.BASEL,x
sta ZPPTR1
sta ZPPtr1
lda SCR.BASEH,x
sta ZPPTR1+1
sta ZPPtr1+1
pla
bcc .3
@ -679,8 +679,8 @@ DEBUG.PLOT php
asl
asl
.3 ora (ZPPTR1),y
sta (ZPPTR1),y
.3 ora (ZPPtr1),y
sta (ZPPtr1),y
sta CLRPAGE2
.9 pla

View File

@ -122,7 +122,7 @@ CS.RUN inc ArgIndex
*--------------------------------------
CS.RUN.LOOP ldy #S.PS.hStdIn
lda (pPS),y
>SYSCALL feof
>SYSCALL FEOF
bcs .99
tay
@ -212,7 +212,7 @@ CS.RUN.DIR lda (ZPFileName)
>PUSHW ZPFullPath
>PUSHW ZPMode
>SYSCALL chmod
>SYSCALL ChMod
jsr CS.RUN.CheckErr
bcs .9

View File

@ -284,7 +284,7 @@ CSH.DIR.INCLUDE >STZ.G PathBuf
>PUSHW L.ENV.INCLUDE
>PUSHEA.G PathBuf
>SYSCALL getenv
>SYSCALL GetEnv
lda #'>'
@ -315,8 +315,8 @@ CSH.DIR.INCLUDE >STZ.G PathBuf
.8 jsr CSH.GetNextChar skip " or >
>LDYA pdata
>SYSCALL puts
>LDYA pData
>SYSCALL PutS
rts
*--------------------------------------
CSH.SkipLine jsr CSH.GetNextChar

View File

@ -19,8 +19,7 @@ hFontB .BS 1
bVBL .BS 1
xDir .BS 1
yDir .BS 1
ZS.END
.ED
ZS.END .ED
*--------------------------------------
* File Header (16 Bytes)
*--------------------------------------
@ -160,7 +159,7 @@ CS.RUN.LOGO.SHOW
ldy #S.PS.hStdIn
lda (pPS),y
>SYSCALL feof
>SYSCALL FEOF
bcs .99
tay
beq .80
@ -330,7 +329,7 @@ LoadResources >PUSHW L.FONTFILE
*--------------------------------------
GFX.Open >PUSHBI 0
>LDYA L.DEVNAME.GFX
>SYSCALL open
>SYSCALL Open
bcs .9
sta hDevGFX
.9 rts

View File

@ -5,13 +5,13 @@ NEW
.OR $2000
.TF bin/httpget
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/MLI.I
.INB INC/MLI.E.I
.INB INC/ETH.I
.INB INC/LIBTCPIP.I
.INB INC/NET.HTTP.I
.INB inc/macros.i
.INB inc/a2osx.i
.INB inc/mli.i
.INB inc/mli.e.i
.INB inc/eth.i
.INB inc/libtcpip.i
.INB inc/net.http.i
*--------------------------------------
RESP.BUFSIZE .EQ 1024
TIMEOUT.MAX .EQ 50 5 sec.
@ -30,8 +30,7 @@ ZPEncodedBufLen .BS 2
ZPRespBufPtr .BS 2
hSocket .BS 1
ZS.END
.ED
ZS.END .ED
*--------------------------------------
* File Header (16 Bytes)
*--------------------------------------
@ -99,14 +98,14 @@ CS.RUN.IPOK ldy #S.IPCFG.IP+3
bcs .9
>STYA ZPHostPtr
jsr Init.Timeout
jsr Init.TimeOut
.2 >PUSHW L.SA.REMOTE.AD
>PUSHW ZPHostPtr
>LIBCALL hLIBTCPIP,LIBTCPIP.HST.GETBYNAME
>LIBCALL hLIBTCPIP,LIBTCPIP.HST.GetByName
bcc CS.RUN.HOSTOK
>SLEEP
jsr Wait.Timeout
jsr Wait.TimeOut
bcc .2
>PUSHW L.MSG.UNKNOWN
@ -135,7 +134,7 @@ CS.RUN.HOSTOK >INC.G ArgIndex
beq .1
>LDYA ZPPtr
>SYSCALL atoi
>SYSCALL AToI
bcs CS.RUN.RTS
>STYA SA.REMOTE+S.SOCKADDR.PORT
@ -166,7 +165,7 @@ CS.RUN.HOSTOK >INC.G ArgIndex
.9 bcs CS.RUN.ESYN
>STYA ZPReqBufPtr
>SYSCALL strlen
>SYSCALL StrLen
>STYA ZPReqBufLen
.8 bra CS.RUN.PORTOK
@ -222,7 +221,7 @@ CS.RUN.OPENSKT >PUSHBI 0 no protocol
sec
.99 rts
.1 jsr Init.Timeout
.1 jsr Init.TimeOut
.2 >SLEEP
@ -234,7 +233,7 @@ CS.RUN.OPENSKT >PUSHBI 0 no protocol
cmp #ERR.SKT.NOCONN
bne .9
jsr Wait.Timeout
jsr Wait.TimeOut
bcc .2
lda #ERR.SKT.NOCONN
bra .9
@ -258,7 +257,7 @@ CS.RUN.GET jsr CS.RUN.ENCODE
* >PUSHW ZPEncodedBufPtr
* ldy #S.PS.hStdOut
* lda (pPS),y
* >SYSCALL fwrite
* >SYSCALL FWrite
jsr CS.RUN.REQUEST
bcs .99
@ -373,7 +372,7 @@ CS.RUN.ADDTOBUF sta (ZPPtr)
inc ZPPtr+1
.8 rts
*--------------------------------------
CS.RUN.REQUEST jsr Init.Timeout
CS.RUN.REQUEST jsr Init.TimeOut
>PUSHWI HTTP.GET1.LEN
>PUSHW L.HTTP.GET1
@ -391,7 +390,7 @@ CS.RUN.REQUEST jsr Init.Timeout
.99 bcs .9
>LDYA ZPHostPtr
>SYSCALL strlen
>SYSCALL StrLen
>PUSHYA
>PUSHW ZPHostPtr
jsr .8
@ -401,13 +400,13 @@ CS.RUN.REQUEST jsr Init.Timeout
>PUSHW L.HTTP.GET3
.8 lda #'!'
>SYSCALL putchar
>SYSCALL PutChar
lda hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.Write
.9 rts
*--------------------------------------
CS.RUN.RESPONSE jsr Init.Timeout
CS.RUN.RESPONSE jsr Init.TimeOut
.1 >SLEEP
>PUSHWI RESP.BUFSIZE
@ -420,7 +419,7 @@ CS.RUN.RESPONSE jsr Init.Timeout
cmp #E.NODATA
bne .8
jsr Wait.Timeout
jsr Wait.TimeOut
bcs .80
bra .1
@ -428,7 +427,7 @@ CS.RUN.RESPONSE jsr Init.Timeout
>PUSHW ZPRespBufPtr
ldy #S.PS.hStdOut
lda (pPS),y
>SYSCALL fwrite
>SYSCALL FWrite
bcs .9
>INC.G bResponse
@ -475,7 +474,7 @@ CS.QUIT lda hSocket
.8 clc
rts
*--------------------------------------
Init.Timeout lda #TIMEOUT.MAX
Init.TimeOut lda #TIMEOUT.MAX
>STA.G TimeOut
rts
*--------------------------------------
@ -541,5 +540,5 @@ DS.END
.ED
*--------------------------------------
MAN
SAVE USR/SRC/BIN/HTTPGET.S
SAVE usr/src/bin/httpget.s
ASM

View File

@ -4,10 +4,10 @@ AUTO 4,1
.LIST OFF
.OP 65C02
.OR $2000
.TF BIN/KILL
.TF bin/kill
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB inc/macros.i
.INB inc/a2osx.i
*--------------------------------------
* Zero Page Segment, up to 32 bytes
*--------------------------------------
@ -15,8 +15,7 @@ AUTO 4,1
.OR ZPBIN
ZS.START
ZPTmpPtr .BS 2
ZS.END
.ED
ZS.END .ED
*--------------------------------------
* File Header (16 Bytes)
*--------------------------------------
@ -81,12 +80,12 @@ CS.RUN ldy #S.PS.ARGC
>PUSHW L.SSCANF.PID
>PUSHEA.G PID
>PUSHBI 2 1 Ptr
>SYSCALL sscanf
>SYSCALL SScanF
bcs .9
>PUSHB.G Signal
>LDA.G PID
>SYSCALL kill
>SYSCALL Kill
bcs .99
lda #0
sec
@ -115,5 +114,5 @@ DS.END
.ED
*--------------------------------------
MAN
SAVE USR/SRC/BIN/KILL.S
SAVE usr/src/bin/kill.s
ASM

View File

@ -5,12 +5,12 @@ NEW
.OR $2000
.TF bin/pak
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/KERNEL.I
.INB INC/PAK.I
.INB INC/LIBPAK.I
.INB INC/MLI.E.I
.INB inc/macros.i
.INB inc/a2osx.i
.INB inc/kernel.i
.INB inc/pak.i
.INB inc/libpak.i
.INB inc/mli.e.i
*--------------------------------------
X.ENTER.SUBDIR .EQ 0
X.COPY.TO.DEST .EQ 0
@ -169,7 +169,7 @@ CS.RUN >INC.G ArgIndex
*--------------------------------------
CS.RUN.LOOP ldy #S.PS.hStdIn
lda (pPS),y
>SYSCALL feof
>SYSCALL FEOF
bcs .99
tay
@ -277,8 +277,8 @@ CS.RUN.FILE jsr CS.RUN.BuildFilePath
>LDA.G hArcFile
tay
lda OF.Table.hPath-1,y
>SYSCALL GetMemptr
>SYSCALL strcmp
>SYSCALL GetMemPtr
>SYSCALL StrCmp
bcc .8
>PUSHW L.MSG.FILE
@ -295,7 +295,7 @@ CS.RUN.FILE jsr CS.RUN.BuildFilePath
bcs .9
.1 lda #'.'
>SYSCALL putchar
>SYSCALL PutChar
jsr CS.RUN.ReadFile
bcc .2
@ -375,7 +375,7 @@ CS.RUN.OpenFile >PUSHW ZPFullPath
CS.RUN.ReadFile >PUSHWI CHNK.SIZE
>PUSHW ZPSrcBufPtr
>LDA.G hFile
>SYSCALL fread
>SYSCALL FRead
bcs .9
>STYA.G Shunk.SrcSize
@ -400,7 +400,7 @@ CS.RUN.Pak >PUSHEA.G PAKSTAT
.9 rts
*--------------------------------------
CS.RUN.OpenArc >LDA.G ArcName
>SYSCALL Argv
>SYSCALL ArgV
>PUSHYA
bit bAppend
@ -417,7 +417,7 @@ CS.RUN.OpenArc >LDA.G ArcName
>PUSHW L.ARC.Header
>LDA.G hArcFile
>SYSCALL fputs
>SYSCALL FPutS
.9
CS.RUN.OpenArc.RTS
rts
@ -437,14 +437,14 @@ CS.RUN.AppendArc
>PUSHWI 0
>PUSHWI 0
>LDA.G hArcFile
>SYSCALL fseek
>SYSCALL FSeek
bcs CS.RUN.OpenArc.RTS
>PUSHWI 3
>PUSHW ZPSrcBufPtr
>LDA.G hArcFile
>SYSCALL fread
>SYSCALL FRead
bcs .9
cpy #3
@ -462,7 +462,7 @@ CS.RUN.AppendArc
>PUSHWI 0
>PUSHWI 0
>LDA.G hArcFile
>SYSCALL fseek
>SYSCALL FSeek
* bcc .9
* cmp #MLI.E.EOF
* bne .99
@ -511,7 +511,7 @@ CS.RUN.WriteArcHdr
>PUSHW ZPRelPath
>LDA.G hArcFile
>SYSCALL fputs
>SYSCALL FPutS
CS.RUN.WriteArcHdr.9
rts
@ -552,7 +552,7 @@ CS.RUN.WriteSrcData
>PUSHW.G Shunk.SrcSize
>PUSHW ZPSrcBufPtr
>LDA.G hArcFile
>SYSCALL fwrite
>SYSCALL FWrite
.9 rts
*--------------------------------------
CS.RUN.WritePakData
@ -571,7 +571,7 @@ CS.RUN.WritePakData
>PUSHW.G Shunk.DstSize
>PUSHW ZPDstBufPtr
>LDA.G hArcFile
>SYSCALL fwrite
>SYSCALL FWrite
.9 rts
*--------------------------------------
CS.RUN.WriteArcByteY
@ -580,7 +580,7 @@ CS.RUN.WriteArcByteY
CS.RUN.WriteArcByteA
>PUSHA
>LDA.G hArcFile
>SYSCALL fputc
>SYSCALL FPutC
rts
*--------------------------------------
CS.DOEVENT sec
@ -639,7 +639,7 @@ CS.RUN.CheckOpt ldy #1
.8 clc
rts
*--------------------------------------
.INB USR/SRC/BIN/X.FILEENUM.S
.INB usr/src/bin/x.fileenum.s
*--------------------------------------
CS.END
*--------------------------------------
@ -678,7 +678,7 @@ Shunk.DstSize .BS 2
PAKSTAT .BS S.PAKSTAT
.INB USR/SRC/BIN/X.FILEENUM.G
.INB usr/src/bin/x.fileenum.g
DS.END
.ED
*--------------------------------------

View File

@ -1,20 +1,23 @@
NEW
PREFIX
AUTO 4,1
AUTO 3,1
.LIST OFF
.OP 65C02
.OR $2000
.TF BIN/RPCDUMP
.TF bin/rpcdump
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/ETH.I
.INB INC/LIBTCPIP.I
.INB inc/macros.i
.INB inc/a2osx.i
.INB inc/eth.i
.INB inc/libtcpip.i
*--------------------------------------
TIMEOUT.MAX .EQ 40 40*100ms = 4 sec.
*--------------------------------------
ZPIPCfgPtr .EQ ZPBIN
ZPFrameBase .EQ ZPBIN+2
.DUMMY
.OR ZPBIN
ZS.START
ZPIPCfgPtr .BS 2
ZPFrameBase .BS 2
ZS.END .ED
*--------------------------------------
* File Header (16 Bytes)
*--------------------------------------
@ -27,7 +30,7 @@ CS.START cld
.DA CS.END-CS.START Code Length To Relocate
.DA DS.END-DS.START Data Segment to Allocate
.DA #16 SS
.DA #4 ZP
.DA #ZS.END-ZS.START Zero Page Size
.DA 0
*--------------------------------------
.1 .DA CS.INIT
@ -53,7 +56,7 @@ CS.INIT ldy #S.PS.ARGC
>SYSCALL LoadLib
sta hLIBTCPIP
>LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG is TCPIP loaded ?
>LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
bcs .99
>STYA ZPIPCfgPtr
lda (ZPIPCfgPtr) Configured ?
@ -73,16 +76,16 @@ CS.INIT ldy #S.PS.ARGC
sec
rts
*--------------------------------------
CS.RUN jsr Init.Timeout
CS.RUN jsr Init.TimeOut
.1 >PUSHW L.Socket.Dst.Addr
lda #1
>SYSCALL ArgV
>PUSHYA
>LIBCALL hLIBTCPIP,LIBTCPIP.HST.GETBYNAME
>LIBCALL hLIBTCPIP,LIBTCPIP.HST.GetByName
bcc .2
>SLEEP
jsr Wait.Timeout
jsr Wait.TimeOut
bcc .1
lda #1
>SYSCALL ArgV
@ -93,7 +96,7 @@ CS.RUN jsr Init.Timeout
sec
rts
.2 >PUSHW L.Socket
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.New
>LIBCALL hLIBTCPIP,LIBTCPIP.Socket
bcs .91
>STA.G hSocket
ldx #3
@ -104,19 +107,19 @@ CS.RUN jsr Init.Timeout
.3 >PUSHWI RPC.Request.End-RPC.Request
>PUSHW L.RPC.Request
>LDA.G hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.Send
>LIBCALL hLIBTCPIP,LIBTCPIP.Send
bcc .4
>SLEEP
jsr Wait.Timeout
jsr Wait.TimeOut
bcc .3
.91 bra .99
.4 jsr Init.Timeout
.4 jsr Init.TimeOut
.5 >LDA.G hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.Rcvd
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
bcc .6
>SLEEP
jsr Wait.Timeout
jsr Wait.TimeOut
bcc .5
bra .99
@ -155,14 +158,14 @@ CS.DOEVENT lda (pEvent)
CS.QUIT ldy #hSocket
lda (pData),y
beq .1
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.Close
>LIBCALL hLIBTCPIP,LIBTCPIP.Shutdown
.1 lda hLIBTCPIP
beq .8
>SYSCALL UnloadLib
.8 clc
rts
*--------------------------------------
Init.Timeout ldy #TimeOut
Init.TimeOut ldy #TimeOut
lda #TIMEOUT.MAX
sta (pData),y
rts
@ -253,5 +256,5 @@ DS.END
.ED
*--------------------------------------
MAN
SAVE USR/SRC/BIN/RPCDUMP.S
SAVE usr/src/bin/rpcdump.s
ASM

View File

@ -107,7 +107,7 @@ CS.RUN >LDYAI S.PW
* bcs .99
>PUSHW pData
>SYSCALL putpw
>SYSCALL PutPW
bcs .99
lda #0
@ -157,11 +157,11 @@ CS.RUN.ROOT ldy #0
>SYSCALL MD5
>PUSHW ZPStrPtr
>LEA.G PW+S.PW.PASSWD
>SYSCALL strcmp
>SYSCALL StrCmp
bcs .99
>PUSHW pData
>SYSCALL putpw
>SYSCALL PutPW
bcs .9
lda #0
@ -177,7 +177,7 @@ CS.RUN.ROOT ldy #0
*--------------------------------------
CS.RUN.GetStr stz ZPStrLen
.1 >SYSCALL getchar
.1 >SYSCALL GetChar
bcs .9
cmp #C.SPACE
bcc .2
@ -189,7 +189,7 @@ CS.RUN.GetStr stz ZPStrLen
sty ZPStrLen
bit ZPbStrSecret
bmi .1
>SYSCALL putchar
>SYSCALL PutChar
bra .1
.2 cmp #3 Ctrl-C

View File

@ -76,7 +76,7 @@ CS.RUN >LDYAI 256
sta (pData),y
>PUSHW pData
>SYSCALL putpw
>SYSCALL PutPW
bcs .99
jsr CS.RUN.RmDir
@ -152,12 +152,12 @@ CS.RUN.RmDir lda bDelete
tay
lda pData+1
adc /S.PW.DIR
>SYSCALL remove
>SYSCALL Remove
rts
.1 >PUSHW L.CMD.RM
>LDYA ZPStrPtr
>SYSCALL strcpy
>SYSCALL StrCpy
lda pData
clc
@ -167,11 +167,11 @@ CS.RUN.RmDir lda bDelete
adc /S.PW.DIR
>PUSHYA
>LDYA ZPStrPtr
>SYSCALL strcat
>SYSCALL StrCat
>PUSHW ZPStrPtr
>PUSHBI S.PS.F.HOLD
>SYSCALL execl
>SYSCALL ExecL
rts
*--------------------------------------
* Called if option S.PS.F.EVENT enabled in Header

View File

@ -158,7 +158,7 @@ CS.RUN inc ArgIndex
*--------------------------------------
CS.RUN.LOOP ldy #S.PS.hStdIn
lda (pPS),y
>SYSCALL feof
>SYSCALL FEOF
bcs .99
tay
bne .10
@ -287,7 +287,7 @@ CS.RUN.FILE.LOOP
.1 >PUSHWI 256
>PUSHW ZPLineBuf
lda hFile
>SYSCALL fgets
>SYSCALL FGetS
bcs .8
jsr CS.RUN.IncFLine

View File

@ -92,7 +92,7 @@ CS.RUN >LDYA L.MSG0
>SYSCALL PrintF
lda hSession
>SYSCALL freemem
>SYSCALL FreeMem
.7 inc SessionID
ldx SessionID
@ -139,8 +139,7 @@ MSG1 .AZ "%3d $%0h %b %3d %3d %16s %s\r\n"
.DUMMY
.OR 0
DS.START
DS.END
.ED
DS.END .ED
*--------------------------------------
MAN
SAVE usr/src/bin/who.s

View File

@ -40,7 +40,12 @@ K.OpenDir jsr PFT.CheckPathYA
.9 rts
.97 lda #MLI.E.UNSUPST
.98 jmp UNISTD.Open.ERR
.98 pha Save Error Code
lda IO.hFD
jsr K.Close
pla
sec
rts
*/--------------------------------------
* # ReadDir
* ## C

View File

@ -2,10 +2,10 @@ NEW
AUTO 3,1
*--------------------------------------
IO.OPEN.REG >MLICALL MLIGETFILEINFO
bcc IO.OPEN.REG.E Already Exists
bcc .10 Already Exists
bit IO.Open.FLAGS Create if not exists ?
bpl IO.OPEN.RTS No, return MLI error
bpl .9 No, return MLI error
ldx #2 Yes, Create...
@ -15,15 +15,15 @@ IO.OPEN.REG >MLICALL MLIGETFILEINFO
bpl .1
lda #S.FI.ST.STD
jsr IO.MLI.CREATE
bcs IO.OPEN.RTS
jsr FS.CREATE
bcs .9
IO.OPEN.REG.E ldx #0
.10 ldx #0
jsr IO.MkFD
bcs IO.OPEN.RTS
bcs .9
jsr IO.MLI.OPEN
bcs UNISTD.Open.ERR
bcs .99
lda IO.Open.FLAGS
bit #O.WRONLY
@ -39,10 +39,10 @@ IO.OPEN.REG.E ldx #0
bra .21
.11 >MLICALL MLIGETEOF
bcs UNISTD.Open.ERR
bcs .99
>MLICALL MLISETMARK
.21 bcs UNISTD.Open.ERR
.21 bcs .99
.20 lda IO.Open.FLAGS
and #O.TEXT Text Mode ?
@ -53,12 +53,12 @@ IO.OPEN.REG.E ldx #0
lda #C.CR
sta K.MLI.PARAMS+3
>MLICALL MLINEWLINE
bcs UNISTD.Open.ERR
bcs .99
.8 lda IO.hFD
IO.OPEN.RTS rts
.9 rts
UNISTD.Open.ERR pha Save Error Code
.99 pha Save Error Code
lda IO.hFD
jsr K.Close
pla
@ -80,9 +80,8 @@ IO.WRITE.REG ldx #MLIWRITE
jsr GP.MLICall
bcs .9
>LDYA K.MLI.PARAMS+6
.9
IO.WRITE.REG.RTS
rts
.9 rts
*--------------------------------------
IO.CLOSE.REG
IO.CLOSE.DIR ldy #S.FD.REG.REF
@ -123,7 +122,7 @@ IO.EOF.REG >MLICALL MLIGETMARK
* clc
.9 rts
*--------------------------------------
IO.MLI.CREATE sta K.MLI.PARAMS+7 Storage Type
FS.CREATE sta K.MLI.PARAMS+7 Storage Type
ldx #3
.1 lda DATELO,x
sta K.MLI.PARAMS+8,x Create Date/Time
@ -157,10 +156,49 @@ IO.MLI.OPEN >LDYAI 1024 get a ProDOS IOBUF
.9
FS.OPEN.RTS rts
*--------------------------------------
FS.STAT.I >PUSHYA
FS.FSTAT.A >PUSHA
FS.FSTAT >PUSHWI K.S.STAT
ldx #SYS.FStat
jsr PFT.CheckNode2
bcs .9
ldy #2
lda (pStack),y
tax
lda OF.Table.hPath-1,x
jsr K.GetMemPtr
jsr PFT.YAToMLIPATH
jsr FS.Stat.203
bcs .9
lda (pFD) #S.FD.T
bne .9
ldy #S.FD.REG.REF
lda (pFD),y
sta K.MLI.PARAMS+1
>MLICALL MLIGETEOF
ldx #2
.1 lda K.MLI.PARAMS+2,x
sta K.S.STAT+S.STAT.SIZE,x
dex
bpl .1
.9 >RET 3
*--------------------------------------
FS.STAT.YA >PUSHYA
>PUSHWI K.S.STAT
ldx #SYS.Stat
jsr PFT.CheckPath2
bcs .9
jsr FS.Stat.203
.9 >RET 4
@ -169,7 +207,7 @@ FS.Stat bit CORE.FSID
bmi FS.Stat.FX
FS.Stat.203 >MLICALL MLIGETFILEINFO
bcs FS.OPEN.RTS
bcs FS.Stat.RTS
jsr FS.ClrStat
@ -194,14 +232,15 @@ FS.Stat.203 >MLICALL MLIGETFILEINFO
>LDYAI K.MLI.PARAMS+S.FI.CDATE
ldx #K.S.STAT+S.STAT.CTIME
jsr SHARED.PTime2StatYAX
jsr FS.PTime2StatYAX
>LDYAI K.MLI.PARAMS+S.FI.MDATE
ldx #K.S.STAT+S.STAT.MTIME
jmp SHARED.PTime2StatYAX
jmp FS.PTime2StatYAX
FS.Stat.RTS rts
*--------------------------------------
FS.Stat.FX >MLICALL MLIGETFILEINFOEX
bcs FS.OPEN.RTS
bcs FS.Stat.RTS
>LDYAI K.MLI.PARAMS+3
>STYA ZPPtr3
@ -251,11 +290,11 @@ FS.DirEnt2Stat jsr FS.ClrStat
.7 lda #S.FIEX.CTIME
ldx #K.S.STAT+S.STAT.CTIME
jsr SHARED.PTime2StatAX
jsr FS.PTime2StatAX
lda #S.FIEX.MTIME
ldx #K.S.STAT+S.STAT.MTIME
jmp SHARED.PTime2StatAX
jmp FS.PTime2StatAX
*--------------------------------------
FS.ClrStat ldx #S.STAT-1
@ -268,13 +307,12 @@ FS.ClrStat ldx #S.STAT-1
rts
*--------------------------------------
SHARED.PTime2StatAX
clc
FS.PTime2StatAX clc
adc ZPPtr3
tay
lda ZPPtr3+1
adc #0
SHARED.PTime2StatYAX
FS.PTime2StatYAX
>PUSHYA
>PUSHB /K.S.STAT

View File

@ -202,10 +202,9 @@ Kernel.Init3C >PUSHWI MSG.Init3
Kernel.Init3.Err
pha
>PUSHWI MSG.StartupErr
>PUSHWI SBININITD
pla
>PUSHA
>PUSHBI 3
>PUSHBI 1
>SYSCALL2 printf
bra * No need to discard Expanded CMDLINE
*--------------------------------------
@ -1204,7 +1203,7 @@ MSG.EVT .AZ "Event Manager..."
MSG.TSK .AZ "Task Manager..."
MSG.PWD .AZ "Password Manager..."
MSG.EXEC .AZ "Executing %s..."
MSG.StartupErr .AZ "%s Failed : [$%h]\r\n"
MSG.StartupErr .AZ "Failed : [$%h]\r\n"
MSG.Init3.OK .AZ "OK\r\nA2osX[Stage3]:Complete.\r\n"
*--------------------------------------
MSG.HW .AZ "Checking Hardware..."

View File

@ -85,11 +85,12 @@ PFT.YAToMLIPATH >STYA .1+1
PFT.YAToMLIPATH.RTS
rts
*--------------------------------------
* PFT.CheckNodeA
* In :
* A = hFILE
* Out :
*--------------------------------------
PFT.CheckNode4 ldy #4
.HS 2C BIT ABS
PFT.CheckNode2 ldy #2
lda (pStack),y
PFT.CheckNodeA stx .80+1 Save SYSCALL #
sta .81+1 Save hFILE

View File

@ -324,7 +324,7 @@ PS.Load ldy #$ff
bne .1
>LDYA PS.ArgV found /, some path specified, no search
jsr FS.STAT.I
jsr FS.STAT.YA
bcc .6 REAL path in K.Buf256
.99 rts
@ -396,7 +396,7 @@ PS.Load.SCRIPT ldx #$ff
sta K.Buf256-1,x K.Buf256 = "${ROOT}BIN/SHELL\0"
.5 >LDYAI K.Buf256
jsr FS.STAT.I
jsr FS.STAT.YA
bcs PS.Load.RTS
lda K.S.STAT+S.STAT.P.TYPE
@ -747,9 +747,9 @@ K.Kill.2 ldy #S.PS.hSession
.DUMMY
.OR ZPTMP 5 Bytes
FIO.bTXT .BS 1
FIO.hFILE .BS 1
FIO.MemPtr .BS 2
FIO.hMem .BS 1
FIO.MemPtr .BS 2
FIO.hFILE .BS 1
.ED
*--------------------------------------
K.LoadTxtFile sec
@ -773,19 +773,18 @@ K.LoadTxtFile sec
K.LoadFile clc
ror FIO.bTXT
>SYSCALL2 FOpen
bcs .9
bcs .99
.12 sta FIO.hFILE
sta FIO.hFILE
>PUSHA
>PUSHWI K.S.Stat
>SYSCALL2 FStat
bcs .11
jsr FS.FSTAT.A
bcs .98
lda K.S.Stat+S.STAT.SIZE+3
ora K.S.Stat+S.STAT.SIZE+2
bne .10
bne .97
>LDYA K.S.Stat+S.STAT.SIZE
@ -795,31 +794,29 @@ K.LoadFile clc
bne .1
inc
bne .1
.10 lda #E.FTB
.11 bra .99
.1 jsr K.GetMem
bcs .99
>STYA FIO.MemPtr
stx FIO.hMem
>PUSHW K.S.Stat+S.STAT.SIZE
>PUSHW FIO.MemPtr
lda FIO.hFILE
>SYSCALL2 FRead
.97 lda #E.FTB
bcc .2
pha
lda FIO.hMem
jsr K.FreeMem
pla
.99 pha
.98 pha
lda FIO.hFILE
>SYSCALL2 FClose
pla
sec
.9 rts
.99 rts
*--------------------------------------
.1 jsr K.GetMem
bcs .96
.2 sty .7+1
>STYA FIO.MemPtr
stx FIO.hMem
>PUSHWI $ffff
>PUSHW FIO.MemPtr
lda FIO.hFILE
>SYSCALL2 FRead
bcs .96
sty .7+1
sta .8+1
bit FIO.bTXT
bpl .5
@ -836,13 +833,23 @@ K.LoadFile clc
sta .4+2
.4 stz $ffff Self Modified
.5 jsr .99 close file
.5 jsr .98 FClose
.7 ldy #$ff SELFMODIFIED
.8 lda #$ff SELFMODIFIED
ldx FIO.hMem
clc
rts
.96 pha
jsr .98 FClose
lda FIO.hMem
jsr K.FreeMem
pla
sec
.9 rts
*/--------------------------------------
* # FileSearch
* Search a file in the provided PATH list
@ -946,7 +953,7 @@ ENV.Search.4 lda $ffff,y Self Modified, Append Filename...
bra ENV.Search.4
ENV.Search.5 >LDYAI K.Buf256
jsr FS.STAT.I
jsr FS.STAT.YA
bcs ENV.Search.1 Failed...retry next path...
lda K.S.STAT+S.STAT.P.TYPE

View File

@ -72,7 +72,11 @@ K.ChMod jsr PFT.CheckPath2
>MLICALL MLIACL
.9 rts
K.ChMod.RET4 >RET 4
K.ChMod.RET4 inc pStack
K.ChMod.RET3 inc pStack
inc pStack
inc pStack
rts
*--------------------------------------
* # FStat
* Return information about a hFILE
@ -84,35 +88,13 @@ K.ChMod.RET4 >RET 4
* `>SYSCALL fstat`
* ## RETURN VALUE
*--------------------------------------
K.FStat >PULLW K.Stat.Store.2+1
>PULLA
jsr PFT.CheckNodeA
K.FStat jsr PFT.CheckNode2
bcs K.ChMod.RET3
>PULLW K.Stat.Store.2+1
jsr FS.FSTAT
bcs K.Stat.Store.RTS
tax
lda OF.Table.hPath-1,x
jsr K.GetMemPtr
jsr PFT.YAToMLIPATH
jsr FS.Stat
bcs K.Stat.Store.RTS
lda (pFD) #S.FD.T
bne K.Stat.Store
ldy #S.FD.REG.REF
lda (pFD),y
sta K.MLI.PARAMS+1
>MLICALL MLIGETEOF
bcs K.Stat.Store.RTS
ldx #2
.1 lda K.MLI.PARAMS+2,x
sta K.S.STAT+S.STAT.SIZE,x
dex
bpl .1
K.Stat.Store ldy #S.STAT-1
@ -171,7 +153,7 @@ K.MKDir jsr PFT.CheckPath2
stz K.MLI.PARAMS+5
stz K.MLI.PARAMS+6
lda #S.FI.ST.DIR
jmp IO.MLI.CREATE
jmp FS.CREATE
*/--------------------------------------
* # MKFIFO
* return a pathname to a new FIFO

View File

@ -387,7 +387,11 @@ K.FOpen jsr PFT.CheckPath4
jsr STDIO.NewHFile
bcc .99
jmp UNISTD.Open.ERR
pha Save Error Code
lda IO.hFD
jsr K.Close
pla
sec
.9 >POP 6
.99 rts