From eceedd72d77ae9786bb511d302a523e134b13dca Mon Sep 17 00:00:00 2001 From: burniouf Date: Sat, 24 Jul 2021 22:42:23 +0200 Subject: [PATCH] KERNEL 0.94-2 --- .Floppies/A2OSX.BOOTHD.woz | Bin 321024 -> 321024 bytes .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/ACOS.S.RT.txt | 4 + BIN/ACOS.S.txt | 2 +- BIN/ASM.S.DIR.txt | 2 +- BIN/ASM.S.txt | 2 +- BIN/CAT.S.txt | 499 +++++++++++++++++++++++------------- BIN/CHGRP.S.txt | 2 +- BIN/CHOWN.S.txt | 2 +- BIN/CSH.S.CORE.txt | 2 +- BIN/CSH.S.EXP.txt | 2 +- BIN/CUT.S.txt | 5 +- BIN/EDIT.S.FILE.txt | 2 +- BIN/FORMAT.S.txt | 2 +- BIN/FORTH.S.GFX.txt | 2 +- BIN/GREP.S.txt | 5 +- BIN/HTTPGET.S.txt | 2 +- BIN/IPCONFIG.S.txt | 8 +- BIN/LS.S.txt | 97 ++++--- BIN/LSDEV.S.txt | 222 ++++++++-------- BIN/LSOF.S.txt | 36 ++- BIN/MORE.S.txt | 7 +- BIN/NL.S.txt | 9 +- BIN/NSCUTIL.S.txt | 4 +- BIN/NTPDATE.S.txt | 2 +- BIN/OD.S.txt | 9 +- BIN/PAK.S.txt | 2 +- BIN/SED.S.txt | 5 +- BIN/SH.S.CL.txt | 2 +- BIN/SH.S.CMD.txt | 4 +- BIN/SH.S.CORE.txt | 2 +- BIN/SH.S.IO.txt | 11 +- BIN/SH.S.txt | 2 - BIN/SHUTDOWN.S.txt | 25 +- BIN/STAT.S.txt | 2 +- BIN/WC.S.txt | 2 +- BIN/XARGS.S.txt | 5 +- INC/A2osX.I.txt | 20 -- INC/KERNEL.I.txt | 41 ++- LIB/LIBCIFS.S.IO.txt | 10 +- LIB/LIBCIFS.S.txt | 4 +- ProDOS.FX/ProDOS.S.LDR.txt | 5 +- ProDOS.FX/ProDOS.S.NCLK.txt | 4 +- SBIN/BBSD.S.txt | 4 +- SBIN/CIFSD.S.txt | 4 +- SBIN/HTTPD.S.txt | 2 +- SBIN/INITD.S.txt | 6 +- SBIN/LOGIN.S.txt | 2 +- SHARED/X.FILEENUM.S.txt | 4 +- SYS/KERNEL.S.ARG.txt | 2 +- SYS/KERNEL.S.CORE.txt | 12 +- SYS/KERNEL.S.DEF.txt | 6 +- SYS/KERNEL.S.DEV.txt | 222 +++++++--------- SYS/KERNEL.S.DIRENT.txt | 68 ++--- SYS/KERNEL.S.FS.txt | 76 +++--- SYS/KERNEL.S.INIT.txt | 44 ++-- SYS/KERNEL.S.JMP.txt | 2 +- SYS/KERNEL.S.MEM.txt | 36 --- SYS/KERNEL.S.PFT.txt | 22 +- SYS/KERNEL.S.PIPE.txt | 5 +- SYS/KERNEL.S.PS.txt | 53 +++- SYS/KERNEL.S.SHARED.txt | 6 - SYS/KERNEL.S.SOCK.txt | 2 +- SYS/KERNEL.S.STAT.txt | 48 ++-- SYS/KERNEL.S.STDIO.txt | 53 ++-- SYS/KERNEL.S.STDLIB.txt | 2 +- SYS/KERNEL.S.TERM.txt | 14 +- SYS/KERNEL.S.TERMX.txt | 156 +++++------ SYS/KERNEL.S.UNISTD.txt | 20 +- SYS/KM.NSC.S.txt | 12 +- 70 files changed, 1017 insertions(+), 941 deletions(-) diff --git a/.Floppies/A2OSX.BOOTHD.woz b/.Floppies/A2OSX.BOOTHD.woz index 8e40be4dc24c5d57d332611fe197f171d660e3a9..360be743c0b453702848eddbf6cd138054454173 100644 GIT binary patch delta 80 zcmZoTBiwLCm?zvn%IH5AFV`Otv*e9DUsyL!U@BmS5x*H3B{nxQ)x!l4QlZRE3T+CE PZ3;|n3e3wCSdIYzg?<|C delta 3916 zcmaJkTWs4{c8I50purYJv5VcJ4>bKqg2b@}jCX9!F)^?krDe#5hO)o z5hW5RMdD6B=CeR+z(VY?)S{3Gk`{@Y5e1SWi2{AVPAsA0Z34@&)CEQoB#L5TMIi4 zmAV%3g>!wtr=)$AYuSbMEpoHflk$Y7p^9{$EjQ=`BK?9*h$f?-a&)i95(1m%|uQ4wSs~sqU%+jsqSnKkOA6#Q?7&V zuxP(wl8n+zDe}H*svC{gPIj|eU0>f!wku_>*eJKqXQiYG0J2?f)$*P8VIzBVELXPP zftpgtS2y;ha;f{WRVj57+3mN|P4%cuthXekTrV?v;#4DrB#D==UdzU|-rrWNokOM3 zESi;iqsZmow84gG4gYLov)$Dbk}fM%mhZ}gqfxKFWV6q*T6wEdCXPl6EjP+Z zdh@W6aMi?@n9KvRC;GZpl~ELNCoB^98C^ z!v-hjmA?6jK}@-0Om;peXD6=Ub$O~0?I}S$o+ZW|mgdg%jkM9yyiGCKYxmMU4N-g_ zcj-qRGNWYqF5?k}>2y9G@0!rW$kh?x>r?TbskV%!88d0 zHETLzY*3xW4aJe4QuQ~={B>2C4i8XwjIHazhk zfBVrtA}t)m6F#!!TVgr)1?k<3lT}P!j=>U@ir$7MP2birHNN?EwPOjazgS$kOCFbO zB(}*$mr81}+DX2UB{>!EN9Vk3S%LX>8ChDqtF9I|iC8S=-!;lZOrCsD7%E94>o@u9 z9*^%ca}{wAFYNK^6I(ehRf;SAEJjK9sw{-;mP@InB?nnuQfIT3L;U#-o(zz?B>6N} zP*W5slA_mN`nqyxj^DAD?%cVfSd=4Hp&VHYNu?Zm)lJ_77xk4$@9&(q@RyWBlTb(@K23=M3 zBMx%E>To1|@qx5j6j%3SvA9YGpb@n?93BxudFYG44~EOdK=Q7_RkpI#Bqux<)nqlU zZp9M+^7FAj0G^LiH~}KzJ;&#KH@PUyJ_@2=ShwU)j!dyToL?Z_U>Qt0B7y zmn8@jbGT;TsL@nlM-lm^eC1@os(vCGJ^`86-!$b3bHK0&Wiyof(Mf|oX>@59mdRi= zgwYKTf-*v*nXc6^EZuNXR2_ALE4-NI&02v?6XDqhfQaf5RDNteYlIkgnhv&}LnKMtoT(h*tXcNnB^Af_#*UbFP9G8Cx zj;iRa=^~YamM^Fcx5nz0d~F!J-az2+Tz=dQ)aW)?nWnqtoDm^xA&hgw@0|NITO~U3 zg-gH)Ew1%}<74K{viw>-CY{38Q{fOZ9EMfi%*Apanq<^(SCKp zP!`B$WN-Hg-;AqV1di-g`P<$|pgLP_u~@$^UoW?Ix#!+J-h;{42ZmRE$`5gPVA}>_ zE*>KLc)MS2cMR4ukef}f7kb_FdN3TSKH;j48|7Wh3kTvt6_%t(8HOg+RQ%ZTXZK7f z`a%^e)z#H|>gV&;{^QE|LVSq$u`%JuQ=w zq#Q@czVWM?VLu}E?J=dF>U% z7Xe# zR@6vhV22zHKq&&morEjr>JNaFmCA^8)&ljD5pYU{`p8?hQsDn^IiX4I9osu;rH7%& zH)n!QduZm)s6?~R>bf(#C2oIvnlL$v`yhDJB1DMy8?{>dq!G@ixv)DF35eE?+Ef<# zh4F2aex$|4j@d-r{bq&$#|M*P-P`I(M{UqjE+ zVCDKbJHiPrRDCiGX__AKWJVu`NfJmpn#eQePdXt`W@=&-qzg7vPkerV?2kUji5CAG zXOsuSJmAYcFi5W~3kGn3ePA*6lz_qPh~Qx{58(5RZZJ7#Tl@9HKbiJ-@Iy@6t-_}O z>wSJ0@xV>icRYJYfLEc(t=UoL9#OLkICRdo_Ido@F8W)fboL*19hC2s_<=jno*gX^ okr0O(^h+w_#ySeD{?nIZ7yjn*SC=n*b$RTo%O7Pf|JJ|%FB&5Z$p8QV diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 7f2ff7614ba82cc69fdfa869d6c2649a7b1fda0e..72ac8fec23dcbb18ff1b3b76af582a11f5f2ad69 100644 GIT binary patch delta 180842 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
^jp3Du}^rYtJ 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 LUc}Q+G2Hrpih`Ew delta 177106 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 z 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 IZz%WtAC%zqy#N3J diff --git a/BIN/ACOS.S.RT.txt b/BIN/ACOS.S.RT.txt index dfa1746a..94f9f1b2 100644 --- a/BIN/ACOS.S.RT.txt +++ b/BIN/ACOS.S.RT.txt @@ -109,6 +109,10 @@ RT.GET >SYSCALL GetChar sta (ZPStrBuf) ldy #1 + + lda #0 + sta (ZPStrBuf),y + bra RT.INPUT.8 *-------------------------------------- RT.INPUT lda #0 diff --git a/BIN/ACOS.S.txt b/BIN/ACOS.S.txt index 5bbdf445..52fb49b7 100644 --- a/BIN/ACOS.S.txt +++ b/BIN/ACOS.S.txt @@ -519,7 +519,7 @@ OUT.CLRSCR .DA #C.ESC .DA #C.ESC .AZ ")0" *-------------------------------------- -FMT.DATE .AZ "%d/%m/%Y" +FMT.DATE .AZ "%m/%d/%y" FMT.TIME .AZ "%H:%M:%S" *-------------------------------------- OptionList .AS "DdTt" diff --git a/BIN/ASM.S.DIR.txt b/BIN/ASM.S.DIR.txt index 7cc7d7fd..2e278e45 100644 --- a/BIN/ASM.S.DIR.txt +++ b/BIN/ASM.S.DIR.txt @@ -656,7 +656,7 @@ DIR.TF >LDA.G ASM.PASS If Pass#1, ignore sta ZPPtr2+1 .7 >PUSHW ZPPtr1 - >PUSHWI 0 Allocate + >PUSHWZ Allocate >SYSCALL RealPath bcs .9 diff --git a/BIN/ASM.S.txt b/BIN/ASM.S.txt index 6e61fa18..715cbbe0 100644 --- a/BIN/ASM.S.txt +++ b/BIN/ASM.S.txt @@ -371,7 +371,7 @@ CS.RUN.ARGS ldy #S.PS.ARGC beq .2 >PUSHW ZPPtr2 - >PUSHWI 0 Allocate + >PUSHWZ Allocate >SYSCALL RealPath bcs .99 txa diff --git a/BIN/CAT.S.txt b/BIN/CAT.S.txt index ca0bd5b5..e6dd8935 100644 --- a/BIN/CAT.S.txt +++ b/BIN/CAT.S.txt @@ -1,242 +1,375 @@ NEW AUTO 3,1 - .LIST OFF - .OP 65C02 - .OR $2000 - .TF bin/cat + .LIST OFF + .OP 65C02 + .OR $2000 + .TF bin/cat *-------------------------------------- - .INB inc/macros.i - .INB inc/a2osx.i - .INB inc/kernel.i - .INB inc/mli.i - .INB inc/mli.e.i + .INB inc/macros.i + .INB inc/a2osx.i + .INB inc/kernel.i + .INB inc/mli.i + .INB inc/mli.e.i *-------------------------------------- - .DUMMY - .OR ZPBIN + .DUMMY + .OR ZPBIN ZS.START -ZPPtr1 .BS 2 -ZPBufPtr .BS 2 -ByteIndex .BS 1 -ArgCount .BS 1 -FileCount .BS 1 -bPause .BS 1 -bDummy .BS 1 -bIsTTY .BS 1 -ArgIndex .BS 1 -hBuf .BS 1 -hFile .BS 1 -ZS.END .ED +ZPPtr1 .BS 2 +ZPBufPtr .BS 2 +ByteIndex .BS 1 +ArgCount .BS 1 +FileCount .BS 1 +bPause .BS 1 +bPrintAll .BS 1 +bLineNum .BS 1 +bSuppressBlankLine .BS 1 +ArgIndex .BS 1 +hBuf .BS 1 +hFile .BS 1 +LineNum .BS 2 +bPrintedBlankLine .BS 1 +ZS.END .ED *-------------------------------------- -* File Header (16 Bytes) +* File Header (16 Bytes) *-------------------------------------- -CS.START cld - jmp (.1,x) - .DA #$61 6502,Level 1 (65c02) - .DA #1 BIN Layout Version 1 - .DA #S.PS.F.EVENT S.PS.F - .DA #0 - .DA CS.END-CS.START CS - .DA DS.END-DS.START DS - .DA #64 SS - .DA #ZS.END-ZS.START Zero Page Size - .DA 0 +CS.START cld + jmp (.1,x) + .DA #$61 6502,Level 1 (65c02) + .DA #1 BIN Layout Version 1 + .DA #S.PS.F.EVENT S.PS.F + .DA #0 + .DA CS.END-CS.START CS + .DA DS.END-DS.START DS + .DA #64 SS + .DA #ZS.END-ZS.START Zero Page Size + .DA 0 *-------------------------------------- * Relocation Table *-------------------------------------- -.1 .DA CS.INIT - .DA CS.RUN - .DA CS.DOEVENT - .DA CS.QUIT -L.MSG.USAGE .DA MSG.USAGE -L.MSG.CRLF .DA MSG.CRLF -L.MSG.INIT .DA MSG.INIT - .DA 0 +.1 .DA CS.INIT + .DA CS.RUN + .DA CS.DOEVENT + .DA CS.QUIT +L.MSG.USAGE .DA MSG.USAGE +L.MSG.CRLF .DA MSG.CRLF +L.MSG.INIT .DA MSG.INIT +L.MSG.LINENUM .DA MSG.LINENUM +L.MSG.CTRLCHAR .DA MSG.CTRLCHAR +L.ASCII .DA ASCII + .DA 0 *-------------------------------------- -CS.INIT clc - rts +CS.INIT clc + rts *-------------------------------------- -CS.RUN -.1 stz bIsTTY - - inc ArgCount - lda ArgCount - >SYSCALL ArgV - bcs .7 +CS.RUN +.1 inc ArgCount + lda ArgCount + >SYSCALL ArgV + bcs .7 - >STYA ZPPtr1 + >STYA ZPPtr1 - lda (ZPPtr1) - cmp #'-' - bne .4 + lda (ZPPtr1) + cmp #'-' + bne .4 - ldy #1 - lda (ZPPtr1),y + ldy #1 + lda (ZPPtr1),y - ldx #OptionList.Cnt-1 - -.2 cmp OptionList,x - beq .3 + ldx #OptionList.Cnt-1 + +.2 cmp OptionList,x + beq .3 - dex - bpl .2 + dex + bpl .2 -.99 >PUSHW L.MSG.USAGE - >PUSHBI 0 - >SYSCALL PrintF - lda #E.SYN - sec -.9 rts +.99 >PUSHW L.MSG.USAGE + >PUSHBI 0 + >SYSCALL PrintF + lda #E.SYN + sec +.9 rts -.3 ldy OptionVars,x - lda #$80 - sta 0,y - bra .1 +.3 ldy OptionVars,x + lda #$80 + sta 0,y + bra .1 -.4 inc FileCount - bra .1 scan for any other args +.4 inc FileCount + bra .1 scan for any other args -.7 lda FileCount - beq .99 +.7 lda FileCount + beq .99 - >LDYAI 256 - >SYSCALL GetMem - bcs .9 + >LDYAI 256 + >SYSCALL GetMem + bcs .9 - >STYA ZPBufPtr - stx hBuf - - ldy #S.PS.hStdOut - lda (pPS),y + >STYA ZPBufPtr + stx hBuf + + ldy #S.PS.hStdOut + lda (pPS),y - tax - - lsr - bcc CS.RUN.LOOP - - lda Nod.Table.hFD-2,x - >SYSCALL GetMemPtr - >STYA ZPPtr1 + tax + + lda hFDs-1,x + >SYSCALL GetMemPtr + >STYA ZPPtr1 - lda (ZPPtr1) + lda (ZPPtr1) - beq CS.RUN.LOOP + beq CS.RUN.LOOP - inc bIsTTY - - >PUSHW L.MSG.INIT - >PUSHBI 0 - >SYSCALL PrintF + cmp #S.FD.T.PIPE + beq CS.RUN.LOOP + + >PUSHW L.MSG.INIT + >PUSHBI 0 + >SYSCALL PrintF *-------------------------------------- -CS.RUN.LOOP ldy #S.PS.hStdIn - lda (pPS),y - >SYSCALL FEOF - bcs .90 IO error +CS.RUN.LOOP ldy #S.PS.hStdIn + lda (pPS),y + >SYSCALL FEOF + bcs .90 IO error - tay - bne .10 no char + tay + bne .10 no char - >SYSCALL GetChar - bcs .9 IO error + >SYSCALL GetChar + bcs .9 IO error - cmp #$03 Ctrl-C - beq .9 Abort.... + cmp #$03 Ctrl-C + beq .9 Abort.... - cmp #$13 Ctrl-S - bne .10 + cmp #$13 Ctrl-S + bne .10 - lda bPause - eor #$ff - sta bPause - bne CS.RUN.LOOP + lda bPause + eor #$ff + sta bPause + bne CS.RUN.LOOP -.10 lda bPause - bne CS.RUN.LOOP Pause... +.10 lda bPause + bne CS.RUN.LOOP Pause... -.11 lda hFile - bne .2 +.11 lda hFile + bne .2 -.1 inc ArgIndex - lda ArgIndex - >SYSCALL ArgV - bcs .99 No more arg...the end! +.1 inc ArgIndex + lda ArgIndex + >SYSCALL ArgV + bcs .99 No more arg...the end! - >STYA ZPPtr1 - lda (ZPPtr1) - cmp #'-' - beq .1 An option, skip... + >STYA ZPPtr1 + lda (ZPPtr1) + cmp #'-' + beq .1 An option, skip... - >LDYA ZPPtr1 - jsr CS.RUN.OPEN -.90 bcs .9 + >LDYA ZPPtr1 + jsr CS.RUN.OPEN +.90 bcs .9 - sta hFile + sta hFile -.2 lda hFile - >SYSCALL GetC - bcs .7 +.2 >PUSHA + >PUSHW ZPBufPtr + >PUSHWI 254 Leave room for CRLF + >SYSCALL FGetS + bcs .7 - pha - >SYSCALL PutChar - pla + jsr CS.RUN.PRINT + bcc CS.RUN.LOOP + rts - cmp #C.CR - bne CS.RUN.LOOP +.7 cmp #MLI.E.EOF + bne .9 - lda bIsTTY - beq CS.RUN.LOOP + jsr CS.RUN.CLOSE + jmp CS.RUN.LOOP - lda #C.LF - >SYSCALL PutChar - - bra CS.RUN.LOOP - -.7 cmp #MLI.E.EOF - bne .9 - - jsr CS.RUN.CLOSE - jmp CS.RUN.LOOP - -.99 lda #0 Exit with no Error -.9 sec - rts +.99 lda #0 Exit with no Error +.9 sec + rts *-------------------------------------- -CS.RUN.OPEN >PUSHYA - >PUSHBI O.RDONLY+O.TEXT - >PUSHBI S.FI.T.TXT - >PUSHWZ Aux type - >SYSCALL FOpen - rts +CS.RUN.OPEN stz bPrintedBlankLine Reset this flag for the new file + >PUSHYA + >PUSHBI O.RDONLY+O.TEXT + >PUSHBI S.FI.T.TXT + >PUSHWZ Aux type + >SYSCALL FOpen + rts *-------------------------------------- -CS.QUIT lda hBuf - beq CS.RUN.CLOSE - >SYSCALL FreeMem +CS.RUN.PRINT inc LineNum + bne .10 -CS.RUN.CLOSE lda hFile - beq .8 + inc LineNum+1 - stz hFile +.10 lda bSuppressBlankLine + bpl .2 - >SYSCALL FClose -.8 clc - rts + lda (ZPBufPtr) + bne .1 Empty line ? + + lda bPrintedBlankLine + bmi .8 + + lda #$ff + sta bPrintedBlankLine + bra .2 + +.1 stz bPrintedBlankLine + +.2 jsr CS.RUN.PRINTNUM + bcs .99 + + lda bPrintAll + bmi .3 + + ldy #$ff + +.20 iny + lda (ZPBufPtr),y + beq .21 + + cmp #C.SPACE + bcs .20 + + lda #C.SPACE + sta (ZPBufPtr),y + bra .20 + +.21 >LDYA ZPBufPtr + >SYSCALL PutS + rts *-------------------------------------- -CS.DOEVENT sec - rts +.3 stz ByteIndex + +.4 ldy ByteIndex + lda (ZPBufPtr),y + beq .7 + + cmp #C.SPACE + bcc .5 + + >SYSCALL PutChar +.99 bcs .9 + + bra .62 + +.8 clc + rts + +.5 tax + + >LDYA L.ASCII + >STYA ZPPtr1 +.6 dex + bmi .61 + + lda ZPPtr1 + sec + adc (ZPPtr1) + sta ZPPtr1 + bcc .6 + + inc ZPPtr1+1 + bra .6 + +.61 >PUSHW L.MSG.CTRLCHAR + >PUSHW ZPPtr1 + >PUSHBI 2 + >SYSCALL PrintF + bcs .9 + +.62 inc ByteIndex + bne .4 + +.7 >PUSHW L.MSG.CRLF + >PUSHBI 0 + >SYSCALL PrintF + +.9 rts +*-------------------------------------- +CS.RUN.PRINTNUM clc + lda bLineNum + bpl .8 + + >PUSHW L.MSG.LINENUM + >PUSHW LineNum + >PUSHBI 2 + >SYSCALL PrintF +.8 rts +*-------------------------------------- +CS.QUIT lda hBuf + beq CS.RUN.CLOSE + >SYSCALL FreeMem + +CS.RUN.CLOSE lda hFile + beq .8 + + stz hFile + + >SYSCALL FClose +.8 clc + rts +*-------------------------------------- +CS.DOEVENT sec + rts *-------------------------------------- CS.END *-------------------------------------- -OptionList .AS "x" -OptionList.Cnt .EQ *-OptionList -OptionVars .DA #bDummy +OptionList .AS "ANSans" +OptionList.Cnt .EQ *-OptionList +OptionVars .DA #bPrintAll,#bLineNum,#bSuppressBlankLine,#bPrintAll,#bLineNum,#bSuppressBlankLine *-------------------------------------- -MSG.USAGE .AS "Usage : CAT File1 [File2...]" -MSG.CRLF .AZ "\r\n" -MSG.INIT .AZ "\e[?7h" Enable Line Wrap +MSG.USAGE .AS "Usage : CAT File1 [File2...]\r\n" + .AS " -A : Show All non printable characters\r\n" + .AS " -N : Number all output lines\r\n" + .AS " -S : Suppress repeated empty output lines" +MSG.CRLF .AZ "\r\n" +MSG.INIT .AZ "\e[?7h" Enable Line Wrap +MSG.LINENUM .AZ "%5D:" +MSG.CTRLCHAR .AZ "[%S]" *-------------------------------------- - .DUMMY - .OR 0 +ASCII >PSTR "NUL" + >PSTR "SOH" + >PSTR "STX" + >PSTR "ETX" + >PSTR "EOT" + >PSTR "ENQ" + >PSTR "ACK" + >PSTR "BEL" + >PSTR "BS" + >PSTR "TAB" + >PSTR "LF" + >PSTR "VT" + >PSTR "FF" + >PSTR "CR" + >PSTR "SO" + >PSTR "SI" + >PSTR "DLE" + >PSTR "DC1" + >PSTR "DC2" + >PSTR "DC3" + >PSTR "DC4" + >PSTR "NAK" + >PSTR "SYN" + >PSTR "ETB" + >PSTR "CAN" + >PSTR "EM" + >PSTR "SUB" + >PSTR "ESC" + >PSTR "FS" + >PSTR "GS" + >PSTR "RS" + >PSTR "US" +*-------------------------------------- + .DUMMY + .OR 0 DS.START -DS.END .ED +DS.END .ED *-------------------------------------- MAN SAVE usr/src/bin/cat.s diff --git a/BIN/CHGRP.S.txt b/BIN/CHGRP.S.txt index 42116f52..2848e981 100644 --- a/BIN/CHGRP.S.txt +++ b/BIN/CHGRP.S.txt @@ -228,7 +228,7 @@ CS.RUN.FILE clc *-------------------------------------- CS.RUN.GetGID >SYSCALL ArgV >PUSHYA - >PUSHWI 0 + >PUSHWZ >SYSCALL GetGRName bcs .9 diff --git a/BIN/CHOWN.S.txt b/BIN/CHOWN.S.txt index cadd10b9..226f56d1 100644 --- a/BIN/CHOWN.S.txt +++ b/BIN/CHOWN.S.txt @@ -230,7 +230,7 @@ CS.RUN.FILE *-------------------------------------- CS.RUN.GetUID >SYSCALL ArgV >PUSHYA - >PUSHWI 0 + >PUSHWZ >SYSCALL GetPWName bcs .9 diff --git a/BIN/CSH.S.CORE.txt b/BIN/CSH.S.CORE.txt index 7e6fcc0f..de703e18 100644 --- a/BIN/CSH.S.CORE.txt +++ b/BIN/CSH.S.CORE.txt @@ -881,7 +881,7 @@ CSH.GetVarDef phy >PUSHWI ZPVarDef >PUSHWI 8 8 bytes - >PUSHWI 0 From Start + >PUSHWZ From Start >SYSCALL SListGetData rts *-------------------------------------- diff --git a/BIN/CSH.S.EXP.txt b/BIN/CSH.S.EXP.txt index a8fe6460..2b3b168a 100644 --- a/BIN/CSH.S.EXP.txt +++ b/BIN/CSH.S.EXP.txt @@ -283,7 +283,7 @@ CSH.VarLookup >PUSHB.G CSH.hSymbols >PUSHEA.G CSH.VarDef >PUSHWI 8 8 bytes - >PUSHWI 0 From Start + >PUSHWZ From Start >SYSCALL SListGetData .9 rts *-------------------------------------- diff --git a/BIN/CUT.S.txt b/BIN/CUT.S.txt index 95eccb92..cd76f023 100644 --- a/BIN/CUT.S.txt +++ b/BIN/CUT.S.txt @@ -141,10 +141,7 @@ CS.RUN lda #C.SPACE .80 ldy #S.PS.hStdIn lda (pPS),y tax - lsr - bcs .97 - - lda Nod.Table.hFD-2,x + lda hFDs-1,x >SYSCALL GetMemPtr >STYA ZPPtr1 diff --git a/BIN/EDIT.S.FILE.txt b/BIN/EDIT.S.FILE.txt index bd6f07bb..b3fe814b 100644 --- a/BIN/EDIT.S.FILE.txt +++ b/BIN/EDIT.S.FILE.txt @@ -7,7 +7,7 @@ FILE.New jsr FILE.Reset >LDYA L.MSG.NEWFILE FILE.RealPath >PUSHYA - >PUSHWI 0 Allocate + >PUSHWZ Allocate >SYSCALL RealPath bcs .9 diff --git a/BIN/FORMAT.S.txt b/BIN/FORMAT.S.txt index 92457742..56618780 100644 --- a/BIN/FORMAT.S.txt +++ b/BIN/FORMAT.S.txt @@ -365,7 +365,7 @@ CS.RUN.LL.DISKII >PUSHB VolNum >PUSHB CurHead >PUSHB CurTrack - >PUSHWI 0 Empty track + >PUSHWZ Empty track >LIBCALL hLIBBLKDEV,LIBBLKDEV.D2TrkWrite16s bcs .9 diff --git a/BIN/FORTH.S.GFX.txt b/BIN/FORTH.S.GFX.txt index db67f82d..a8b854ab 100644 --- a/BIN/FORTH.S.GFX.txt +++ b/BIN/FORTH.S.GFX.txt @@ -38,7 +38,7 @@ GFX.GR ldy #S.PS.hStdIn GFX.IOCTL >PUSHA >PUSHBI IOCTL.CONTROL - >PUSHWI 0 + >PUSHWZ >SYSCALL IOCTL rts *-------------------------------------- diff --git a/BIN/GREP.S.txt b/BIN/GREP.S.txt index beb48a65..106970bb 100644 --- a/BIN/GREP.S.txt +++ b/BIN/GREP.S.txt @@ -146,10 +146,7 @@ CS.RUN.CheckArgs lda (pPS),y tax - lsr - bcs .97 - - lda Nod.Table.hFD-2,x + lda hFDs-1,x >SYSCALL GetMemPtr >STYA ZPPtr1 lda (ZPPtr1) diff --git a/BIN/HTTPGET.S.txt b/BIN/HTTPGET.S.txt index 71a685af..f5326a7c 100644 --- a/BIN/HTTPGET.S.txt +++ b/BIN/HTTPGET.S.txt @@ -311,7 +311,7 @@ CS.RUN.GET jsr CS.RUN.ENCODE >PUSHYA >PUSHBI O.CREATE+O.WRONLY+O.TRUNC >PUSHBI 0 TYPE - >PUSHWI 0 AUXTYPE + >PUSHWZ AUXTYPE >SYSCALL FOpen bcs .9 sta hFile diff --git a/BIN/IPCONFIG.S.txt b/BIN/IPCONFIG.S.txt index b512bfb9..8a0a5ffc 100644 --- a/BIN/IPCONFIG.S.txt +++ b/BIN/IPCONFIG.S.txt @@ -229,12 +229,14 @@ CS.RUN.DUMPNIC >PUSHW L.MSG1.DEV lda IPCFG+S.NETCFG.DevID >PUSHA - ldx IPCFG+S.NETCFG.DevID - lda Dev.Table-1,x + >SYSCALL GetMemPtr + + pha + tya clc adc #S.FD.DEV tay - lda Dev.Table,x + pla adc /S.FD.DEV >PUSHYA diff --git a/BIN/LS.S.txt b/BIN/LS.S.txt index b57ba8f2..8ed49da9 100644 --- a/BIN/LS.S.txt +++ b/BIN/LS.S.txt @@ -1,24 +1,24 @@ NEW AUTO 3,1 - .LIST OFF - .OP 65C02 - .OR $2000 - .TF bin/ls + .LIST OFF + .OP 65C02 + .OR $2000 + .TF bin/ls *-------------------------------------- - .INB inc/macros.i - .INB inc/a2osx.i - .INB inc/kernel.i - .INB inc/mli.i - .INB inc/mli.e.i + .INB inc/macros.i + .INB inc/a2osx.i + .INB inc/kernel.i + .INB inc/mli.i + .INB inc/mli.e.i *-------------------------------------- X.ENTER.SUBDIR .EQ 1 X.COPY.TO.DEST .EQ 0 X.DELETE.SOURCE .EQ 0 *-------------------------------------- -MAX.COL .EQ 4 +MAX.COL .EQ 4 *-------------------------------------- - .DUMMY - .OR ZPBIN + .DUMMY + .OR ZPBIN ZS.START ZPPtr1 .BS 2 ZPPtr2 .BS 2 @@ -45,52 +45,51 @@ ZS.END .ED *-------------------------------------- * File Header (16 Bytes) *-------------------------------------- -CS.START cld - jmp (.1,x) - .DA #$61 6502,Level 1 (65c02) - .DA #1 BIN Layout Version 1 - .DA #0 S.PS.F.EVENT - .DA #0 - .DA CS.END-CS.START Code Size (without Constants) - .DA DS.END-DS.START Data SegmentSize - .DA #64 Stack Size - .DA #ZS.END-ZS.START Zero Page Size - .DA 0 +CS.START cld + jmp (.1,x) + .DA #$61 6502,Level 1 (65c02) + .DA #1 BIN Layout Version 1 + .DA #0 S.PS.F.EVENT + .DA #0 + .DA CS.END-CS.START Code Size (without Constants) + .DA DS.END-DS.START Data SegmentSize + .DA #64 Stack Size + .DA #ZS.END-ZS.START Zero Page Size + .DA 0 *-------------------------------------- * Relocation Table *-------------------------------------- -.1 .DA CS.INIT - .DA CS.RUN - .DA CS.DOEVENT - .DA CS.QUIT +.1 .DA CS.INIT + .DA CS.RUN + .DA CS.DOEVENT + .DA CS.QUIT L.MSG.USAGE .DA MSG.USAGE -L.MSG.REG .DA MSG.REG +L.MSG.REG .DA MSG.REG L.MSG.REGEXT .DA MSG.REGEXT -L.MSG.DIR .DA MSG.DIR +L.MSG.DIR .DA MSG.DIR L.MSG.DIREXT .DA MSG.DIREXT -L.MSG.BDEV .DA MSG.BDEV +L.MSG.BDEV .DA MSG.BDEV L.MSG.BDEVEXT .DA MSG.BDEVEXT -L.MSG.ENTER .DA MSG.ENTER +L.MSG.ENTER .DA MSG.ENTER L.PRODOS.FT.TXT .DA PRODOS.FT.TXT -L.FMT.Date .DA FMT.Date -L.FMT.Time .DA FMT.Time +L.FMT.Date .DA FMT.Date +L.FMT.Time .DA FMT.Time L.FMT.string6 .DA FMT.string6 -L.FMT.int16 .DA FMT.int16 +L.FMT.int16 .DA FMT.int16 J.CS.RUN.PRINT .DA CS.RUN.PRINT.REG - .DA CS.RUN.PRINT.DIR - .DA CS.RUN.PRINT.CDEV - .DA CS.RUN.PRINT.BDEV - .DA CS.RUN.PRINT.CDEV - .DA CS.RUN.PRINT.CDEV - .DA CS.RUN.PRINT.CDEV - .DA CS.RUN.PRINT.CDEV - .DA 0 + .DA CS.RUN.PRINT.DIR + .DA CS.RUN.PRINT.CDEV + .DA CS.RUN.PRINT.BDEV + .DA CS.RUN.PRINT.CDEV + .DA CS.RUN.PRINT.CDEV + .DA CS.RUN.PRINT.CDEV + .DA CS.RUN.PRINT.CDEV + .DA 0 *-------------------------------------- -CS.INIT clc - rts +CS.INIT clc + rts *-------------------------------------- -CS.RUN - stz bIsTTY +CS.RUN stz bIsTTY jsr CS.RUN.ISATTY .1 inc ArgCount @@ -705,14 +704,14 @@ CS.RUN.NewLine.8 CS.RUN.ISATTY ldy #S.PS.hStdOut lda (pPS),y tax - lsr - bcc .9 - lda Nod.Table.hFD-2,x + lda hFDs-1,x >SYSCALL GetMemPtr >STYA ZPPtr1 lda (ZPPtr1) beq .9 + inc bIsTTY + .9 rts *-------------------------------------- CS.DOEVENT sec diff --git a/BIN/LSDEV.S.txt b/BIN/LSDEV.S.txt index e38e9322..a1cf7f1e 100644 --- a/BIN/LSDEV.S.txt +++ b/BIN/LSDEV.S.txt @@ -38,14 +38,21 @@ CS.START cld .DA CS.EVENT .DA CS.QUIT L.MSG0 .DA MSG0 -L.MSG1 .DA MSG1 -L.MSG2.ERR .DA MSG2.ERR -L.MSG2 .DA MSG2 -L.MSG2.C .DA MSG2.C -L.MSG2.B .DA MSG2.B -L.MSG3 .DA MSG3 -L.MSG4 .DA MSG4 +L.MSG.DEV .DA MSG.DEV +L.MSG.DEV.ERR .DA MSG.DEV.ERR +L.MSG.DEV.DIB .DA MSG.DEV.DIB +L.MSG.DEV.C .DA MSG.DEV.C +L.MSG.DEV.B .DA MSG.DEV.B +L.MSG.PIPE .DA MSG.PIPE L.NO.PATH .DA NO.PATH +J.FD .DA DumpFD.REG + .DA DumpFD.DIR + .DA DumpFD.CDEV + .DA DumpFD.CDEV + .DA DumpFD.LNK + .DA DumpFD.DSOCK + .DA DumpFD.SSOCK + .DA DumpFD.PIPE L.FD.T .DA FD.T.REG .DA FD.T.DIR .DA FD.T.CDEV @@ -59,73 +66,44 @@ L.FD.T .DA FD.T.REG CS.INIT clc rts *-------------------------------------- -CS.RUN jsr DumpDev - bcs .9 - - jsr DumpNod - bcs .9 - -.8 lda #0 tell TSKMGR that all done ok, but - sec we do not want to stay in memory -.9 rts -*-------------------------------------- -DumpDev >LDYA L.MSG0 +CS.RUN >LDYA L.MSG0 >SYSCALL PutS - ldx #1 - stx Index + ldx #0 -.1 lda Dev.Table-1,x - sta ZPFDPtr - lda Dev.Table,x - sta ZPFDPtr+1 +.1 stx Index + lda hFDs,x beq .7 - - jsr DumpDevFD + + >SYSCALL GetMemPtr + >STYA ZPFDPtr + + jsr DumpFD bcs .9 - ldy #DEV.DIB+S.DIB-1 - ldx #S.DIB-1 - -.2 lda BLANK.DIB,x - sta (pData),y - dey - dex - bpl .2 - - >PUSHB Index - >PUSHEA.G DEV.DIB - >SYSCALL GetDevStatus - bcc .6 - - pha - >PUSHW L.MSG2.ERR - pla - >PUSHA - >PUSHBI 1 - >SYSCALL PrintF - bcs .9 - - bra .7 - -.6 jsr DumpDevDIB - bcs .9 - -.7 inc Index - inc Index - ldx Index - cpx #K.DEV.MAX*2+1 + +.7 inx + cpx #K.hFD.MAX bne .1 -.8 clc + lda #0 + sec .9 rts *-------------------------------------- -DumpDevFD >PUSHW L.MSG1 +DumpFD lda (ZPFDPtr) + tax + jmp (J.FD,x) +*-------------------------------------- +DumpFD.REG +DumpFD.DIR + clc + rts +*-------------------------------------- +DumpFD.CDEV +DumpFD.BDEV >PUSHW L.MSG.DEV - >PUSHB Index - - >PUSHB (ZPFDPtr) S.FD.T + jsr DumpFD.T lda ZPFDPtr clc @@ -137,16 +115,39 @@ DumpDevFD >PUSHW L.MSG1 ldy #S.FD.DEV.DRVPTR+1 >PUSHB (ZPFDPtr),y - dey >PUSHB (ZPFDPtr),y - >PUSHBI 6 + >PUSHBI 7 >SYSCALL PrintF - rts + bcs .9 + + ldy #DEV.DIB+S.DIB-1 + ldx #S.DIB-1 + +.1 lda BLANK.DIB,x + sta (pData),y + dey + dex + bpl .1 + + ldx Index + >PUSHB hFDs,x + >PUSHEA.G DEV.DIB + >SYSCALL GetDevStatus + bcc DumpFD.DevDIB + + pha + >PUSHW L.MSG.DEV.ERR + pla + >PUSHA + >PUSHBI 1 + >SYSCALL PrintF + +.9 rts *-------------------------------------- -DumpDevDIB >PUSHW L.MSG2 +DumpFD.DevDIB >PUSHW L.MSG.DEV.DIB >LDA.G DEV.DIB+S.DIB.S @@ -181,7 +182,7 @@ DumpDevDIB >PUSHW L.MSG2 >LDA.G DEV.DIB+S.DIB.S bpl .4 char device... - >PUSHW L.MSG2.B + >PUSHW L.MSG.DEV.B >PUSHBI 0 >PUSHB.G DEV.DIB+S.DIB.SIZE+2 @@ -190,59 +191,46 @@ DumpDevDIB >PUSHW L.MSG2 >PUSHBI 4 bra .8 -.4 >PUSHW L.MSG2.C +.4 >PUSHW L.MSG.DEV.C >PUSHBI 0 .8 >SYSCALL PrintF .9 rts *-------------------------------------- -DumpNod >LDYA L.MSG3 - >SYSCALL PutS +DumpFD.LNK +DumpFD.DSOCK +DumpFD.SSOCK clc + rts +*-------------------------------------- +DumpFD.PIPE >PUSHW L.MSG.PIPE - ldx #2 + jsr DumpFD.T -.1 stx Index + jsr DumpFD.Name + + >PUSHBI 5 + >SYSCALL PrintF + clc + rts +*-------------------------------------- +DumpFD.T ldx Index + >PUSHB hFDs,x - lda Nod.Table.hFD-2,x - beq .7 - - >PUSHW L.MSG4 - - txa - >PUSHA - - lda Nod.Table.hFD-2,x - >PUSHA - - >SYSCALL GetMemPtr - >STYA ZPFDPtr - lda (ZPFDPtr) + lda (ZPFDPtr) S.FD.T tax >PUSHW L.FD.T,x + rts +*-------------------------------------- +DumpFD.Name ldx Index + lda hFDs.hName,x + beq .1 - ldx Index - lda Nod.Table.hName-2,x - bne .2 - - >LDYA L.NO.PATH - bra .3 + >SYSCALL GetMemPtr + >PUSHYA + rts -.2 >SYSCALL GetMemPtr - -.3 >PUSHYA - >PUSHBI 6 - - >SYSCALL PrintF - - ldx Index - -.7 inx - inx - cpx #K.NOD.MAX+2 - bne .1 - - clc -.9 rts +.1 >PUSHYA L.NO.PATH + rts *-------------------------------------- CS.EVENT sec rts @@ -251,16 +239,16 @@ CS.QUIT clc rts *-------------------------------------- CS.END -MSG0 .AZ "hDev Tp Name Addr. Status Typ/Sub IDString Version Size (BLK)" -MSG1 .AZ "%03d %h %12s $%H " -MSG2.ERR .AZ "Device Error : $%h\r\n" -MSG2 .AZ "%s $%h/$%h %16S %03d.%03d " -MSG2.B .AZ "%10u\r\n" -MSG2.C .AZ "n/a\r\n" -MSG.SFLAGS .AS "bwrlneio" +MSG0 .AZ "hFD Type Name Addr Status Typ/Sub IDString Version Size (BLK)" +MSG.DEV .AZ "%3d %5s %12s %H " +MSG.DEV.ERR .AZ "Device Error : $%h\r\n" +MSG.DEV.DIB .AZ "%s $%h/$%h %16S %03d.%03d " +MSG.DEV.B .AZ "%10u\r\n" +MSG.DEV.C .AZ "n/a\r\n" + +MSG.PIPE .AZ "%3d %5s %s\r\n" *-------------------------------------- -MSG3 .AZ "hNod hFD Type Filepath" -MSG4 .AZ "%03d $%h %5s %s\r\n" +MSG.SFLAGS .AS "bwrlneio" NO.PATH .AZ "(no path)" *-------------------------------------- FD.T.REG .AZ "REG" diff --git a/BIN/LSOF.S.txt b/BIN/LSOF.S.txt index e51b5eb6..d19d0b94 100644 --- a/BIN/LSOF.S.txt +++ b/BIN/LSOF.S.txt @@ -38,6 +38,7 @@ CS.START cld .DA CS.QUIT L.MSG0 .DA MSG0 L.MSG1 .DA MSG1 +L.MSG.NA .DA MSG.NA L.FD.T .DA FD.T.REG .DA FD.T.DIR .DA FD.T.CDEV @@ -54,40 +55,50 @@ CS.INIT clc CS.RUN >LDYA L.MSG0 >SYSCALL PutS - ldx #2 + ldx #1 .1 stx FILE.ID - lda Nod.Table.hFD-2,x + lda hFDs-1,x beq .7 >PUSHW L.MSG1 txa >PUSHA - lda Nod.Table.hFD-2,x + + lda hFDs-1,x >PUSHA >SYSCALL GetMemPtr >STYA ZPFDPtr - + + ldx FILE.ID + lda hFDs.oCnt-1,x + >PUSHA + lda (ZPFDPtr) tax >PUSHW L.FD.T,x ldx FILE.ID - lda Nod.Table.hName-2,x - >SYSCALL GetMemPtr - >PUSHYA + lda hFDs.hName-1,x + bne .5 + + >LDYA L.MSG.NA + bra .6 + +.5 >SYSCALL GetMemPtr - >PUSHBI 6 +.6 >PUSHYA + + >PUSHBI 7 >SYSCALL PrintF .7 ldx FILE.ID inx - inx - cpx #K.NOD.MAX*2+2 + cpx #K.hFD.MAX+1 bne .1 lda #0 @@ -101,8 +112,9 @@ CS.QUIT clc rts *-------------------------------------- CS.END -MSG0 .AZ "hFILE hFD Type Filepath" -MSG1 .AZ "%3d %3d %5s %s\r\n" +MSG0 .AZ "hFILE hFD Cnt Type Filepath" +MSG1 .AZ "%3d %3d %3d %5s %s\r\n" +MSG.NA .AZ "n/a" FD.T.REG .AZ "REG" FD.T.DIR .AZ "DIR" FD.T.CDEV .AZ "CDEV" diff --git a/BIN/MORE.S.txt b/BIN/MORE.S.txt index 8ee20271..25917474 100644 --- a/BIN/MORE.S.txt +++ b/BIN/MORE.S.txt @@ -116,13 +116,10 @@ CS.RUN lda (pPS),y tax - lsr - bcs .71 - - lda Nod.Table.hFD-2,x + lda hFDs-1,x >SYSCALL GetMemPtr >STYA ZPPtr1 - + lda (ZPPtr1) cmp #S.FD.T.PIPE bne .71 diff --git a/BIN/NL.S.txt b/BIN/NL.S.txt index bcaf7116..ce33e31b 100644 --- a/BIN/NL.S.txt +++ b/BIN/NL.S.txt @@ -159,10 +159,7 @@ CS.RUN.CheckArgs jsr CS.RUN.NextArg lda (pPS),y tax - lsr - bcs .97 - - lda Nod.Table.hFD-2,x + lda hFDs-1,x >SYSCALL GetMemPtr >STYA ZPPtr1 lda (ZPPtr1) @@ -216,9 +213,7 @@ CS.RUN.OPEN >PUSHYA CS.RUN.ISATTY ldy #S.PS.hStdOut lda (pPS),y tax - lsr - bcc .9 - lda Nod.Table.hFD-2,x + lda hFDs-1,x >SYSCALL GetMemPtr >STYA ZPPtr1 lda (ZPPtr1) diff --git a/BIN/NSCUTIL.S.txt b/BIN/NSCUTIL.S.txt index 4744fb65..beca371b 100644 --- a/BIN/NSCUTIL.S.txt +++ b/BIN/NSCUTIL.S.txt @@ -263,8 +263,8 @@ NSC.Write php rts *-------------------------------------- NSC.Select -* sta $C100 - lda $C00B Workaround for Ultrawarp bug + sta $C100 +* lda $C00B Workaround for Ultrawarp bug lda $C104 Reset DS1216E comparison register with READ A2=1 diff --git a/BIN/NTPDATE.S.txt b/BIN/NTPDATE.S.txt index 426ff73d..95ec7a27 100644 --- a/BIN/NTPDATE.S.txt +++ b/BIN/NTPDATE.S.txt @@ -202,7 +202,7 @@ CheckArgs.A lda iArg bcs .9 >SYSCALL AToL - >PUSHWI 0 + >PUSHWZ >PUSHWI 3600 >FPU uMUL >PULLL Adjust diff --git a/BIN/OD.S.txt b/BIN/OD.S.txt index 71b325a4..7ff9a436 100644 --- a/BIN/OD.S.txt +++ b/BIN/OD.S.txt @@ -160,10 +160,7 @@ CS.RUN.CheckArgs jsr CS.RUN.NextArg lda (pPS),y tax - lsr - bcs .97 - - lda Nod.Table.hFD-2,x + lda hFDs-1,x >SYSCALL GetMemPtr >STYA ZPPtr1 lda (ZPPtr1) @@ -217,9 +214,7 @@ CS.RUN.OPEN >PUSHYA CS.RUN.ISATTY ldy #S.PS.hStdOut lda (pPS),y tax - lsr - bcc .9 - lda Nod.Table.hFD-2,x + lda hFDs-1,x >SYSCALL GetMemPtr >STYA ZPPtr1 lda (ZPPtr1) diff --git a/BIN/PAK.S.txt b/BIN/PAK.S.txt index 795b2ca7..19547978 100644 --- a/BIN/PAK.S.txt +++ b/BIN/PAK.S.txt @@ -276,7 +276,7 @@ CS.RUN.FILE jsr CS.RUN.BuildFilePath >PUSHW ZPFullPath >LDA.G hArcFile tay - lda Nod.Table.hName-2,y + lda hFDs.hName-1,y >SYSCALL GetMemPtr >PUSHYA >SYSCALL StrCmp diff --git a/BIN/SED.S.txt b/BIN/SED.S.txt index a7d6a602..8ebb9a90 100644 --- a/BIN/SED.S.txt +++ b/BIN/SED.S.txt @@ -147,10 +147,7 @@ CS.RUN.CheckArgs lda (pPS),y tax - lsr - bcs .97 - - lda Nod.Table.hFD-2,x + lda hFDs-1,x >SYSCALL GetMemPtr >STYA ZPPtr1 lda (ZPPtr1) diff --git a/BIN/SH.S.CL.txt b/BIN/SH.S.CL.txt index 2f560d29..d8a89d23 100644 --- a/BIN/SH.S.CL.txt +++ b/BIN/SH.S.CL.txt @@ -13,7 +13,7 @@ CL.Init >LDYAI 256 .9 rts *-------------------------------------- CL.PrintPrompt >PUSHW L.PS1 - >PUSHWI 0 + >PUSHWZ >SYSCALL Expand bcs .9 diff --git a/BIN/SH.S.CMD.txt b/BIN/SH.S.CMD.txt index ff3056df..361a0c5b 100644 --- a/BIN/SH.S.CMD.txt +++ b/BIN/SH.S.CMD.txt @@ -85,7 +85,7 @@ CMD.CD.0 >LDYA ZPArgVBufPtr CMD.CD.HOME >LDYA L.HOME CMD.CD.YA >PUSHYA - >PUSHWI 0 Allocate + >PUSHWZ Allocate >SYSCALL RealPath bcs CMD.POPD.RTS >STYA ZPPtr1 @@ -449,7 +449,7 @@ CMD.REN lda (ZPArgVBufPtr) beq CMD.REN.CSYN >PUSHW ZPArgVBufPrev old path - >PUSHWI 0 Allocate + >PUSHWZ Allocate >SYSCALL RealPath bcs CMD.REN.CSYN diff --git a/BIN/SH.S.CORE.txt b/BIN/SH.S.CORE.txt index 7a9c4820..4e275820 100644 --- a/BIN/SH.S.CORE.txt +++ b/BIN/SH.S.CORE.txt @@ -469,7 +469,7 @@ CORE.ArgV.Add lda #C.SPACE >LDYA ZPArgVBufPtr >STYA ZPArgVBufPrev >PUSHYA - >PUSHWI 0 + >PUSHWZ >SYSCALL Expand bcs .9 diff --git a/BIN/SH.S.IO.txt b/BIN/SH.S.IO.txt index be7b993f..3a95c024 100644 --- a/BIN/SH.S.IO.txt +++ b/BIN/SH.S.IO.txt @@ -51,16 +51,7 @@ IO.Reset.In sec .8 clc rts *-------------------------------------- -IO.Pipe.Out ldy #IO.DEVFIFO+4 - ldx #4 - -.1 lda DEV,x - sta (pData),y - dey - dex - bpl .1 - - >PUSHEA.G IO.DEVFIFO+5 leave room for /dev/ +IO.Pipe.Out >PUSHEA.G IO.DEVFIFO >PUSHWZ mode >SYSCALL MKFIFO bcs .9 diff --git a/BIN/SH.S.txt b/BIN/SH.S.txt index 7219f490..0121f949 100644 --- a/BIN/SH.S.txt +++ b/BIN/SH.S.txt @@ -586,8 +586,6 @@ EscChars .AS 'DBAC' EscChars.Cnt .EQ *-EscChars EscChars.Remap .DA #C.BS,#C.VT,#C.LF,#C.FS *-------------------------------------- -DEV .AS "/dev/" -*-------------------------------------- CD.. .AZ ".." *-------------------------------------- IN .AZ "IN" diff --git a/BIN/SHUTDOWN.S.txt b/BIN/SHUTDOWN.S.txt index d6f4f3f3..bebc95eb 100644 --- a/BIN/SHUTDOWN.S.txt +++ b/BIN/SHUTDOWN.S.txt @@ -258,15 +258,16 @@ CS.RUN.KILL >PUSHW L.MSG.PS >SYSCALL Kill rts *-------------------------------------- -CS.RUN.DEV ldx #1 +CS.RUN.DEV ldx #K.hFD.MAX + +.1 dex stx Index - -.1 lda Dev.Table-1,x - sta ZPPtr1 - lda Dev.Table,x - sta ZPPtr1+1 + lda hFDs,x beq .7 + >SYSCALL GetMemPtr + >STYA ZPPtr1 + >PUSHW L.MSG.DEV >PUSHB Index @@ -280,12 +281,14 @@ CS.RUN.DEV ldx #1 >PUSHBI 3 >SYSCALL PrintF - -.7 inc Index - inc Index - + ldx Index - cpx #K.DEV.MAX*2+1 + >PUSHB hFDs,x + >PUSHBI IOCTL.CLOSE + >PUSHWZ + >SYSCALL IOCTL + +.7 ldx Index bne .1 rts diff --git a/BIN/STAT.S.txt b/BIN/STAT.S.txt index 795676f1..c9ba8479 100644 --- a/BIN/STAT.S.txt +++ b/BIN/STAT.S.txt @@ -198,7 +198,7 @@ CS.RUN.PRINT.RTS CS.RUN.DUMP lda ArgFile >SYSCALL ArgV >PUSHYA - >PUSHWI 0 Allocate + >PUSHWZ Allocate >SYSCALL RealPath bcs CS.RUN.PRINT.RTS diff --git a/BIN/WC.S.txt b/BIN/WC.S.txt index 98f7a10b..4e3d7a22 100644 --- a/BIN/WC.S.txt +++ b/BIN/WC.S.txt @@ -119,7 +119,7 @@ CS.RUN inc ArgIndex ldy #S.PS.hStdIn lda (pPS),y tax - lda Nod.Table.hFD-2,x + lda hFDs-1,x >SYSCALL GetMemPtr >STYA ZPPtr1 lda (ZPPtr1) diff --git a/BIN/XARGS.S.txt b/BIN/XARGS.S.txt index 1287fcac..7d77453a 100644 --- a/BIN/XARGS.S.txt +++ b/BIN/XARGS.S.txt @@ -135,10 +135,7 @@ CS.RUN.CheckArgs lda (pPS),y tax - lsr - bcs .97 - - lda Nod.Table.hFD-2,x + lda hFDs-1,x >SYSCALL GetMemPtr >STYA ZPPtr1 lda (ZPPtr1) diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index df1024cb..ead4c91d 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -1,26 +1,6 @@ NEW AUTO 3,1 *-------------------------------------- -K.VER .EQ $5E00 94.0 -K.ENV.SIZE .EQ 256 -*-------------------------------------- -K.MEM.ALIGN .EQ 16 -K.MEM.nALIGNm1 .EQ $F0 -*K.MEM.ALIGN .EQ 64 -*K.MEM.nALIGNm1 .EQ $C0 -*-------------------------------------- -K.DEV.MAX .EQ 32 -K.NOD.MAX .EQ 32 -K.OF.MAX .EQ 32 -K.PS.MAX .EQ 32 - -K.USR.MAX .EQ 16 -K.FLT.MAX .EQ 4 - -K.EVT.MAX .EQ 4 -K.TTY.MAX .EQ 8 -K.IRQDEV.MAX .EQ 4 -*-------------------------------------- ZPDRV .EQ $20 32 bytes ZPLIB .EQ $40 32 bytes *-------------------------------------- diff --git a/INC/KERNEL.I.txt b/INC/KERNEL.I.txt index 736939ee..3d7088d2 100644 --- a/INC/KERNEL.I.txt +++ b/INC/KERNEL.I.txt @@ -1,27 +1,44 @@ NEW AUTO 3,1 *-------------------------------------- +K.VER .EQ $5E00 94.0 +K.ENV.SIZE .EQ 256 +*-------------------------------------- +K.MEM.ALIGN .EQ 16 +K.MEM.nALIGNm1 .EQ $F0 +*K.MEM.ALIGN .EQ 64 +*K.MEM.nALIGNm1 .EQ $C0 +*-------------------------------------- +K.hFD.MAX .EQ 32 +K.FLT.MAX .EQ 4 +K.USR.MAX .EQ 8 + +K.PS.MAX .EQ 32 + +K.EVT.MAX .EQ 4 +K.TTY.MAX .EQ 8 +K.IRQDEV.MAX .EQ 4 +*-------------------------------------- Mem.Table .EQ $0800 *-------------------------------------- -Dev.Table .EQ $1300 K.DEV.MAX*2 +hFDs .EQ $1300 K.hFD.MAX +hFDs.hName .EQ $1320 K.hFD.MAX +hFDs.oCnt .EQ $1340 K.hFD.MAX *-------------------------------------- -Nod.Table.hName .EQ $1340 K.NOD.MAX*2 -Nod.Table.hFD .EQ $1341 +Flt.Table.pftLO .EQ $1360 K.FLT.MAX +Flt.Table.pftHI .EQ $1364 K.FLT.MAX +Flt.Table.cbLO .EQ $1368 K.FLT.MAX +Flt.Table.cbHI .EQ $136C K.FLT.MAX +*-------------------------------------- +S.Table.hSID .EQ $1370 K.USR.MAX +S.Table.hFile .EQ $1278 K.USR.MAX *-------------------------------------- PS.Table.PID .EQ $1380 K.PS.MAX PS.Table.hPS .EQ $13A0 K.PS.MAX PS.Table.Hits .EQ $13C0 K.PS.MAX PS.Table.Stats .EQ $13E0 K.PS.MAX *-------------------------------------- -S.Table.hSID .EQ $1400 K.USR.MAX -S.Table.hFile .EQ $1410 K.USR.MAX -*-------------------------------------- -Flt.Table.pftLO .EQ $1420 K.FLT.MAX -Flt.Table.pftHI .EQ $1424 K.FLT.MAX -Flt.Table.cbLO .EQ $1428 K.FLT.MAX -Flt.Table.cbHI .EQ $142C K.FLT.MAX -*-------------------------------------- -A2osX.EndTables .EQ $1430 +A2osX.EndTables .EQ $1400 *-------------------------------------- MAN SAVE inc/kernel.i diff --git a/LIB/LIBCIFS.S.IO.txt b/LIB/LIBCIFS.S.IO.txt index 211cb827..05c4f0a3 100644 --- a/LIB/LIBCIFS.S.IO.txt +++ b/LIB/LIBCIFS.S.IO.txt @@ -147,7 +147,7 @@ CIFS.OpenDir >STYA pPath resolved path sta (ZPPtr2),y >PUSHW pPath - >PUSHWI 0 + >PUSHWZ >PUSHB hFD >SYSCALL2 mknod bcc .9 @@ -480,18 +480,18 @@ CIFS2.ReadDir.FillBuf CIFS.CloseReg CIFS.CloseDir tax - lda Nod.Table.hName-2,x + lda hFDs.hName-1,x beq .1 phx - stz Nod.Table.hName-2,x + stz hFDs.hName-1,x >SYSCALL2 FreeMem plx -.1 lda Nod.Table.hFD-2,x - stz Nod.Table.hFD-2,x +.1 lda hFDs-1,x + stz hFDs-1,x >SYSCALL2 FreeMem stz CIFS.Status diff --git a/LIB/LIBCIFS.S.txt b/LIB/LIBCIFS.S.txt index 0538dbf1..ae426b88 100644 --- a/LIB/LIBCIFS.S.txt +++ b/LIB/LIBCIFS.S.txt @@ -524,12 +524,12 @@ CIFS.CallBack bit CIFS.Status GetPFD tax phx - lda Nod.Table.hName-2,x + lda hFDs.hName-1,x >SYSCALL2 GetMemPtr >STYA pPath plx - lda Nod.Table.hFD-2,x + lda hFDs-1,x >SYSCALL2 GetMemPtr >STYA pFD rts diff --git a/ProDOS.FX/ProDOS.S.LDR.txt b/ProDOS.FX/ProDOS.S.LDR.txt index b9340bb1..47dcc8be 100644 --- a/ProDOS.FX/ProDOS.S.LDR.txt +++ b/ProDOS.FX/ProDOS.S.LDR.txt @@ -378,8 +378,8 @@ LDR.ClkDevScan php dex bne .1 *-------------------------------------- -* sta $C300 - lda $C00B Workaround for Ultrawarp bug + sta $C100 +* lda $C00B Workaround for Ultrawarp bug lda $C104 Reset DS1216E comparison register with READ A2=1 @@ -1085,6 +1085,7 @@ LDR.PrintX bit RROMBNK2 pla sta INVFLG + sta CLRPAGE2 for screen holes proper access rts *-------------------------------------- PALETTE.MAIN .HS 00.02.04.06.08.0A.0C.0E diff --git a/ProDOS.FX/ProDOS.S.NCLK.txt b/ProDOS.FX/ProDOS.S.NCLK.txt index 6768dbb2..97643085 100644 --- a/ProDOS.FX/ProDOS.S.NCLK.txt +++ b/ProDOS.FX/ProDOS.S.NCLK.txt @@ -15,8 +15,8 @@ NCLK.START php sta SETCXROM -* sta $C300 - lda $C00B Workaround for Ultrawarp bug + sta $C100 +* lda $C00B Workaround for Ultrawarp bug lda $C104 Reset DS1216E comparison register with READ A2=1 diff --git a/SBIN/BBSD.S.txt b/SBIN/BBSD.S.txt index f86668b6..6dfcc5fe 100644 --- a/SBIN/BBSD.S.txt +++ b/SBIN/BBSD.S.txt @@ -363,7 +363,7 @@ CS.RUN.CONF.COMLISTEN rts CS.RUN.CONF.MSGFILE >PUSHYA - >PUSHWI 0 Allocate + >PUSHWZ Allocate >SYSCALL RealPath bcs .9 @@ -374,7 +374,7 @@ CS.RUN.CONF.MSGFILE CS.RUN.CONF.STARTUPFILE >PUSHYA - >PUSHWI 0 Allocate + >PUSHWZ Allocate >SYSCALL RealPath bcs .9 diff --git a/SBIN/CIFSD.S.txt b/SBIN/CIFSD.S.txt index e5208582..0e8098f0 100644 --- a/SBIN/CIFSD.S.txt +++ b/SBIN/CIFSD.S.txt @@ -104,8 +104,8 @@ CS.RUN lda hSocket >PUSHB hSocket >PUSHB hSMBContext - >PUSHWI 0 - >PUSHWI 0 + >PUSHWZ + >PUSHWZ >PUSHBI 0 >LIBCALL hLIBCIFS,LIBCIFS.SessionSetup bcs CS.INIT.RTS diff --git a/SBIN/HTTPD.S.txt b/SBIN/HTTPD.S.txt index 7ada3ce6..b584cda6 100644 --- a/SBIN/HTTPD.S.txt +++ b/SBIN/HTTPD.S.txt @@ -307,7 +307,7 @@ CS.RUN.CONF.LISTEN .9 rts CS.RUN.CONF.DOCUMENTROOT >PUSHYA - >PUSHWI 0 Allocate + >PUSHWZ Allocate >SYSCALL RealPath bcs .9 diff --git a/SBIN/INITD.S.txt b/SBIN/INITD.S.txt index 1581b385..7d43cbe7 100644 --- a/SBIN/INITD.S.txt +++ b/SBIN/INITD.S.txt @@ -5,7 +5,7 @@ NEW .OR $2000 .TF sbin/initd *-------------------------------------- -INITDDBG .EQ 1 +INITDDBG .EQ 0 *-------------------------------------- .INB inc/macros.i .INB inc/a2osx.i @@ -64,6 +64,8 @@ CS.RUN ldy #S.PS.PID cmp #1 bne .9 +* bra .55 + ldy #S.PS.hStdIn lda (pPS),y >SYSCALL FEOF @@ -78,7 +80,7 @@ CS.RUN ldy #S.PS.PID cmp #18 CTRL-R for Root mode bne .1 - >LDYA L.MSG.CTRLR +.55 >LDYA L.MSG.CTRLR >SYSCALL PutS ldx #0 diff --git a/SBIN/LOGIN.S.txt b/SBIN/LOGIN.S.txt index e9204096..1126211a 100644 --- a/SBIN/LOGIN.S.txt +++ b/SBIN/LOGIN.S.txt @@ -292,7 +292,7 @@ CS.RUN.DumpFile >PUSHYA bcs .7 >PUSHW ZPBufPtr - >PUSHWI 0 + >PUSHWZ >SYSCALL Expand bcc .2 diff --git a/SHARED/X.FILEENUM.S.txt b/SHARED/X.FILEENUM.S.txt index 2dc7089b..3be4cbb6 100644 --- a/SHARED/X.FILEENUM.S.txt +++ b/SHARED/X.FILEENUM.S.txt @@ -136,7 +136,7 @@ FilterMatch.NextPtr2 rts *-------------------------------------- InitSrcDirYA >PUSHYA - >PUSHWI 0 Allocate + >PUSHWZ Allocate >SYSCALL RealPath bcs FilterMatch.RTS @@ -288,7 +288,7 @@ ResetSrcDir jsr GethDIR *-------------------------------------- .DO X.COPY.TO.DEST=1 InitDstDirYA >PUSHYA - >PUSHWI 0 Allocate + >PUSHWZ Allocate >SYSCALL RealPath bcs InitSrcDirYA.RTS diff --git a/SYS/KERNEL.S.ARG.txt b/SYS/KERNEL.S.ARG.txt index 7c3319dc..ed7c9c5b 100644 --- a/SYS/KERNEL.S.ARG.txt +++ b/SYS/KERNEL.S.ARG.txt @@ -89,7 +89,7 @@ K.ArgV tax save requested arg# * A = Arg count *\-------------------------------------- K.Arg2ArgV >PULLW ZPPtr2 Get target buffer - >PUSHWI 0 allocate a new buffer + >PUSHWZ allocate a new buffer jsr K.Expand args on stack bcs .9 diff --git a/SYS/KERNEL.S.CORE.txt b/SYS/KERNEL.S.CORE.txt index 6d596390..7561044c 100644 --- a/SYS/KERNEL.S.CORE.txt +++ b/SYS/KERNEL.S.CORE.txt @@ -115,14 +115,16 @@ CORE.Events jsr CORE.GetEvents bcs .8 sta KBDSTROBE + and #$0F - tax - lda A2osX.SCRNDEVS,x Get DevID - beq .8 No device claimed this screen cmp A2osX.ASCREEN Same as active screen...nothing to do beq .8 + tax + lda A2osX.SCRNDEVS,x Get DevID + beq .8 No device claimed this screen + >PUSHA >PUSHBI IOCTL.CONTROL request >PUSHWZ Param @@ -216,8 +218,8 @@ CORE.GetEvents lda #Evt.Table lda IRQ.Mode eor #$C0 sta IRQ.Mode - ldx A2osX.ASCREEN - cpx #3 devID 3 is /DEV/CONSOLE + + ldx A2osX.ASCREEN /DEV/CONSOLE bne .22 sta SYS.BASL0+38 diff --git a/SYS/KERNEL.S.DEF.txt b/SYS/KERNEL.S.DEF.txt index 9a1a09bc..6ab1980e 100644 --- a/SYS/KERNEL.S.DEF.txt +++ b/SYS/KERNEL.S.DEF.txt @@ -116,7 +116,7 @@ IO.Open.FLAGS .BS 1 IO.Open.TYPE .BS 1 IO.Open.AUXTYPE .BS 2 IO.hFD .BS 1 -IO.hDevNod .BS 1 +IO.hFILE .BS 1 .ED *-------------------------------------- SaveSM .EQ $100 Aux @@ -159,9 +159,9 @@ Mem.LastSlot .EQ $0806 Z80CODE .EQ $1000 (00000h) Up To $10FF Z80STACK .EQ $10FF (000FFh) Down to $1000 *-------------------------------------- -K.Buf256 .EQ $1100 +K.Buf256 .EQ $1100 512 bytes.... *-------------------------------------- -K.IOBuf .EQ $1200 +K.IOBuf .EQ $1200 ....for ReadDir *-------------------------------------- Mem.MHiMem .EQ A2osX.SYSCALL Mem.XLoMem .EQ $1000 diff --git a/SYS/KERNEL.S.DEV.txt b/SYS/KERNEL.S.DEV.txt index 2594ba4b..12c3b51e 100644 --- a/SYS/KERNEL.S.DEV.txt +++ b/SYS/KERNEL.S.DEV.txt @@ -6,84 +6,63 @@ NEW * ## RETURN VALUE * CC = OK, CS = ERROR * Y,A = FD -* X = hDev +* X = hFD *\-------------------------------------- K.GetDevByName >STYA ZPPtr1 requested dev name ldx #1 -.1 lda Dev.Table,x - beq .4 +.1 lda hFDs-1,x + beq .7 - sta pFD+1 - pha + sta IO.hFD + jsr K.GetMemPtr + >STYA pFD - lda Dev.Table-1,x - sta pFD - - clc - adc #S.FD.DEV - tay - - pla - - adc /S.FD.DEV - - jsr .8 - bcs .3 + lda hFDs.hName-1,x + bne .2 jsr DEV.GetPDrv - >LDYA pFD X = hDevNod + lda pFD + clc + adc #S.FD.DEV + sta ZPPtr2 -* clc - rts + lda pFD+1 + adc /S.FD.DEV + sta ZPPtr2+1 + bra .3 + +.2 jsr K.GetMemPtr + >STYA ZPPtr2 -.3 inx no....loop - inx - cpx #K.DEV.MAX*2+1 - bne .1 - -.4 ldx #2 - -.5 lda Nod.Table.hFD-2,x + lda (ZPPtr2) + cmp #'/' REG/DIR beq .7 - lda Nod.Table.hName-2,x - beq .7 - jsr K.GetMemPtr +.3 ldy #$ff - jsr .8 - bcs .7 - - lda Nod.Table.hFD-2,x - jmp K.GetMemPtr Y,A = pPD, X = hDevNod - -.7 inx - inx - cpx #K.NOD.MAX*2+2 - bne .5 - - lda #MLI.E.NODEV -* sec - rts -*-------------------------------------- -.8 >STYA ZPPtr2 - - ldy #$ff - -.80 iny +.4 iny lda (ZPPtr1),y cmp (ZPPtr2),y - bne .89 + bne .7 eor #0 - bne .80 + bne .4 + stx IO.hFILE + >LDYA pFD + ldx IO.hFD clc rts -.89 sec +.7 inx no....loop + cpx #K.hFD.MAX+1 + bne .1 + + lda #MLI.E.NODEV +* sec K.GetDev.9 rts */-------------------------------------- @@ -116,20 +95,21 @@ DEV.GetStatus sta K.S.IOCTL+S.IOCTL.S >LDYAI K.S.IOCTL ldx #IOCTL.STATUS *-------------------------------------- -DEV.pDrvJmp jmp (pDrv) + jmp (pDrv) *-------------------------------------- DEV.OPEN ldx #IOCTL.OPEN - lda IO.hDevNod + lda IO.hFD jsr DEV.pDrvJmp bcs .9 - lda IO.hDevNod + lda IO.hFD .9 rts *-------------------------------------- DEV.CLOSE ldx #IOCTL.CLOSE - lda IO.hDevNod - jmp (pDrv) + lda IO.hFD + +DEV.pDrvJmp jmp (pDrv) *-------------------------------------- DEV.READ ldx #IOCTL.READ .HS 2C BIT ABS @@ -162,19 +142,10 @@ DEV.WRITE ldx #IOCTL.WRITE *\-------------------------------------- K.MKDev jsr SHARED.PullP2P1 ptr2=name,tr1=fd - ldx #1 + jsr DEV.GetFreeFD + bcs .9 -.10 lda Dev.Table,x - beq .11 - - inx - inx - cpx #K.DEV.MAX*2+1 - bne .10 - - bra .9 - -.11 stx IO.hDevNod + stx IO.hFILE ldy #$ff ldx #S.FD.DEV @@ -188,16 +159,19 @@ K.MKDev jsr SHARED.PullP2P1 ptr2=name,tr1=fd tay lda #0 - jsr MEM.GetKBuf - bcs .99 + jsr K.GetMem + bcs .9 >STYA pFD >STYA .4+1 - ldx IO.hDevNod - sta Dev.Table,x - tya - sta Dev.Table-1,x + stx IO.hFD + + txa + + ldx IO.hFILE + sta hFDs-1,x + stz hFDs.hName-1,x ldy #S.FD.DEV-1 @@ -222,7 +196,7 @@ K.MKDev jsr SHARED.PullP2P1 ptr2=name,tr1=fd lda #S.IOCTL.S.STATUS jsr DEV.GetStatus - bcs .99 + bcs .9 lda K.IOBuf Get Status byte bit #S.DIB.S.IRQ @@ -238,9 +212,9 @@ K.MKDev jsr SHARED.PullP2P1 ptr2=name,tr1=fd cpx #K.IRQDEV.MAX*2+1 bne .5 -.9 lda #E.OOH * sec -.99 rts + +.9 rts .7 ldy #IOCTL.IRQ+4 lda (pDRV),y @@ -249,13 +223,13 @@ K.MKDev jsr SHARED.PullP2P1 ptr2=name,tr1=fd lda (pDRV),y sta IRQ.Vectors+1,x -.8 lda IO.hDevNod +.8 lda IO.hFD * clc rts */-------------------------------------- * # IOCTL * ## C -* `int ioctl(short int DevID, short int request, void *param);` +* `int ioctl(short int hFD, short int request, void *param);` * ## ASM * `>PUSHB hDEV` * `>PUSHB request` @@ -264,11 +238,10 @@ K.MKDev jsr SHARED.PullP2P1 ptr2=name,tr1=fd * ## RETURN VALUE * Y,A = ... *\-------------------------------------- -K.IOCTL ldy #3 hDev +K.IOCTL ldy #3 hFD lda (pStack),y jsr DEV.GetPFD - bcs .9 ldy #2 request lda (pStack),y @@ -279,35 +252,12 @@ K.IOCTL ldy #3 hDev inc pStack jmp (pDrv) - -.9 >RET 4 *-------------------------------------- -DEV.GetPFD sta IO.hDevNod - - tax - - lsr - bcs .1 - - lda Nod.Table.hFD-2,x empty slot ? - beq DEV.GetPFD.9 - - sta IO.hFD +DEV.GetPFD sta IO.hFD jsr K.GetMemPtr >STYA pFD -* clc - rts - -.1 stz IO.hFD - - ldy Dev.Table-1,x - lda Dev.Table,x - beq DEV.GetPFD.9 - - >STYA pFD - DEV.GetPDrv ldy #S.FD.DEV.DRVPTR lda (pFD),y sta pDRV @@ -315,20 +265,17 @@ DEV.GetPDrv ldy #S.FD.DEV.DRVPTR lda (pFD),y sta pDRV+1 - clc - rts - -DEV.GetPFD.9 lda #E.INVH - sec rts *-------------------------------------- -* X = 0 > REG -* X = 1 > DIR -* X = 2 > PIPE -*-------------------------------------- -DEV.MkFD stx .8+1 +DEV.MkFD sta .8+1 S.FD.T - ldy DEV.MkFD.Y,x + jsr DEV.GetFreeFD + bcs .9 + + stx IO.hFILE + + ldy #16 MAX=16 for S.FD.DIR + lda #0 ldx #S.MEM.F.INIT0+S.MEM.F.FD jsr MEM.GetMem.YAX @@ -336,16 +283,43 @@ DEV.MkFD stx .8+1 >STYA pFD stx IO.hFD + + txa + +.7 ldx IO.hFILE -.8 ldx #$ff SELF MODIFIED - lda DEV.MkFD.T,x + sta hFDs-1,x + stz hFDs.hName-1,x + +.8 lda #$ff SELF MODIFIED sta (pFD) X = hFD, A = T * clc .9 rts +*-------------------------------------- +DEV.GetFreeFD ldx #1 -DEV.MkFD.Y .DA #S.FD.REG,#S.FD.DIR,#S.FD.PIPE -DEV.MkFD.T .DA #S.FD.T.REG,#S.FD.T.DIR,#S.FD.T.PIPE + clc + +.1 lda hFDs-1,x + beq .8 + + inx + cpx #K.hFD.MAX+1 + bne .1 + + lda #E.OOH +* sec + +.8 rts +*-------------------------------------- +DEV.hFDFree lda IO.hFD + beq .8 + + jmp K.FreeMem + +.8 clc + rts *-------------------------------------- MAN SAVE usr/src/sys/kernel.s.dev diff --git a/SYS/KERNEL.S.DIRENT.txt b/SYS/KERNEL.S.DIRENT.txt index 4fc3bf08..70981bb0 100644 --- a/SYS/KERNEL.S.DIRENT.txt +++ b/SYS/KERNEL.S.DIRENT.txt @@ -16,7 +16,10 @@ NEW K.OpenDir jsr PFT.CheckPathYA bcs .9 - jmp FS.OPEN.DIR + jsr FS.OPEN.DIR + bcs .9 + + jmp K.FOpen.REGDIR .9 rts */-------------------------------------- @@ -82,9 +85,6 @@ K.ReadDir.ROOT ldy #S.FD.DIR.FC did we already returned something ? jsr K.ReadDir.GetBufYA bcs DIRENT.RTS - lda #16 - sta K.ReadDir.EC - .1 lda (ZPPtr2) and #$0F beq .4 @@ -144,10 +144,6 @@ K.ReadDir.ROOT ldy #S.FD.DIR.FC did we already returned something ? clc adc #16 sta ZPPtr2 - bcc .5 - inc ZPPtr2+1 - -.5 dec K.ReadDir.EC bne .1 jsr FS.ClrStat @@ -190,27 +186,22 @@ K.ReadDir.DEV jmp DIRENT.EOF TODO : /dev *-------------------------------------- K.ReadDir.DIR sta K.MLI.PARAMS+1 A=#S.DIR.PRODOS.REF - >LDYAI 512 Get a 512 bytes buffer for reading dir... - jsr K.GetMem - bcs .99 + lda /K.Buf256 read in + + stz K.MLI.PARAMS+2 For reading + sta K.MLI.PARAMS+3 For reading + + ldy #4 Skip 4 bytes linked list + sty ZPPtr2 PTR to Buffer for PASS #1 + sty ZPPtr3 PTR to Buffer for PASS #2 - stx K.ReadDir.hBlk - >STYA K.MLI.PARAMS+2 For reading - pha - tya -* clc CC from K.GetMem - adc #4 Skip 4 bytes linked list - sta ZPPtr2 PTR to Buffer for PASS #1 - sta ZPPtr3 PTR to Buffer for PASS #2 - pla - adc #0 sta ZPPtr2+1 PTR to Buffer for PASS #1 sta ZPPtr3+1 PTR to Buffer for PASS #2 >LDYAI 512 >STYA K.MLI.PARAMS+4 >MLICALL MLIREAD Read A block from directory - bcs .98 + bcs .99 ldy #S.FD.DIR.EL Check if first run.... lda (pFD),y @@ -256,8 +247,6 @@ K.ReadDir.DIR sta K.MLI.PARAMS+1 A=#S.DIR.PRODOS.REF inc K.ReadDir.EC+1 ...and ProDOS does NOT include header entry in EC bra .4 -.98 jmp K.ReadDir.FreeBlk - .99 rts .2 ldy #S.FD.DIR.EL+3 @@ -281,8 +270,11 @@ K.ReadDir.DIR sta K.MLI.PARAMS+1 A=#S.DIR.PRODOS.REF bne .5 iny - beq .98 no...exit + clc + beq .99 no...exit +*-------------------------------------- * pass #1 compute BufSize... +*-------------------------------------- .5 lda K.ReadDir.EPB sta K.ReadDir.ECIB @@ -332,13 +324,17 @@ K.ReadDir.DIR1 lda (ZPPtr2) X = EntryCount In This Block .8 dec K.ReadDir.ECIB bne K.ReadDir.DIR1 +*-------------------------------------- * pass #2 Fill Buffer...(ZPPtr1 & Ptr2 can now be trashed) -K.ReadDir.DIR2 jsr K.ReadDir.GetBuf - bcs K.ReadDir.FreeBlk - - lda K.ReadDir.EPB +*-------------------------------------- +K.ReadDir.DIR2 lda K.ReadDir.EPB sta K.ReadDir.ECIB + jsr K.ReadDir.GetBuf + bcc .1 + + rts + .1 lda (ZPPtr3) beq .7 Empty slot, skip @@ -393,27 +389,19 @@ K.ReadDir.DIR2 jsr K.ReadDir.GetBuf dex bpl .81 - jsr K.ReadDir.FreeBlk - K.ReadDir.EXIT ldx K.ReadDir.hBuf txa jmp K.GetMemPtr *-------------------------------------- -K.ReadDir.FreeBlk - pha - lda K.ReadDir.hBlk - jsr K.FreeMem - pla - sec - rts -*-------------------------------------- K.ReadDir.GetBuf - >LDYA K.ReadDir.BufSize Get a BufSize bytes buffer for storing results + >LDYA K.ReadDir.BufSize Get a BufSize bytes buffer for storing results K.ReadDir.GetBufYA jsr K.GetMem0 make sure 0 filled bcs .9 + stx K.ReadDir.hBuf >STYA ZPPtr4 + .9 rts *-------------------------------------- K.ReadDir.ADD. ldx #1 filename="1." diff --git a/SYS/KERNEL.S.FS.txt b/SYS/KERNEL.S.FS.txt index 0c7b1347..1ea18550 100644 --- a/SYS/KERNEL.S.FS.txt +++ b/SYS/KERNEL.S.FS.txt @@ -3,13 +3,13 @@ NEW *-------------------------------------- FS.OPEN.REG >MLICALL MLIGETFILEINFO bcs .10 - + lda IO.Open.TYPE Already Exists beq .2 - + cmp K.MLI.PARAMS+S.FI.T beq .2 - + lda #MLI.E.INCFF sec rts @@ -28,12 +28,12 @@ FS.OPEN.REG >MLICALL MLIGETFILEINFO jsr FS.CREATE bcs .9 -.2 ldx #0 +.2 lda #S.FD.T.REG jsr DEV.MkFD bcs .9 jsr FS.MLIOPEN - bcs .99 + bcs FS.OPEN.ERR lda IO.Open.FLAGS bit #O.WRONLY @@ -49,37 +49,33 @@ FS.OPEN.REG >MLICALL MLIGETFILEINFO bra .4 .3 >MLICALL MLIGETEOF - bcs .99 + bcs FS.OPEN.ERR >MLICALL MLISETMARK -.4 bcs .99 +.4 bcs FS.OPEN.ERR .5 lda IO.Open.FLAGS and #O.TEXT Text Mode ? - beq .6 + beq .8 lda #$FF sta K.MLI.PARAMS+2 lda #C.CR sta K.MLI.PARAMS+3 >MLICALL MLINEWLINE - bcs .99 - -.6 >LDYAI K.MLI.PATH+1 - >STYA ZPPtr1 - jsr K.MkNod.I - bcc .8 - -.99 pha Save Error Code - jsr FS.CLOSE.REG - pla - sec - -.8 + bcs FS.OPEN.ERR +.8 lda IO.hFD +* clc .9 rts *-------------------------------------- -FS.OPEN.DIR ldx #1 +FS.OPEN.ERR pha Save Error Code + jsr FS.CLOSE.REGDIR + pla + sec + rts +*-------------------------------------- +FS.OPEN.DIR lda #S.FD.T.DIR jsr DEV.MkFD bcs .9 @@ -88,31 +84,23 @@ FS.OPEN.DIR ldx #1 >MLICALL MLIGETFILEINFO bcs .9 - + lda K.MLI.PARAMS+S.FI.T cmp #S.FI.T.DIR bne .99 - - jsr FS.MLIOPEN - bcs .98 - -.8 >LDYAI K.MLI.PATH+1 - >STYA ZPPtr1 - jsr K.MkNod.I - bcc .9 -.98 pha Save Error Code - jsr FS.CLOSE.DIR - pla - sec + jsr FS.MLIOPEN + bcs FS.OPEN.ERR + +.8 lda IO.hFD +* clc rts - + .99 lda #MLI.E.UNSUPST sec .9 rts *-------------------------------------- -FS.CLOSE.REG -FS.CLOSE.DIR ldy #S.FD.REG.REF +FS.CLOSE.REGDIR ldy #S.FD.REG.REF lda (pFD),y beq .1 @@ -122,11 +110,11 @@ FS.CLOSE.DIR ldy #S.FD.REG.REF .1 ldy #S.FD.REG.IOBUF lda (pFD),y - beq .2 + beq .8 jsr K.FreeMem -.2 jmp DEV.Destroy +.8 jmp DEV.hFDFree *-------------------------------------- FS.READ.REG ldx #MLIREAD .HS 2C BIT ABS @@ -138,7 +126,7 @@ FS.WRITE.REG ldx #MLIWRITE sta K.MLI.PARAMS+1 >PULLW K.MLI.PARAMS+4 >PULLW K.MLI.PARAMS+2 - + lda #4 Param Count = 4 for MLIREAD & MLIWRITE jsr GP.MLICall bcs .9 @@ -284,16 +272,16 @@ FS.DirEnt2Stat jsr FS.ClrStat ldy #S.FIEX.AUXTYPE lda (ZPPtr3),y sta K.S.STAT+S.STAT.BLOCKS - asl + asl sta K.S.STAT+S.STAT.SIZE+1 iny lda (ZPPtr3),y sta K.S.STAT+S.STAT.BLOCKS+1 - rol + rol sta K.S.STAT+S.STAT.SIZE+2 - + lda #0 rol K.S.STAT+S.STAT.SIZE+3 diff --git a/SYS/KERNEL.S.INIT.txt b/SYS/KERNEL.S.INIT.txt index 72cefd68..a39203f0 100644 --- a/SYS/KERNEL.S.INIT.txt +++ b/SYS/KERNEL.S.INIT.txt @@ -155,7 +155,7 @@ Kernel.Init3 sta SETALTZP jsr SysScrInit bcs * - sta CLRMIXED +* sta CLRMIXED >PUSHWI DEV.CONSOLE >PUSHBI O.RDWR @@ -287,18 +287,14 @@ MemMgrInit >LDYAI Mem.MHiMem stz Mem.LastSlot Reserve Slot #0 sta CLRWRITEAUX - ldx #K.DEV.MAX*2-1 + ldx #K.hFD.MAX-1 -.1 stz Dev.Table,x +.1 stz hFDs,x + stz hFDs.hName,x + stz hFDs.oCnt,x dex bpl .1 - ldx #K.NOD.MAX*2-1 - -.2 stz Nod.Table.hName,x - dex - bpl .2 - ldx #K.PS.MAX*4-1 .3 stz PS.Table.PID,x @@ -361,24 +357,30 @@ SysScrInit.TTYPtrs sec sbc #80*24+S.DCB.TTY sta FD.TTY+S.FD.DEV.DCBPTR - sta .1+1 + sta ZPPtr1 tay lda FD.TTY+S.FD.DEV.DCBPTR+1 sbc /80*24+S.DCB.TTY sta FD.TTY+S.FD.DEV.DCBPTR+1 - sta .1+2 - - ldx #S.DCB.TTY-1 + sta ZPPtr1+1 sta SETWRITEAUX -.1 stz $ffff,x SELF MODIFIED - dex - bpl .1 - >STYA Mem.HiMem >STYA Mem.Free + + ldy #S.DCB.TTY-1 + + lda #0 + +.1 sta (ZPPtr1),y + dey + bne .1 + + lda FD.TTY+S.FD.DEV.DEVID + sta (ZPPtr1) + sta CLRWRITEAUX rts @@ -1123,8 +1125,8 @@ TskMgrInit >LDYAI MSG.TSK sta CLRWRITEAUX - >PUSHWI 0 - >PUSHWI 0 + >PUSHWZ + >PUSHWZ >SYSCALL OpenSession bcs .99 @@ -1321,12 +1323,13 @@ FD.NULL .DA #S.FD.T.CDEV .DA DRV.NULL .DA 0 DCBPTR .DA 0 BUFPTR +*-------------------------------------- FD.NULL.NAME .AZ "null" NAME *-------------------------------------- FD.TTY .DA #S.FD.T.CDEV .DA #0 HANDLER .DA #0 BUSID - .DA #1 DEVID + .DA #0 DEVID .DA 0 BUSPTR .DA DRV.TERM .BS 2 DCBPTR @@ -1343,6 +1346,7 @@ FD.BDEV .DA #S.FD.T.BDEV .BS 2 DRVPTR .DA 0 DCBPTR .DA 0 BUFPTR +*-------------------------------------- FD.BDEV.NAME .AZ "s1d1" *-------------------------------------- MAN diff --git a/SYS/KERNEL.S.JMP.txt b/SYS/KERNEL.S.JMP.txt index 683ab9af..f3c110b3 100644 --- a/SYS/KERNEL.S.JMP.txt +++ b/SYS/KERNEL.S.JMP.txt @@ -428,7 +428,7 @@ K.SYSCALL.BANK .DA #RRAMWRAMBNK1 $00 .DA #0 .DA #$C0 NewStkObj .DA #0 - .DA #0 LoadStkObj + .DA #RRAMWRAMBNK2 LoadStkObj .DA #0 .DA #$C0 GetStkObjPtr .DA #0 diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index af23f39a..330db049 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -472,42 +472,6 @@ Mem.IncRefCnt ldy #S.MEM.REFCNT * A = EC *\-------------------------------------- */-------------------------------------- -* # LoadStkObj -* Load a file in AUX memory (Stock Objects) -* PUSHW = PATH (Handled by.... -* PUSHB = MODE ... -* PUSHB = TYPE ... -* PUSHW = AUXTYPE ...FOpen) -* ## RETURN VALUE -* Y,A = File Length -* X = hMem of Loaded Object in AUX mem -*\-------------------------------------- -K.LoadStkObj >SYSCALL2 LoadTxtFile To get ending \0 - bcs .99 - - stx .90+1 - sty .81+1 Save File Len - sta .82+1 - - iny - bne .1 - inc +1 for ending 0 - -.1 jsr MEM.MoveToAux X = AUX hMem - bcs .9 - -.81 ldy #$ff and file len in Y,A -.82 lda #$ff -* clc - rts - -.9 pha -.90 lda #$ff SELF MODIFIED - jsr K.freemem - pla - sec -.99 rts -*/-------------------------------------- * # GetStkObjPtr * ## ASM * `lda hStkObj` diff --git a/SYS/KERNEL.S.PFT.txt b/SYS/KERNEL.S.PFT.txt index 70a74cf0..1e8e3f70 100644 --- a/SYS/KERNEL.S.PFT.txt +++ b/SYS/KERNEL.S.PFT.txt @@ -96,16 +96,22 @@ PFT.YAToMLIPATH >STYA .1+1 PFT.RTS rts *-------------------------------------- PFT.CheckNode4 ldy #4 - .HS 2C BIT ABS -PFT.CheckNode2 ldy #2 PFT.CheckNodeY lda (pStack),y PFT.CheckNodeA stx .80+1 Save SYSCALL # - sta .81+1 Save hFILE + sta IO.hFILE + tax + beq .9 + + cpx #K.hFD.MAX+1 + bcs .9 + + lda hFDs-1,x + beq .9 + jsr DEV.GetPFD - bcs .99 ldy #S.FD.PFT lda (pFD),y @@ -124,7 +130,7 @@ PFT.CheckNodeA stx .80+1 Save SYSCALL # pla discard JSR return @ pla ldx .80+1 restore SYSCALL # - lda .81+1 restore passed hFILE + lda IO.hFILE .7 jmp $ffff SELF MODIFIED @@ -137,10 +143,14 @@ PFT.CheckNodeA stx .80+1 Save SYSCALL # sta K.MLI.PARAMS+1 .80 ldx #$ff SELF MODIFIED -.81 lda #$ff SELF MODIFIED +.81 lda IO.hFILE clc .99 rts + +.9 lda #E.INVH + sec + rts *-------------------------------------- MAN SAVE usr/src/sys/kernel.s.pft diff --git a/SYS/KERNEL.S.PIPE.txt b/SYS/KERNEL.S.PIPE.txt index d7b25dea..0c67e71f 100644 --- a/SYS/KERNEL.S.PIPE.txt +++ b/SYS/KERNEL.S.PIPE.txt @@ -13,7 +13,7 @@ PIPE.OPEN ldy #S.FD.PIPE.S inc sta (pFD),y - lda IO.hDevNod + lda IO.hFD clc rts *-------------------------------------- @@ -23,7 +23,6 @@ PIPE.CLOSE ldy #S.FD.PIPE.S lda #$80 sta (pFD),y - clc rts .1 ldy #S.FD.PIPE.hMem @@ -32,7 +31,7 @@ PIPE.CLOSE ldy #S.FD.PIPE.S >SYSCALL2 FreeStkObj -.2 jmp DEV.Destroy +.2 jmp DEV.hFDFree *-------------------------------------- * (pStack)+2 buf * (pStack)+0 count diff --git a/SYS/KERNEL.S.PS.txt b/SYS/KERNEL.S.PS.txt index fbd74e82..db04a69d 100644 --- a/SYS/KERNEL.S.PS.txt +++ b/SYS/KERNEL.S.PS.txt @@ -747,6 +747,46 @@ K.Kill.2 ldy #S.PS.hSession .10 .DA #S.PS.hSS,#S.PS.hDS,#S.PS.hCS .DA #S.PS.hARGV,#S.PS.hCWD */-------------------------------------- +* # LoadStkObj +* Load a file in AUX memory (Stock Objects) +* PUSHW = PATH (Handled by.... +* PUSHB = MODE ... +* PUSHB = TYPE ... +* PUSHW = AUXTYPE ...FOpen) +* ## RETURN VALUE +* Y,A = File Length +* X = hMem of Loaded Object in AUX mem +*\-------------------------------------- +K.LoadStkObj >PUSHYA + >PUSHBI O.RDONLY + >PUSHBI 0 any type... + + jsr K.LoadFile.1 ... ending \0 + bcs .99 + + stx .90+1 + sty .81+1 Save File Len + sta .82+1 + + iny + bne .1 + inc +1 for ending 0 + +.1 jsr MEM.MoveToAux X = AUX hMem + bcs .9 + +.81 ldy #$ff and file len in Y,A +.82 lda #$ff +* clc + rts + +.9 pha +.90 lda #$ff SELF MODIFIED + jsr K.freemem + pla + sec +.99 rts +*/-------------------------------------- * # LoadTxtFile * Load TXT a file in memory (with ending 0) * ## C @@ -762,7 +802,8 @@ K.Kill.2 ldy #S.PS.hSession K.LoadTxtFile >PUSHYA >PUSHBI O.RDONLY >PUSHBI S.FI.T.TXT - >PUSHWZ Aux type + +K.LoadFile.1 >PUSHWZ Aux type sec .HS 90 BCC @@ -925,10 +966,10 @@ PS.Find.DRV ldx #2 .HS 2C BIT ABS PS.Find.PATH ldx #4 - >STYA PS.Find.4+1 filename to find + >STYA PS.Find.4+1 filename to find >PUSHW PS.VARS,x - >PUSHWI 0 allocate... + >PUSHWZ allocate... >SYSCALL2 GetEnv get value for Search Path bcs PS.Find.RTS @@ -943,7 +984,7 @@ PS.Find.1 ldy #0 Self Modified Index in Search list string PS.Find.2 lda $ffff,y SELF MODIFIED - beq PS.Find.3 end of string, try it.... + beq PS.Find.3 end of string, try it.... iny cmp #':' @@ -1005,7 +1046,6 @@ PS.STAT.YA >PUSHYA rts *-------------------------------------- PS.SHUTDOWN .AZ "shutdown" -*PS.T .AZ " -T 3" PS.VARS .DA .1 .DA .2 .DA .3 @@ -1029,8 +1069,11 @@ K.GetMemStat >STYA ZPPtr1 dey dex bpl .1 + sta SETREADAUX + jsr .2 + sta CLRREADAUX .2 ldx #7 diff --git a/SYS/KERNEL.S.SHARED.txt b/SYS/KERNEL.S.SHARED.txt index ce2a4847..7a05d325 100644 --- a/SYS/KERNEL.S.SHARED.txt +++ b/SYS/KERNEL.S.SHARED.txt @@ -121,12 +121,6 @@ SHARED.P3gY sta CLRREADAUX sta SETREADAUX rts *-------------------------------------- -SHARED.GetScrnDevX - sta CLRREADAUX - lda A2osX.SCRNDEVS,x - sta SETREADAUX - rts -*-------------------------------------- MAN SAVE usr/src/sys/kernel.s.shared LOAD usr/src/sys/kernel.s diff --git a/SYS/KERNEL.S.SOCK.txt b/SYS/KERNEL.S.SOCK.txt index 9a78bf95..3145c9df 100644 --- a/SYS/KERNEL.S.SOCK.txt +++ b/SYS/KERNEL.S.SOCK.txt @@ -1,7 +1,7 @@ NEW AUTO 3,1 *-------------------------------------- -SOCK.OPEN lda IO.hDevNod +SOCK.OPEN lda IO.hFD clc rts *-------------------------------------- diff --git a/SYS/KERNEL.S.STAT.txt b/SYS/KERNEL.S.STAT.txt index ae8230c2..1d135d98 100644 --- a/SYS/KERNEL.S.STAT.txt +++ b/SYS/KERNEL.S.STAT.txt @@ -88,14 +88,15 @@ K.ChMod.RET3 inc pStack * `>SYSCALL fstat` * ## RETURN VALUE *-------------------------------------- -K.FStat jsr PFT.CheckNode2 +K.FStat ldy #2 + jsr PFT.CheckNodeY bcs K.ChMod.RET3 >PULLW K.Stat.Store.2+1 >PULLA tax - lda Nod.Table.hName-2,x get path + lda hFDs.hName-1,x get path jsr K.GetMemPtr jsr PFT.YAToMLIPATH @@ -193,10 +194,11 @@ K.MKFIFO jsr STAT.PM bcs STAT.RTS ldy #0 + .1 lda STAT.FIFO,y sta (ZPPtr1),y fill pathname buffer iny - cpy #4 + cpy #9 bne .1 lda IO.hFD @@ -208,7 +210,17 @@ K.MKFIFO jsr STAT.PM iny lda #0 sta (ZPPtr1),y + + lda ZPPtr1 + clc + adc #5 skip /dev/ + sta ZPPtr1 + bcc K.MkNod.I + + inc ZPPtr1+1 bra K.MkNod.I +*-------------------------------------- +STAT.FIFO .AS "/dev/fifo" */-------------------------------------- * # MkNod * Create a special or ordinary file. @@ -228,21 +240,21 @@ K.MkNod >PULLB IO.hFD jsr STAT.PM -K.MkNod.I ldx #2 +K.MkNod.I ldx #1 -.1 lda Nod.Table.hFD-2,x empty slot ? +.1 lda hFDs-1,x + cmp IO.hFD beq .2 inx - inx - cpx #K.Nod.MAX+2 + cpx #K.hFD.MAX+1 bne .1 - lda #E.OOH + lda #MLI.E.IO * sec rts -.2 stx IO.hDevNod +.2 stx IO.hFILE >LDYA ZPPtr1 >SYSCALL2 StrDup @@ -250,13 +262,10 @@ K.MkNod.I ldx #2 txa -.3 ldx IO.hDevNod - sta Nod.Table.hName-2,x store path + ldx IO.hFILE + sta hFDs.hName-1,x store path -.4 lda IO.hFD - sta Nod.Table.hFD-2,x store hFD - - txa hDevNod + txa hFILE clc .9 rts */-------------------------------------- @@ -277,7 +286,7 @@ K.Pipe sta .1+1 SIZE HI stx .8+1 save PIPE buffer - ldx #2 + lda #S.FD.T.PIPE jsr DEV.MkFD bcs .9 @@ -292,7 +301,7 @@ K.Pipe sta .1+1 SIZE HI .8 lda #$ff Self Modified sta (pFD),y - txa hFD + lda IO.hFD * clc rts @@ -303,15 +312,12 @@ K.Pipe sta .1+1 SIZE HI pla sec -.99 - rts +.99 rts *-------------------------------------- STAT.PM >PULLW K.S.STAT+S.STAT.MODE >PULLW ZPPtr1 pathname rts *-------------------------------------- -STAT.FIFO .AS "fifo" -*-------------------------------------- MAN SAVE usr/src/sys/kernel.s.stat LOAD usr/src/sys/kernel.s diff --git a/SYS/KERNEL.S.STDIO.txt b/SYS/KERNEL.S.STDIO.txt index 9c9143cd..a90ea0b4 100644 --- a/SYS/KERNEL.S.STDIO.txt +++ b/SYS/KERNEL.S.STDIO.txt @@ -359,7 +359,7 @@ K.UngetC clc * CS : A = EC *\-------------------------------------- K.FOpen jsr PFT.CheckPath4 - bcs .9 + bcs K.FOpen.9 >PULLW IO.Open.AUXTYPE >PULLB IO.Open.TYPE @@ -368,10 +368,35 @@ K.FOpen jsr PFT.CheckPath4 inc pStack discard filename inc pStack - jmp UNISTD.Open + jsr UNISTD.Open + bcs K.FOpen.99 -.9 >POP 6 + ldx IO.hFILE + + lda (pFD) + bne K.FOpen.8 + +K.FOpen.REGDIR >LDYAI K.Buf256 + >SYSCALL2 StrDup + bcs K.FOpen.90 + + txa + ldx IO.hFILE + sta hFDs.hName-1,x + +K.FOpen.8 inc hFDs.oCnt-1,x + txa +* clc rts + +K.FOpen.90 pha + jsr UNISTD.Close + pla + sec + rts + +K.FOpen.9 >POP 6 +K.FOpen.99 rts */-------------------------------------- * # FClose * Close a file @@ -386,21 +411,17 @@ K.FOpen jsr PFT.CheckPath4 K.FClose jsr PFT.CheckNodeA bcs K.FRead.RTS - jmp UNISTD.Close -*-------------------------------------- -DEV.Destroy ldx IO.hDevNod - lda Nod.Table.hName-2,x - beq .1 + jsr UNISTD.Close - stz Nod.Table.hName-2,x - jsr K.FreeMem - - ldx IO.hDevNod - -.1 lda Nod.Table.hFD-2,x + ldx IO.hFILE + dec hFDs.oCnt-1,x + bne .8 + + lda hFDs.hName-1,x its a DEV, don't clear FD beq .8 - stz Nod.Table.hFD-2,x + stz hFDs-1,x + stz hFDs.hName-1,x jmp K.FreeMem .8 clc @@ -444,8 +465,8 @@ K.FWrite jsr PFT.CheckNode4 bcs K.FWrite.RET5 jsr UNISTD.Write - bcc K.FRead.RTS + bcc K.FRead.RTS K.FWrite.9 cmp #E.NODATA sec bne K.FRead.RTS IO Error diff --git a/SYS/KERNEL.S.STDLIB.txt b/SYS/KERNEL.S.STDLIB.txt index 265d9989..f467e436 100644 --- a/SYS/KERNEL.S.STDLIB.txt +++ b/SYS/KERNEL.S.STDLIB.txt @@ -152,7 +152,7 @@ K.realpath ldy #3 >PUSHA lda (pStack),y >PUSHA - >PUSHWI 0 + >PUSHWZ jsr K.expand bcs K.realpath.RET4 diff --git a/SYS/KERNEL.S.TERM.txt b/SYS/KERNEL.S.TERM.txt index ebe6a70c..328d6635 100644 --- a/SYS/KERNEL.S.TERM.txt +++ b/SYS/KERNEL.S.TERM.txt @@ -22,13 +22,14 @@ TERM.STATUS jsr TERM.GetIOCTLBufCntDCB lda (ZPIOCTL),y tay bra TERM.TOAUX +*-------------------------------------- +TERM.OPEN sta ZPhFD hFD in A for OPEN -TERM.OPEN sta ZPDevID DEV.ID in A for OPEN TERM.CONTROL TERM.CLOSE jsr TERM.GetDCB bra TERM.TOAUX - +*-------------------------------------- TERM.READ TERM.WRITE jsr TERM.GetIOCTLBufCntDCB *-------------------------------------- @@ -90,14 +91,15 @@ TERM.GetBufByte sta CLRREADAUX rts *-------------------------------------- TERM.GetDevName sta CLRREADAUX - - lda Dev.Table-1,x + + lda pFD clc adc #S.FD.DEV - tay + sta TXTPTR - lda Dev.Table,x + lda pFD+1 adc /S.FD.DEV + sta TXTPTR+1 sta SETREADAUX rts diff --git a/SYS/KERNEL.S.TERMX.txt b/SYS/KERNEL.S.TERMX.txt index 49df3752..d6ca07e1 100644 --- a/SYS/KERNEL.S.TERMX.txt +++ b/SYS/KERNEL.S.TERMX.txt @@ -8,7 +8,6 @@ CURSOR.BLINK.SPEED .EQ 2 ZPIOCTL .BS 2 ZPBufPtr .BS 2 ZPDCBPtr .BS 2 - ZPCnt .BS 2 ZPBufBL1 .BS 2 @@ -17,7 +16,7 @@ ZPScrBL1 .BS 2 ZPScrBL2 .BS 2 *-------------------------------------- bActive .BS 1 -ZPDevID .BS 1 +ZPhFD .BS 1 ZPTmpBool .BS 1 ZPTmpChar .BS 1 @@ -73,7 +72,7 @@ TERMX.STATUS tya iny * sec eor (ZPDCBPtr),y OUTHEAD - bne .8 + bne .8 bit bActive bpl .7 @@ -99,27 +98,14 @@ TERMX.OPEN.E lda #MLI.E.OPEN TERMX.OPEN jsr TERMX.ISOPENED bne TERMX.OPEN.E - ldx #0 - -.2 jsr SHARED.GetScrnDevX - beq .3 - - inx - cpx #K.TTY.MAX+1 - bne .2 - - lda #E.OOH - sec - rts - -.3 lda ZPDevID + lda (ZPDCBPtr) #S.DCB.TTY.DEVID + tax + lda ZPhFD sta CLRWRITEAUX sta A2osX.SCRNDEVS,x sta SETWRITEAUX - sta (ZPDCBPtr) #S.DCB.TTY.DEVID - ldy #S.DCB.TTY.S lda (ZPDCBPtr),y ora #S.DIB.S.OPENED @@ -128,44 +114,39 @@ TERMX.OPEN jsr TERMX.ISOPENED jsr RESET *-------------------------------------- TERMX.CONTROL lda (ZPDCBPtr) #S.DCB.TTY.DEVID - + sta CLRWRITEAUX sta A2osX.ASCREEN sta SETWRITEAUX - + sta SETTEXT + sta CLRMIXED jsr TERMX.SCRCPY - lda #0 + lda #0 ldy #S.DCB.TTY.bCURON sta (ZPDCBPtr),y - iny #S.DCB.TTY.bTITLE sta (ZPDCBPtr),y clc rts *-------------------------------------- -TERMX.CLOSE jsr TERMX.ISOPENED +TERMX.CLOSE jsr TERMX.ISOPENED beq .9 lda TERMX.DIB+S.DIB.S sta (ZPDCBPtr),y - ldx #0 -.1 jsr SHARED.GetScrnDevX - cmp (ZPDCBPtr) #S.DCB.TTY.DEVID - bne .2 + lda (ZPDCBPtr) #S.DCB.TTY.DEVID + tax sta CLRWRITEAUX stz A2osX.SCRNDEVS,x sta SETWRITEAUX + clc rts - -.2 inx - cpx #K.TTY.MAX+1 - bne .1 .9 lda #MLI.E.IO sec @@ -197,7 +178,7 @@ TERMX.READ bit bActive is screen active? and #$7F cmp #C.ESC bne .10 - + lda #3 .10 ldx #3 @@ -205,7 +186,7 @@ TERMX.READ bit bActive is screen active? .2 cmp KeyMap,x beq .3 - dex + dex bpl .2 cmp #C.CR @@ -229,7 +210,7 @@ TERMX.READ bit bActive is screen active? pla jsr TERMX.COUT bra .7 - + .6 ldy #S.DCB.TTY.OUTTAIL lda (ZPDCBPtr),y iny @@ -256,9 +237,9 @@ TERMX.READ bit bActive is screen active? bra .70 .8 lda #$ff SELF MODIFIED - + sta CLRWRITEAUX - + ldy #S.IOCTL.BYTECNT sta (ZPIOCTL),y iny @@ -353,9 +334,9 @@ TERMX.OUT.FS ldy #S.DCB.TTY.CH ldy #S.DCB.TTY.bLINEWRAP lda (ZPDCBPtr),y bpl TERMX.OUT.BS.8 - + jsr TERMX.OUT.CR - + jmp TERMX.OUT.LF.1 *-------------------------------------- TERMX.OUT.BS ldy #S.DCB.TTY.CH @@ -453,7 +434,7 @@ TERMX.ESC jsr TERM.GetBufByte y = #S.DCB.TTY.M .DA TERMX.RTS [ .DA TERMX.RTS ( .DA TERMX.RTS ) -*-------------------------------------- +*-------------------------------------- TERMX.SETM0 lda #0 TERMX.SETM ldy #S.DCB.TTY.M sta (ZPDCBPtr),y @@ -468,9 +449,9 @@ TERMX.CSI ldy #S.DCB.TTY.INBUF inc sta (ZPDCBPtr),y tay - + jsr TERM.GetBufByte - + sta (ZPDCBPtr),y cmp #64 End of Seq ? bcs TERMX.CSI.Exec @@ -527,10 +508,10 @@ TERMX.CSI.Exec stz CsiH .6 cmp CsiCodes,x beq .7 - + dex bpl .6 - + clc rts @@ -553,16 +534,16 @@ TERMX.CSI.Exec stz CsiH .DA Csi.Home H *-------------------------------------- Csi.SetM sec - .HS 90 BCC + .HS 90 BCC *-------------------------------------- Csi.ResetM clc ldx CsiPCnt beq .99 - + dex bne .99 - + ldx CsiH lda CsiP @@ -576,7 +557,7 @@ Csi.ResetM clc ldy #S.DCB.TTY.bCRLF bra .8 - + .1 cmp #7 bne .98 @@ -597,7 +578,7 @@ Csi.ResetM clc *-------------------------------------- Csi.DispAttr ldx CsiPCnt bne .10 - + jmp RESETATTR .10 ldx #0 @@ -639,11 +620,11 @@ Csi.Query ldx CsiPCnt jsr DecOut lda #';' jsr TERMX.COUT - + ldy #S.DCB.TTY.CH lda (ZPDCBPtr),y inc - jsr DecOut + jsr DecOut lda #'R' jsr TERMX.COUT .8 clc @@ -673,7 +654,7 @@ Csi.CUU sec Csi.CUD clc ldy #S.DCB.TTY.CV bra Csi.CU - + Csi.CUF clc .HS B0 BCS Csi.CUB sec @@ -681,22 +662,22 @@ Csi.CUB sec Csi.CU lda CsiPCnt beq .8 - + dec bne .8 - + lda (ZPDCBPtr),y bcs .1 - + adc CsiP sta (ZPDCBPtr),y - + clc rts - + .1 sbc CsiP sta (ZPDCBPtr),y - + .8 clc rts *-------------------------------------- @@ -705,7 +686,7 @@ Csi.CLRSCR ldx CsiPCnt .1 lda CsiP beq .8 - + cmp #1 bne .2 @@ -780,7 +761,7 @@ HOME lda #0 sta (ZPDCBPtr),y clc rts -*-------------------------------------- +*-------------------------------------- TERMX.G0 ldx #$80 .HS 2C BIT ABS TERMX.G1 ldx #$40 @@ -790,12 +771,12 @@ TERMX.G1 ldx #$40 jsr TERM.GetBufByte cmp #'0' beq .1 - + txa eor #$ff and (ZPDCBPtr),y bra .8 - + .1 txa ora (ZPDCBPtr),y .8 sta (ZPDCBPtr),y @@ -807,9 +788,9 @@ TERMX.IAC ldy #S.DCB.TTY.INBUF inc sta (ZPDCBPtr),y tay - + jsr TERM.GetBufByte - + sta (ZPDCBPtr),y cpy #S.DCB.TTY.INBUF+1 CMD ? beq Csi.Home.8 yes, wait for additional bytes @@ -1008,20 +989,20 @@ CLR.8 clc SaveCurPos ldy #S.DCB.TTY.CH jsr .1 - + iny - + .1 lda (ZPDCBPtr),y iny sta (ZPDCBPtr),y rts *-------------------------------------- RestoreCurPos jsr TERMX.CUROFF - + ldy #S.DCB.TTY.CV.SAVE - + jsr .1 - + dey .1 lda (ZPDCBPtr),y @@ -1058,7 +1039,7 @@ SCROLL.DN ldy #S.DCB.TTY.SCROLLBOT txa ldy #S.DCB.TTY.SCROLLTOP cmp (ZPDCBPtr),y - bne .1 + bne .1 clc rts @@ -1096,7 +1077,7 @@ TERMX.CBLNK.SET eor #CURSOR.BLINK.SPEED sta (ZPDCBPtr),y rts - + TERMX.CBLNK.OFF jsr GetCharAtCurPos bcc TERMX.CBLNK.SET if not Out of screen @@ -1160,7 +1141,7 @@ TERMX.SETUP.L1X lda ZPDCBPtr clc adc BUF.BL,x sta ZPBufBL1 - + lda ZPDCBPtr+1 adc BUF.BH,x sta ZPBufBL1+1 @@ -1200,7 +1181,7 @@ TERMX.CLRSCR.2 sty .1+1 bit bActive bpl .4 - + sta SETPAGE2 jsr .7 @@ -1208,7 +1189,7 @@ TERMX.CLRSCR.2 sty .1+1 jsr .7 .4 ldy #79 - + .5 sta (ZPBufBL1),y dey bpl .5 @@ -1219,7 +1200,7 @@ TERMX.CLRSCR.2 sty .1+1 .7 ldy #39 .8 sta (ZPScrBL1),y dey - bpl .8 + bpl .8 .9 rts *-------------------------------------- TERMX.Title.ON ldy #S.DCB.TTY.bTITLE @@ -1229,11 +1210,8 @@ TERMX.Title.ON ldy #S.DCB.TTY.bTITLE lda #$ff sta (ZPDCBPtr),y - lda (ZPDCBPtr) #S.DCB.TTY.DEVID - tax jsr TERM.GetDevName - >STYA TXTPTR - + ldx #0 jsr TERMX.SETUP.L1X.SCR @@ -1262,7 +1240,7 @@ TERMX.Title.ON ldy #S.DCB.TTY.bTITLE iny cpy #80 bne .4 - + TERMX.RTS2 rts TERMX.Title.OFF ldy #S.DCB.TTY.bTITLE @@ -1307,7 +1285,7 @@ TERMX.SCRCPY ldx #23 dex bpl .1 rts - + .8 ldy #39 .80 lda $ffff,x SELF MODIFIED @@ -1333,7 +1311,7 @@ TERMX.COPY.XtoL1 ldy #79 .1 lda (ZPBufBL2),y - sta (ZPBufBL1),y + sta (ZPBufBL1),y dey bpl .1 @@ -1351,7 +1329,7 @@ TERMX.COPY.XtoL1 .6 ldy #39 .7 lda (ZPScrBL2),y - sta (ZPScrBL1),y + sta (ZPScrBL1),y dey bpl .7 @@ -1399,13 +1377,13 @@ SetCharAtYX cmp #$40 bcc .3 tay - lda REMAP.E0.FF-$E0,y + lda REMAP.E0.FF-$E0,y sta ZPTmpChar .3 jsr TERMX.SETUP.L1X ply lda ZPTmpChar - sta (ZPBufBL1),y + sta (ZPBufBL1),y bit bActive bpl SetCharAtYX.8 @@ -1440,11 +1418,11 @@ GetCharAtCurPos ldy #S.DCB.TTY.CV bcs .9 Out of screen tay - lda (ZPBufBL1),y + lda (ZPBufBL1),y cmp #$20 bcs .8 - -* clc + +* clc adc #40 remap $00-$1F uppercase .8 clc @@ -1502,7 +1480,7 @@ RESET.VALUES .DA #0 MODE .DA #S.DCB.TTY.OUTBUF OUTTAIL .DA #S.DCB.TTY.OUTBUF OUTHEAD - .DA #S.DCB.TTY.INBUF INBUFFER + .DA #S.DCB.TTY.INBUF INBUFFER *-------------------------------------- TERMX.DIB .DA #S.DIB.S.WRITE+S.DIB.S.READ .DA #0,#0,#0 diff --git a/SYS/KERNEL.S.UNISTD.txt b/SYS/KERNEL.S.UNISTD.txt index 514b490c..05a24ae4 100644 --- a/SYS/KERNEL.S.UNISTD.txt +++ b/SYS/KERNEL.S.UNISTD.txt @@ -32,20 +32,15 @@ UNISTD.Open ldx #5 /dev/ dex bne .1 *-------------------------------------- -* /DEV/xxxxxx (CDEV,BDEV,DSOCK,SSOCK,PIPE) +* /dev/xxxxxx (CDEV,BDEV,DSOCK,SSOCK,PIPE) *-------------------------------------- >LDYAI K.MLI.PATH+6 skip $/dev/ jsr K.GetDevByName bcs .9 - >STYA pFD - - stx IO.hDevNod - lda (pFD) #S.FD.T tax - jmp (.2-2,x) .2 * .DA STDIO.IOERR REG @@ -74,8 +69,9 @@ K.Close jsr DEV.GetPFD UNISTD.Close lda (pFD) #S.FD.T tax jmp (.1,x) -.1 .DA FS.CLOSE.REG - .DA FS.CLOSE.DIR + +.1 .DA FS.CLOSE.REGDIR + .DA FS.CLOSE.REGDIR .DA DEV.CLOSE .DA DEV.CLOSE .DA STDIO.IOERR LNK @@ -96,7 +92,7 @@ UNISTD.Close lda (pFD) #S.FD.T * CC: Y,A = bytes read * CS: A = EC *\-------------------------------------- -K.Read ldy #4 hDev +K.Read ldy #4 hFD lda (pStack),y jsr DEV.GetPFD @@ -104,6 +100,7 @@ K.Read ldy #4 hDev UNISTD.Read lda (pFD) #S.FD.T tax jmp (.1,x) + .1 .DA FS.READ.REG .DA STDIO.IOERR DIR .DA DEV.READ @@ -126,14 +123,15 @@ UNISTD.Read lda (pFD) #S.FD.T * CC: Y,A = bytes written * CS: A = EC *\-------------------------------------- -K.Write ldy #4 hDev +K.Write ldy #4 hFD lda (pStack),y - + jsr DEV.GetPFD UNISTD.Write lda (pFD) #S.FD.T tax jmp (.1,x) + .1 .DA FS.WRITE.REG .DA STDIO.IOERR DIR .DA DEV.WRITE diff --git a/SYS/KM.NSC.S.txt b/SYS/KM.NSC.S.txt index 9f3f27d6..0b01acd4 100644 --- a/SYS/KM.NSC.S.txt +++ b/SYS/KM.NSC.S.txt @@ -60,8 +60,8 @@ NSC.Detect php sta SETCXROM -* sta $C300 - lda $C00B Workaround for Ultrawarp bug + sta $C100 +* lda $C00B Workaround for Ultrawarp bug ldx #8 @@ -76,8 +76,8 @@ NSC.Detect php dex bne .1 -* sta $C300 - lda $C00B Workaround for Ultrawarp bug + sta $C100 +* lda $C00B Workaround for Ultrawarp bug lda $C104 Reset DS1216E comparison register with READ A2=1 @@ -210,8 +210,8 @@ NSCDRV php sta SETCXROM -* sta $C300 - lda $C00B Workaround for Ultrawarp bug + sta $C100 +* lda $C00B Workaround for Ultrawarp bug lda $C104 Reset DS1216E comparison register with READ A2=1