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 1cf6c22b..10231d44 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/.Floppies/A2OSX.SRC.po b/.Floppies/A2OSX.SRC.po index aacee02c..e7414876 100644 Binary files a/.Floppies/A2OSX.SRC.po and b/.Floppies/A2OSX.SRC.po differ diff --git a/BIN/MEMDUMP.S.txt b/BIN/MEMDUMP.S.txt index 5bd13f56..b29a3429 100644 --- a/BIN/MEMDUMP.S.txt +++ b/BIN/MEMDUMP.S.txt @@ -128,25 +128,20 @@ CS.RUN >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`