From 62efb2d2e0e831c639e985a9afcfdb60bf400091 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 24 Jul 2018 08:24:23 +0200 Subject: [PATCH] Kernel 0.9.2 --- .Docs/KERNEL.md | 16 +++++++++++----- .Docs/LIBBLKDEV.md | 5 +++++ .Docs/LIBTCPIP.md | 10 +++++----- .Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes .Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes BIN/MEMDUMP.S.txt | 15 +++++---------- BIN/PING.S.txt | 2 +- DRV/UTHERNET.DRV.S.txt | 8 +++++++- LIB/LIBTCPIP.S.FRM.txt | 14 ++++++++------ SYS/KERNEL.S.STDIO.txt | 9 ++++++--- 10 files changed, 48 insertions(+), 31 deletions(-) diff --git a/.Docs/KERNEL.md b/.Docs/KERNEL.md index 4425aa47..c2e2b312 100644 --- a/.Docs/KERNEL.md +++ b/.Docs/KERNEL.md @@ -558,18 +558,21 @@ Prints C-Style String **In:** PrintF : (example is for printing Y,A as integer : format="Y,A= %I", 2 bytes) `>PUSHYA` -`>PUSHBI 2` +`...` +`>PUSHBI bytecount` `>LDYAI format` `>SYSCALL printf` SPrintF : `>PUSHYA` -`>PUSHBI 2` +`...` +`>PUSHBI bytecount` `>PUSHWI format` `>LDYAI str` `>SYSCALL sprintf` FPrintF : `>PUSHYA` -`>PUSHBI 2` +`...` +`>PUSHBI bytecount` `>PUSHWI format` `lda hFILE` `>SYSCALL fprintf` @@ -635,12 +638,11 @@ Get char from Node Read formatted data from string ## C -`int sscanf ( const char * s, const char * format, ...);` +`int sscanf ( const char * s, const char * format, ... );` ## ASM **In:** `>PUSHBI Argument Byte count` -`>PUSHWI format` + %i : short int + %d : byte + %I : int @@ -650,6 +652,10 @@ Read formatted data from string + %h : HEX byte + %H : HEX word +`>PUSHW ptr` +`...` +`>PUSHBI bytecount` +`>PUSHWI format` `>LDYA s` **Out:** Y,A = Number of arguments filled. diff --git a/.Docs/LIBBLKDEV.md b/.Docs/LIBBLKDEV.md index a221028a..d8cbfa27 100644 --- a/.Docs/LIBBLKDEV.md +++ b/.Docs/LIBBLKDEV.md @@ -2,6 +2,11 @@ # GetProDOSCatSize Compute space needed for ProDOS Catalog + +## C +int getprodoscatsize (short int options, short int catsize, int devsize ); + +## ASM **In:** PUSHW = DevSize (in 512b blocks) PUSHB = Catalog Size (in blocks) diff --git a/.Docs/LIBTCPIP.md b/.Docs/LIBTCPIP.md index 5dabf7f3..d07d5b47 100644 --- a/.Docs/LIBTCPIP.md +++ b/.Docs/LIBTCPIP.md @@ -60,13 +60,13 @@ YA = PTR to new S.SOCKET X = hSocket -# SKT.CloseA +# SKT.Close Close socket **In:** A = hSocket **Out:** -# SKT.GetA +# SKT.Get Get Ptr to socket **In:** A = hSocket @@ -79,14 +79,14 @@ **Out:** Y,A = pS.SOCKET -# SKT.AcceptA +# SKT.Accept Check for an incoming connection **In:** A = hListeningSocket **Out:** A = hSocket -# SKT.MkNodA +# SKT.MkNod Create a new file from TCP socket **In:** A = hSocket @@ -101,7 +101,7 @@ PUSHW = len **Out:** -# SKT.ReadA (DGRAM,RAW) +# SKT.ReadFrame (DGRAM,RAW) **In:** A = hSocket **Out:** diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 1cf6c22bcd938588ced894950c1f4414aa91a946..10231d44a191fe3c4ecd72d1c5b1830b2a0e1602 100644 GIT binary patch delta 7708 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 H9k%U1OP8R2 diff --git a/.Floppies/A2OSX.SRC.po b/.Floppies/A2OSX.SRC.po index aacee02c98006f1c124a0740f82cf9917a3d4d9a..e74148763a5d76ff65d5dfa6e58413165e421618 100644 GIT binary patch delta 2841 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 VJv1%4)gil3X5t%3Vd9i{_SYSCALL GetChar clc rts -.11 ldy #MEM.COUNT - >PUSHB (pData),y - ldy #USED.COUNT - >PUSHB (pData),y +.11 >PUSHB.G MEM.COUNT + >PUSHB.G USED.COUNT >LDYA L.MSG2 >SYSCALL printf - >LDYA.G MemStat+S.MSTAT.MH - >PUSHYA + >PUSHW.G MemStat+S.MSTAT.MH >LDYA L.MSG3 >SYSCALL printf - >LDYA.G MemStat+S.MSTAT.MF - >PUSHYA + >PUSHW.G MemStat+S.MSTAT.MF >LDYA L.MSG4 >SYSCALL printf - >LDYA.G MemStat+S.MSTAT.ML - >PUSHYA + >PUSHW.G MemStat+S.MSTAT.ML >LDYA L.MSG5 >SYSCALL printf diff --git a/BIN/PING.S.txt b/BIN/PING.S.txt index 07f7c37a..7bbf03ee 100644 --- a/BIN/PING.S.txt +++ b/BIN/PING.S.txt @@ -300,7 +300,7 @@ CS.QUIT ldy #hFrame .1 ldy #hSocket lda (pData),y - >DEBUG + >LIBCALL hLIBTCPIP,LIBTCPIP.SKT.Close lda hLIBTCPIP diff --git a/DRV/UTHERNET.DRV.S.txt b/DRV/UTHERNET.DRV.S.txt index c0d1d5dd..5e3b7922 100644 --- a/DRV/UTHERNET.DRV.S.txt +++ b/DRV/UTHERNET.DRV.S.txt @@ -409,11 +409,17 @@ READ >STYA ZPIOCTL >STYA ZPBufPtr stx .8+1 + ldy #S.IOCTL.BYTECNT + lda Size + sta (ZPIOCTL),y eor #$ff sta Counter - ldy #1 + + iny + lda Size+1 + sta (ZPIOCTL),y eor #$ff sta Counter+1 diff --git a/LIB/LIBTCPIP.S.FRM.txt b/LIB/LIBTCPIP.S.FRM.txt index 907d7bda..d0a5dc45 100644 --- a/LIB/LIBTCPIP.S.FRM.txt +++ b/LIB/LIBTCPIP.S.FRM.txt @@ -26,7 +26,7 @@ FRM.NewIP stx .8+1 .2 lda #S.IP bra .4 -.4 sta .5+1 save Header len for reset later +.4 sta .5+1 save Header len for reset later clc adc ZPDataOutLen sta ZPFrameOutLen @@ -210,8 +210,7 @@ FRM.SendIP ldx #3 Copy SRC.IP even if IP offload jsr IP.SetDestMAC bcs FRM.Queue -.6 >LDYA ZPFrameOutPtr - jsr FRM.Send.Out +.6 jsr FRM.Send.Out bcs FRM.Queue @@ -253,7 +252,8 @@ FRM.Queue ldy hFrameOut no hFrame, cannot queue for retry FRM.Retry ldx FRM.QUEUE.Tail .10 cpx FRM.QUEUE.Head - beq .8 Queue is empty, exit.... + beq .8 Queue is empty, exit... + lda FRM.QUEUE.hMem,x >SYSCALL GetMemPtr >STYA ZPFrameOutPtr @@ -293,7 +293,9 @@ FRM.Retry ldx FRM.QUEUE.Tail .8 rts *-------------------------------------- -FRM.Send.Out >LDYA ZPDataOutPtr +FRM.Send.Out >DEBUG + + >LDYA ZPDataOutPtr >STYA IOCTL+S.IOCTL.BUFPTR >LDYA ZPDataOutLen >STYA IOCTL+S.IOCTL.BYTECNT @@ -302,7 +304,7 @@ FRM.Send.IOCTL >PUSHW L.IOCTL >PUSHBI IOCTL.WRITE lda IPCFG+S.IPCFG.HDEV - >SYSCALL IOCTL try sending again to DRV + >SYSCALL IOCTL rts *-------------------------------------- MAN diff --git a/SYS/KERNEL.S.STDIO.txt b/SYS/KERNEL.S.STDIO.txt index 0f805b35..53d8f480 100644 --- a/SYS/KERNEL.S.STDIO.txt +++ b/SYS/KERNEL.S.STDIO.txt @@ -110,18 +110,21 @@ K.FPutS.I jsr IO.SELECT * **In:** * PrintF : (example is for printing Y,A as integer : format="Y,A= %I", 2 bytes) * `>PUSHYA` -* `>PUSHBI 2` +* `...` +* `>PUSHBI bytecount` * `>LDYAI format` * `>SYSCALL printf` * SPrintF : * `>PUSHYA` -* `>PUSHBI 2` +* `...` +* `>PUSHBI bytecount` * `>PUSHWI format` * `>LDYAI str` * `>SYSCALL sprintf` * FPrintF : * `>PUSHYA` -* `>PUSHBI 2` +* `...` +* `>PUSHBI bytecount` * `>PUSHWI format` * `lda hFILE` * `>SYSCALL fprintf`