diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index ed61063a..d109d435 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/.Floppies/A2OSX.SRC.po b/.Floppies/A2OSX.SRC.po index a356700e..a35150a1 100644 Binary files a/.Floppies/A2OSX.SRC.po and b/.Floppies/A2OSX.SRC.po differ diff --git a/A2osX.S.txt b/A2osX.S.txt index 3caedd4a..a14d2e23 100644 --- a/A2osX.S.txt +++ b/A2osX.S.txt @@ -10,8 +10,8 @@ AUTO 4,1 .INB INC/A2OSX.I .INB INC/IO.I .INB INC/MONITOR.I - .INB INC/PRODOS.I - .INB INC/MLI.ERR.I + .INB INC/MLI.I + .INB INC/MLI.E.I *-------------------------------------- TmpPtr1 .EQ $0 main & aux ZP TmpPtr2 .EQ $2 main & aux ZP diff --git a/BIN/ASM.S.FIO.txt b/BIN/ASM.S.FIO.txt index b698047f..5e4c8aa5 100644 --- a/BIN/ASM.S.FIO.txt +++ b/BIN/ASM.S.FIO.txt @@ -59,7 +59,7 @@ FIO.LOAD.ASM.T >STYA ZPPtr2 >PUSHWI 0 Aux type >PUSHBI 6 S.FI.T.BIN - >PUSHBI SYS.FOpen.R + >PUSHBI O.RDONLY >LDYA L.ASM.T.FILENAME >SYSCALL LoadFile bcs .9 @@ -129,7 +129,7 @@ FIO.OpenFile >STYA ZPPtr1 >PUSHWI 0 >PUSHBI 4 - >PUSHBI SYS.FOpen.R+SYS.FOpen.T + >PUSHBI O.RDONLY+O.TEXT bra .3 .2 cmp #$FA S-C/BAS? @@ -137,7 +137,7 @@ FIO.OpenFile >STYA ZPPtr1 >PUSHWI 0 >PUSHBI $FA - >PUSHBI SYS.FOpen.R + >PUSHBI O.RDONLY .3 >LDYA ZPPtr1 >SYSCALL FOpen diff --git a/BIN/ATBROWSE.S.txt b/BIN/ATBROWSE.S.txt index 575f6f7b..dd5afcdf 100644 --- a/BIN/ATBROWSE.S.txt +++ b/BIN/ATBROWSE.S.txt @@ -8,8 +8,8 @@ AUTO 4,1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/PRODOS.I - .INB INC/MLI.ERR.I + .INB INC/MLI.I + .INB INC/MLI.E.I .INB INC/APPLETALK.I *-------------------------------------- ZPPTR1 .EQ ZPBIN diff --git a/BIN/ATLOGON.S.txt b/BIN/ATLOGON.S.txt index 26b56e6b..0dc83ab4 100644 --- a/BIN/ATLOGON.S.txt +++ b/BIN/ATLOGON.S.txt @@ -8,8 +8,8 @@ AUTO 4,1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/PRODOS.I - .INB INC/MLI.ERR.I + .INB INC/MLI.I + .INB INC/MLI.E.I .INB INC/APPLETALK.I *-------------------------------------- ZPPTR1 .EQ ZPBIN diff --git a/BIN/CAT.S.txt b/BIN/CAT.S.txt index 2b8a8b90..b5c9b5ae 100644 --- a/BIN/CAT.S.txt +++ b/BIN/CAT.S.txt @@ -8,7 +8,8 @@ AUTO 4,1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/MLI.ERR.I + .INB INC/MLI.I + .INB INC/MLI.E.I *-------------------------------------- ZPPTR1 .EQ ZPBIN ZPBufPtr .EQ ZPBIN+2 @@ -19,7 +20,8 @@ CS.START cld jmp (.1,x) .DA #$61 6502,Level 1 (65c02) .DA #1 BIN Layout Version 1 - .DA 0 + .DA #S.PS.F.EVENT S.PS.F + .DA #0 .DA CS.END-CS.START CS .DA DS.END-DS.START DS .DA #16 SS @@ -84,11 +86,7 @@ CS.INIT >STYA ZPBufPtr txa >STA.G hBuf -.8 -* lda (pPs) -* ora #S.PS.F.EVENT Now accept events -* sta (pPs) - + clc .9 rts *-------------------------------------- @@ -253,8 +251,8 @@ CS.RUN.OPEN >SYSCALL RealPath pha >PUSHWI 0 Aux type - >PUSHBI 4 S.FI.T.TXT - >PUSHBI SYS.FOpen.R+SYS.FOpen.T + >PUSHBI S.FI.T.TXT + >PUSHBI O.RDONLY+O.TEXT pla diff --git a/BIN/CHTYP.S.txt b/BIN/CHTYP.S.txt index 2e640b76..4426f710 100644 --- a/BIN/CHTYP.S.txt +++ b/BIN/CHTYP.S.txt @@ -8,7 +8,7 @@ AUTO 4,1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/MLI.ERR.I + .INB INC/MLI.E.I *-------------------------------------- X.COPY.TO.DEST .EQ 0 X.DELETE.SOURCE .EQ 0 diff --git a/BIN/CP.S.txt b/BIN/CP.S.txt index a48d63c8..7847747c 100644 --- a/BIN/CP.S.txt +++ b/BIN/CP.S.txt @@ -8,7 +8,7 @@ AUTO 4,1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/MLI.ERR.I + .INB INC/MLI.E.I *-------------------------------------- X.COPY.TO.DEST .EQ 1 X.DELETE.SOURCE .EQ 0 diff --git a/BIN/EDIT.S.txt b/BIN/EDIT.S.txt index 3f510194..5c433286 100644 --- a/BIN/EDIT.S.txt +++ b/BIN/EDIT.S.txt @@ -334,8 +334,8 @@ CharIn.Esc ldy #bEscMode rts *-------------------------------------- LoadFile >PUSHWI 0 Aux type - >PUSHBI 4 S.FI.T.TXT - >PUSHBI SYS.FOpen.R + >PUSHBI S.FI.T.TXT + >PUSHBI O.RDONLY >LDA.G hFileName >SYSCALL GetMemPtr @@ -403,8 +403,8 @@ LoadFile >PUSHWI 0 Aux type .9 rts *-------------------------------------- SaveFile >PUSHWI 0 Aux type - >PUSHBI 4 S.FI.T.TXT - >PUSHBI SYS.FOpen.X+SYS.FOpen.W + >PUSHBI S.FI.T.TXT + >PUSHBI O.CREATE+O.WRONLY >LDA.G hFileName >SYSCALL GetMemPtr diff --git a/BIN/LS.S.txt b/BIN/LS.S.txt index 0b8e7e44..5801662b 100644 --- a/BIN/LS.S.txt +++ b/BIN/LS.S.txt @@ -8,7 +8,7 @@ AUTO 4,1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/MLI.ERR.I + .INB INC/MLI.E.I *-------------------------------------- X.COPY.TO.DEST .EQ 0 X.DELETE.SOURCE .EQ 0 diff --git a/BIN/LSDEV.S.txt b/BIN/LSDEV.S.txt index d37cc52c..26465e47 100644 --- a/BIN/LSDEV.S.txt +++ b/BIN/LSDEV.S.txt @@ -7,7 +7,7 @@ AUTO 4,1 .TF BIN/LSDEV *-------------------------------------- .INB INC/MACROS.I - .INB INC/PRODOS.I + .INB INC/MLI.I .INB INC/A2OSX.I *-------------------------------------- ZPPTR1 .EQ ZPBIN diff --git a/BIN/MD5.S.txt b/BIN/MD5.S.txt index 3df4e47c..bf51e171 100644 --- a/BIN/MD5.S.txt +++ b/BIN/MD5.S.txt @@ -8,7 +8,7 @@ AUTO 4,1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/MLI.ERR.I + .INB INC/MLI.E.I .INB INC/LIBCRYPT.I *-------------------------------------- FILEBUF.SIZE .EQ 4096 @@ -128,7 +128,7 @@ CS.RUN.FILE >LDA.G Arg >PUSHWI 0 Aux type >PUSHBI 0 - >PUSHBI SYS.FOpen.R + >PUSHBI O.RDONLY >LDA.G hFullPath >SYSCALL GetMemPtr diff --git a/BIN/MV.S.txt b/BIN/MV.S.txt index 4eab457b..7c4cb7ce 100644 --- a/BIN/MV.S.txt +++ b/BIN/MV.S.txt @@ -8,7 +8,7 @@ AUTO 4,1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/MLI.ERR.I + .INB INC/MLI.E.I *-------------------------------------- X.COPY.TO.DEST .EQ 1 X.DELETE.SOURCE .EQ 1 diff --git a/BIN/NSCUTIL.S.txt b/BIN/NSCUTIL.S.txt index cd552036..bac2b885 100644 --- a/BIN/NSCUTIL.S.txt +++ b/BIN/NSCUTIL.S.txt @@ -8,7 +8,7 @@ AUTO 4,1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/MLI.ERR.I + .INB INC/MLI.E.I *-------------------------------------- ZPPtr1 .EQ ZPBIN *-------------------------------------- diff --git a/BIN/RM.S.txt b/BIN/RM.S.txt index ffcfcf55..cc180b03 100644 --- a/BIN/RM.S.txt +++ b/BIN/RM.S.txt @@ -8,7 +8,7 @@ AUTO 4,1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/MLI.ERR.I + .INB INC/MLI.E.I *-------------------------------------- X.COPY.TO.DEST .EQ 0 X.DELETE.SOURCE .EQ 1 diff --git a/BIN/X.CPMVRM.S.txt b/BIN/X.CPMVRM.S.txt index 6c31bb1c..e598d552 100644 --- a/BIN/X.CPMVRM.S.txt +++ b/BIN/X.CPMVRM.S.txt @@ -551,7 +551,7 @@ CS.RUN.Rename ldy #hDstFullPath CS.RUN.CopyStart ldy #hSrcFullPath - lda #SYS.FOpen.R + lda #O.RDONLY jsr CS.RUN.Open bcs .99 @@ -559,7 +559,7 @@ CS.RUN.CopyStart >STA.G hSrcFile ldy #hDstFullPath - lda #SYS.FOpen.W+SYS.FOpen.X + lda #O.WRONLY+O.CREATE jsr CS.RUN.Open bcs .9 diff --git a/BMP2PIX.S.txt b/BMP2PIX.S.txt index 3eb0e0f6..6a51445e 100644 --- a/BMP2PIX.S.txt +++ b/BMP2PIX.S.txt @@ -107,7 +107,7 @@ CS.INIT.RTS rts CS.INIT.OPENINPUT >PUSHWI 0 Aux type >PUSHBI 0 Type - >PUSHBI SYS.FOpen.R + >PUSHBI O.RDONLY >LDYA ZPPtr1 >SYSCALL LoadFile bcs CS.INIT.RTS @@ -183,7 +183,7 @@ CS.INIT.OPENINPUT CS.INIT.CREATEOUTPUT >PUSHWI 0 Aux type >PUSHBI $CB PIX Type - >PUSHBI SYS.FOpen.W+SYS.FOpen.X + >PUSHBI O.WRONLY+O.CREATE >LDYA ZPPtr1 >SYSCALL FOpen bcs .9 diff --git a/DRV/CONSOLE.DRV.S.txt b/DRV/CONSOLE.DRV.S.txt index 4da80fb7..7c7a6781 100644 --- a/DRV/CONSOLE.DRV.S.txt +++ b/DRV/CONSOLE.DRV.S.txt @@ -8,7 +8,7 @@ AUTO 4,1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/MLI.ERR.I + .INB INC/MLI.E.I .INB INC/IO.I .INB INC/NET.TELNET.I *-------------------------------------- diff --git a/DRV/DHGR.DRV.S.txt b/DRV/DHGR.DRV.S.txt index 08786e13..bbf11cac 100644 --- a/DRV/DHGR.DRV.S.txt +++ b/DRV/DHGR.DRV.S.txt @@ -8,7 +8,7 @@ AUTO 4,1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/PRODOS.I + .INB INC/MLI.I .INB INC/IO.I .INB INC/GFX.I .INB INC/GFX.EVE.I diff --git a/DRV/LANCEGS.DRV.S.txt b/DRV/LANCEGS.DRV.S.txt index 9df0ff2d..219c298a 100644 --- a/DRV/LANCEGS.DRV.S.txt +++ b/DRV/LANCEGS.DRV.S.txt @@ -8,7 +8,7 @@ AUTO 4,1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/MLI.ERR.I + .INB INC/MLI.E.I .INB INC/NIC.I .INB INC/NIC.91C96.I .INB INC/ETH.I diff --git a/DRV/MOUSE.DRV.S.txt b/DRV/MOUSE.DRV.S.txt index 95adf151..0db85b02 100644 --- a/DRV/MOUSE.DRV.S.txt +++ b/DRV/MOUSE.DRV.S.txt @@ -8,7 +8,7 @@ AUTO 4,1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/MLI.ERR.I + .INB INC/MLI.E.I .INB INC/XY.MOUSE.I .INB INC/LIBGUI.I *-------------------------------------- diff --git a/DRV/PIC.DRV.S.txt b/DRV/PIC.DRV.S.txt index 5b19783d..ea9f7889 100644 --- a/DRV/PIC.DRV.S.txt +++ b/DRV/PIC.DRV.S.txt @@ -8,7 +8,7 @@ AUTO 4,1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/MLI.ERR.I + .INB INC/MLI.E.I *-------------------------------------- ZPTmpPtr1 .EQ ZPDRV *-------------------------------------- diff --git a/DRV/SSC.DRV.S.txt b/DRV/SSC.DRV.S.txt index f75edbf2..d1218907 100644 --- a/DRV/SSC.DRV.S.txt +++ b/DRV/SSC.DRV.S.txt @@ -7,7 +7,7 @@ SSCIRQ .EQ 0 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/MLI.ERR.I + .INB INC/MLI.E.I .INB INC/COM.I .INB INC/COM.6551.I .INB /A2OSX.SRC/DRV/X.SSC.DRV.S diff --git a/DRV/SSC.I.DRV.S.txt b/DRV/SSC.I.DRV.S.txt index 44573c60..72186114 100644 --- a/DRV/SSC.I.DRV.S.txt +++ b/DRV/SSC.I.DRV.S.txt @@ -7,7 +7,7 @@ SSCIRQ .EQ 1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/MLI.ERR.I + .INB INC/MLI.E.I .INB INC/COM.I .INB INC/COM.6551.I .INB /A2OSX.SRC/DRV/X.SSC.DRV.S diff --git a/DRV/UTHER2.AI.DRV.S.txt b/DRV/UTHER2.AI.DRV.S.txt index 0ca6ad2d..2edec210 100644 --- a/DRV/UTHER2.AI.DRV.S.txt +++ b/DRV/UTHER2.AI.DRV.S.txt @@ -7,7 +7,7 @@ U2AI .EQ 1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/MLI.ERR.I + .INB INC/MLI.E.I .INB INC/NIC.I .INB INC/NIC.W5100.I .INB INC/ETH.I diff --git a/DRV/UTHERNET.DRV.S.txt b/DRV/UTHERNET.DRV.S.txt index 5634f011..0796e60a 100644 --- a/DRV/UTHERNET.DRV.S.txt +++ b/DRV/UTHERNET.DRV.S.txt @@ -8,7 +8,7 @@ AUTO 4,1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/MLI.ERR.I + .INB INC/MLI.E.I .INB INC/NIC.I .INB INC/NIC.8900A.I .INB INC/ETH.I diff --git a/DRV/UTHERNET2.DRV.S.txt b/DRV/UTHERNET2.DRV.S.txt index ef74739c..07d0e955 100644 --- a/DRV/UTHERNET2.DRV.S.txt +++ b/DRV/UTHERNET2.DRV.S.txt @@ -7,7 +7,7 @@ U2AI .EQ 0 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/MLI.ERR.I + .INB INC/MLI.E.I .INB INC/NIC.I .INB INC/NIC.W5100.I .INB INC/ETH.I diff --git a/FNT2FON.S.txt b/FNT2FON.S.txt index ee2becec..902af1b2 100644 --- a/FNT2FON.S.txt +++ b/FNT2FON.S.txt @@ -110,7 +110,7 @@ CS.INIT.RTS rts CS.INIT.OPENINPUT >PUSHWI 0 Aux type >PUSHBI 0 Type - >PUSHBI SYS.FOpen.R + >PUSHBI O.RDONLY >LDYA ZPPtr1 >SYSCALL LoadFile bcs CS.INIT.RTS @@ -173,7 +173,7 @@ CS.INIT.OPENINPUT CS.INIT.CREATEOUTPUT >PUSHWI 0 Aux type >PUSHBI $CC FON Type - >PUSHBI SYS.FOpen.W+SYS.FOpen.X + >PUSHBI O.WRONLY+O.CREATE >LDYA ZPPtr1 >SYSCALL FOpen bcs .9 diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index a1458f00..f7d3b359 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -4,6 +4,7 @@ AUTO 4,1 *-------------------------------------- K.VER .EQ $5C00 92.0 K.ENV.SIZE .EQ 256 +K.PIPE.SIZE .EQ 256 K.FLT.MAX .EQ 4 K.EVT.MAX .EQ 4 K.DEV.MAX .EQ 32 @@ -401,7 +402,7 @@ S.FD.T.BDEV .EQ 6 S.FD.T.LNK .EQ 8 S.FD.T.DSOCK .EQ 10 S.FD.T.SSOCK .EQ 12 -S.FD.T.FIFO .EQ 14 +S.FD.T.PIPE .EQ 14 S.FD.HANDLER .EQ 1 0=KRNL,!0=hLIB (LIBNFS,LIBTCPIP.....) *-------------------------------------- S.FD.REG.REF .EQ 2 @@ -436,14 +437,16 @@ S.FD.SOCK.STATUS .EQ 7 * S.FD.SOCK .EQ 8 *-------------------------------------- -S.FD.FIFO.S .EQ 2 -S.FD.FIFO.S.ROpened .EQ 1 -S.FD.FIFO.S.WOpened .EQ 2 -S.FD.FIFO.hMem .EQ 3 -S.FD.FIFO.Tail .EQ 4 -S.FD.FIFO.Head .EQ 6 +S.FD.PIPE.S .EQ 2 +S.FD.PIPE.S.ROpened .EQ %00000001 +S.FD.PIPE.S.RClosed .EQ %00000010 +S.FD.PIPE.S.WOpened .EQ %00000100 +S.FD.PIPE.S.WClosed .EQ %00001000 +S.FD.PIPE.hMem .EQ 3 +S.FD.PIPE.Tail .EQ 4 +S.FD.PIPE.Head .EQ 6 * -S.FD.FIFO .EQ 8 +S.FD.PIPE .EQ 8 *-------------------------------------- * PS STRUCT *-------------------------------------- diff --git a/INC/KERNEL.I.txt b/INC/KERNEL.I.txt index bbf6e987..ba9e7b2b 100644 --- a/INC/KERNEL.I.txt +++ b/INC/KERNEL.I.txt @@ -106,8 +106,8 @@ Dev.Table.pFDHI .EQ $0C60 K.Dev.MAX *-------------------------------------- * Nod (Opened files) *-------------------------------------- -Nod.Table.hFD .EQ $0C80 K.NOD.MAX -Nod.Table.hPath .EQ $0CC0 K.NOD.MAX +Nod.Table.hPath .EQ $0C80 K.NOD.MAX +Nod.Table.hFD .EQ $0CC0 K.NOD.MAX *-------------------------------------- PS.Table.hMem .EQ $0D00 K.PS.MAX PS.Table.PID .EQ $0D20 K.PS.MAX diff --git a/INC/MLI.I.txt b/INC/MLI.I.txt index 227d6cba..c89dcecc 100644 --- a/INC/MLI.I.txt +++ b/INC/MLI.I.txt @@ -133,4 +133,4 @@ MACHID.CLK .EQ %00000001 *KVERSION .EQ $BFFF *-------------------------------------- MAN -SAVE INC/PRODOS.I +SAVE INC/MLI.I diff --git a/LIB/LIBBLKDEV.S.txt b/LIB/LIBBLKDEV.S.txt index e1cac5db..ae1f2194 100644 --- a/LIB/LIBBLKDEV.S.txt +++ b/LIB/LIBBLKDEV.S.txt @@ -8,7 +8,7 @@ AUTO 4,1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/PRODOS.I + .INB INC/MLI.I .INB INC/LIBBLKDEV.I *-------------------------------------- * NIBBLE track len = $1A00 (6656) bytes: diff --git a/LIB/LIBGUI.S.FON.txt b/LIB/LIBGUI.S.FON.txt index e7730c80..31a2bedf 100644 --- a/LIB/LIBGUI.S.FON.txt +++ b/LIB/LIBGUI.S.FON.txt @@ -4,7 +4,7 @@ AUTO 4,1 *-------------------------------------- FON.Init >PUSHWI 0 Aux type >PUSHBI $CC Type - >PUSHBI SYS.FOpen.R + >PUSHBI O.RDONLY >PUSHW L.SYSX7 >SYSCALL LoadStkObj bcs .9 @@ -12,7 +12,7 @@ FON.Init >PUSHWI 0 Aux type >PUSHWI 0 Aux type >PUSHBI $CC Type - >PUSHBI SYS.FOpen.R + >PUSHBI O.RDONLY >PUSHW L.SYSX7B >SYSCALL LoadStkObj bcs .9 diff --git a/LIB/LIBTCPIP.S.CFG.txt b/LIB/LIBTCPIP.S.CFG.txt index 337c16dc..df99c45f 100644 --- a/LIB/LIBTCPIP.S.CFG.txt +++ b/LIB/LIBTCPIP.S.CFG.txt @@ -378,8 +378,8 @@ CFG.Read.Open stz CFG.hCfgFile pha >PUSHWI 0 - >PUSHBI 6 S.FI.T.TXT - >PUSHBI SYS.FOpen.R + >PUSHBI S.FI.T.TXT + >PUSHBI O.RDONLY pla >SYSCALL fopen diff --git a/LIB/LIBTCPIP.S.txt b/LIB/LIBTCPIP.S.txt index 3858f216..a1415269 100644 --- a/LIB/LIBTCPIP.S.txt +++ b/LIB/LIBTCPIP.S.txt @@ -8,7 +8,7 @@ AUTO 4,1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/MLI.ERR.I + .INB INC/MLI.E.I .INB INC/NIC.I .INB INC/ETH.I .INB INC/LIBTCPIP.I diff --git a/SBIN/KCONFIG.S.txt b/SBIN/KCONFIG.S.txt index 1fb120d1..602c1e2e 100644 --- a/SBIN/KCONFIG.S.txt +++ b/SBIN/KCONFIG.S.txt @@ -188,7 +188,7 @@ CS.RUN.Load >PUSHEA.G StatBuf >PUSHWI 0 Aux type >PUSHBI 6 S.FI.T.BIN - >PUSHBI SYS.FOpen.R + >PUSHBI O.RDONLY >LDA.G hFileName >SYSCALL GetMemPtr >SYSCALL LoadFile @@ -217,7 +217,7 @@ CS.RUN.Load >PUSHEA.G StatBuf *-------------------------------------- CS.RUN.Save >PUSHWI 0 AUXTYPE >PUSHBI 6 S.FI.T.BIN - >PUSHBI SYS.FOpen.W+SYS.FOpen.X + >PUSHBI O.WRONLY+O.CREATE >LDA.G hFileName >SYSCALL GetMemPtr diff --git a/SBIN/SHELL.S.txt b/SBIN/SHELL.S.txt index 2d18aa66..c72eec83 100644 --- a/SBIN/SHELL.S.txt +++ b/SBIN/SHELL.S.txt @@ -8,7 +8,7 @@ AUTO 4,1 *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I - .INB INC/MLI.ERR.I + .INB INC/MLI.E.I *-------------------------------------- ZPPtr1 .EQ ZPBIN ZPPtr2 .EQ ZPBIN+2 diff --git a/SYS/KERNEL.S.BIN.txt b/SYS/KERNEL.S.BIN.txt index 0587f907..acddbd9d 100644 --- a/SYS/KERNEL.S.BIN.txt +++ b/SYS/KERNEL.S.BIN.txt @@ -211,7 +211,7 @@ BIN.Load.1 >PUSHWI K.S.STAT >PUSHYA Push AUXTYPE >PUSHBI S.FI.T.BIN - >PUSHBI SYS.FOpen.R + >PUSHBI O.RDONLY >LDYA BIN.CmdLine >SYSCALL LoadFile BANK1!!! diff --git a/SYS/KERNEL.S.FIO.txt b/SYS/KERNEL.S.FIO.txt index 1087c0a3..f0c5d0db 100644 --- a/SYS/KERNEL.S.FIO.txt +++ b/SYS/KERNEL.S.FIO.txt @@ -12,8 +12,8 @@ AUTO 4,1 *\-------------------------------------- K.LoadTxtFile pha >PUSHWI 0 Aux type - >PUSHBI 4 S.FI.T.TXT - >PUSHBI SYS.FOpen.R + >PUSHBI S.FI.T.TXT + >PUSHBI O.RDONLY pla sec .HS 90 BCC diff --git a/SYS/KERNEL.S.INIT.txt b/SYS/KERNEL.S.INIT.txt index c413f2cc..861b88ca 100644 --- a/SYS/KERNEL.S.INIT.txt +++ b/SYS/KERNEL.S.INIT.txt @@ -308,8 +308,9 @@ PS0.Init >LDYAI CORE.S.PS0 Select Process 0 (Kernel) clc .9 rts *-------------------------------------- -CPU.Init.6502 >LDYAI MSG.CPU - >SYSCALL puts +CPU.Init.6502 >PUSHBI 0 + >LDYAI MSG.CPU + >SYSCALL printf jsr Detect6502 A = CPU type sta A2osX.CPUTYPE @@ -325,10 +326,13 @@ CPU.Init.6502 >LDYAI MSG.CPU lda MACHID and #MACHID.T cmp #MACHID.T.IIc - beq CPU.Init.Z80 + bne .10 + + jmp CPU.Init.Z80 +.10 >PUSHBI 0 >LDYAI MSG.CPU.SPEED - >SYSCALL puts + >SYSCALL printf stz A2osX.RANDOM16 stz A2osX.RANDOM16+1 @@ -392,8 +396,9 @@ CPU.Init.6502 >LDYAI MSG.CPU >SYSCALL printf rts *-------------------------------------- -CPU.Init.Z80 >LDYAI MSG.Z80 - >SYSCALL puts +CPU.Init.Z80 >PUSHBI 0 + >LDYAI MSG.Z80 + >SYSCALL printf jsr DetectZ80 bcs .9 diff --git a/SYS/KERNEL.S.IO.txt b/SYS/KERNEL.S.IO.txt index 51bc24a0..e458df6d 100644 --- a/SYS/KERNEL.S.IO.txt +++ b/SYS/KERNEL.S.IO.txt @@ -78,7 +78,7 @@ K.Close jsr K.GetMemPtr .DA STDIO.IOERR LNK .DA STDIO.IOERR DSOCK .DA IO.CLOSE.SSOCK - .DA IO.CLOSE.FIFO + .DA IO.CLOSE.PIPE .9 lda #MLI.E.NODEV sec @@ -90,7 +90,7 @@ IO.CLOSE.CDEV *-------------------------------------- IO.CLOSE.SSOCK *-------------------------------------- -IO.CLOSE.FIFO clc +IO.CLOSE.PIPE clc rts */-------------------------------------- * # read @@ -125,7 +125,7 @@ IO.Read.I lda (pFD) #S.FD.T .DA STDIO.IOERR LNK .DA STDIO.IOERR DSOCK .DA IO.READ.SSOCK - .DA IO.READ.FIFO + .DA IO.READ.PIPE */-------------------------------------- * # write * ## C @@ -159,7 +159,7 @@ IO.Write.I lda (pFD) #S.FD.T .DA STDIO.IOERR LNK .DA STDIO.IOERR DSOCK .DA IO.WRITE.SSOCK - .DA IO.WRITE.FIFO + .DA IO.WRITE.PIPE K.Write.9 lda #MLI.E.NODEV >RET 4 @@ -215,28 +215,45 @@ IO.READ.SSOCK ldy #S.FD.SOCK.READ .1 jmp $ffff *-------------------------------------- -IO.READ.FIFO +IO.READ.PIPE ldy #S.FD.PIPE.S + lda (pFD),y + bit #S.FD.PIPE.S.WOpened + beq .9 Remote PS did not opened yet the pipe + bit #S.FD.PIPE.S.WClosed + beq .99 Remote PS closed the Pipe + + ldy #S.FD.PIPE.hMem + lda (pFD),y + jsr K.GetMemPtr clc rts + +.9 lda #MLI.E.VOLFULL + sec + rts +.99 lda #MLI.E.EOF + sec + rts *-------------------------------------- -IO.WRITE.FIFO ldy #S.FD.FIFO.S +IO.WRITE.PIPE ldy #S.FD.PIPE.S lda (pFD),y + bit #S.FD.PIPE.S.ROpened beq .9 Remote PS did not opened yet the pipe - cmp #S.FD.FIFO.S.Closed + bit #S.FD.PIPE.S.RClosed beq .99 Remote PS closed the Pipe - ldy #S.FD.FIFO.hMem + ldy #S.FD.PIPE.hMem lda (pFD),y jsr K.GetMemPtr >STYA .1+2 - ldy #S.FD.FIFO.Head + ldy #S.FD.PIPE.Head lda (pFD),y inc - dey #S.FD.FIFO.Tail + dey #S.FD.PIPE.Tail cmp (pFD),y - beq .9 FIFO is full + beq .9 PIPE is full iny sta (pFD),y tay @@ -246,7 +263,8 @@ IO.WRITE.FIFO ldy #S.FD.FIFO.S rts .9 lda #MLI.E.VOLFULL - .HS 2C bit abs + sec + rts .99 lda #MLI.E.EOF sec rts diff --git a/SYS/KERNEL.S.STAT.txt b/SYS/KERNEL.S.STAT.txt index a23390a3..b5646a7e 100644 --- a/SYS/KERNEL.S.STAT.txt +++ b/SYS/KERNEL.S.STAT.txt @@ -158,10 +158,10 @@ K.MKDir jsr PFT.CheckPathYA rts */-------------------------------------- * # MkNod -* return a hFile for a given file descriptor. +* Create a special or ordinary file. * (CDEV, BDEV, DSOCKS, SSOCK, PIPE) * ## C -* `hFILE mknod(const char *pathname, int mode, hFD fd);` +* `int mknod(const char *pathname, int mode, hFD fd);` * ## ASM * **In:** * `>PUSHB fd` @@ -182,13 +182,16 @@ K.MkNod >STYA ZPPtr1 pathname >STYA pFD - ldx DevMgr.NodCnt + ldx #0 + +.1 lda Nod.Table.hFD,x + beq .2 + + inx cpx #K.NOD.MAX beq .98 -.1 dex - bpl . - lda +.2 lda K.S.STAT+S.STAT.DEV lda (pFD) #S.FD.T @@ -202,7 +205,7 @@ K.MkNod >STYA ZPPtr1 pathname .DA STDIO.IOERR LNK .DA STAT.MKNOD.DSOCK .DA STAT.MKNOD.SSOCK - .DA STDIO.IOERR FIFO + .DA STAT.MKNOD.PIPE .98 lda #K.E.OOH sec @@ -212,7 +215,7 @@ STAT.MKNOD.CDEV STAT.MKNOD.BDEV STAT.MKNOD.DSOCK STAT.MKNOD.SSOCK - +STAT.MKNOD.PIPE ldx #S.STAT ldy #$ff @@ -244,13 +247,13 @@ STAT.MKNOD.SSOCK * CC = OK, CS = ERROR * A = hFILE *\-------------------------------------- -K.MKFIFO >LDYAI 256 +K.MKFIFO >LDYAI K.PIPE.SIZE jsr K.GetMem bcs .99 - stx .1+1 save FIFO buffer + stx .1+1 save PIPE buffer - >LDYAI S.FD.FIFO + >LDYAI S.FD.PIPE jsr K.GetMem0 bcs .9 @@ -258,10 +261,10 @@ K.MKFIFO >LDYAI 256 >STYA pFD ldy #S.FD.T - lda #S.FD.T.FIFO + lda #S.FD.T.PIPE sta (pFD),y - iny S.FD.FIFO.hMem + iny S.FD.PIPE.hMem .1 lda #$ff Self Modified sta (pFD),y txa @@ -269,7 +272,7 @@ K.MKFIFO >LDYAI 256 rts .9 pha save error code - lda .1+1 get back FIFO buffer + lda .1+1 get back PIPE buffer jsr K.FreeMem pla sec diff --git a/SYS/KERNEL.S.STDIO.txt b/SYS/KERNEL.S.STDIO.txt index c4a007f4..b53c9318 100644 --- a/SYS/KERNEL.S.STDIO.txt +++ b/SYS/KERNEL.S.STDIO.txt @@ -963,11 +963,11 @@ K.SScanF.Fwd tya Y=char count parsed * `>PUSHWI auxtype` * `>PUSHBI ftype` * `>PUSHBI mode` -* + SYS.FOpen.R : if R and !exists -> ERROR -* + SYS.FOpen.W : if W and !exists -> CREATE -* + SYS.FOpen.A : Append -* + SYS.FOpen.T : Open/Append in Text mode -* + SYS.FOpen.X : Create if not exists +* + O.RDONLY : if R and !exists -> ERROR +* + O.WRONLY : if W and !exists -> CREATE +* + O.APPEND : Append +* + O.TEXT : Open/Append in Text mode +* + O.CREATE : Create if not exists * http://man7.org/linux/man-pages/man3/fopen.3.html * r = O_RDONLY * w = O_WRONLY | O_CREAT | O_TRUNC @@ -1056,10 +1056,10 @@ K.FOpen.10 lda #S.FD.REG sta K.MLI.PARAMS+1 Next MLI Calls are REF_NUM based lda K.FOpen.MODE - bit #SYS.FOpen.W + bit #O.WRONLY beq .20 Write mode ? - and #SYS.FOpen.A Append ? + and #O.APPEND Append ? bne .11 yes, go to end of file stz K.MLI.PARAMS+2 @@ -1075,7 +1075,7 @@ K.FOpen.10 lda #S.FD.REG .21 bcs .98 .20 lda K.FOpen.MODE - and #SYS.FOpen.T Text Mode ? + and #O.TEXT Text Mode ? beq .8 lda #$FF @@ -1198,7 +1198,7 @@ K.FSeek jsr PFT.CheckNodeA tax >PULLW ZPPtr1 offset LW >PULLW ZPPtr2 offset HW - cpx #SYS.FSeek.END+1 + cpx #SEEK.END+1 bcs .98 jmp (.1,x) @@ -1206,18 +1206,18 @@ K.FSeek jsr PFT.CheckNodeA .1 .DA .10 .DA .20 .DA .30 -* K.FSeek.SET +* SEEK.SET .10 stz K.MLI.PARAMS+2 stz K.MLI.PARAMS+3 stz K.MLI.PARAMS+4 bra .8 -* K.FSeek.CUR +* SEEK.CUR .20 >MLICALL MLIGETMARK bcc .8 rts -* K.FSeek.END +* SEEK.END .30 >MLICALL MLIGETEOF bcs .9 diff --git a/SYS/KERNEL.S.txt b/SYS/KERNEL.S.txt index f1498a43..a3c25559 100644 --- a/SYS/KERNEL.S.txt +++ b/SYS/KERNEL.S.txt @@ -10,8 +10,8 @@ AUTO 4,1 .INB INC/KERNEL.I .INB INC/A2OSX.I .INB INC/IO.I - .INB INC/PRODOS.I - .INB INC/MLI.ERR.I + .INB INC/MLI.I + .INB INC/MLI.E.I .INB INC/XY.MOUSE.I .INB INC/GUI.I diff --git a/SYS/KM.APPLETALK.S.txt b/SYS/KM.APPLETALK.S.txt index 027a4c80..6ad4723d 100644 --- a/SYS/KM.APPLETALK.S.txt +++ b/SYS/KM.APPLETALK.S.txt @@ -9,7 +9,7 @@ AUTO 4,1 .INB INC/MACROS.I .INB INC/IO.I .INB INC/MONITOR.I - .INB INC/PRODOS.I + .INB INC/MLI.I *-------------------------------------- TmpPtr1 .EQ $0 *-------------------------------------- diff --git a/SYS/KM.NSC.S.txt b/SYS/KM.NSC.S.txt index a3d417de..92e593c6 100644 --- a/SYS/KM.NSC.S.txt +++ b/SYS/KM.NSC.S.txt @@ -9,7 +9,7 @@ AUTO 4,1 .INB INC/MACROS.I .INB INC/IO.I .INB INC/MONITOR.I - .INB INC/PRODOS.I + .INB INC/MLI.I *-------------------------------------- TmpPtr1 .EQ $0 TmpPtr2 .EQ $2 diff --git a/SYS/KM.RAMWORKS.S.txt b/SYS/KM.RAMWORKS.S.txt index ea7866bb..faa70a0b 100644 --- a/SYS/KM.RAMWORKS.S.txt +++ b/SYS/KM.RAMWORKS.S.txt @@ -9,8 +9,8 @@ AUTO 4,1 .INB INC/MACROS.I .INB INC/IO.I .INB INC/MONITOR.I - .INB INC/PRODOS.I - .INB INC/MLI.ERR.I + .INB INC/MLI.I + .INB INC/MLI.E.I *-------------------------------------- TmpPtr1 .EQ $0 TmpPtr2 .EQ $2 diff --git a/SYS/KM.VSDRIVE.S.txt b/SYS/KM.VSDRIVE.S.txt index a6dcece6..36d912c9 100644 --- a/SYS/KM.VSDRIVE.S.txt +++ b/SYS/KM.VSDRIVE.S.txt @@ -9,8 +9,8 @@ AUTO 4,1 .INB INC/MACROS.I .INB INC/IO.I .INB INC/MONITOR.I - .INB INC/PRODOS.I - .INB INC/MLI.ERR.I + .INB INC/MLI.I + .INB INC/MLI.E.I .INB INC/COM.6551.I *-------------------------------------- TmpPtr1 .EQ $0 diff --git a/TEST.S.txt b/TEST.S.txt index 26bdb2a1..4dd65c6b 100644 --- a/TEST.S.txt +++ b/TEST.S.txt @@ -68,7 +68,7 @@ CS.RUN ldy #S.PS.ARGC *-------------------------------------- CS.RUN.Pak >PUSHWI 0 Aux type >PUSHBI 0 - >PUSHBI SYS.FOpen.R + >PUSHBI O.RDONLY lda #1 >SYSCALL GetArg