From 528491318716c21ed21cd797168bc839614e151b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Thu, 30 Mar 2017 18:11:31 +0200 Subject: [PATCH] Kernel version 0.9 : MEDIA reorganisation, FORMAT Cmd --- A2OSX.BUILD.po | Bin 819200 -> 819200 bytes A2OSX.SRC.po | Bin 819200 -> 819200 bytes BIN/FORMAT.S.txt | 191 ++++++++++++++++++++++++++++++++++++----- LIB/LIBBLKDEV.S.txt | 60 ++++++++++--- LIB/LIBTCPIP.S.ARP.txt | 22 ++--- LIB/LIBTCPIP.S.DNS.txt | 22 ++--- LIB/LIBTCPIP.S.SKT.txt | 78 ++++++++--------- README.md | 1 + SYS/KERNEL.S.ARG.txt | 12 +-- SYS/KERNEL.S.CHR.txt | 48 +++++------ SYS/KERNEL.S.CIO.txt | 12 +-- SYS/KERNEL.S.D01.txt | 2 +- SYS/KERNEL.S.DEV.txt | 36 ++++---- SYS/KERNEL.S.DIR.txt | 24 +++--- SYS/KERNEL.S.ENV.txt | 30 +++---- SYS/KERNEL.S.FILE.txt | 70 +++++++-------- SYS/KERNEL.S.FIO.txt | 22 ++--- SYS/KERNEL.S.GP.txt | 87 +++++++++++-------- SYS/KERNEL.S.MEM.txt | 30 +++---- SYS/KERNEL.S.PS.txt | 24 +++--- SYS/KERNEL.S.STR.txt | 42 ++++----- SYS/KERNEL.S.txt | 8 +- _Docs/LIBBLKDEV.md | 2 +- 23 files changed, 509 insertions(+), 314 deletions(-) diff --git a/A2OSX.BUILD.po b/A2OSX.BUILD.po index 034555b0c2977f85859bd6e9512fd5b88d191165..6fb3b0f8cdb12ace215c39b341753f7bf192fafa 100644 GIT binary patch delta 1603 zcmZ8heN0nV6n`J3lorbq5vw@8@4mu{E9LRAjG;q8We8PNl$hwUYDO%hh+k85n>3Dg zjL{BgV%4C&b!x2XGc64&hCWN;NHNhp_t)Yi(YY`ZzUq=qg(bik+ zN^rEtC|}_53Jy};MyNfjyabSk{5l?2JH8KY=p%7l2yPB7BJm1WeYi5WL;%=L3{!&& z!DI`4i$;;aUGRo9CWl67TOa_P07?XViETAVK~ND?xF*ACg#)4cXpDpa5Wr~2uX6qq zYI_mlre9l#GAV+ULreq0uV}8Xac^=Q*K`6U=N3}xO)1tQ#s+v zIe|Yb=!`Qn7?NN3)Ue}5aH_vJ0|&tsBezHwMZ_N;yE=xi_%$P=v~u(M;w=&|Ch}%< z_9-NG3}&icopJ%S*@Y8lFGh%>6FNdsU?Eat&l_t;qNbZ2l!*^6!%9H_1?V!S7VaTtZn9E4NWae%XBMzAgOq@CZqj8>2M2A-~(KxrR zj$oQ_apR?bVgWt?SnsHWaU4`_Yd5JN5tovWy67 zY&e`{tT|L;0i_N5>vtZMa@h9DiWmsno^GCXW|IeN_v{AgRX~@%29#Lp4rJ=98!UTv z*4GrKS1mCZ44BGNyK9%F?vt8BhK4yM#^MbX+g=IU^;6=+*Z*xEUwVQi4FE4MH2vL_ z9T^rY5(Y~nft6ro-?q#BB(B@^LDjGry=KTIf5y@KNxH`7k|KUJnN%!FdyLP%ozwJb zIs<$Na%gGf(NE}XH=`$4&TE9j+HS4m2r?cr)PD0!9dv)DC$p2PVBoh?Rnj%&-s!D` z?x3DDG#!Qf5eRYs-w4;uI3{T{LpDmcYU&%IqY<`~6H%JOyw=;SLMcu~#J{}OiAh?F zL*Xb@w&`KVL$gvGkBB3~kF39IOd1pFJxa$YjKz%Yp)|2Q8rJgTbX3ld(sw3kp1qkF zEd%F1ru~$;420=JPYt>&;GSE^BGd38_x&s~{Rf;N>?~<# cWp*~s&dTjZUr)FdVjB(Sc_#l8>|$2Rr_ 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 DxliSm delta 10861 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 GetArgC @@ -82,27 +86,58 @@ CS.INIT >SYSCALL GetArgC sta (pData),y bra .1 -.4 lda (pData) - bne .99 Already have a vol name...syntax error +.4 ldy #hDev + lda (pData),y + bne .5 Already have a dev name...go get VolName lda (ZPPtr1) + cmp #4 + bne .99 DevName must be DxDy + + >LDYA ZPPtr1 + >SYSCALL GetDevByNameYA + bcs .99 + txa + ldy #hDev + sta (pData),y + bra .1 + +.5 lda (ZPPtr1) cmp #16 - bcc .5 - lda #15 -.5 sta (ZPPtr1) + bcs .99 VolName too long + tay .6 lda (ZPPtr1),y sta (pData),y dey - bne .6 - bra .1 success, scan for any other args + bpl .6 - + bra .1 success, scan for any other args .7 lda (pData) bne .8 Volume name ok + lda A2osX.TIMER16 + jsr A2CharAX + sta DefaultVolName+6 + stx DefaultVolName+7 + + lda A2osX.TIMER16+1 + jsr A2CharAX + sta DefaultVolName+8 + stx DefaultVolName+9 + + lda A2osX.RANDOM16 + jsr A2CharAX + sta DefaultVolName+10 + stx DefaultVolName+11 + + lda A2osX.RANDOM16+1 + jsr A2CharAX + sta DefaultVolName+12 + stx DefaultVolName+13 + ldy DefaultVolName .71 lda DefaultVolName,y @@ -121,23 +156,113 @@ CS.INIT >SYSCALL GetArgC clc rts *-------------------------------------- -CS.RUN ldy #bCANCEL - lda (pData),y - bmi .99 +CS.RUN jsr CS.RUN.BuildCat + bcs .9 + jsr CS.RUN.WriteCat + bcs .9 - -.8 clc - rts - -.99 lda #0 + >LDYA L.MSG.OK + >SYSCALL CPrintFYA + lda #0 sec rts + +.9 pha + >PUSHA + >LDYA L.MSG.ERR + >SYSCALL CPrintFYA + pla + sec + rts +*-------------------------------------- +CS.RUN.BuildCat ldy #hDev + lda (pData),y + >SYSCALL GetDevStatusA + + bcs .99 + >STYA ZPPtr1 + ldy #S.DEVSTAT.SIZE + lda (ZPPtr1),y + sta BlockSize + iny + lda (ZPPtr1),y + sta BlockSize+1 + + ldy #hDev + lda (pData),y + >SYSCALL GetDevByIDA + bcs .99 + + pha + tya + adc #S.DEV.NAME + sta ZPPtr2 + pla + adc /S.DEV.NAME + sta ZPPtr2+1 + + >PUSHW pData + >PUSHW BlockSize + >PUSHW ZPPtr2 + + >LDYA L.MSG.INIT + >SYSCALL CPrintFYA + bcs .9 + + >PUSHW BlockSize + >LIBCALL hLIBBLKDEV,LIBBLKDEV.GetProDOSCatSize + +.99 bcs .9 + stx BlkCnt + + >PUSHYA BufferSize + >PUSHBI S.MEM.F.INIT0 + >SYSCALL GetMem + bcs .9 + >STYA BlkParams.Ptr + txa + ldy #hBuf + sta (pData),y + + >PUSHW BlockSize + >PUSHW pData + >PUSHW BlkParams.Ptr + + >LIBCALL hLIBBLKDEV,LIBBLKDEV.BuildProDOSCat +.9 rts +*-------------------------------------- +CS.RUN.WriteCat stz BlkParams.Num + stz BlkParams.Num+1 + + ldy #hDev + lda (pData),y + >SYSCALL GetDevByIDA + bcs .9 + >STYA pDev + +.1 >LDYA L.BlkParams.Ptr + ldx #DEVMGR.WRITEBLOCK + + >DEBUG + jsr pDevJmp + bcs .9 + inc BlkParams.Ptr+1 + inc BlkParams.Ptr+1 + inc BlkParams.Num + dec BlkCnt + bne .1 +.9 rts *-------------------------------------- CS.DOEVENT sec rts *-------------------------------------- -CS.QUIT lda hLIBBLKDEV +CS.QUIT ldy #hBuf + lda (pData),y + beq .1 + >SYSCALL FreeMemA + +.1 lda hLIBBLKDEV beq .8 >SYSCALL UnloadLibA @@ -145,6 +270,25 @@ CS.QUIT lda hLIBBLKDEV .8 clc rts *-------------------------------------- +A2CharAX pha + lsr + lsr + lsr + lsr + and #$0F + ora #$30 + cmp #'9'+1 + bcc .1 + adc #6 +.1 tax + pla + and #$0F + ora #$30 + cmp #'9'+1 + bcc .8 + adc #6 +.8 rts +*-------------------------------------- CS.END *-------------------------------------- OptionList >PSTR "L" @@ -153,19 +297,24 @@ OptionVars .DA #bLL MSG.USAGE >CSTR "Usage : FORMAT [VOLUME.NAME]\r\n -L : Low-Level Format\r\n" MSG.OK >CSTR "[OK]\r\n" MSG.ERR >CSTR "[%h]\r\n" +MSG.INIT >CSTR "Formatting %S (%D Blks),Volname:%S..." *-------------------------------------- LIBBLKDEV >PSTR "libblkdev.o" -DefaultVolName >PSTR "BLANK" +DefaultVolName >PSTR "BLANKXXXXXXXX" ArgCount .BS 1 ArgIndex .BS 1 hLIBBLKDEV .BS 1 +BlockSize .BS 2 +hBuf .BS 1 +BlkCnt .BS 1 +BlkParams.Ptr .BS 2 +BlkParams.Num .BS 2 *-------------------------------------- .DUMMY .OR 0 DS.START VolName .BS 16 -DevName .BS 4 -bCANCEL .BS 1 +hDev .BS 5 bLL .BS 1 DS.END .ED diff --git a/LIB/LIBBLKDEV.S.txt b/LIB/LIBBLKDEV.S.txt index c1a51561..d7fbdc0a 100644 --- a/LIB/LIBBLKDEV.S.txt +++ b/LIB/LIBBLKDEV.S.txt @@ -75,13 +75,13 @@ L.TrkWriter .DA TrkWriter L.ProDOS.Boot .DA ProDOS.Boot .DA 0 */-------------------------------------- -* #GetProDOSCatSize +* # GetProDOSCatSize * Compute space needed for ProDOS Catalog -* ##In : +* ## In : * PUSHW = DevSize (in 512b blocks) -* ##Out : +* ## Out : * X=BlockCount (max 22) -* A=PageCount (max 44) +* Y,A=BufSize (max $4400) *\-------------------------------------- GetProDOSCatSize >PULLAX A=DevSizeLo @@ -109,8 +109,8 @@ GetProDOSCatSizeAX asl A = Total pages needed to build catalog. rts */-------------------------------------- -* #BuildProDOSCat -* ##In : +* # BuildProDOSCat +* ## In : * PUSHW = DevSize (in 512b blocks) * PUSHW = VolName (PSTR) * PUSHW = DstBuf (Zero filled) @@ -250,7 +250,8 @@ BuildProDOSCat >PULLW ZPPtr1 DstBuf inc ZPPtr1+1 bra .7 -.88 rts +.88 clc + rts */-------------------------------------- *\-------------------------------------- D2TrkRNIB @@ -258,13 +259,13 @@ D2TrkRNIB *\-------------------------------------- D2TrkR16s */-------------------------------------- -* #TrkW16s +* # TrkW16s * Write a track (16 sectors) -* ##In: +* ## In: * PUSHW = Ptr to 16*256 buffer * PUSHB = TrackNum * 4 : 0->140+ * PUSHB = DSSS0000 -* ##Out: +* ## Out: * CC : success * CS : A = Error * A=0, currently starting/seeking... @@ -274,13 +275,13 @@ D2TrkW16s clc rts */-------------------------------------- -* #TrkWNIB +* # TrkWNIB * Write a track (NIBBLE) -* ##In: +* ## In: * PUSHW = Ptr to NIBBLE buffer (0 ended) * PUSHB = TrackNum * 4 : 0->140+ * PUSHB = DSSS0000 -* ##Out: +* ## Out: * CC : success * CS : A = Error * A=0, currently starting/seeking... @@ -493,7 +494,38 @@ TrkWriter.Start lda D2ReadMode,x TrkWriter.Size .EQ *-TrkWriter.Start .EP *-------------------------------------- -ProDOS.Boot .BS 512 +ProDOS.Boot .HS 01 38 b0 03 4c 32 a1 86 43 c9 03 08 8a 29 70 4a + .HS 4a 4a 4a 09 c0 85 49 a0 ff 84 48 28 c8 b1 48 d0 + .HS 3a b0 0e a9 03 8d 00 08 e6 3d a5 49 48 a9 5b 48 + .HS 60 85 40 85 48 a0 63 b1 48 99 94 09 c8 c0 eb d0 + .HS f6 a2 06 bc 1d 09 bd 24 09 99 f2 09 bd 2b 09 9d + .HS 7f 0a ca 10 ee a9 09 85 49 a9 86 a0 00 c9 f9 b0 + .HS 2f 85 48 84 60 84 4a 84 4c 84 4e 84 47 c8 84 42 + .HS c8 84 46 a9 0c 85 61 85 4b 20 12 09 b0 68 e6 61 + .HS e6 61 e6 46 a5 46 c9 06 90 ef ad 00 0c 0d 01 0c + .HS d0 6d a9 04 d0 02 a5 4a 18 6d 23 0c a8 90 0d e6 + .HS 4b a5 4b 4a b0 06 c9 0a f0 55 a0 04 84 4a ad 02 + .HS 09 29 0f a8 b1 4a d9 02 09 d0 db 88 10 f6 29 f0 + .HS c9 20 d0 3b a0 10 b1 4a c9 ff d0 33 c8 b1 4a 85 + .HS 46 c8 b1 4a 85 47 a9 00 85 4a a0 1e 84 4b 84 61 + .HS c8 84 4d 20 12 09 b0 17 e6 61 e6 61 a4 4e e6 4e + .HS b1 4a 85 46 b1 4c 85 47 11 4a d0 e7 4c 00 20 4c + .HS 3f 09 26 50 52 4f 44 4f 53 20 20 20 20 20 20 20 + .HS 20 20 a5 60 85 44 a5 61 85 45 6c 48 00 08 1e 24 + .HS 3f 45 47 76 f4 d7 d1 b6 4b b4 ac a6 2b 18 60 4c + .HS bc 09 a9 9f 48 a9 ff 48 a9 01 a2 00 4c 79 f4 20 + .HS 58 fc a0 1c b9 50 09 99 ae 05 88 10 f7 4c 4d 09 + .HS aa aa aa a0 d5 ce c1 c2 cc c5 a0 d4 cf a0 cc cf + .HS c1 c4 a0 d0 d2 cf c4 cf d3 a0 aa aa aa a5 53 29 + .HS 03 2a 05 2b aa bd 80 c0 a9 2c a2 11 ca d0 fd e9 + .HS 01 d0 f7 a6 2b 60 a5 46 29 07 c9 04 29 03 08 0a + .HS 28 2a 85 3d a5 47 4a a5 46 6a 4a 4a 85 41 0a 85 + .HS 51 a5 45 85 27 a6 2b bd 89 c0 20 bc 09 e6 27 e6 + .HS 3d e6 3d b0 03 20 bc 09 bc 88 c0 60 a5 40 0a 85 + .HS 53 a9 00 85 54 a5 53 85 50 38 e5 51 f0 14 b0 04 + .HS e6 53 90 02 c6 53 38 20 6d 09 a5 50 18 20 6f 09 + .HS d0 e3 a0 7f 84 52 08 28 38 c6 52 f0 ce 18 08 88 + .HS f0 f5 bd 8c c0 10 fb 00 00 00 00 00 00 00 00 00 *-------------------------------------- VolDirHdr .DA 0 pointer to previous block .DA 3 pointer to next block diff --git a/LIB/LIBTCPIP.S.ARP.txt b/LIB/LIBTCPIP.S.ARP.txt index 038cfd98..81fde5f2 100644 --- a/LIB/LIBTCPIP.S.ARP.txt +++ b/LIB/LIBTCPIP.S.ARP.txt @@ -5,10 +5,10 @@ INC 1 AUTO 6 .LIST OFF */-------------------------------------- -* #ARP.Clear +* # ARP.Clear * Clear ARP Cache -* ##In : -* ##Out : +* ## In : +* ## Out : *\-------------------------------------- ARP.Clear ldx #K.ARPCACHE.SIZE*S.ARPCACHE .1 stz ARP.CACHE-1,x @@ -17,12 +17,12 @@ ARP.Clear ldx #K.ARPCACHE.SIZE*S.ARPCACHE clc rts */-------------------------------------- -* #ARP.Query +* # ARP.Query * Query ARP Cache and returns HW address -* ##In: +* ## In: * PUSHW PTR to MAC (to fill) * PUSHW PTR to IP -* ##Out: +* ## Out: * CC: hit: MAC filled * CS: missed *\-------------------------------------- @@ -45,9 +45,9 @@ ARP.Query >PULLW ZPPtrIP IP clc .9 rts */-------------------------------------- -* #ARP.Add +* # ARP.Add * Add a static ARP cache record -* ##In: +* ## In: * PUSHW PTR to MAC * PUSHW PTR to IP *\-------------------------------------- @@ -86,10 +86,10 @@ ARP.ADD.I sta ARP.TmpCache clc rts */-------------------------------------- -* #ARP.GetCache +* # ARP.GetCache * Return a Ptr to ARP Cache Table -* ##In: -* ##Out: +* ## In: +* ## Out: * Y,A = PTR to ARP.CACHE *\-------------------------------------- ARP.GetCache >LDYA L.ARP.CACHE diff --git a/LIB/LIBTCPIP.S.DNS.txt b/LIB/LIBTCPIP.S.DNS.txt index 124f5a18..b1d760d4 100644 --- a/LIB/LIBTCPIP.S.DNS.txt +++ b/LIB/LIBTCPIP.S.DNS.txt @@ -5,10 +5,10 @@ INC 1 AUTO 6 .LIST OFF */-------------------------------------- -* #DNS.Clear +* # DNS.Clear * Clear DNS Cache -* ##In : -* ##Out : +* ## In : +* ## Out : *\-------------------------------------- DNS.Clear ldx #K.DNSCACHE.SIZE*S.DNSCACHE .1 stz DNS.CACHE-1,x @@ -17,12 +17,12 @@ DNS.Clear ldx #K.DNSCACHE.SIZE*S.DNSCACHE clc rts */-------------------------------------- -* #DNS.Query +* # DNS.Query * Query DNS for specified host -* ##In: +* ## In: * PUSHW = PTR to IP to fill with cached data * PUSHW = hostname PTR to PSTR -* ##Out: +* ## Out: * CC: hit: IP filled with address * CS: missed *\-------------------------------------- @@ -125,9 +125,9 @@ DNS.REQUEST lda hDNSSocket1 .9 sec rts */-------------------------------------- -* #DNS.Add +* # DNS.Add * Add a static DNS record -* ##In: +* ## In: * PUSHW = PTR to IP * PUSHW = hostname PSTR to Add *\-------------------------------------- @@ -175,10 +175,10 @@ DNS.ADD.I sta DNS.TmpCache clc .9 rts */-------------------------------------- -* #DNS.GetCache +* # DNS.GetCache * Return a Ptr to DNS Cache Table -* ##In: -* ##Out: +* ## In: +* ## Out: * Y,A = PTR to DNS.CACHE *\-------------------------------------- DNS.GetCache >LDYA L.DNS.CACHE diff --git a/LIB/LIBTCPIP.S.SKT.txt b/LIB/LIBTCPIP.S.SKT.txt index 39c7515c..20b087c1 100644 --- a/LIB/LIBTCPIP.S.SKT.txt +++ b/LIB/LIBTCPIP.S.SKT.txt @@ -5,11 +5,11 @@ INC 1 AUTO 6 .LIST OFF */-------------------------------------- -* #SKT.New +* # SKT.New * Create a new socket -* ##In : +* ## In : * PUSHW = PTR to S.SOCKET template -* ##Out : +* ## Out : * YA = PTR to new S.SOCKET * X = hSocket *\-------------------------------------- @@ -122,11 +122,11 @@ SKT.New.Listen sec sec .99 rts */-------------------------------------- -* #SKT.CloseA +* # SKT.CloseA * Close socket -* ##In : +* ## In : * A = hSocket -* ##Out : +* ## Out : *\-------------------------------------- SKT.CloseA and #$7f cmp #K.SKTTABLE.SIZE @@ -193,11 +193,11 @@ SKT.CloseA and #$7f clc rts */-------------------------------------- -* #SKT.GetA +* # SKT.GetA * Get Ptr to socket -* ##In : +* ## In : * A = hSocket -* ##Out : +* ## Out : * Y,A = pS.SOCKET *\-------------------------------------- SKT.GetA jsr SKT.GetA.I @@ -250,10 +250,10 @@ SKT.GetA.I and #$7f sec rts */-------------------------------------- -* #SKT.GetTable +* # SKT.GetTable * Get socket table -* ##In : -* ##Out : +* ## In : +* ## Out : * Y,A = pS.SOCKET *\-------------------------------------- SKT.GetTable lda hSocketTable @@ -261,11 +261,11 @@ SKT.GetTable lda hSocketTable clc rts */-------------------------------------- -* #SKT.AcceptA +* # SKT.AcceptA * Check for an incoming connection -* ##In : +* ## In : * A = hListeningSocket -* ##Out : +* ## Out : * A = hSocket *\-------------------------------------- SKT.AcceptA jsr SKT.GetA.I @@ -302,11 +302,11 @@ SKT.AcceptA jsr SKT.GetA.I sec .9 rts */-------------------------------------- -* #SKT.MkNodA +* # SKT.MkNodA * Create a new file from TCP socket -* ##In : +* ## In : * A = hSocket -* ##Out : +* ## Out : * A = hFile *\-------------------------------------- SKT.MkNodA @@ -314,13 +314,13 @@ SKT.MkNodA sec rts */-------------------------------------- -* #SKT.Write (DGRAM,STREAM,RAW) +* # SKT.Write (DGRAM,STREAM,RAW) * Send block of data -* ##In : +* ## In : * PUSHB = hSocket * PUSHW = pBuf * PUSHW = len -* ##Out : +* ## Out : *\-------------------------------------- SKT.Write >PULLW ZPDataInLen >PULLW ZPDataInPtr @@ -419,10 +419,10 @@ SKT.Write.TCP ldy #S.SOCKET.TCP.STATUS sec .99 rts */-------------------------------------- -* #SKT.ReadA (DGRAM,RAW) -* ##In : +* # SKT.ReadA (DGRAM,RAW) +* ## In : * A = hSocket -* ##Out : +* ## Out : * A = hFrame *\-------------------------------------- SKT.ReadA jsr SKT.GetA.I @@ -455,12 +455,12 @@ SKT.ReadA jsr SKT.GetA.I .99 sec .9 rts */-------------------------------------- -* #SKT.PutC (STREAM) +* # SKT.PutC (STREAM) * Write a Char To Stream -* ##In : +* ## In : * PUSHB = hSocket * PUSHB = Char -* ##Out : +* ## Out : *\-------------------------------------- SKT.PutC >PULLB TmpByte @@ -475,12 +475,12 @@ SKT.PutC >PULLB TmpByte stx ZPDataInPtr+1 bra SKT.PutS.1 */-------------------------------------- -* #SKT.PutS (STREAM) +* # SKT.PutS (STREAM) * Write Line in pBuf -* ##In : +* ## In : * PUSHB = hSocket * PUSHW = PSTR -* ##Out : +* ## Out : *\-------------------------------------- SKT.PutS >PULLW ZPDataOutPtr lda (ZPDataInPtr) @@ -505,11 +505,11 @@ SKT.PutS.1 >PULLA sec rts */-------------------------------------- -* #SKT.GetCA (STREAM) +* # SKT.GetCA (STREAM) * Read a Char From Stream in A -* ##In : +* ## In : * A = hSocket -* ##Out : +* ## Out : * A = char *\-------------------------------------- SKT.GetCA stz bTextMode @@ -529,25 +529,25 @@ SKT.GetCA stz bTextMode .9 rts */-------------------------------------- -* #SKT.GetS (STREAM) +* # SKT.GetS (STREAM) * Read a CR terminated Line in pBuf -* ##In : +* ## In : * PUSHB = hSocket * PUSHW = pBuf * PUSHW = len -* ##Out : +* ## Out : * Y,A = bytes read *\-------------------------------------- SKT.GetS sec .HS 90 bcc */-------------------------------------- -* #SKT.Read (STREAM) +* # SKT.Read (STREAM) * Read data in pBuf -* ##In : +* ## In : * PUSHB = hSocket * PUSHW = pBuf * PUSHW = len -* ##Out : +* ## Out : * Y,A = bytes transfered *\-------------------------------------- SKT.Read clc diff --git a/README.md b/README.md index b6bf2cad..7b10d769 100644 --- a/README.md +++ b/README.md @@ -146,6 +146,7 @@ note : '$VAR' does NOT expand Variable | CAT | Working | -A : Show All non printable caracters | 0.9 | | | | -N : Number all output lines | | | | | -S : Suppress repeated empty output lines | | +| FORMAT | In Progress | -L : Low-Level Format | 0.9 | | EDIT | Working | still missing : find/replace | 0.9 | | NSCUTIL | Working | Tool for setting time in NSC/DL1216E | 0.9 | | ---- | ------ | ------- | ----- | diff --git a/SYS/KERNEL.S.ARG.txt b/SYS/KERNEL.S.ARG.txt index 01e4e429..91c0b296 100644 --- a/SYS/KERNEL.S.ARG.txt +++ b/SYS/KERNEL.S.ARG.txt @@ -4,11 +4,11 @@ LOMEM $A00 INC 1 AUTO 6 */-------------------------------------- -* #GetArgC +* # GetArgC * Returns argument count in the process command line. -* ##In: +* ## In: * none. -* ##Out: +* ## Out: * A = Command line Arg Count (Including /path/cmd) *\-------------------------------------- K.GetArgC jsr ARG.InitArgPtr1 @@ -25,10 +25,10 @@ K.GetArgC jsr ARG.InitArgPtr1 .8 txa rts */-------------------------------------- -* #GetArgA -* ##In: +* # GetArgA +* ## In: * A = argument index. -* ##Out: +* ## Out: * CC : success * Y,A = PStr To Arg[A] * CS : Out Of Bound diff --git a/SYS/KERNEL.S.CHR.txt b/SYS/KERNEL.S.CHR.txt index 40cf0762..d2563bbe 100644 --- a/SYS/KERNEL.S.CHR.txt +++ b/SYS/KERNEL.S.CHR.txt @@ -4,12 +4,12 @@ LOMEM $A00 INC 1 AUTO 6 */-------------------------------------- -* #FPutCAY +* # FPutCAY * Print A (char) to File -* ##In: +* ## In: * A : char to print * Y = hFILE -* ##Out: +* ## Out: * CC = success *\-------------------------------------- K.FPutCAY sta K.PutC.Char @@ -21,11 +21,11 @@ K.PutCA.8 ply clc rts */-------------------------------------- -* #PutCA +* # PutCA * Print A (char) to StdOut -* ##In: +* ## In: * A : char to print -* ##Out: +* ## Out: * CC = success *\-------------------------------------- K.PutCA sta K.PutC.Char @@ -123,20 +123,20 @@ K.PutCA.FIFO ldy #S.NODE.FIFO.S K.PutC.Char .BS 1 K.PutC.Node .BS 1 */-------------------------------------- -* #FGetCA +* # FGetCA * Get char from File -* ##In: +* ## In: * A = hFILE -* ##Out: +* ## Out: * CC = success * A = char *\-------------------------------------- */-------------------------------------- -* #GetC +* # GetC * Get char from StdIn -* ##In: +* ## In: * none. -* ##Out: +* ## Out: * CC = success * A = char *\-------------------------------------- @@ -190,40 +190,40 @@ K.GetC.SSOCK lda (pDev) #S.NODE.HANDLER *-------------------------------------- K.GetC.FIFO */-------------------------------------- -* #FPutS +* # FPutS * Write String to FILE -* ##In: +* ## In: * PUSHW : CPtr * PUSHB : hFILE -* ##Out: +* ## Out: * CC = success *\-------------------------------------- K.FPutS */-------------------------------------- -* #PutSYA +* # PutSYA * Write String to StdOut -* ##In: +* ## In: * Y,A : CPtr -* ##Out: +* ## Out: * CC = success *\-------------------------------------- K.PutSYA */-------------------------------------- -* #FGetS +* # FGetS * Read String From FILE -* ##In: +* ## In: * PUSHW : CPtr * PUSHB : hFILE -* ##Out: +* ## Out: * CC = success *\-------------------------------------- K.FGetS */-------------------------------------- -* #GetSYA +* # GetSYA * Read String From StdIn -* ##In: +* ## In: * Y,A : CPtr -* ##Out: +* ## Out: * CC = success *\-------------------------------------- K.GetSYA diff --git a/SYS/KERNEL.S.CIO.txt b/SYS/KERNEL.S.CIO.txt index bcbf1f48..872f92fc 100644 --- a/SYS/KERNEL.S.CIO.txt +++ b/SYS/KERNEL.S.CIO.txt @@ -4,14 +4,14 @@ LOMEM $A00 INC 1 AUTO 6 */-------------------------------------- -* #SScanF +* # SScanF * Scan a PStr (in progress) -* ##In: +* ## In: * PUSHW PTR to target buffer * PUSHW PSTR pattern (ex: "%d.%d.%d.%d") * %d : byte * PUSHW PSTR to scan (ex: "192.168.1.5") -* ##Out: +* ## Out: *\-------------------------------------- K.SScanF jsr PullPtr1Ptr2Ptr3 @@ -102,9 +102,9 @@ K.SScanF.IsDigit .1 sec rts */-------------------------------------- -* #PPrintFYA/CPrintFYA +* # PPrintFYA/CPrintFYA * Prints Pascal/C-Style String -* ##In: +* ## In: * Y,A = PTR to PStr/CStr * %a : pull 2 bytes to Print Access right String 'drwxrwxrwx' * %b : pull 1 byte to Print BIN @@ -137,7 +137,7 @@ K.SScanF.IsDigit * %11s : 'ABCDEFGH ' * %011s : 'ABCDEFGH000' * %2f : '3.14' -* ##Out: +* ## Out: * CC : success * CS : I/O error from COut *\-------------------------------------- diff --git a/SYS/KERNEL.S.D01.txt b/SYS/KERNEL.S.D01.txt index dc560019..f832e468 100644 --- a/SYS/KERNEL.S.D01.txt +++ b/SYS/KERNEL.S.D01.txt @@ -46,7 +46,7 @@ A2osX.PrtDrv.Go.Cmd *-------------------------------------- A2osX.PrtDrv.GetParam >STYA ZPDRV Get Ptr To ParamList - jsr A2osX.Blk.GetDev + jsr A2osX.Blk.GetCmdAndDev ldy #7 diff --git a/SYS/KERNEL.S.DEV.txt b/SYS/KERNEL.S.DEV.txt index 98addcac..8afe4375 100644 --- a/SYS/KERNEL.S.DEV.txt +++ b/SYS/KERNEL.S.DEV.txt @@ -4,10 +4,10 @@ LOMEM $A00 INC 1 AUTO 6 */-------------------------------------- -* #GetDevByIDA -* ##IN: +* # GetDevByIDA +* ## IN: * A = DevID -* ##OUT: +* ## OUT: * CC = OK, CS = ERROR * Y,A = DEVSLOT * note: X Unmodified @@ -29,10 +29,10 @@ K.GetDevByIDA cmp DevMgr.Count adc /DevMgr.Table rts CC */-------------------------------------- -* #GetDevByNameYA -* ##IN: +* # GetDevByNameYA +* ## IN: * Y,A = Ptr to device name (PStr) -* ##OUT: +* ## OUT: * CC = OK, CS = ERROR * X = DEVID * Y,A = DEVSLOT @@ -81,10 +81,10 @@ K.GetDevByNameYA K.GetDevDNF lda #MLI.ERR.NODEV CS from cpx/beq rts */-------------------------------------- -* #GetDevStatusA -* ##IN: +* # GetDevStatusA +* ## IN: * A = DevID -* ##OUT: +* ## OUT: * CC = OK, CS = ERROR * Y,A = Ptr to S.DEVINFO *\-------------------------------------- @@ -94,11 +94,11 @@ K.GetDevStatusA jsr K.GetDevByIDA ldx #DEVMGR.STATUS jmp (ZPPtr1) */-------------------------------------- -* #MkNodYA +* # MkNodYA * return a hFile for a given Device Name -* ##IN: +* ## IN: * Y,A=DevName -* ##OUT: +* ## OUT: * CC = OK, CS = ERROR * A = hFILE *\-------------------------------------- @@ -148,11 +148,11 @@ K.MkNodYA jsr K.GetDevByNameYA Ptr1=NAME sec rts */-------------------------------------- -* #MkNodA +* # MkNodA * return a hFile for a given Socket -* ##IN: +* ## IN: * A=hSocket -* ##OUT: +* ## OUT: * CC = OK, CS = ERROR * A = hFILE *\-------------------------------------- @@ -175,10 +175,10 @@ K.MkNodA sta .1+1 txa .9 rts */-------------------------------------- -* #MKFIFO +* # MKFIFO * return a S.FILE to a new FIFO -* ##IN: -* ##OUT: +* ## IN: +* ## OUT: * CC = OK, CS = ERROR * A = hFILE *\-------------------------------------- diff --git a/SYS/KERNEL.S.DIR.txt b/SYS/KERNEL.S.DIR.txt index e0afebc0..595ebcc5 100644 --- a/SYS/KERNEL.S.DIR.txt +++ b/SYS/KERNEL.S.DIR.txt @@ -4,10 +4,10 @@ LOMEM $A00 INC 1 AUTO 6 */-------------------------------------- -* #OpenDirYA -* ##In: +* # OpenDirYA +* ## In: * Y,A = PATH (PSTR) -* ##Out: +* ## Out: * CC : success * A = hDIR * CS : error @@ -64,10 +64,10 @@ K.OpenDirYA jsr PFT.CheckPathYA sec .99 rts */-------------------------------------- -* #ReadDirA -* ##In: +* # ReadDirA +* ## In: * A = hDIR -* ##Out: +* ## Out: * CC : success * X = hDIRENT * Y,A = PTR to S.DIRENT @@ -565,10 +565,10 @@ ADDF.DST .DA #S.STAT.P.TYPE,#S.STAT.BLOCKS,#S.STAT.BLOCKS+1 .DA #S.STAT.SIZE,#S.STAT.SIZE+1,#S.STAT.SIZE+2 .DA #S.STAT.P.AUXTYPE,#S.STAT.P.AUXTYPE+1 */------------------------------------- -* #CloseDirA -* ##In: +* # CloseDirA +* ## In: * A = hDIR -* ##Out: +* ## Out: * none, always succeed. *\------------------------------------- K.CloseDirA .EQ K.FCloseA @@ -594,10 +594,10 @@ K.CloseDirA.1 .EQ K.FCloseA.1 *.2 lda K.ReadDirA.hDir * jmp K.FreeMemA */------------------------------------- -* #MKDirYA -* ##In: +* # MKDirYA +* ## In: * Y,A = DIR name -* ##Out: +* ## Out: * CC : success * CS : error * A = EC diff --git a/SYS/KERNEL.S.ENV.txt b/SYS/KERNEL.S.ENV.txt index d814caa9..247f4361 100644 --- a/SYS/KERNEL.S.ENV.txt +++ b/SYS/KERNEL.S.ENV.txt @@ -4,10 +4,10 @@ LOMEM $A00 INC 1 AUTO 6 */-------------------------------------- -* #ExpandPStrYA -* ##In: +* # ExpandPStrYA +* ## In: * Y,A = PTR to String to Expand (PSTR) -* ##Out: +* ## Out: * X = hMem to Expanded String (PSTR) * Y,A = PTR to Expanded String *\-------------------------------------- @@ -173,10 +173,10 @@ K.ExpandPStr.bFound .BS 1 K.ExpandPStr.bNoExp .BS 1 K.ExpandPStr.hPStr .BS 1 */-------------------------------------- -* #PutEnvYA -* ##In: +* # PutEnvYA +* ## In: * Y,A = PTR to String NAME=VALUE (PSTR) -* ##Out: +* ## Out: *\-------------------------------------- K.PutEnvYA >STYA ZPPtr1 NAME=VALUE @@ -227,11 +227,11 @@ K.PutEnvYA >STYA ZPPtr1 NAME=VALUE .9 sec rts */-------------------------------------- -* #SetEnv -* ##In: +* # SetEnv +* ## In: * PUSHW = PTR To Value (PSTR) * PUSHW = PTR To Name (PSTR) -* ##Out: +* ## Out: *\-------------------------------------- K.SetEnv jsr PullPtr1Ptr2 Ptr1=NAME,Ptr2=VALUE @@ -306,10 +306,10 @@ K.SetEnvPtr1Ptr2 sec rts */-------------------------------------- -* #GetEnvYA -* ##In: +* # GetEnvYA +* ## In: * Y,A = PTR to NAME (PSTR) -* ##Out: +* ## Out: * CC : Y,A = PTR to VALUE (PSTR) * CS : not found *\-------------------------------------- @@ -327,10 +327,10 @@ K.GetEnvYA >STYA ZPPtr1 .9 >LDYAI EmptyPSTR rts */-------------------------------------- -* #UnsetEnvYA -* ##In: +* # UnsetEnvYA +* ## In: * Y,A = PTR To Name (PSTR) -* ##Out: +* ## Out: *\-------------------------------------- K.UnsetEnvYA >STYA ZPPtr1 Store VAR Name S.UnsetEnvPtr1 jsr ENV.FindVarPtr1 diff --git a/SYS/KERNEL.S.FILE.txt b/SYS/KERNEL.S.FILE.txt index d4279353..ce3a3ebf 100644 --- a/SYS/KERNEL.S.FILE.txt +++ b/SYS/KERNEL.S.FILE.txt @@ -8,9 +8,9 @@ AUTO 6 * Must be kept in X before calling * PFT.Check */-------------------------------------- -* #FOpen +* # FOpen * Open a file -* ##In : +* ## In : * PUSHW = AUXTYPE * PUSHB = TYPE * PUSHB = MODE @@ -20,7 +20,7 @@ AUTO 6 * SYS.FOpen.T : Open/Append in Text mode * SYS.FOpen.X : Create if not exists * PUSHW = PATH (PSTR) -* ##Out : +* ## Out : * CC : A = hFILE * CS : A = EC *\-------------------------------------- @@ -124,11 +124,11 @@ K.FOpen.TYPE .BS 1 K.FOpen.AUXTYPE .BS 2 hFILE .BS 1 */-------------------------------------- -* #FCloseA +* # FCloseA * Close a file -* ##In : +* ## In : * A = hFILE -* ##Out : +* ## Out : *\-------------------------------------- K.FCloseA jsr PFT.CheckNodeA sta K.FCloseA.2+1 @@ -149,22 +149,22 @@ K.FCloseA.1 ldy #S.NODE.REG.REF K.FCloseA.2 lda #$ff Self Modified jmp K.FreeMemA */-------------------------------------- -* #FReadA +* # FReadA * Read ONE byte from file -* ##In : +* ## In : * A = hFILE -* ##Out : +* ## Out : * A = Byte Read *\-------------------------------------- K.FReadA jsr PFT.CheckNodeA ldx #MLIREAD bra K.FReadWrite.0 */-------------------------------------- -* #FWriteAY -* ##In: +* # FWriteAY +* ## In: * A = hFILE * Y = char -* #Out: +* # Out: * Y,A = Bytes Written *\-------------------------------------- K.FWriteAY jsr PFT.CheckNodeA @@ -183,25 +183,25 @@ K.FReadWrite.0 jsr FILE.SetupPrt1A .9 rts K.FWriteAY.Buf .BS 1 */-------------------------------------- -* #FRead +* # FRead * Read bytes from file -* ##In : +* ## In : * PUSHW = Dest Ptr * PUSHW = Bytes To Read * PUSHB = hFILE -* ##Out : +* ## Out : * Y,A = Bytes Read *\-------------------------------------- K.FRead jsr PFT.CheckNodeSTK ldx #MLIREAD bra K.FReadWrite.1 */-------------------------------------- -* #FWrite -* ##In: +* # FWrite +* ## In: * PUSHW = Src Ptr * PUSHW = Bytes To Write * PUSHB = hFILE -* #Out: +* # Out: * Y,A = Bytes Written *\-------------------------------------- K.FWrite jsr PFT.CheckNodeSTK @@ -217,8 +217,8 @@ K.FReadWrite.1 >PULLA >LDYA K.MLI.PARAMS+6 .9 rts */-------------------------------------- -* #FFlushA -* ##In: +* # FFlushA +* ## In: * A = hFILE *\-------------------------------------- K.FFlushA jsr PFT.CheckNodeA @@ -226,8 +226,8 @@ K.FFlushA jsr PFT.CheckNodeA >MLICALL MLIFLUSH rts */------------------------------------- -* #FSeek -* ##In: +* # FSeek +* ## In: * PUSHW = OffsetHi * PUSHW = OffsetLo * PUSHB = From @@ -285,10 +285,10 @@ K.FSeek jsr PFT.CheckNodeSTK K.FSeek.FROM .BS 1 K.FSeek.OFFSET .BS 4 */-------------------------------------- -* #FTellA -* ##In: +* # FTellA +* ## In: * A = hFILE -* ##Out: +* ## Out: * Y,A,X = Offset *\-------------------------------------- K.FTellA jsr PFT.CheckNodeA @@ -299,10 +299,10 @@ K.FTellA.1 jsr FILE.SetupPrt1A ldx K.MLI.PARAMS+4 .9 rts */-------------------------------------- -* #FEOFA -* ##In: +* # FEOFA +* ## In: * A = hFILE -* ##Out: +* ## Out: * CC : * A=0 EOF * A !=0 NOT EOF @@ -331,19 +331,19 @@ K.FEOFA jsr PFT.CheckNodeA .9 rts K.FEOFA.MARK .BS 3 */-------------------------------------- -* #RemoveYA +* # RemoveYA *\-------------------------------------- K.RemoveYA jsr PFT.CheckPathYA >STYA K.MLI.PARAMS+1 >MLICALL MLIDESTROY rts */-------------------------------------- -* #Rename +* # Rename * Rename a file -* ##In : +* ## In : * PUSHW = New Name * PUSHW = Old Name -* ##Out : +* ## Out : *\-------------------------------------- K.Rename jsr PFT.CheckPathSTK >PULLW K.MLI.PARAMS+1 @@ -351,12 +351,12 @@ K.Rename jsr PFT.CheckPathSTK >MLICALL MLIRename rts */-------------------------------------- -* #Stat +* # Stat * Return information about a file -* ##In : +* ## In : * PUSHW = PTR to S.STAT buffer * PUSHW = PTR to Filename (PSTR) -* ##Out : +* ## Out : *\-------------------------------------- K.Stat jsr PFT.CheckPathSTK >PULLW K.MLI.PARAMS+1 diff --git a/SYS/KERNEL.S.FIO.txt b/SYS/KERNEL.S.FIO.txt index 32b5493a..301c8495 100644 --- a/SYS/KERNEL.S.FIO.txt +++ b/SYS/KERNEL.S.FIO.txt @@ -4,13 +4,13 @@ LOMEM $A00 INC 1 AUTO 6 */-------------------------------------- -* #FileSearch +* # FileSearch * Search a file in the provided PATH list * And return, if found, the full path to it. -* ##In: +* ## In: * PUSHW = Ptr to Search Path (PSTR) %LIB%;/SYS/SLIB * PUSHW = Ptr to File Name (PSTR) -* ##Out: +* ## Out: * CC : success * Y,A = PSTR to FilePath (PSTR) * X = hMem to FilePath @@ -78,10 +78,10 @@ K.FileSearch >PULLW ZPPtr4 ZPPtr1 trashed by ExpandPStrYA K.FileSearch.hSrch .BS 1 K.FileSearch.Index .BS 1 */-------------------------------------- -* #GetFullPathYA -* ##In : +* # GetFullPathYA +* ## In : * Y,A = Filename (PSTR) -* ##Out : +* ## Out : * CC : success * Y,A = FullPath (PSTR) * X = hMem of FullPath @@ -117,13 +117,13 @@ K.GetFullPathYA.9 sec rts */-------------------------------------- -* #LoadFile -* ##In: +* # LoadFile +* ## In: * PUSHW = AUXTYPE (Handled by.... * PUSHB = TYPE ... * PUSHB = MODE ... * PUSHW = PATH ...FOpen) -* ##Out: +* ## Out: * Y,A = File Length * X = hMem of Loaded File *\-------------------------------------- @@ -190,8 +190,8 @@ K.LoadFile.Seek >PUSHWI 0 >PUSHB K.LoadFile.hFile jmp K.FSeek */-------------------------------------- -* #SaveFile -* ##In: +* # SaveFile +* ## In: * PUSHW = SrcLen * PUSHW = SrcPtr * PUSHW = AUXTYPE (Handled by.... diff --git a/SYS/KERNEL.S.GP.txt b/SYS/KERNEL.S.GP.txt index 89ef5e6e..f2a68cca 100644 --- a/SYS/KERNEL.S.GP.txt +++ b/SYS/KERNEL.S.GP.txt @@ -89,10 +89,10 @@ A2osX.MLICALL1 stx .1 jsr GO.A2osX rts *-------------------------------------- -* A2osX.DIIDrv,A2osX.BlkDrv +* A2osX.DIIDrv * X = DEVMGR.cmd * Y,A = PTR to Params -* pDev -> Dev Header +* pDev -> Dev Header AUX!!! * $42 Command Number * $43 Unit Number * $44-$45 Buffer Pointer @@ -102,21 +102,25 @@ A2osX.DIIDrv .DA A2osX.DIIDrv.S status .DA A2osX.DIIDrv.RW Read .DA A2osX.DIIDrv.RW Write .DA A2osX.DRV.BadCall Format - .DA A2osX.DRV.BadCall - .DA A2osX.DRV.BadCall - .DA A2osX.DRV.BadCall - .DA A2osX.DRV.BadCall - .DA A2osX.DRV.BadCall - .DA A2osX.DRV.BadCall - .DA A2osX.DRV.BadCall +* .DA A2osX.DRV.BadCall +* .DA A2osX.DRV.BadCall +* .DA A2osX.DRV.BadCall +* .DA A2osX.DRV.BadCall +* .DA A2osX.DRV.BadCall +* .DA A2osX.DRV.BadCall +* .DA A2osX.DRV.BadCall *-------------------------------------- A2osX.DIIDrv.S >LDYAI A2osx.DIIStat clc rts *-------------------------------------- -A2osX.DIIDrv.RW jsr A2osX.Blk.GetParam - +A2osX.DIIDrv.RW >STYA A2osX.Blk.GetParam.1+1 + jsr A2osX.Blk.GetCmdAndDevAX jsr GO.ProDOS + stx $42 + sta $43 + + jsr A2osX.Blk.GetParam jsr $D000 jsr GO.A2osX rts @@ -130,35 +134,47 @@ A2osx.DIIStat .DA #S.DEVSTAT.S.BLOCK+S.DEVSTAT.S.WRITE+S.DEVSTAT.S.READ .DA #0 .DA #0,#9 *-------------------------------------- -* Generic Blk Device +* A2osX.BlkDrv +* X = DEVMGR.cmd +* Y,A = PTR to Params +* pDev -> Dev Header +* $42 Command Number +* $43 Unit Number +* $44-$45 Buffer Pointer +* $46-$47 Block Number *-------------------------------------- A2osX.BlkDrv .DA A2osX.BlkDrv.S status .DA A2osX.BlkDrv.RW .DA A2osX.BlkDrv.RW .DA A2osX.BlkDrv.F - .DA A2osX.DRV.BadCall - .DA A2osX.DRV.BadCall - .DA A2osX.DRV.BadCall - .DA A2osX.DRV.BadCall - .DA A2osX.DRV.BadCall - .DA A2osX.DRV.BadCall - .DA A2osX.DRV.BadCall +* .DA A2osX.DRV.BadCall +* .DA A2osX.DRV.BadCall +* .DA A2osX.DRV.BadCall +* .DA A2osX.DRV.BadCall +* .DA A2osX.DRV.BadCall +* .DA A2osX.DRV.BadCall +* .DA A2osX.DRV.BadCall *-------------------------------------- -A2osX.BlkDrv.S jsr A2osX.Blk.GetDev +A2osX.BlkDrv.S jsr A2osX.Blk.GetCmdAndDev jsr A2osX.BlkDrv.Go - bcs * + bcs .9 stx A2osx.BlkStat+S.DEVSTAT.SIZE sty A2osx.BlkStat+S.DEVSTAT.SIZE+1 >LDYAI A2osX.BlkStat clc - rts +.9 rts *-------------------------------------- -A2osX.BlkDrv.RW jsr A2osX.Blk.GetParam +A2osX.BlkDrv.RW >STYA A2osX.Blk.GetParam.1+1 + + jsr A2osX.Blk.GetCmdAndDev + + jsr A2osX.Blk.GetParam bra A2osX.BlkDrv.Go *-------------------------------------- -A2osX.BlkDrv.F jsr A2osX.Blk.GetDev +A2osX.BlkDrv.F jsr A2osX.Blk.GetCmdAndDev + A2osX.BlkDrv.Go ldy #S.DEV.ROM.JMP lda (pDev),y sta .8+1 @@ -175,21 +191,23 @@ A2osX.BlkStat .DA #S.DEVSTAT.S.BLOCK+S.DEVSTAT.S.WRITE+S.DEVSTAT.S.READ .DA #0,#9 *-------------------------------------- A2osX.Blk.GetParam - >STYA ZPDRV Get Ptr To ParamList - jsr A2osX.Blk.GetDev - ldy #3 - -.1 lda (ZPDRV),y +A2osX.Blk.GetParam.1 + lda $ffff,y Self Modified sta $44,y dey - bpl .1 + bpl A2osX.Blk.GetParam.1 rts *-------------------------------------- -A2osX.Blk.GetDev +A2osX.Blk.GetCmdAndDev + jsr A2osX.Blk.GetCmdAndDevAX + stx $42 + sta $43 + rts +A2osX.Blk.GetCmdAndDevAX txa - asl - sta $42 CMD + lsr + tax CMD ldy #S.DEV.DEVID Drive 1, or 2 lda (pDev),y @@ -205,8 +223,7 @@ A2osX.Blk.GetDev asl asl plp - ror - sta $43 DSSS0000 + ror DSSS0000 rts *-------------------------------------- diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index 2a017cb5..27314818 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -22,13 +22,13 @@ MemMgr.ReqFlags .EQ ZPMEMMGR+10 store requested Flags *-------------------------------------- * PUBLIC */-------------------------------------- -* #GetMem -* ##In: +* # GetMem +* ## In: * PUSHW = Size Requested * PUSHB = Options * S.MEM.F.INIT0 : init memory with 00 * S.MEM.F.ALIGN : page aligned -* ##Out: +* ## Out: * CC : success * YA = PTR to Mem * X = hMem @@ -238,10 +238,10 @@ MemMgr.Init0 ldy #S.MEM.PTR .8 rts */-------------------------------------- -* #FreeMemA -* ##In: +* # FreeMemA +* ## In: * A = hMem To Free -* ##Out: +* ## Out: * none. * (X,Y unmodified) *\-------------------------------------- @@ -327,10 +327,10 @@ K.FreeMemA phy *-------------------------------------- K.FreeMemA.ERR >CSTR "***MemMgr:Attempt to Free an already freed hMem at $%H" */-------------------------------------- -* #GetMemPtrA -* ##In: +* # GetMemPtrA +* ## In: * A = hMem -* ##Out: +* ## Out: * Y,A = PTR to MemBlock * (X unmodified) *\-------------------------------------- @@ -343,10 +343,10 @@ K.GetMemPtrA jsr K.GetMemByIDA ply rts */-------------------------------------- -* #GetMemByIDA -* ##In: +* # GetMemByIDA +* ## In: * A = hMem -* ##Out: +* ## Out: * Y,A = ZPMemMgrSPtr = PTR to S.MEM * X unmodified *\-------------------------------------- @@ -403,10 +403,10 @@ K.SetLoMem clc rts */-------------------------------------- -* #GetMemStatYA -* ##In: +* # GetMemStatYA +* ## In: * Y,A = 24 bytes buffer -* ##Out: +* ## Out: * Buffer filled with memory stats *\-------------------------------------- K.GetMemStatYA >STYA ZPMemMgrDstPtr diff --git a/SYS/KERNEL.S.PS.txt b/SYS/KERNEL.S.PS.txt index 2c64666d..2f5fa1c6 100644 --- a/SYS/KERNEL.S.PS.txt +++ b/SYS/KERNEL.S.PS.txt @@ -4,13 +4,13 @@ LOMEM $A00 INC 1 AUTO 6 */-------------------------------------- -* #ExecProcessNewEnvYA -* #ExecProcessYA (Blocking Parent PID) -* #CreateProcessNewEnvYA -* #CreateProcessYA (Non Blocking) -* ##In: +* # ExecProcessNewEnvYA +* # ExecProcessYA (Blocking Parent PID) +* # CreateProcessNewEnvYA +* # CreateProcessYA (Non Blocking) +* ## In: * Y,A = PTR To Cmd Line -* ##Out: +* ## Out: * A = Child PSID *\-------------------------------------- K.ExecProcessNewEnvYA @@ -47,10 +47,10 @@ K.CreateProcessYA K.CreateProcess.Flags .BS 1 K.CreateProcess.CmdLine .BS 2 */-------------------------------------- -* #GetPSByIDA -* ##In : +* # GetPSByIDA +* ## In : * A = PID -* ##Out : +* ## Out : * Y,A = PTR to TSKSLOT *\-------------------------------------- K.GetPSByIDA pha @@ -89,11 +89,11 @@ K.GetPSByIDA pha clc rts */-------------------------------------- -* #Sleep +* # Sleep * Make current process suspend until next RUN -* ##In : +* ## In : * (none) -* ##Out : +* ## Out : * (none) *\-------------------------------------- K.Sleep pla get PC LO diff --git a/SYS/KERNEL.S.STR.txt b/SYS/KERNEL.S.STR.txt index d1a5c10b..ce17e6d8 100644 --- a/SYS/KERNEL.S.STR.txt +++ b/SYS/KERNEL.S.STR.txt @@ -4,11 +4,11 @@ LOMEM $A00 INC 1 AUTO 6 */-------------------------------------- -* #NewPStrYA +* # NewPStrYA * Create a new copy of PSTR -* ##In: +* ## In: * Y,A = PTR to buffer -* ##Out: +* ## Out: * CC : success * Y,A = PTR to String * X = hMem (PSTR) @@ -34,12 +34,12 @@ K.NewPStrYA >STYA ZPPtr2 clc .9 rts */-------------------------------------- -* #PStrCpy +* # PStrCpy * Copy string -* ##In: +* ## In: * PUSHW = Ptr to SRC (PSTR) * PUSHW = Ptr to DST (PSTR) -* ##Out: +* ## Out: * DST = SRC (PSTR) *\-------------------------------------- K.PStrCpy jsr PullPtr1Ptr2 @@ -58,12 +58,12 @@ K.PStrCpyPtr2Ptr1 .2 clc rts */-------------------------------------- -* #PStrCat +* # PStrCat * Append SRC to DST -* ##In: +* ## In: * PUSHW = Ptr to SRC (PSTR) * PUSHW = Ptr to DST (PSTR) -* ##Out: +* ## Out: * DST = DST+SRC (PSTR) *\-------------------------------------- K.PStrCat jsr PullPtr1Ptr2 @@ -93,12 +93,12 @@ K.PStrCat jsr PullPtr1Ptr2 clc rts */-------------------------------------- -* #PStrMatch +* # PStrMatch * Compare a String against pattern -* ##In: +* ## In: * PUSHW = PTR to Pattern (e.g. '*test?.txt') * PUSHW = PTR to Src String -* ##Out: +* ## Out: * CC : match * CS : no match *\-------------------------------------- @@ -167,11 +167,11 @@ K.PStrMatch jsr PullPtr1Ptr2 .9 sec rts */-------------------------------------- -* #PStrUprYA/PStrLwrYA +* # PStrUprYA/PStrLwrYA * Convert string to UPPERCASE/lowercase -* ##In: +* ## In: * Y,A = PTR to String (PSTR) -* ##Out: +* ## Out: * Uppercased/lowercased String in Buffer *\-------------------------------------- K.PStrUprYA ldx #0 @@ -202,9 +202,9 @@ K.PStrLwrYA ldx #2 *-------------------------------------- K.PStrUprLwr .AS "azAZ" */-------------------------------------- -* #PStrFTime +* # PStrFTime * Convert S.TIME struct to PSTR -* ##In: +* ## In: * PUSHW = Dst PTR To PSTR Buf * PUSHW = Src PTR To Format String * %a : Abbreviated weekday name : Thu @@ -222,7 +222,7 @@ K.PStrUprLwr .AS "azAZ" * %y : Year, last two digits (00-99) * %Y : Year four digits 2001 * PUSHW = Src PTR To S.Time -* ##Out: +* ## Out: * none. always succeed. *\-------------------------------------- K.PStrFTime jsr PullPtr1Ptr2Ptr3 @@ -452,11 +452,11 @@ K.PStrFTime.MON >PSTR "January" K.PStrFTime.BIN .BS 1 K.PStrFTime.DEC .BS 1 always < 100 */-------------------------------------- -* #PStr2StrArrayYA +* # PStr2StrArrayYA * Convert a PSTR (e.g. : command Line) to a Array of PSTRs (Args[]) -* ##In: +* ## In: * Y,A = PTR to String -* ##Out: +* ## Out: * CC : success * Y,A = PTR to StrArray * X = hMem diff --git a/SYS/KERNEL.S.txt b/SYS/KERNEL.S.txt index 0e390559..77f604b1 100644 --- a/SYS/KERNEL.S.txt +++ b/SYS/KERNEL.S.txt @@ -98,21 +98,17 @@ A2osX.E0 .EQ * A2osX.E0.SIZE .EQ *-A2osX.E0 * CONTROL SECTION : - .DO A2osX.GP.SIZE>$1E0 .LIST ON + .DO A2osX.GP.SIZE>$1E0 * !!!!!!!!! ERROR:GP too big !!!!!!!!!! - .LIST OFF .FIN .DO A2osX.D1.SIZE>$1000 - .LIST ON * !!!!!!!!! ERROR:BNK1 too big !!!!!!!! - .LIST OFF .FIN .DO A2osX.D2.SIZE>$1000 - .LIST ON * !!!!!!!!! ERROR:BNK2 too big !!!!!!!! - .LIST OFF .FIN + .LIST OFF MAN SAVE /A2OSX.SRC/SYS/KERNEL.S ASM diff --git a/_Docs/LIBBLKDEV.md b/_Docs/LIBBLKDEV.md index cfd713a4..79f8238b 100644 --- a/_Docs/LIBBLKDEV.md +++ b/_Docs/LIBBLKDEV.md @@ -8,7 +8,7 @@ ## Out : + X=BlockCount (max 22) -+ A=PageCount (max 44) ++ Y,A=BufSize (max $4400) # BuildProDOSCat