From 2199f9e651b4d827d681a46e4f9fac23369f18d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Wed, 18 Jul 2018 17:30:42 +0200 Subject: [PATCH] Kernel 0.9.2 --- .Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes .Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes BIN/ARP.S.txt | 4 +-- BIN/ASM.S.DIR.txt | 4 +-- BIN/ASM.S.FIO.txt | 6 ++-- BIN/ASM.S.MAC.txt | 10 +++--- BIN/ASM.S.OUT.txt | 12 +++---- BIN/ASM.S.SYM.txt | 6 ++-- BIN/ASM.S.txt | 14 ++++---- BIN/ATBROWSE.S.txt | 2 +- BIN/CAT.S.txt | 14 ++++---- BIN/CHTYP.S.txt | 14 ++++---- BIN/DNSINFO.S.txt | 6 ++-- BIN/EDIT.S.BUF.txt | 16 ++++----- BIN/EDIT.S.CTRL.txt | 6 ++-- BIN/EDIT.S.SCRN.txt | 10 +++--- BIN/EDIT.S.txt | 30 ++++++++--------- BIN/FORMAT.S.txt | 12 +++---- BIN/IPCONFIG.S.txt | 6 ++-- BIN/LS.S.txt | 16 ++++----- BIN/LSDEV.S.txt | 71 +++++++++++++++++++-------------------- BIN/MD.S.txt | 6 ++-- BIN/MD5.S.txt | 22 ++++++------ BIN/MEM.S.txt | 2 +- BIN/MEMDUMP.S.txt | 8 ++--- BIN/NSCUTIL.S.txt | 16 ++++----- BIN/PING.S.txt | 12 +++---- BIN/PS.S.txt | 6 ++-- BIN/RPCDUMP.S.txt | 10 +++--- BIN/X.CPMVRM.S.txt | 22 ++++++------ BIN/X.FILEENUM.S.txt | 40 +++++++++++----------- BMP2PIX.S.txt | 6 ++-- DRV/CONSOLE.DRV.S.txt | 68 ++++++++++++++++++++++++++++++++++--- DRV/LANCEGS.DRV.S.txt | 2 +- DRV/X.SSC.DRV.S.txt | 4 +-- FNT2FON.S.txt | 24 ++++++------- INC/A2osX.I.txt | 5 +++ INC/KERNEL.I.txt | 8 ----- LIB/LIBCRYPT.S.txt | 8 ++--- LIB/LIBGUI.S.WND.txt | 2 +- LIB/LIBTCPIP.S.ARP.txt | 2 +- LIB/LIBTCPIP.S.CFG.txt | 2 +- LIB/LIBTCPIP.S.DNS.txt | 8 ++--- LIB/LIBTCPIP.S.FRM.txt | 6 ++-- LIB/LIBTCPIP.S.ICMP.txt | 6 ++-- LIB/LIBTCPIP.S.IP.txt | 2 +- LIB/LIBTCPIP.S.SKT.txt | 26 +++++++------- LIB/LIBTCPIP.S.TCP.txt | 2 +- LIB/LIBTCPIP.S.UDP.txt | 4 +-- LIB/LIBTCPIP.S.txt | 4 +-- SBIN/DHCPCLNT.S.txt | 4 +-- SBIN/GETTY.S.txt | 2 +- SBIN/HTTPD.S.txt | 2 +- SBIN/KCONFIG.S.txt | 12 +++---- SBIN/LOGIN.S.txt | 12 +++---- SBIN/SHELL.S.txt | 3 +- SBIN/TCPIPD.S.CFG.txt | 6 ++-- SBIN/TCPIPD.S.txt | 2 +- SYS/KERNEL.S.CORE.txt | 6 ++-- SYS/KERNEL.S.DEV.txt | 20 ++++++++--- SYS/KERNEL.S.INIT.txt | 14 ++++---- SYS/KERNEL.S.IO.txt | 52 ++++++++++++++++++++++++++-- SYS/KERNEL.S.STDIO.txt | 57 +++++-------------------------- TEST.S.txt | 18 +++++----- 64 files changed, 438 insertions(+), 364 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index d31d0c077b16dcbb60d357aaf95b88fde9a0c02d..c5cdfe31337ebd7e2246e481ba0dbd430fd838f8 100644 GIT binary patch delta 17853 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�rf-oa8`)3A&<8@6cMuwgu-E`F1D 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 delta 17716 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 diff --git a/.Floppies/A2OSX.SRC.po b/.Floppies/A2OSX.SRC.po index 419bc319759902b04c080c29bf3b360c519e2641..ed39d618cad15e1c5569e1ced8fd06fc8cb1d579 100644 GIT binary patch delta 48638 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 delta 47852 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 diff --git a/BIN/ARP.S.txt b/BIN/ARP.S.txt index 4e1c1419..0653a769 100644 --- a/BIN/ARP.S.txt +++ b/BIN/ARP.S.txt @@ -63,7 +63,7 @@ CS.RUN ldy #S.PS.ARGC >PUSHEA.G DST.IP >PUSHW L.SSCANF.IP lda #1 - >SYSCALL GetArg.A + >SYSCALL GetArg >SYSCALL SScanF.YA bcs .9 @@ -125,7 +125,7 @@ CS.RUN.ADD >PUSHEA.G DST.MAC+5 >PUSHEA.G DST.MAC >PUSHW L.SSCANF.MAC lda #2 - >SYSCALL GetArg.A + >SYSCALL GetArg >SYSCALL SScanF.YA bcs .9 diff --git a/BIN/ASM.S.DIR.txt b/BIN/ASM.S.DIR.txt index 1a8a096a..eec0faec 100644 --- a/BIN/ASM.S.DIR.txt +++ b/BIN/ASM.S.DIR.txt @@ -400,7 +400,7 @@ DIR.IN jsr SRC.GetNextCharNB bcs .9 >LDYA ZPLinePtr - >SYSCALL RealPath.YA + >SYSCALL RealPath phx @@ -410,7 +410,7 @@ DIR.IN jsr SRC.GetNextCharNB pha txa - >SYSCALL FreeMem.A + >SYSCALL FreeMem pla plp diff --git a/BIN/ASM.S.FIO.txt b/BIN/ASM.S.FIO.txt index c97718d3..750164e7 100644 --- a/BIN/ASM.S.FIO.txt +++ b/BIN/ASM.S.FIO.txt @@ -7,7 +7,7 @@ FIO.LOAD.ASM.T >STYA ZPPtr2 ldy #S.PS.hARGS lda (pPS),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPPtr1 @@ -48,7 +48,7 @@ FIO.LOAD.ASM.T >STYA ZPPtr2 lda (pData),y beq .4 - >SYSCALL FreeMem.A + >SYSCALL FreeMem ldy #ASM.T.hMem lda #0 sta (pData),y @@ -68,7 +68,7 @@ FIO.LOAD.ASM.T >STYA ZPPtr2 ldy #ASM.T.hMem sta (pData),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPPtr1 ldy #ASM.T.AM diff --git a/BIN/ASM.S.MAC.txt b/BIN/ASM.S.MAC.txt index 1a9c07a5..3d2eaf9a 100644 --- a/BIN/ASM.S.MAC.txt +++ b/BIN/ASM.S.MAC.txt @@ -38,7 +38,7 @@ MAC.Reset >STZ.G MAC.CtxID MAC.Quit >LDA.G MAC.hCtxBuf beq .1 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .1 >LDA.G MAC.hCtxList beq .2 @@ -47,7 +47,7 @@ MAC.Quit >LDA.G MAC.hCtxBuf .2 >LDA.G MAC.hMacroBuf beq .3 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .3 >LDA.G MAC.hMacroList beq .8 @@ -84,15 +84,15 @@ MAC.AddChar >LDA.G ASM.PASS If Pass#2, ignore tax beq .1 -* >SYSCALL PutChar.A +* >SYSCALL PutChar .8 clc rts .1 * lda #13 -* >SYSCALL PutChar.A +* >SYSCALL PutChar * lda #10 -* >SYSCALL PutChar.A +* >SYSCALL PutChar clc diff --git a/BIN/ASM.S.OUT.txt b/BIN/ASM.S.OUT.txt index ef61ca80..6f734b61 100644 --- a/BIN/ASM.S.OUT.txt +++ b/BIN/ASM.S.OUT.txt @@ -47,7 +47,7 @@ OUT.PrintLineErr .3 phx lda #'-' - >SYSCALL PutChar.A + >SYSCALL PutChar plx bcs .9 dex @@ -56,14 +56,14 @@ OUT.PrintLineErr .4 lda #'^' phy - >SYSCALL PutChar.A + >SYSCALL PutChar ply bcs .9 .5 lda #13 - >SYSCALL PutChar.A + >SYSCALL PutChar lda #10 - >SYSCALL PutChar.A + >SYSCALL PutChar .9 rts *--------------------------------------- @@ -167,9 +167,9 @@ OUT.Print >SYSCALL printf bra OUT.Print1 OUT.PrintCR lda #13 - >SYSCALL PutChar.A + >SYSCALL PutChar lda #10 - >SYSCALL PutChar.A + >SYSCALL PutChar OUT.Print1 >DEC.G OUT.LineCnt bne .8 diff --git a/BIN/ASM.S.SYM.txt b/BIN/ASM.S.SYM.txt index 8a8b0aed..92d9afe7 100644 --- a/BIN/ASM.S.SYM.txt +++ b/BIN/ASM.S.SYM.txt @@ -53,17 +53,17 @@ SYM.Reset lda #0 SYM.Quit >LDA.G SYM.hLookupBuf beq .1 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .1 >LDA.G SYM.hNameBuf beq .2 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .2 >LDA.G SYM.hGlobalBuf beq .3 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .3 >LDA.G SYM.hGlobalList beq .8 >SYSCALL SListFree.A diff --git a/BIN/ASM.S.txt b/BIN/ASM.S.txt index e0c4f694..7d1ca1b4 100644 --- a/BIN/ASM.S.txt +++ b/BIN/ASM.S.txt @@ -200,8 +200,8 @@ CS.INIT ldy #S.PS.ARGC beq .99 lda #1 - >SYSCALL GetArg.A - >SYSCALL RealPath.YA + >SYSCALL GetArg + >SYSCALL RealPath txa ldy #SRC.hFILENAME @@ -278,7 +278,7 @@ CS.RUN >SYSCALL GetChar ldy #SRC.hFILENAME lda (pData),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr jsr FIO.OpenFile bcs .99 @@ -344,22 +344,22 @@ CS.QUIT jsr FIO.FileClose >LDA.G ASM.T.hMem beq .1 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .1 >LDA.G SRC.hFILENAME beq .2 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .2 >LDA.G SRC.hLineBuf beq .3 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .3 >LDA.G SRC.hTmpBuf beq .8 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .8 clc rts diff --git a/BIN/ATBROWSE.S.txt b/BIN/ATBROWSE.S.txt index cc24fe31..645d2621 100644 --- a/BIN/ATBROWSE.S.txt +++ b/BIN/ATBROWSE.S.txt @@ -141,7 +141,7 @@ CS.DOEVENT sec *-------------------------------------- CS.QUIT >LDA.G hBuf beq .8 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .8 clc rts diff --git a/BIN/CAT.S.txt b/BIN/CAT.S.txt index 6dc6b3b4..e160ad9b 100644 --- a/BIN/CAT.S.txt +++ b/BIN/CAT.S.txt @@ -40,7 +40,7 @@ L.ASCII .DA ASCII *-------------------------------------- CS.INIT .1 >INC.G ArgCount - >SYSCALL GetArg.A + >SYSCALL GetArg bcs .7 >STYA ZPPtr1 @@ -112,7 +112,7 @@ CS.RUN >SYSCALL GetChar bne .2 .1 >INC.G ArgIndex - >SYSCALL GetArg.A + >SYSCALL GetArg bcs .99 No more arg...the end! >STYA ZPPtr1 @@ -219,11 +219,11 @@ CS.RUN.PRINT sty BytesRead Y,A = Bytes read bra .7 .4 lda #13 - >SYSCALL PutChar.A + >SYSCALL PutChar bcs .9 lda #10 -.6 >SYSCALL PutChar.A +.6 >SYSCALL PutChar bcs .9 .7 inc ByteIndex @@ -245,7 +245,7 @@ CS.RUN.PRINTNUM clc >SYSCALL printf .8 rts *-------------------------------------- -CS.RUN.OPEN >SYSCALL RealPath.YA +CS.RUN.OPEN >SYSCALL RealPath bcs .9 stx hFullPath pha @@ -272,14 +272,14 @@ CS.RUN.OPEN >SYSCALL RealPath.YA .99 pha lda hFullPath - >SYSCALL FreeMem.A + >SYSCALL FreeMem pla .9 sec rts *-------------------------------------- CS.QUIT >LDA.G hBuf beq CS.RUN.CLOSE - >SYSCALL FreeMem.A + >SYSCALL FreeMem CS.RUN.CLOSE ldy #hFILE lda (pData),y diff --git a/BIN/CHTYP.S.txt b/BIN/CHTYP.S.txt index 834d3375..c95e1c03 100644 --- a/BIN/CHTYP.S.txt +++ b/BIN/CHTYP.S.txt @@ -47,7 +47,7 @@ L.PRODOS.FT.TXT .DA PRODOS.FT.TXT *-------------------------------------- CS.INIT .1 >INC.G ArgCount - >SYSCALL GetArg.A + >SYSCALL GetArg bcs .7 >STYA ZPPtr1 @@ -134,7 +134,7 @@ CS.RUN >SYSCALL GetChar >LDA.G hFilter beq .4 No filter.... - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >PUSHYA >PUSHW ZPFileName >SYSCALL StrMatch @@ -225,16 +225,16 @@ CS.RUN.CheckErr bcs .1 rts .2 lda #13 - >SYSCALL PutChar.A + >SYSCALL PutChar lda #10 - >SYSCALL PutChar.A + >SYSCALL PutChar pla sec .9 rts *-------------------------------------- CS.RUN.GetFilePath >LDA.G hSrcBasePath - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >PUSHYA >PUSHW ZPFullPath @@ -254,11 +254,11 @@ CS.QUIT jsr LeaveSubDir >LDA.G hFilter beq .1 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .1 >LDA.G hSrcFullPath beq .8 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .8 clc rts diff --git a/BIN/DNSINFO.S.txt b/BIN/DNSINFO.S.txt index f08adf01..202ac992 100644 --- a/BIN/DNSINFO.S.txt +++ b/BIN/DNSINFO.S.txt @@ -63,14 +63,14 @@ CS.RUN.ADD cmp #2 >PUSHEA.G DST.IP >PUSHW L.SSCANF.IP lda #1 - >SYSCALL GetArg.A + >SYSCALL GetArg >SYSCALL SScanF.YA bcs .9 >PUSHEA.G DST.IP lda #2 - >SYSCALL GetArg.A + >SYSCALL GetArg >PUSHYA >LIBCALL hLIBTCPIP,LIBTCPIP.DNS.ADD bcs .99 @@ -110,7 +110,7 @@ CS.RUN.DUMP >LIBCALL hLIBTCPIP,LIBTCPIP.DNS.GetCache ldy #S.DNSCACHE.hNAME lda (ZPPTR1),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >PUSHYA ldy #S.DNSCACHE.ID diff --git a/BIN/EDIT.S.BUF.txt b/BIN/EDIT.S.BUF.txt index 2a1bd66d..64d39a18 100644 --- a/BIN/EDIT.S.BUF.txt +++ b/BIN/EDIT.S.BUF.txt @@ -8,7 +8,7 @@ BUF.InsertClipboard lda (pData),y beq .8 - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ClipboardPtr jsr BUF.ComputeCOffset @@ -250,10 +250,10 @@ BUF.SelToClipboard lda (pData),y beq .1 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .1 >LDYA TmpCount - >SYSCALL GetMem.YA + >SYSCALL GetMem bcs .9 >STYA ClipboardPtr @@ -270,7 +270,7 @@ BUF.SelToClipboard ldy #hBuffer lda (pData),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA BufPtr lda BufPtr @@ -372,7 +372,7 @@ BUF.GetLineAX sta BUF.TmpLine1 ldy #hBuffer lda (pData),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA BufPtr stz BUF.TmpLine2 @@ -443,17 +443,17 @@ BUF.GetNewYA >STYA TmpLen ldy #hBufferBackup lda (pData),y beq .1 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .1 ldy #hBuffer lda (pData),y ldy #hBufferBackup sta (pData),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA BufPtrBackup >LDYA TmpLen - >SYSCALL GetMem0.YA + >SYSCALL GetMem0 bcs .9 >STYA BufPtr diff --git a/BIN/EDIT.S.CTRL.txt b/BIN/EDIT.S.CTRL.txt index 63d38222..3c025223 100644 --- a/BIN/EDIT.S.CTRL.txt +++ b/BIN/EDIT.S.CTRL.txt @@ -361,7 +361,7 @@ Ctrl.S lda #PromptModeSave lda (pData),y beq .2 - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPPTR1 lda (ZPPTR1) @@ -622,10 +622,10 @@ Prompt.Save cmp #3 ldy #hFileName lda (pData),y beq .11 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .11 >LDYA pData - >SYSCALL NewStr.YA + >SYSCALL NewStr txa ldy #hFileName diff --git a/BIN/EDIT.S.SCRN.txt b/BIN/EDIT.S.SCRN.txt index b6154d8e..631369ca 100644 --- a/BIN/EDIT.S.SCRN.txt +++ b/BIN/EDIT.S.SCRN.txt @@ -12,7 +12,7 @@ SCRN.Init ldy #ScreenH >SYSCALL printf bcs .9 lda #12 - >SYSCALL PutChar.A + >SYSCALL PutChar bcs .9 lda #0 @@ -48,7 +48,7 @@ SCRN.UpdateTopBar ldy #hFileName lda (pData),y beq .1 - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr bra .2 .1 >LDYA L.MSG.NEWFILE @@ -161,7 +161,7 @@ SCRN.UpdateLineAtALenY pla bcs .11 - >SYSCALL PutChar.A + >SYSCALL PutChar .11 ply plx bcs .9 @@ -306,7 +306,7 @@ SCRN.ClearEOLA pha pha lda #' ' - >SYSCALL PutChar.A + >SYSCALL PutChar bcc .1 plx rts @@ -333,7 +333,7 @@ SCRN.InvLineA sta .2+1 .1 pha lda #' ' - >SYSCALL PutChar.A + >SYSCALL PutChar pla bcs .9 diff --git a/BIN/EDIT.S.txt b/BIN/EDIT.S.txt index e3465423..69bd0b36 100644 --- a/BIN/EDIT.S.txt +++ b/BIN/EDIT.S.txt @@ -106,9 +106,9 @@ CS.INIT lda #$ff beq .1 No arg, new file.... lda #1 - >SYSCALL GetArg.A + >SYSCALL GetArg - >SYSCALL RealPath.YA + >SYSCALL RealPath txa ldy #hFileName sta (pData),y @@ -117,7 +117,7 @@ CS.INIT lda #$ff bcc .8 if CS, Failed to load file, keep name, but new file.... .1 >LDYAI 1 buffer size = 0 (+ 1 for ending 0) - >SYSCALL GetMem0.YA + >SYSCALL GetMem0 bcs .9 txa @@ -169,22 +169,22 @@ CS.DOEVENT sec CS.QUIT ldy #hBuffer lda (pData),y beq .1 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .1 ldy #hBufferBackup lda (pData),y beq .2 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .2 ldy #hClipBoard lda (pData),y beq .3 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .3 ldy #hFileName lda (pData),y beq .8 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .8 >LDYA L.SEQ.RESET >SYSCALL printf @@ -344,7 +344,7 @@ LoadFile >PUSHWI 0 Aux type ldy #hFileName lda (pData),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >PUSHYA >SYSCALL LoadFile @@ -356,7 +356,7 @@ LoadFile >PUSHWI 0 Aux type bne .2 inc +1 for ending zero -.2 >SYSCALL GetMem0.YA +.2 >SYSCALL GetMem0 bcs .98 >STYA ZPPTR2 @@ -366,7 +366,7 @@ LoadFile >PUSHWI 0 Aux type lda hMem - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPPTR1 lda TmpLen @@ -405,7 +405,7 @@ LoadFile >PUSHWI 0 Aux type .98 pha lda hMem - >SYSCALL FreeMem.A + >SYSCALL FreeMem pla sec .9 rts @@ -414,7 +414,7 @@ SaveFile >PUSHWI 0 Aux type >PUSHBI 4 S.FI.T.TXT >PUSHBI SYS.FOpen.X+SYS.FOpen.W >LDA.G hFileName - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >PUSHYA >SYSCALL FOpen bcs .9 @@ -422,7 +422,7 @@ SaveFile >PUSHWI 0 Aux type pha >LDA.G hBuffer - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >PUSHYA >PUSHW.G FileLen @@ -436,13 +436,13 @@ SaveFile >PUSHWI 0 Aux type tax pla phx - >SYSCALL FClose.A + >SYSCALL FClose pla sec rts .1 pla - >SYSCALL FClose.A + >SYSCALL FClose .9 rts *-------------------------------------- diff --git a/BIN/FORMAT.S.txt b/BIN/FORMAT.S.txt index fdc69057..d6cf62f3 100644 --- a/BIN/FORMAT.S.txt +++ b/BIN/FORMAT.S.txt @@ -45,7 +45,7 @@ CS.INIT ldy #S.PS.ARGC .1 >INC.G ArgIndex - >SYSCALL GetArg.A + >SYSCALL GetArg bcc .11 jmp .8 @@ -201,7 +201,7 @@ CS.RUN.InitCat >LDA.G CatSize rts *-------------------------------------- CS.RUN.BuildCat >LDA.G hDev - >SYSCALL GetDevStatus.A + >SYSCALL GetDevStatus bcs .99 >STYA ZPPtr1 @@ -213,7 +213,7 @@ CS.RUN.BuildCat >LDA.G hDev >STA.G SizeInBlocks+1 >LDA.G hDev - >SYSCALL GetDevByID.A + >SYSCALL GetDevByID bcs .99 pha @@ -244,7 +244,7 @@ CS.RUN.BuildCat >LDA.G hDev pla ply - >SYSCALL GetMem0.YA BufferSize + >SYSCALL GetMem0 BufferSize bcs .9 phx @@ -272,7 +272,7 @@ CS.RUN.WriteCat >PUSHB.G hDev bcs .9 lda #'.' - >SYSCALL PutChar.A + >SYSCALL PutChar >LDA.G BlkParams.Ptr+1 clc @@ -292,7 +292,7 @@ CS.DOEVENT sec *-------------------------------------- CS.QUIT >LDA.G hBuf beq .1 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .1 lda hLIBBLKDEV beq .8 diff --git a/BIN/IPCONFIG.S.txt b/BIN/IPCONFIG.S.txt index 4541f5d6..c41c2d54 100644 --- a/BIN/IPCONFIG.S.txt +++ b/BIN/IPCONFIG.S.txt @@ -79,11 +79,11 @@ CS.RUN >LDYA L.MSG0 jmp CS.RUN.DONE CS.RUN.DUMPDEV >STA.G DevID - >SYSCALL GetDevByID.A + >SYSCALL GetDevByID >STYA ZPDevPtr >LDA.G DevID - >SYSCALL GetDevStatus.A + >SYSCALL GetDevStatus >STYA ZPDevStatPtr >LDYA L.MSG0.L @@ -159,7 +159,7 @@ CS.RUN.LINK >PUSHW L.MSG1.LINK.OK .4 phx lda #'0' - >SYSCALL PutChar.A + >SYSCALL PutChar plx dex bne .4 diff --git a/BIN/LS.S.txt b/BIN/LS.S.txt index 16c0fccb..52888e73 100644 --- a/BIN/LS.S.txt +++ b/BIN/LS.S.txt @@ -51,7 +51,7 @@ L.FMT.DateTime .DA FMT.DateTime *-------------------------------------- CS.INIT .1 >INC.G ArgCount - >SYSCALL GetArg.A + >SYSCALL GetArg bcs .6 >STYA ZPPtr1 @@ -88,7 +88,7 @@ CS.INIT .7 ldy #S.PS.hPREFIX lda (pPs),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr jsr InitSrcDirYA bcs .9 @@ -123,7 +123,7 @@ CS.RUN >SYSCALL GetChar >LDA.G hFilter beq .4 No filter.... - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >PUSHYA >PUSHW ZPFileName >SYSCALL StrMatch @@ -225,7 +225,7 @@ CS.RUN.DIR >LDA.G bAllmostAll bcs .2 lda #' ' phy - >SYSCALL PutChar.A + >SYSCALL PutChar ply bcc .11 rts @@ -388,9 +388,9 @@ CS.RUN.NewLine ldy #ColCount beq CS.RUN.NewLine.8 CS.RUN.NewLine.1 lda #13 - >SYSCALL PutChar.A + >SYSCALL PutChar lda #10 - >SYSCALL PutChar.A + >SYSCALL PutChar rts CS.RUN.NewLine.8 clc @@ -399,7 +399,7 @@ CS.RUN.NewLine.8 CS.RUN.ENTER.MSG ldy #hSrcBasePath lda (pData),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >PUSHYA >LDYA L.MSG.ENTER >SYSCALL printf @@ -414,7 +414,7 @@ CS.QUIT jsr LeaveSubDir ldy #hFilter lda (pData),y beq .3 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .3 clc rts diff --git a/BIN/LSDEV.S.txt b/BIN/LSDEV.S.txt index 1c2f5059..2b7ee670 100644 --- a/BIN/LSDEV.S.txt +++ b/BIN/LSDEV.S.txt @@ -9,7 +9,6 @@ AUTO 4,1 .INB /A2OSX.BUILD/INC/MACROS.I .INB /A2OSX.BUILD/INC/PRODOS.I .INB /A2OSX.BUILD/INC/A2OSX.I - .INB /A2OSX.BUILD/INC/KERNEL.I *-------------------------------------- ZPPTR1 .EQ ZPBIN ZPPTR2 .EQ ZPBIN+2 @@ -44,10 +43,10 @@ CS.INIT clc *-------------------------------------- CS.RUN >LDYA L.MSG0 >SYSCALL printf - + >DEBUG >LDA.G DEV.ID -.1 >SYSCALL GetDevByID.A +.1 >SYSCALL GetDevByID bcs .7 >STYA ZPPTR1 @@ -57,7 +56,7 @@ CS.RUN >LDYA L.MSG0 bcs .9 >LDA.G DEV.ID - >SYSCALL GetDevStatus.A + >SYSCALL GetDevStatus bcs .6 >STYA ZPPTR2 @@ -67,10 +66,10 @@ CS.RUN >LDYA L.MSG0 bcs .9 .6 lda #13 - >SYSCALL PutChar.A + >SYSCALL PutChar lda #10 - >SYSCALL PutChar.A - + >SYSCALL PutChar + >DEBUG .7 >LDA.G DEV.ID inc sta (pData),y @@ -81,46 +80,22 @@ CS.RUN >LDYA L.MSG0 sec we do not want to stay in memory .9 rts *-------------------------------------- -DumpHeader ldy #S.DEV.DRV.JMP+1 +DumpHeader ldy #S.FD.DEV.DRVPTR+1 >PUSHB (ZPPTR1),y dey >PUSHB (ZPPTR1),y - lda #S.DEV.NAME + lda #S.FD.DEV.NAME clc adc ZPPTR1 tay - lda /S.DEV.NAME + lda /S.FD.DEV.NAME adc ZPPTR1+1 >PUSHYA - ldy #S.DEV.F - >PUSHB (ZPPTR1),y - - ldy #S.DEV.S - lda (ZPPTR1),y - >STA.G DEV.S - - ldy #DEV.SFLAGS+7 - ldx #7 - -.1 lsr - pha - lda #'-' - bcc .2 - lda MSG.SFLAGS,x - -.2 sta (pData),y - pla - dey - dex - bpl .1 - - >PUSHEA.G DEV.SFLAGS - >LDA.G DEV.ID >PUSHA @@ -175,6 +150,30 @@ DumpStatus >LDA.G DEV.S .3 >SYSCALL printf rts *-------------------------------------- + +ST ldy #S.DSTAT.S + lda (ZPPTR1),y + >STA.G DEV.S + + ldy #DEV.SFLAGS+7 + ldx #7 + +.1 lsr + pha + lda #'-' + bcc .2 + lda MSG.SFLAGS,x + +.2 sta (pData),y + pla + dey + dex + bpl .1 + + >PUSHEA.G DEV.SFLAGS +*-------------------------------------- + + CS.EVENT sec rts *-------------------------------------- @@ -182,8 +181,8 @@ CS.QUIT clc rts *-------------------------------------- CS.END -MSG0 .AZ "ID Status Flags Name Addr. Typ/Sub IDString Version Size (BLK)\r\n" -MSG1 .AZ "%03d %s %b %4s $%H " +MSG0 .AZ "ID Name Addr. Status Typ/Sub IDString Version Size (BLK)\r\n" +MSG1 .AZ "%03d %s $%H " MSG2.B .AZ "$%h/$%h %16S %03d.%03d %10u" MSG2.C .AZ "$%h/$%h %16S %03d.%03d n/a" MSG.SFLAGS .AS "BWRLNEIO" diff --git a/BIN/MD.S.txt b/BIN/MD.S.txt index 93978ad9..48f7e912 100644 --- a/BIN/MD.S.txt +++ b/BIN/MD.S.txt @@ -34,10 +34,10 @@ CS.INIT clc rts *-------------------------------------- CS.RUN lda #1 - >SYSCALL GetArg.A + >SYSCALL GetArg bcs .99 - >SYSCALL RealPath.YA + >SYSCALL RealPath bcs .9 phy pha @@ -61,7 +61,7 @@ CS.DOEVENT sec *-------------------------------------- CS.QUIT >LDA.G hFullPath beq .8 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .8 clc rts diff --git a/BIN/MD5.S.txt b/BIN/MD5.S.txt index 382040a0..41030548 100644 --- a/BIN/MD5.S.txt +++ b/BIN/MD5.S.txt @@ -48,7 +48,7 @@ CS.INIT ldy #S.PS.ARGC .1 >INC.G ArgIndex - >SYSCALL GetArg.A + >SYSCALL GetArg bcs .8 >STYA ZPPtr1 @@ -103,7 +103,7 @@ CS.RUN >LDA.G bText beq CS.RUN.FILE *-------------------------------------- CS.RUN.TEXT >LDA.G Arg - >SYSCALL GetArg.A + >SYSCALL GetArg >PUSHYA >PUSHEA.G MD5Buf @@ -114,17 +114,17 @@ CS.RUN.TEXT >LDA.G Arg >SYSCALL printf lda #13 - >SYSCALL PutChar.A + >SYSCALL PutChar lda #10 - >SYSCALL PutChar.A + >SYSCALL PutChar lda #0 sec .9 rts *-------------------------------------- CS.RUN.FILE >LDA.G Arg - >SYSCALL GetArg.A - >SYSCALL RealPath.YA + >SYSCALL GetArg + >SYSCALL RealPath bcc .10 rts @@ -143,7 +143,7 @@ CS.RUN.FILE >LDA.G Arg >PUSHBI SYS.FOpen.R >LDA.G hFullPath - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >PUSHYA @@ -180,9 +180,9 @@ CS.RUN.FILE >LDA.G Arg >SYSCALL printf lda #13 - >SYSCALL PutChar.A + >SYSCALL PutChar lda #10 - >SYSCALL PutChar.A + >SYSCALL PutChar lda #0 sec @@ -194,12 +194,12 @@ CS.DOEVENT sec CS.QUIT >LDA.G hFullPath beq .1 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .1 >LDA.G hDataBuf beq .2 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .2 >LDA.G hFile beq .3 diff --git a/BIN/MEM.S.txt b/BIN/MEM.S.txt index c5e560af..4133f001 100644 --- a/BIN/MEM.S.txt +++ b/BIN/MEM.S.txt @@ -46,7 +46,7 @@ CS.INIT clc rts *-------------------------------------- CS.RUN >LDYA L.MemStat - >SYSCALL GetMemStat.YA + >SYSCALL GetMemStat >LDYA L.MSG.Main >SYSCALL printf diff --git a/BIN/MEMDUMP.S.txt b/BIN/MEMDUMP.S.txt index c9c0f8df..47855e71 100644 --- a/BIN/MEMDUMP.S.txt +++ b/BIN/MEMDUMP.S.txt @@ -50,7 +50,7 @@ L.MSG.FREE .DA MSG.FREE CS.INIT >INC.G MEM.COUNT Skip SLOT0 >LEA.G MemStat - >SYSCALL GetMemStat.YA + >SYSCALL GetMemStat * lda (pPs) * ora #S.PS.F.EVENT Now accept events @@ -93,7 +93,7 @@ CS.RUN >SYSCALL GetChar >SYSCALL printf .1 >LDA.G MEM.COUNT - >SYSCALL GetMemByID.A + >SYSCALL GetMemByID >STYA ZPPTR1 lda (ZPPTR1) bpl .2 @@ -213,7 +213,7 @@ CS.RUN.PRINTMEM ldy #S.MEM.LEN+1 ldy #S.MEM.OWNERPID lda (ZPPTR1),y - >SYSCALL GetPSStatus.A + >SYSCALL GetPSStatus bcc .12 >LDYA L.MSG1.INV @@ -261,7 +261,7 @@ CS.RUN.PRINTMEM ldy #S.MEM.LEN+1 >LDYA L.MSG1.HEX bra .8 ****** BIN -.7 >SYSCALL GetMemPtr.A +.7 >SYSCALL GetMemPtr >PUSHYA >LDYA L.MSG1.BIN diff --git a/BIN/NSCUTIL.S.txt b/BIN/NSCUTIL.S.txt index 3e36f0d8..bfb55253 100644 --- a/BIN/NSCUTIL.S.txt +++ b/BIN/NSCUTIL.S.txt @@ -74,7 +74,7 @@ CS.RUN.READ jsr NSC.Init rts CS.RUN.SET lda #1 - >SYSCALL GetArg.A + >SYSCALL GetArg >STYA ZPPtr1 lda (ZPPtr1) @@ -290,11 +290,11 @@ NSC.Dump ldx #1 lda DS1216E.DATA+2 jsr PrintBCD lda #'/' - >SYSCALL PutChar.A + >SYSCALL PutChar lda DS1216E.DATA+1 jsr PrintBCD lda #'/' - >SYSCALL PutChar.A + >SYSCALL PutChar lda DS1216E.DATA jsr PrintBCD @@ -307,15 +307,15 @@ NSC.Dump ldx #1 .4 and #$3F jsr PrintBCD lda #':' - >SYSCALL PutChar.A + >SYSCALL PutChar lda DS1216E.DATA+5 jsr PrintBCD lda #':' - >SYSCALL PutChar.A + >SYSCALL PutChar lda DS1216E.DATA+6 jsr PrintBCD lda #'.' - >SYSCALL PutChar.A + >SYSCALL PutChar lda DS1216E.DATA+7 jsr PrintBCD rts @@ -326,12 +326,12 @@ PrintBCD pha lsr lsr ora #$30 - >SYSCALL PutChar.A + >SYSCALL PutChar bcs .9 pla and #$0f ora #$30 - >SYSCALL PutChar.A + >SYSCALL PutChar .9 rts *-------------------------------------- GetBCD lda (ZPPtr1),y diff --git a/BIN/PING.S.txt b/BIN/PING.S.txt index eddd53fc..7ecae59c 100644 --- a/BIN/PING.S.txt +++ b/BIN/PING.S.txt @@ -80,7 +80,7 @@ CS.RUN.IPOK ldy #S.PS.ARGC .2 >PUSHW pData DST.IP lda #1 - >SYSCALL GetArg.A + >SYSCALL GetArg >PUSHYA >LIBCALL hLIBTCPIP,LIBTCPIP.HST.GETBYNAME bcc CS.RUN.HOSTOK @@ -89,7 +89,7 @@ CS.RUN.IPOK ldy #S.PS.ARGC bcc .2 lda #1 - >SYSCALL GetArg.A + >SYSCALL GetArg >PUSHYA >LDYA L.MSG.UNKNOWN bra .99 @@ -101,7 +101,7 @@ CS.RUN.IPOK ldy #S.PS.ARGC rts CS.RUN.HOSTOK lda #1 - >SYSCALL GetArg.A + >SYSCALL GetArg >PUSHYA ldy #DST.IP+3 @@ -196,14 +196,14 @@ CS.RUN.WAIT.REPLY ldy #hFrame sta (pData),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPFrameBase jsr CS.Print.REPLY bcs CS.RUN.ERR ldy #hFrame lda (pData),y - >SYSCALL FreeMem.A + >SYSCALL FreeMem ldy #hFrame lda #0 @@ -295,7 +295,7 @@ CS.QUIT ldy #hFrame lda (pData),y beq .1 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .1 ldy #hSocket lda (pData),y diff --git a/BIN/PS.S.txt b/BIN/PS.S.txt index 0b58d241..39ccdfec 100644 --- a/BIN/PS.S.txt +++ b/BIN/PS.S.txt @@ -40,7 +40,7 @@ CS.INIT clc rts *-------------------------------------- CS.RUN >LDYA pData - >SYSCALL GetPSStat.YA + >SYSCALL GetPSStat >LDYA L.MSG0 >SYSCALL printf @@ -60,12 +60,12 @@ CS.RUN >LDYA pData tay lda (pData),y PID - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPPtr ldy #S.PS.hARGS lda (ZPPtr),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >PUSHYA ldy #S.PS.PPID diff --git a/BIN/RPCDUMP.S.txt b/BIN/RPCDUMP.S.txt index 24e57989..e2c33ebd 100644 --- a/BIN/RPCDUMP.S.txt +++ b/BIN/RPCDUMP.S.txt @@ -82,7 +82,7 @@ CS.RUN jsr Init.Timeout .1 >PUSHW L.Socket.Dst.Addr lda #1 - >SYSCALL GetArg.A + >SYSCALL GetArg >PUSHYA >LIBCALL hLIBTCPIP,LIBTCPIP.HST.GETBYNAME bcc .2 @@ -92,7 +92,7 @@ CS.RUN jsr Init.Timeout bcc .1 lda #1 - >SYSCALL GetArg.A + >SYSCALL GetArg >PUSHYA >LDYA L.MSG.UNKNOWN >SYSCALL printf @@ -140,21 +140,21 @@ CS.RUN jsr Init.Timeout .6 ldy #hFrame sta (pData),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPFrameBase jsr DumpRPCFrame ldy #hFrame lda (pData),y - >SYSCALL FreeMem.A + >SYSCALL FreeMem lda #0 sec rts .99 lda #1 - >SYSCALL GetArg.A + >SYSCALL GetArg >PUSHYA >LDYA L.MSG.TIMEOUT >SYSCALL printf diff --git a/BIN/X.CPMVRM.S.txt b/BIN/X.CPMVRM.S.txt index aface0ab..8d2e03a9 100644 --- a/BIN/X.CPMVRM.S.txt +++ b/BIN/X.CPMVRM.S.txt @@ -47,7 +47,7 @@ L.STAT .DA STAT *-------------------------------------- CS.INIT .1 >INC.G ArgCount - >SYSCALL GetArg.A + >SYSCALL GetArg bcs .7 >STYA ZPPtr1 @@ -117,7 +117,7 @@ CS.INIT ldy #S.PS.hPREFIX no dst folder, use actual prefix lda (pPs),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr jsr InitDstDirYA bcs .99 .FIN @@ -235,7 +235,7 @@ CS.RUN >SYSCALL GetChar lda (pData),y beq .4 No filter.... - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >PUSHYA >PUSHW ZPFileName >SYSCALL StrMatch @@ -527,10 +527,10 @@ CS.RUN.OVERWRITE.KEY .FIN *-------------------------------------- CS.RUN.CR lda #13 - >SYSCALL PutChar.A + >SYSCALL PutChar bcs .9 lda #10 - >SYSCALL PutChar.A + >SYSCALL PutChar .9 rts *-------------------------------------- .DO X.COPY.TO.DEST=1 @@ -645,14 +645,14 @@ CS.RUN.Copy stz .90+1 bcs .9 lda .90+1 - >SYSCALL FreeMem.A + >SYSCALL FreeMem ldy #bQuiet lda (pData),y bmi .8 lda #'.' - >SYSCALL PutChar.A + >SYSCALL PutChar rts .8 clc @@ -663,7 +663,7 @@ CS.RUN.Copy stz .90+1 .90 lda #$00 beq CS.RUN.CopyEnd - >SYSCALL FreeMem.A + >SYSCALL FreeMem *-------------------------------------- CS.RUN.CopyEnd ldy #hSrcFile lda (pData),y @@ -749,7 +749,7 @@ CS.RUN.BuildFilePath lda (pData),y beq .1 - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >PUSHYA bra .2 @@ -763,7 +763,7 @@ CS.RUN.BuildFilePath rts *-------------------------------------- CS.RUN.GetPathY lda (pData),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr rts *-------------------------------------- CS.RUN.IncCount ldy #Count @@ -812,7 +812,7 @@ CS.QUIT jsr LeaveSubDir *-------------------------------------- CS.QUIT.FREE lda (pData),y beq .9 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .9 rts *-------------------------------------- MAN diff --git a/BIN/X.FILEENUM.S.txt b/BIN/X.FILEENUM.S.txt index cacfdffc..52095b7b 100644 --- a/BIN/X.FILEENUM.S.txt +++ b/BIN/X.FILEENUM.S.txt @@ -13,7 +13,7 @@ X.MAX.RECURSE .EQ 8 * hDstBasePath .BS 1 (optional) * STAT .BS S.STAT *-------------------------------------- -InitSrcDirYA >SYSCALL RealPath.YA +InitSrcDirYA >SYSCALL RealPath bcc .10 rts @@ -84,7 +84,7 @@ InitSrcDirYA >SYSCALL RealPath.YA adc #0 sta ZPPtr2+1 - >SYSCALL Newstr.YA + >SYSCALL Newstr bcs .9 txa >STA.G hFilter @@ -93,7 +93,7 @@ InitSrcDirYA >SYSCALL RealPath.YA sta (ZPPtr2) .5 >LDYAI 256 - >SYSCALL GetMem.YA Get a 256 buffer to store BasePath + >SYSCALL GetMem Get a 256 buffer to store BasePath bcs .9 >STYA ZPPtr2 @@ -108,7 +108,7 @@ InitSrcDirYA >SYSCALL RealPath.YA bne .6 >LDYA ZPPtr2 - >SYSCALL OpenDir.YA + >SYSCALL OpenDir bcs .9 @@ -128,7 +128,7 @@ InitSrcDirYA >SYSCALL RealPath.YA .9 pha >LDA.G hFullPath - >SYSCALL FreeMem.A + >SYSCALL FreeMem pla sec InitSrcDirYA.RTS @@ -136,7 +136,7 @@ InitSrcDirYA.RTS *-------------------------------------- .DO X.COPY.TO.DEST=1 -InitDstDirYA >SYSCALL RealPath.YA +InitDstDirYA >SYSCALL RealPath bcs InitSrcDirYA.RTS >STYA ZPPtr1 @@ -173,7 +173,7 @@ InitDstDirYA >SYSCALL RealPath.YA adc #0 sta ZPPtr2+1 - >SYSCALL NewStr.YA + >SYSCALL NewStr bcs .9 txa >STA.G hDstFileName @@ -182,7 +182,7 @@ InitDstDirYA >SYSCALL RealPath.YA sta (ZPPtr2) .5 >LDYAI 256 - >SYSCALL GetMem.YA Get a 256 buffer to store DstBasePath + >SYSCALL GetMem Get a 256 buffer to store DstBasePath bcs .9 >STYA ZPPtr2 @@ -215,7 +215,7 @@ InitDstDirYA >SYSCALL RealPath.YA .9 pha >LDA.G hFullPath - >SYSCALL FreeMem.A + >SYSCALL FreeMem pla sec rts @@ -324,11 +324,11 @@ GetEntry ldy #index bne .8 * txa -* >SYSCALL FreeMem.A +* >SYSCALL FreeMem sec rts -.1 >SYSCALL GetMemPtr.A +.1 >SYSCALL GetMemPtr >STYA ZPFileName ldy #index @@ -376,7 +376,7 @@ GetEntry.ReadDir lda #0 sta (pData),y reset hDIRENT pla - >SYSCALL FreeMem.A discard previous hDIRENT + >SYSCALL FreeMem discard previous hDIRENT .1 ldy #index lda (pData),y @@ -385,7 +385,7 @@ GetEntry.ReadDir tay lda (pData),y - >SYSCALL ReadDir.A + >SYSCALL ReadDir bcs .9 >STYA ZPFileName @@ -421,7 +421,7 @@ EnterSubDirYA >STYA ZPPtr2 save SUBDIR for StrCat jsr EnterSubDirYA.1 >LDYA ZPPtr1 - >SYSCALL OpenDir.YA + >SYSCALL OpenDir bcs .9 pha @@ -452,7 +452,7 @@ EnterSubDirYA >STYA ZPPtr2 save SUBDIR for StrCat .9 rts EnterSubDirYA.1 lda (pData),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPPtr1 save full path @@ -490,7 +490,7 @@ LeaveSubDir ldy #index lda #0 sta (pData),y pla - >SYSCALL FreeMem.A + >SYSCALL FreeMem .1 ldy #index lda (pData),y @@ -503,7 +503,7 @@ LeaveSubDir ldy #index lda #0 sta (pData),y pla - >SYSCALL CloseDir.A + >SYSCALL CloseDir ldy #index lda (pData),y @@ -513,12 +513,12 @@ LeaveSubDir ldy #index ldy #hSrcBasePath lda (pData),y - >SYSCALL FreeMem.A + >SYSCALL FreeMem .DO X.COPY.TO.DEST=1 ldy #hDstBasePath lda (pData),y - >SYSCALL FreeMem.A + >SYSCALL FreeMem .FIN .9 sec @@ -537,7 +537,7 @@ BasePath.. .DO X.COPY.TO.DEST=1 ldy #hSrcBasePath BasePath..1 lda (pData),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPPtr1 save full path diff --git a/BMP2PIX.S.txt b/BMP2PIX.S.txt index 35b75b7e..3b07a916 100644 --- a/BMP2PIX.S.txt +++ b/BMP2PIX.S.txt @@ -48,7 +48,7 @@ L.MSG.DONE .DA MSG.DONE *-------------------------------------- CS.INIT .1 >INC.G ArgCount - >SYSCALL GetArg.A + >SYSCALL GetArg bcs .7 >STYA ZPPtr1 @@ -117,7 +117,7 @@ CS.INIT.OPENINPUT txa >STA.G hInputBuf - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPInputBufPtr >LDYA L.MSG.FILE.OK @@ -311,7 +311,7 @@ CS.DOEVENT sec *-------------------------------------- CS.QUIT >LDA.G hBuf beq .1 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .1 >LDA.G hOutputFile beq .8 diff --git a/DRV/CONSOLE.DRV.S.txt b/DRV/CONSOLE.DRV.S.txt index 9c1c61c5..3d8ced69 100644 --- a/DRV/CONSOLE.DRV.S.txt +++ b/DRV/CONSOLE.DRV.S.txt @@ -67,6 +67,9 @@ ZPBaseL1 .EQ ZPDRV ZPBaseL2 .EQ ZPDRV+2 ZPTmpWord .EQ ZPDRV+4 ZPTmpBool .EQ ZPDRV+6 +ZPBufPtr .EQ ZPDRV+8 +ZPCount .EQ ZPDRV+10 +ZPIOCTL .EQ ZPDRV+12 *-------------------------------------- DRV.CS.START cld jmp (.1,x) @@ -120,7 +123,7 @@ OPEN sta A2osX.SCRNDEVS DEV.ID in A stz OutCnt jsr RESET - + ldy #0 .1 lda TelnetOpt,y @@ -143,7 +146,9 @@ CLOSE stz A2osX.SCRNDEVS+1 clc rts *-------------------------------------- -READ jsr Char.Out.Get +READ >STYA ZPIOCTL + + jsr Char.Out.Get bcc .8 IF cs,no char in output buffer... lda A2osX.ASCREEN @@ -183,14 +188,69 @@ READ jsr Char.Out.Get .6 jsr Char.Out.Get -.8 clc +.8 pha + + ldy #S.IOCTL.BUFPTR + lda (ZPIOCTL),y + + sta ZPBufPtr + iny + lda (ZPIOCTL),y + sta ZPBufPtr+1 + + pla + sta (ZPBufPtr) + + lda #1 + ldy #S.IOCTL.BYTECNT + sta (ZPIOCTL),y + iny + dec + sta (ZPIOCTL),y + + clc rts .9 lda #0 Error = char sec rts *-------------------------------------- -WRITE bit bEscMode +WRITE >STYA ZPIOCTL + + ldy #S.IOCTL.BUFPTR + lda (ZPIOCTL),y + + sta ZPBufPtr + iny + lda (ZPIOCTL),y + sta ZPBufPtr+1 + + ldy #S.IOCTL.BYTECNT + lda (ZPIOCTL),y + eor #$ff + sta ZPCount + iny + lda (ZPIOCTL),y + eor #$ff + sta ZPCount+1 + +.2 inc ZPCount + bne .3 + inc ZPCount+1 + bne .3 + clc + rts + +.3 lda (ZPBufPtr) + inc ZPBufPtr + bne .4 + inc ZPBufPtr+1 + +.4 jsr WRITE.COUT + +.5 bra .2 +*-------------------------------------- +WRITE.COUT bit bEscMode bmi COUT.EscMode bit bIACMode bpl .10 diff --git a/DRV/LANCEGS.DRV.S.txt b/DRV/LANCEGS.DRV.S.txt index 9094c54f..320a482c 100644 --- a/DRV/LANCEGS.DRV.S.txt +++ b/DRV/LANCEGS.DRV.S.txt @@ -78,7 +78,7 @@ Dev.Detect >STYA Args sec ror USERMAC - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPTmpPTR jsr DecodeMac bcc .4 diff --git a/DRV/X.SSC.DRV.S.txt b/DRV/X.SSC.DRV.S.txt index 016b20e8..1f10e585 100644 --- a/DRV/X.SSC.DRV.S.txt +++ b/DRV/X.SSC.DRV.S.txt @@ -229,7 +229,7 @@ READ .DO SSCIRQ=1 and #SSC.STATUS.nDSR true when 0 beq .90 - lda #26 EOF + lda #C.EOF .90 plp sec @@ -298,7 +298,7 @@ WRITE .DO SSCIRQ=1 clc rts -.90 lda #26 EOF +.90 lda #C.EOF .9 plp sec rts diff --git a/FNT2FON.S.txt b/FNT2FON.S.txt index 33083baa..43400b9c 100644 --- a/FNT2FON.S.txt +++ b/FNT2FON.S.txt @@ -51,7 +51,7 @@ L.MSG.DONE .DA MSG.DONE *-------------------------------------- CS.INIT .1 >INC.G Count - >SYSCALL GetArg.A + >SYSCALL GetArg bcs .7 >STYA ZPPtr1 @@ -119,7 +119,7 @@ CS.INIT.OPENINPUT txa >STA.G hInputBuf - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPInputBufPtr >LDYA L.MSG.FILE.OK @@ -413,7 +413,7 @@ CS.RUN.DumpChar >LDA.G CharOutByteW .1 pha lda #'|' - >SYSCALL PutChar.A + >SYSCALL PutChar >LDA.G CharOutPixW >STA.G Count @@ -432,7 +432,7 @@ CS.RUN.DumpChar >LDA.G CharOutByteW lda #'O' .5 phx - >SYSCALL PutChar.A + >SYSCALL PutChar plx >DEC.G Count @@ -451,11 +451,11 @@ CS.RUN.DumpChar >LDA.G CharOutByteW pla lda #'|' - >SYSCALL PutChar.A + >SYSCALL PutChar lda #13 - >SYSCALL PutChar.A + >SYSCALL PutChar lda #10 - >SYSCALL PutChar.A + >SYSCALL PutChar lda ZPPTR1 clc @@ -759,7 +759,7 @@ CS.RUN.WriteBMAndTbl bcs .9 >LDA.G hTblBuf - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >PUSHYA >LDA.G FON.Header+S.FON.Last @@ -785,7 +785,7 @@ CS.DOEVENT sec *-------------------------------------- CS.QUIT >LDA.G hOutPutBuf beq .1 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .1 >LDA.G hOutputFile beq .2 @@ -793,15 +793,15 @@ CS.QUIT >LDA.G hOutPutBuf .2 >LDA.G hInputBuf beq .3 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .3 >LDA.G hCharBuf beq .4 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .4 >LDA.G hTblBuf beq .8 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .8 clc rts diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index 075f28f8..6fd62fe4 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -3,6 +3,11 @@ PREFIX /A2OSX.BUILD AUTO 4,1 *-------------------------------------- KVER .EQ $5C00 92.0 +K.ENV.SIZE .EQ 256 +K.FLT.MAX .EQ 4 +K.EVT.MAX .EQ 4 +K.DEV.MAX .EQ 32 +K.PS.MAX .EQ 32 *-------------------------------------- ZPDRV .EQ $20 32 bytes ZPLIB .EQ $40 32 bytes diff --git a/INC/KERNEL.I.txt b/INC/KERNEL.I.txt index 93dd371f..f7a296b6 100644 --- a/INC/KERNEL.I.txt +++ b/INC/KERNEL.I.txt @@ -3,14 +3,6 @@ PREFIX /A2OSX.BUILD AUTO 4,1 .LIST OFF *-------------------------------------- -* KERNEL CONSTANTS DEFINITON -*-------------------------------------- -K.ENV.SIZE .EQ 256 -K.FLT.MAX .EQ 4 -K.EVT.MAX .EQ 4 -K.DEV.MAX .EQ 32 -K.PS.MAX .EQ 32 -*-------------------------------------- ZPKERNEL .EQ $0 ZPMEMMGR .EQ $10 *-------------------------------------- diff --git a/LIB/LIBCRYPT.S.txt b/LIB/LIBCRYPT.S.txt index 026c9349..bdfdde6d 100644 --- a/LIB/LIBCRYPT.S.txt +++ b/LIB/LIBCRYPT.S.txt @@ -138,7 +138,7 @@ MD5 >STYA ZPDataPtr jsr MD5Finalize.I pla - >SYSCALL FreeMem.A Free MD5 Context + >SYSCALL FreeMem Free MD5 Context clc .9 rts @@ -188,7 +188,7 @@ MD5Init >LDYAI S.MD5 * `>LDA.G md5` * **Out:** *\-------------------------------------- -MD5Update >SYSCALL GetMemPtr.A get MD5 Context +MD5Update >SYSCALL GetMemPtr get MD5 Context >STYA ZPCtxPtr >PULLW ZPDataPtr get DATA >PULLW ZPDataLen get LEN @@ -277,14 +277,14 @@ MD5Update.I ldy #S.MD5.FINALIZED MD5Finalize >PULLA pha - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPCtxPtr get MD5 Context >PULLW ZPHashPtr jsr MD5Finalize.I pla - >SYSCALL FreeMem.A + >SYSCALL FreeMem rts MD5Finalize.I ldy #S.MD5.FINALIZED diff --git a/LIB/LIBGUI.S.WND.txt b/LIB/LIBGUI.S.WND.txt index 60ef356e..a413da1e 100644 --- a/LIB/LIBGUI.S.WND.txt +++ b/LIB/LIBGUI.S.WND.txt @@ -8,7 +8,7 @@ WND.Init >LDYA L.DEVNAME.GFX stx hDevScreen txa - >SYSCALL GetDevStatus.A + >SYSCALL GetDevStatus bcs .9 >STYA ZPPtr1 diff --git a/LIB/LIBTCPIP.S.ARP.txt b/LIB/LIBTCPIP.S.ARP.txt index fa598fc3..ed23b74c 100644 --- a/LIB/LIBTCPIP.S.ARP.txt +++ b/LIB/LIBTCPIP.S.ARP.txt @@ -142,7 +142,7 @@ ARP.IN ldy #S.ARP.TPA+3 beq ARP.IN.REP ARP.IN.EXIT lda hFrameIn - >SYSCALL FreeMem.A + >SYSCALL FreeMem clc rts diff --git a/LIB/LIBTCPIP.S.CFG.txt b/LIB/LIBTCPIP.S.CFG.txt index 763ce3b8..a7cfebc3 100644 --- a/LIB/LIBTCPIP.S.CFG.txt +++ b/LIB/LIBTCPIP.S.CFG.txt @@ -34,7 +34,7 @@ SET.IPCFG >PULLW ZPTmpPtr1 bpl .3 lda IPCFG+S.IPCFG.HDEV - >SYSCALL GetDevStatus.A + >SYSCALL GetDevStatus >STYA ZPTmpPtr2 ldy #S.DSTAT.NIC.FLAGS diff --git a/LIB/LIBTCPIP.S.DNS.txt b/LIB/LIBTCPIP.S.DNS.txt index 7f75abe7..9e9596e9 100644 --- a/LIB/LIBTCPIP.S.DNS.txt +++ b/LIB/LIBTCPIP.S.DNS.txt @@ -196,7 +196,7 @@ DNS.FIND.BY.NAME ldy #S.DNSCACHE.hNAME lda (ZPCachePtr),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >PUSHYA >PUSHW ZPPtrDNS @@ -352,7 +352,7 @@ DNS.FREE ldy #S.DNSCACHE.hNAME lda (ZPCachePtr),y beq .1 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .1 lda #0 sta (ZPCachePtr) rts @@ -374,7 +374,7 @@ DNS.POLL lda hDNSSocket1 rts *-------------------------------------- DNS.DecodeMsg sta hFrameIn - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPFrameInPtr ldy #S.DNS.F+1 @@ -482,7 +482,7 @@ DNS.DecodeMsg sta hFrameIn jsr DNS.UPDATE.BY.ID .9 lda hFrameIn - >SYSCALL FreeMem.A + >SYSCALL FreeMem rts *-------------------------------------- DNS.CSTR2DNS lda (ZPPtrDNS) diff --git a/LIB/LIBTCPIP.S.FRM.txt b/LIB/LIBTCPIP.S.FRM.txt index fe83030b..84c49ee4 100644 --- a/LIB/LIBTCPIP.S.FRM.txt +++ b/LIB/LIBTCPIP.S.FRM.txt @@ -230,7 +230,7 @@ FRM.SendIP ldx #3 Copy SRC.IP even if IP offload lda hFrameOut beq .9 - >SYSCALL FreeMem.A + >SYSCALL FreeMem clc .9 rts @@ -264,7 +264,7 @@ FRM.Retry ldx FRM.QUEUE.Tail .10 cpx FRM.QUEUE.Head beq .8 Queue is empty, exit.... lda FRM.QUEUE.hMem,x - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPFrameOutPtr ldx FRM.QUEUE.Tail @@ -285,7 +285,7 @@ FRM.Retry ldx FRM.QUEUE.Tail .3 ldx FRM.QUEUE.Tail Success,or max retry, discard entry lda FRM.QUEUE.hMem,x - >SYSCALL FreeMem.A + >SYSCALL FreeMem .4 ldx FRM.QUEUE.Tail inx diff --git a/LIB/LIBTCPIP.S.ICMP.txt b/LIB/LIBTCPIP.S.ICMP.txt index 9ee9ad06..42347fe8 100644 --- a/LIB/LIBTCPIP.S.ICMP.txt +++ b/LIB/LIBTCPIP.S.ICMP.txt @@ -67,7 +67,7 @@ ICMP.IN.ECHOREQ ldy #S.IP.DST+3 jmp FRM.SendIP ICMP.IN.EXIT lda hFrameIn - >SYSCALL FreeMem.A + >SYSCALL FreeMem rts *-------------------------------------- ICMP.IN.ECHOREP jsr IP.FillSKT.TemplateSrcDst @@ -83,7 +83,7 @@ ICMP.IN.ECHOREP jsr IP.FillSKT.TemplateSrcDst sta SKT.Template+S.SOCKET.DST.PORT lda hSocketTable - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPPtrSKT ldx #0 @@ -126,7 +126,7 @@ ICMP.IN.ECHOREP jsr IP.FillSKT.TemplateSrcDst bne .3 .9 lda hFrameIn - >SYSCALL FreeMem.A + >SYSCALL FreeMem rts *-------------------------------------- ICMP.ComputeChecksum diff --git a/LIB/LIBTCPIP.S.IP.txt b/LIB/LIBTCPIP.S.IP.txt index 1abf6009..d77e291b 100644 --- a/LIB/LIBTCPIP.S.IP.txt +++ b/LIB/LIBTCPIP.S.IP.txt @@ -19,7 +19,7 @@ IP.IN ldy #S.IP.PROTOCOL jsr TCP.IN TCP will NOT discard FrameIn .9 lda hFrameIn - >SYSCALL FreeMem.A + >SYSCALL FreeMem rts *-------------------------------------- * In: diff --git a/LIB/LIBTCPIP.S.SKT.txt b/LIB/LIBTCPIP.S.SKT.txt index 1c608ff5..c2313445 100644 --- a/LIB/LIBTCPIP.S.SKT.txt +++ b/LIB/LIBTCPIP.S.SKT.txt @@ -30,7 +30,7 @@ SKT.New.Listen sec sta (ZPTmpPtr1),y .1 lda hSocketTable - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPTmpPtr2 lda #$ff @@ -156,7 +156,7 @@ SKT.CloseA jsr SKT.GetA.I get SKT in ZPPtrSKT, S.SOCKET.SOCK in A txa tay lda (ZPPtrSKT),y - >SYSCALL FreeMem.A + >SYSCALL FreeMem bra .1 .8 lda #0 @@ -206,7 +206,7 @@ SKT.GetA.I and #$7f pha lda hSocketTable - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPPtrSKT pla @@ -248,7 +248,7 @@ SKT.GetA.I and #$7f * Y,A = pS.SOCKET *\-------------------------------------- SKT.GetTable lda hSocketTable - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr clc rts */-------------------------------------- @@ -665,7 +665,7 @@ SKT.AddDataToSktIn ldy #S.SOCKET.SQ.hInMem lda (ZPPtrSKT),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPTmpPtr1 Make ZPTmpPtr1=buffer base lda ZPTmpPtr1 @@ -775,7 +775,7 @@ SKT.GetDataFromSktIn .10 ldy #S.SOCKET.SQ.hInMem lda (ZPPtrSKT),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPTmpPtr1 Make ZPTmpPtr1=buffer base lda ZPTmpPtr1 @@ -928,7 +928,7 @@ SKT.AddDataToSktOut ldy #S.SOCKET.SQ.hOutMem lda (ZPPtrSKT),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPTmpPtr1 Make ZPTmpPtr1=buffer base lda ZPTmpPtr1 @@ -1019,7 +1019,7 @@ SKT.GetDataFromSktOut ldy #S.SOCKET.SQ.hOutMem lda (ZPPtrSKT),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPTmpPtr1 Make ZPTmpPtr1=buffer base lda ZPTmpPtr1 @@ -1189,7 +1189,7 @@ SKT.NewTCB >LDYAI S.TCB *-------------------------------------- SKT.GetTCB ldy #S.SOCKET.SQ.hTCB lda (ZPPtrSKT),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr bcs * >STYA .1+1 @@ -1203,7 +1203,7 @@ SKT.GetTCB ldy #S.SOCKET.SQ.hTCB *-------------------------------------- SKT.StoreTCB ldy #S.SOCKET.SQ.hTCB lda (ZPPtrSKT),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr bcs * >STYA .2+1 @@ -1218,17 +1218,17 @@ SKT.StoreTCB ldy #S.SOCKET.SQ.hTCB SKT.Destroy ldy #S.SOCKET.SQ.hOutMem lda (ZPPtrSKT),y beq .1 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .1 ldy #S.SOCKET.SQ.hInMem lda (ZPPtrSKT),y beq .2 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .2 ldy #S.SOCKET.SQ.hTCB lda (ZPPtrSKT),y beq .3 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .3 lda #0 sta (ZPPtrSKT) diff --git a/LIB/LIBTCPIP.S.TCP.txt b/LIB/LIBTCPIP.S.TCP.txt index e05e023e..35496653 100644 --- a/LIB/LIBTCPIP.S.TCP.txt +++ b/LIB/LIBTCPIP.S.TCP.txt @@ -20,7 +20,7 @@ TCP.IN jsr IP.FillSKT.TemplateSrcDst sta SKT.Template+S.SOCKET.SRC.PORT lda hSocketTable - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPPtrSKT ldx #0 diff --git a/LIB/LIBTCPIP.S.UDP.txt b/LIB/LIBTCPIP.S.UDP.txt index cb14331e..0c32ec4d 100644 --- a/LIB/LIBTCPIP.S.UDP.txt +++ b/LIB/LIBTCPIP.S.UDP.txt @@ -20,7 +20,7 @@ UDP.IN jsr IP.FillSKT.TemplateSrcDst sta SKT.Template+S.SOCKET.SRC.PORT lda hSocketTable - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPPtrSKT ldx #0 @@ -72,7 +72,7 @@ UDP.IN jsr IP.FillSKT.TemplateSrcDst bne .3 .9 lda hFrameIn - >SYSCALL FreeMem.A + >SYSCALL FreeMem rts *-------------------------------------- UDP.ComputeChecksum diff --git a/LIB/LIBTCPIP.S.txt b/LIB/LIBTCPIP.S.txt index d551117d..04c518e7 100644 --- a/LIB/LIBTCPIP.S.txt +++ b/LIB/LIBTCPIP.S.txt @@ -132,7 +132,7 @@ LIB.UNLOAD dec RefCount lda hSocketTable beq .8 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .8 clc rts @@ -173,7 +173,7 @@ POLL >PUSHB IPCFG+S.IPCFG.HDEV jmp IP.IN .9 lda hFrameIn - >SYSCALL FreeMem.A + >SYSCALL FreeMem .99 rts *-------------------------------------- * Expire = every sec diff --git a/SBIN/DHCPCLNT.S.txt b/SBIN/DHCPCLNT.S.txt index 9d07a9aa..4f8ee2f9 100644 --- a/SBIN/DHCPCLNT.S.txt +++ b/SBIN/DHCPCLNT.S.txt @@ -215,13 +215,13 @@ CS.RUN.SKT.RCVD ldy #hSocket bcs .9 ldy #hFrame sta (pData),y - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPFrameBase .9 rts *-------------------------------------- CS.RUN.DISCARD ldy #hFrame lda (pData),y - >SYSCALL FreeMem.A + >SYSCALL FreeMem rts *-------------------------------------- CS.DOEVENT lda (pEvent) diff --git a/SBIN/GETTY.S.txt b/SBIN/GETTY.S.txt index 99fa0e0e..777f6f31 100644 --- a/SBIN/GETTY.S.txt +++ b/SBIN/GETTY.S.txt @@ -84,7 +84,7 @@ CS.INIT ldy #S.PS.ARGC .9 rts *-------------------------------------- CS.RUN >SLEEP - + >SYSCALL GetChar bcs CS.RUN diff --git a/SBIN/HTTPD.S.txt b/SBIN/HTTPD.S.txt index d13778a3..fcd02acf 100644 --- a/SBIN/HTTPD.S.txt +++ b/SBIN/HTTPD.S.txt @@ -236,7 +236,7 @@ CS.QUIT ldx #CONN.MAX >LDA.G hLineBuf beq .3 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .3 lda hLIBTCPIP >SYSCALL UnloadLib.A diff --git a/SBIN/KCONFIG.S.txt b/SBIN/KCONFIG.S.txt index b2b59949..797f01da 100644 --- a/SBIN/KCONFIG.S.txt +++ b/SBIN/KCONFIG.S.txt @@ -159,7 +159,7 @@ CS.RUN.Loop >SLEEP *-------------------------------------- CS.RUN.Load >PUSHEA.G StatBuf >LDA.G hFileName - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >PUSHYA >SYSCALL Stat bcs .99 @@ -186,7 +186,7 @@ CS.RUN.Load >PUSHEA.G StatBuf >PUSHBI SYS.FOpen.R >LDA.G hFileName - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >PUSHYA >SYSCALL LoadFile @@ -194,7 +194,7 @@ CS.RUN.Load >PUSHEA.G StatBuf txa >STA.G hFileBuf - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPCfgPtr * clc rts @@ -218,7 +218,7 @@ CS.RUN.Save >PUSHWI 0 AUXTYPE >PUSHBI SYS.FOpen.W+SYS.FOpen.X >LDA.G hFileName - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >PUSHYA >SYSCALL FOpen @@ -326,12 +326,12 @@ CS.DOEVENT sec do not discard TIMER event CS.QUIT ldy #hFileBuf lda (pData),y beq .1 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .1 ldy #hFileName lda (pData),y beq .8 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .8 clc rts diff --git a/SBIN/LOGIN.S.txt b/SBIN/LOGIN.S.txt index 5af8e159..07f0c6f5 100644 --- a/SBIN/LOGIN.S.txt +++ b/SBIN/LOGIN.S.txt @@ -86,25 +86,25 @@ CS.RUN lda #0 bcc .2 lda #13 - >SYSCALL PutChar.A + >SYSCALL PutChar bcs .9 lda #10 - >SYSCALL PutChar.A + >SYSCALL PutChar bcs .9 >LDYA L.SHELL - >SYSCALL ExpandStr.YA + >SYSCALL ExpandStr bcs .9 phx - >SYSCALL ExecPS.YA + >SYSCALL ExecPS plx php pha txa - >SYSCALL FreeMem.A + >SYSCALL FreeMem pla plp @@ -160,7 +160,7 @@ INPUT.CHARIN tax save char... lda (pData),y bne .1 txa -.1 >SYSCALL PutChar.A +.1 >SYSCALL PutChar rts .2 cpx #13 CR diff --git a/SBIN/SHELL.S.txt b/SBIN/SHELL.S.txt index b56f415a..5c5c8a06 100644 --- a/SBIN/SHELL.S.txt +++ b/SBIN/SHELL.S.txt @@ -177,7 +177,8 @@ CS.RUN >LDA.G bReadMode READ Command ? .1 >SLEEP >SYSCALL GetChar bcc .3 - cmp #26 EOF + + cmp #C.EOF beq .9 bne .1 no char diff --git a/SBIN/TCPIPD.S.CFG.txt b/SBIN/TCPIPD.S.CFG.txt index 526acef0..cce6a372 100644 --- a/SBIN/TCPIPD.S.CFG.txt +++ b/SBIN/TCPIPD.S.CFG.txt @@ -160,7 +160,7 @@ CFG.Read.LoadFile stx CFG.hCfgFile >STYA CFG.FileLen txa - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPIPCfgPtr .9 rts *-------------------------------------- @@ -168,11 +168,11 @@ CFG.Read.CleanUp pha lda CFG.hCfgPath beq .1 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .1 lda CFG.hCfgFile beq .8 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .8 pla rts diff --git a/SBIN/TCPIPD.S.txt b/SBIN/TCPIPD.S.txt index 0e8839e7..ad059714 100644 --- a/SBIN/TCPIPD.S.txt +++ b/SBIN/TCPIPD.S.txt @@ -115,7 +115,7 @@ CS.INIT.DEV >LDYA L.DEVNAME bcs .9 >LDA.G hDev - >SYSCALL GetDevStatus.A + >SYSCALL GetDevStatus bcs .9 >STYA ZPDevStatusPtr diff --git a/SYS/KERNEL.S.CORE.txt b/SYS/KERNEL.S.CORE.txt index 2fc406b6..25e24254 100644 --- a/SYS/KERNEL.S.CORE.txt +++ b/SYS/KERNEL.S.CORE.txt @@ -382,14 +382,14 @@ CORE.ScrSel and #$0F tax - lda A2osX.SCRNDEVS-1,x + ldy A2osX.SCRNDEVS-1,x beq .8 No device claimed this screen - tay + stx A2osX.ASCREEN >PUSHBI 0 lda #IOCTL.CONTROL - >DEBUG + jsr K.IOCTL diff --git a/SYS/KERNEL.S.DEV.txt b/SYS/KERNEL.S.DEV.txt index 65a57664..52b1c773 100644 --- a/SYS/KERNEL.S.DEV.txt +++ b/SYS/KERNEL.S.DEV.txt @@ -7,7 +7,7 @@ AUTO 4,1 * A = DevID * **Out:** * CC = OK, CS = ERROR -* Y,A = DEVSLOT +* Y,A = FD *\-------------------------------------- K.GetDevByID cmp DevMgr.DevCnt bcs K.GetDev.NODEV @@ -72,17 +72,27 @@ K.GetDev.9 rts */-------------------------------------- * # GetDevStatus * **In:** -* A = DevID +* >PUSHWI S.DSTAT +* lda DevID * **Out:** * Y,A = S.DSTAT *\-------------------------------------- -K.GetDevStatus ldx #IOCTL.STATUS - jsr K.GetDevByID +K.GetDevStatus jsr K.GetDevByID bcs K.GetDev.9 >STYA pFD - jmp (pFD) + ldy #S.FD.DEV.DRVPTR + lda (pFD),y + sta .1+1 + iny + lda (pFD),y + sta .1+2 + + >LDYAI K.S.IOCTL + + ldx #IOCTL.STATUS +.1 jmp $ffff */-------------------------------------- * # MKDev * **In:** diff --git a/SYS/KERNEL.S.INIT.txt b/SYS/KERNEL.S.INIT.txt index ada8f300..ba15c926 100644 --- a/SYS/KERNEL.S.INIT.txt +++ b/SYS/KERNEL.S.INIT.txt @@ -138,11 +138,11 @@ Kernel.Init3 sta SETALTZP >LDYAI MSG.Prefix >SYSCALL printf - lda KBD - bpl .1 - sta KBDSTROBE - cmp #$84 CTRL-D for Maintenace mode - bne .1 +* lda KBD +* bpl .1 +* sta KBDSTROBE +* cmp #$84 CTRL-D for Maintenace mode +* bne .1 >LDYAI MSG.MMode >SYSCALL printf @@ -984,7 +984,6 @@ Mouse.SIG .HS 38180120D6 TClock.SIG .HS 0878282c58ff700538b00118b8087848 .HS 8a489848adffcf201ac86868ba8df807 *-------------------------------------- -SYSSCREEN.TOP .AZ "A2osX System Screen" MSG.Init2 .AZ "A2osX[Stage2]:Init\nRelocating Kernel...\n" MSG.HZ .AZ "Kernel SYS Timer Set For %d0 hz Machine.\n" MSG.KCREAD .AZ "Reading Kernel Config File..." @@ -992,7 +991,8 @@ MSG.KCREAD.OK .AZ "OK\n" MSG.KCREAD.KO .AZ "\nError While Reading Kernel Config File, Using Default.\n" MSG.Init2.OK .AZ "A2osX[Stage2]:Complete.\n" *-------------------------------------- -MSG.Init3 .AZ "A2osX[Stage3]:Init\r\nPress Ctrl-D for Mantenance Mode." +SYSSCREEN.TOP .AZ "A2osX 0.92 System Screen" +MSG.Init3 .AZ "A2osX[Stage3]:Init\r\nPress Ctrl-D for Mantenance Mode.\r\n" MSG.DEV .AZ "-Device Manager...\r\n" MSG.BLKDEV .AZ " /DEV/%s\r\n" MSG.IRQ .AZ "-Interrupt Manager..." diff --git a/SYS/KERNEL.S.IO.txt b/SYS/KERNEL.S.IO.txt index 451a6559..10cc82f3 100644 --- a/SYS/KERNEL.S.IO.txt +++ b/SYS/KERNEL.S.IO.txt @@ -87,11 +87,56 @@ IO.CLOSE.CDEV *-------------------------------------- IO.CLOSE.SSOCK *-------------------------------------- -IO.CLOSE.FIFO +IO.CLOSE.FIFO clc + rts +*/-------------------------------------- +* # read +* ## C +* `int read(int fd, void *buf, size_t count);` +*\-------------------------------------- +K.Read jsr IO.SELECT + bcs K.Read.9 + + >PULLW K.S.IOCTL+S.IOCTL.BUFPTR + >PULLW K.S.IOCTL+S.IOCTL.BYTECNT + +K.Read.I lda (pFD) #S.FD.T + tax + jmp (.1,x) + +.1 .DA IO.READ.REG + .DA STDIO.IOERR DIR + .DA IO.READ.CDEV + .DA STDIO.IOERR BDEV + .DA STDIO.IOERR LNK + .DA STDIO.IOERR DSOCK + .DA IO.READ.SSOCK + .DA IO.READ.FIFO + +K.Read.9 >RET 4 *-------------------------------------- -* int read(int fd, void *buf, size_t count); +IO.READ.REG + + clc + rts *-------------------------------------- -K.Read +IO.READ.CDEV ldy #S.FD.DEV.DRVPTR + lda (pFD),y + sta .1+1 + iny + lda (pFD),y + sta .1+2 + + >LDYAI K.S.IOCTL + ldx #IOCTL.READ +.1 jmp $ffff +*-------------------------------------- +IO.READ.SSOCK +*-------------------------------------- +IO.READ.FIFO + + clc + rts *-------------------------------------- * int write(int fd, const void *buf, size_t count); *-------------------------------------- @@ -113,6 +158,7 @@ K.Write.I lda (pFD) #S.FD.T .DA STDIO.IOERR DSOCK .DA IO.WRITE.SSOCK .DA IO.WRITE.FIFO + K.Write.9 >RET 4 *-------------------------------------- IO.WRITE.REG >PUSHW K.S.IOCTL+S.IOCTL.BUFPTR diff --git a/SYS/KERNEL.S.STDIO.txt b/SYS/KERNEL.S.STDIO.txt index 88b79528..c18efbbd 100644 --- a/SYS/KERNEL.S.STDIO.txt +++ b/SYS/KERNEL.S.STDIO.txt @@ -602,56 +602,17 @@ K.GetChar ldy #S.PS.hStdIn * A = char *\-------------------------------------- K.GetC jsr IO.SELECT - - ldy #S.FD.T - lda (pFD),y - asl - tax - jmp (.1,x) - -.1 .DA K.GetC.REG - .DA STDIO.IOERR DIR - .DA K.GetC.CDEV - .DA STDIO.IOERR BDEV - .DA STDIO.IOERR LNK - .DA STDIO.IOERR DSOCK - .DA K.GetC.SSOCK - .DA K.GetC.FIFO -*-------------------------------------- -K.GetC.REG >PUSHWI K.IOBuf - >PUSHWI 1 - ldy #S.FD.REG.REF - >PUSHB (pFD),y - - jsr K.FRead bcs .9 - lda K.Buf256 -.9 rts -*-------------------------------------- -K.GetC.CDEV ldx #IOCTL.READ - ldy #S.FD.DEV.DRVPTR - lda (pFD),y - sta .1+1 - iny - lda (pFD),y - sta .1+2 -.1 jmp $ffff -*-------------------------------------- -K.GetC.SSOCK lda (pFD) #S.FD.HANDLER -* jsr K.GetMemPtr -* >STYA .1+1 -* ldy #S.FD.SSOCK.READ -* lda (pFD),y -* tax Function Offset for READ - -* ldy #S.FD.SSOCK.HSKT -* lda (pFD),y - -*.1 jmp $ffff -*-------------------------------------- -K.GetC.FIFO - bra * + >LDYAI K.IOBuf + >STYA K.S.IOCTL+S.IOCTL.BUFPTR + lda #1 + sta K.S.IOCTL+S.IOCTL.BYTECNT + stz K.S.IOCTL+S.IOCTL.BYTECNT+1 + jsr K.READ.I + bcs .9 + lda K.IOBuf +.9 rts *-------------------------------------- *K.PrintF.PadL .BS 1 *K.PrintF.PadC .BS 1 diff --git a/TEST.S.txt b/TEST.S.txt index 1dd367cc..949a94e3 100644 --- a/TEST.S.txt +++ b/TEST.S.txt @@ -77,8 +77,8 @@ CS.RUN.Pak >PUSHWI 0 Aux type >PUSHBI SYS.FOpen.R lda #1 - >SYSCALL GetArg.A - >SYSCALL RealPath.YA + >SYSCALL GetArg + >SYSCALL RealPath >PUSHYA txa >STA.G PAK.hFileName @@ -98,13 +98,13 @@ CS.RUN.Pak >PUSHWI 0 Aux type >STA.G PAK.hOutBuf >LDA.G PAK.hFileBuf - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >PUSHYA >PUSHW.G PAK.FileSize >LDA.G PAK.hOutBuf - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPPakHdrPtr >PUSHYA >PUSHEA.G PAK.Stat @@ -147,7 +147,7 @@ CS.RUN.Unpak lda ZPPakHdrPtr sta UNPAK.Mask >LDA.G PAK.hFileBuf - >SYSCALL GetMemPtr.A + >SYSCALL GetMemPtr >STYA ZPPakSrcPtr stz UNPAK.Ofs @@ -163,7 +163,7 @@ CS.RUN.Unpak lda ZPPakHdrPtr rts .2 lda #'>' - >SYSCALL PutChar.A + >SYSCALL PutChar jsr CS.RUN.UnpakGetBitInC bcs .3 @@ -385,17 +385,17 @@ CS.DOEVENT sec CS.QUIT >LDA.G PAK.hFileName beq .1 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .1 >LDA.G PAK.hFileBuf beq .2 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .2 >LDA.G PAK.hOutBuf beq .8 - >SYSCALL FreeMem.A + >SYSCALL FreeMem .8 lda hLIBPAK >SYSCALL UnloadLib.A