From a3e218f36beba26b97a8d97d45fa2aa534bc3471 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 25 Aug 2020 16:54:30 +0200 Subject: [PATCH] Kernel 0.94 --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/ATLOGON.S.txt | 4 +- BIN/ATTR.S.txt | 7 ++- BIN/CHGRP.S.txt | 9 ++-- BIN/CHMOD.S.txt | 7 ++- BIN/CHOWN.S.txt | 4 +- BIN/CHTYP.S.txt | 5 +- BIN/CP.S.txt | 11 ++--- BIN/ETCONFIG.S.txt | 5 +- BIN/LC.S.txt | 4 +- BIN/LS.S.txt | 4 +- BIN/MV.S.txt | 11 ++--- BIN/PAK.S.txt | 4 +- BIN/RM.S.txt | 8 ++-- BIN/SHUTDOWN.S.txt | 14 +++--- BIN/UC.S.txt | 4 +- BIN/USERMOD.S.txt | 2 +- BIN/WC.S.txt | 7 ++- BIN/X.FILEENUM.G.txt | 5 +- BIN/X.FILEENUM.S.txt | 4 +- DRV/DHGR.DRV.G.txt | 1 - DRV/DHGR.DRV.S.BLT.txt | 9 ++-- DRV/DHGR.DRV.S.LBUF.txt | 1 - DRV/DHGR.DRV.S.LINE.txt | 1 - DRV/DHGR.DRV.S.OSD.txt | 2 +- DRV/DHGR.DRV.S.PIX.txt | 1 - DRV/DHGR.DRV.S.RECT.txt | 3 +- DRV/DHGR.DRV.S.txt | 2 +- DRV/LANCEGS.DRV.S.txt | 24 +++++----- DRV/MKBOARD.DRV.S.txt | 2 +- DRV/MOUSE.DRV.S.txt | 2 +- DRV/PIC.DRV.S.txt | 98 ++++++++++++++++++++++++++++----------- DRV/SSC.DRV.S.txt | 14 +++--- DRV/SSC.I.DRV.S.txt | 14 +++--- DRV/UTHER2.AI.DRV.S.txt | 20 ++++---- DRV/UTHERNET.DRV.S.txt | 8 ++-- DRV/UTHERNET2.DRV.S.txt | 26 +++++------ DRV/X.SSC.DRV.S.txt | 18 +++---- 38 files changed, 195 insertions(+), 170 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 22f69fa6872a12254853cffb9a63e26294cd1251..4ef9259829e30da2285f97936913f001407c8ee3 100644 GIT binary patch delta 28870 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 delta 32148 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

Y_aMcnvY5t;F%<6z6*UFaSY#twVFk?=?I9Rq0 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 L0*-z{a_s*HfgeNh diff --git a/BIN/ATLOGON.S.txt b/BIN/ATLOGON.S.txt index c24e4f27..5f276c5f 100644 --- a/BIN/ATLOGON.S.txt +++ b/BIN/ATLOGON.S.txt @@ -118,7 +118,7 @@ CS.RUN.ATCHECK lda #AT.GetInfo pha >LDYA L.MSG.NOATK - >SYSCALL puts + >SYSCALL PutS pla sec .9 rts @@ -139,7 +139,7 @@ CS.RUN.GOATLK >STYA ZPAtlkParams >PUSHA >PUSHBI 2 - >SYSCALL printf + >SYSCALL PrintF pla sec diff --git a/BIN/ATTR.S.txt b/BIN/ATTR.S.txt index 4ed2a4d0..fbf64ca7 100644 --- a/BIN/ATTR.S.txt +++ b/BIN/ATTR.S.txt @@ -405,7 +405,7 @@ CS.QUIT jsr LeaveSubDir .8 clc rts *-------------------------------------- - .INB usr/src/bin/x.fileenum.s + .INB usr/src/shared/x.fileenum.s *-------------------------------------- CS.END *-------------------------------------- @@ -445,10 +445,9 @@ hSrcFullPath .BS 1 ATTR .BS 17 - .INB usr/src/bin/x.fileenum.g + .INB usr/src/shared/x.fileenum.g -DS.END - .ED +DS.END .ED *-------------------------------------- MAN SAVE usr/src/bin/attr.s diff --git a/BIN/CHGRP.S.txt b/BIN/CHGRP.S.txt index c0f973f3..83258bc8 100644 --- a/BIN/CHGRP.S.txt +++ b/BIN/CHGRP.S.txt @@ -209,7 +209,7 @@ CS.RUN.DIR lda (ZPFileName) >PUSHW ZPFullPath >PUSHBI 255 >PUSHB.G GID - >SYSCALL chown + >SYSCALL ChOwn jsr CS.RUN.CheckErr bcs .9 @@ -279,7 +279,7 @@ CS.QUIT jsr LeaveSubDir .8 clc rts *-------------------------------------- - .INB usr/src/bin/x.fileenum.s + .INB usr/src/shared/x.fileenum.s *-------------------------------------- CS.END *-------------------------------------- @@ -306,10 +306,9 @@ GID .BS 1 STATBUF .BS S.STAT hSrcFullPath .BS 1 - .INB usr/src/bin/x.fileenum.g + .INB usr/src/shared/x.fileenum.g -DS.END - .ED +DS.END .ED *-------------------------------------- MAN SAVE usr/src/bin/chgrp.s diff --git a/BIN/CHMOD.S.txt b/BIN/CHMOD.S.txt index 68e52f22..a64316fb 100644 --- a/BIN/CHMOD.S.txt +++ b/BIN/CHMOD.S.txt @@ -320,7 +320,7 @@ CS.QUIT jsr LeaveSubDir .8 clc rts *-------------------------------------- - .INB usr/src/bin/x.fileenum.s + .INB usr/src/shared/x.fileenum.s *-------------------------------------- CS.END *-------------------------------------- @@ -344,10 +344,9 @@ bRecurse .BS 1 bPause .BS 1 hSrcFullPath .BS 1 - .INB usr/src/bin/x.fileenum.g + .INB usr/src/shared/x.fileenum.g -DS.END - .ED +DS.END .ED *-------------------------------------- MAN SAVE usr/src/bin/chmod.s diff --git a/BIN/CHOWN.S.txt b/BIN/CHOWN.S.txt index 04775254..24e67ae5 100644 --- a/BIN/CHOWN.S.txt +++ b/BIN/CHOWN.S.txt @@ -281,7 +281,7 @@ CS.QUIT jsr LeaveSubDir .8 clc rts *-------------------------------------- - .INB usr/src/bin/x.fileenum.s + .INB usr/src/shared/x.fileenum.s *-------------------------------------- CS.END *-------------------------------------- @@ -308,7 +308,7 @@ UID .BS 1 STATBUF .BS S.STAT hSrcFullPath .BS 1 - .INB usr/src/bin/x.fileenum.g + .INB usr/src/shared/x.fileenum.g DS.END .ED diff --git a/BIN/CHTYP.S.txt b/BIN/CHTYP.S.txt index e81112e3..246d45c8 100644 --- a/BIN/CHTYP.S.txt +++ b/BIN/CHTYP.S.txt @@ -346,7 +346,7 @@ IsDigit16 cmp #'0' .9 sec rts *-------------------------------------- - .INB usr/src/bin/x.fileenum.s + .INB usr/src/shared/x.fileenum.s *-------------------------------------- CS.END *-------------------------------------- @@ -381,8 +381,7 @@ bContinue .BS 1 bRecurse .BS 1 HexFileType .BS 1 - .INB usr/src/bin/x.fileenum.g - + .INB usr/src/shared/x.fileenum.g DS.END .ED *-------------------------------------- MAN diff --git a/BIN/CP.S.txt b/BIN/CP.S.txt index 5321094d..dc528ece 100644 --- a/BIN/CP.S.txt +++ b/BIN/CP.S.txt @@ -14,8 +14,8 @@ X.ENTER.SUBDIR .EQ 0 X.COPY.TO.DEST .EQ 1 X.DELETE.SOURCE .EQ 0 *-------------------------------------- - .INB usr/src/bin/x.cpmvrm.s - .INB usr/src/bin/x.fileenum.s + .INB usr/src/shared/x.cpmvrm.s + .INB usr/src/shared/x.fileenum.s *-------------------------------------- CS.END *-------------------------------------- @@ -42,10 +42,9 @@ bContinue .BS 1 bRecurse .BS 1 bNoConfirm .BS 1 bQuiet .BS 1 - .INB usr/src/bin/x.cpmvrm.g - .INB usr/src/bin/x.fileenum.g -DS.END - .ED + .INB usr/src/shared/x.cpmvrm.g + .INB usr/src/shared/x.fileenum.g +DS.END .ED *-------------------------------------- MAN SAVE usr/src/bin/cp.s diff --git a/BIN/ETCONFIG.S.txt b/BIN/ETCONFIG.S.txt index a0a9b356..c3b3bd6a 100644 --- a/BIN/ETCONFIG.S.txt +++ b/BIN/ETCONFIG.S.txt @@ -25,7 +25,6 @@ pETKCFG .BS 2 ZPFrameBase .BS 2 ZPFramePtr .BS 2 BufPtr .BS 2 - ZS.END .ED *-------------------------------------- * File Header (16 Bytes) @@ -363,7 +362,7 @@ CFG.EtcFiles >LDYAI 256 >PUSHW L.CFG.DefaultHost >PUSHW A2osX.TIMER16 >PUSHBI 2 - >SYSCALL sprintf + >SYSCALL SPrintF lda #10 sta ETKCFG+S.ETKCFG.OBJECT @@ -452,7 +451,7 @@ CFG.Read.Close2 lda CFG.hCfgFile CFG.Read.GetS >PUSHWI 255 >PUSHW BufPtr lda CFG.hCfgFile - >SYSCALL fgets + >SYSCALL FGetS rts *-------------------------------------- CS.DOEVENT lda (pEvent) diff --git a/BIN/LC.S.txt b/BIN/LC.S.txt index ced80080..267b5288 100644 --- a/BIN/LC.S.txt +++ b/BIN/LC.S.txt @@ -314,7 +314,7 @@ CS.RUN.CheckOpt ldy #1 clc rts *-------------------------------------- - .INB usr/src/bin/x.fileenum.s + .INB usr/src/shared/x.fileenum.s *-------------------------------------- CS.END *-------------------------------------- @@ -340,7 +340,7 @@ hSrcNewPath .BS 1 hFile .BS 1 hMem .BS 1 - .INB usr/src/bin/x.fileenum.g + .INB usr/src/shared/x.fileenum.g DS.END .ED *-------------------------------------- MAN diff --git a/BIN/LS.S.txt b/BIN/LS.S.txt index e3318fb3..06a4ceae 100644 --- a/BIN/LS.S.txt +++ b/BIN/LS.S.txt @@ -747,7 +747,7 @@ Mod2CSTR ldy #S.STAT.MODE+1 >PUSHEA.G MOD rts *-------------------------------------- - .INB usr/src/bin/x.fileenum.s + .INB usr/src/shared/x.fileenum.s *-------------------------------------- CS.END *-------------------------------------- @@ -805,7 +805,7 @@ bRecurse .BS 1 ColCount .BS 1 hPW .BS 1 - .INB usr/src/bin/x.fileenum.g + .INB usr/src/shared/x.fileenum.g DS.END .ED *-------------------------------------- MAN diff --git a/BIN/MV.S.txt b/BIN/MV.S.txt index adcb2697..b4292f73 100644 --- a/BIN/MV.S.txt +++ b/BIN/MV.S.txt @@ -14,8 +14,8 @@ X.ENTER.SUBDIR .EQ 0 X.COPY.TO.DEST .EQ 1 X.DELETE.SOURCE .EQ 1 *-------------------------------------- - .INB usr/src/bin/x.cpmvrm.s - .INB usr/src/bin/x.fileenum.s + .INB usr/src/shared/x.cpmvrm.s + .INB usr/src/shared/x.fileenum.s *-------------------------------------- CS.END *-------------------------------------- @@ -42,10 +42,9 @@ bContinue .BS 1 bRecurse .BS 1 bNoConfirm .BS 1 bQuiet .BS 1 - .INB usr/src/bin/x.cpmvrm.g - .INB usr/src/bin/x.fileenum.g -DS.END - .ED + .INB usr/src/shared/x.cpmvrm.g + .INB usr/src/shared/x.fileenum.g +DS.END .ED *-------------------------------------- MAN SAVE usr/src/bin/mv.s diff --git a/BIN/PAK.S.txt b/BIN/PAK.S.txt index cd61f0cb..0220512a 100644 --- a/BIN/PAK.S.txt +++ b/BIN/PAK.S.txt @@ -639,7 +639,7 @@ CS.RUN.CheckOpt ldy #1 .8 clc rts *-------------------------------------- - .INB usr/src/bin/x.fileenum.s + .INB usr/src/shared/x.fileenum.s *-------------------------------------- CS.END *-------------------------------------- @@ -678,7 +678,7 @@ Shunk.DstSize .BS 2 PAKSTAT .BS S.PAKSTAT - .INB usr/src/bin/x.fileenum.g + .INB usr/src/shared/x.fileenum.g DS.END .ED *-------------------------------------- diff --git a/BIN/RM.S.txt b/BIN/RM.S.txt index 2cf8018f..9de57620 100644 --- a/BIN/RM.S.txt +++ b/BIN/RM.S.txt @@ -14,8 +14,8 @@ X.ENTER.SUBDIR .EQ 0 X.COPY.TO.DEST .EQ 0 X.DELETE.SOURCE .EQ 1 *-------------------------------------- - .INB usr/src/bin/x.cpmvrm.s - .INB usr/src/bin/x.fileenum.s + .INB usr/src/shared/x.cpmvrm.s + .INB usr/src/shared/x.fileenum.s *-------------------------------------- CS.END *-------------------------------------- @@ -39,8 +39,8 @@ DS.START bContinue .BS 1 bRecurse .BS 1 bQuiet .BS 1 - .INB usr/src/bin/x.cpmvrm.g - .INB usr/src/bin/x.fileenum.g + .INB usr/src/shared/x.cpmvrm.g + .INB usr/src/shared/x.fileenum.g DS.END .ED *-------------------------------------- diff --git a/BIN/SHUTDOWN.S.txt b/BIN/SHUTDOWN.S.txt index 7aab914a..c15912b6 100644 --- a/BIN/SHUTDOWN.S.txt +++ b/BIN/SHUTDOWN.S.txt @@ -15,8 +15,7 @@ ZS.START ZPPtr1 .BS 2 Count .BS 1 Index .BS 1 -ZS.END - .ED +ZS.END .ED *-------------------------------------- * File Header (16 Bytes) *-------------------------------------- @@ -52,7 +51,7 @@ CS.RUN jsr CS.RUN.PS >PUSHBI 2 >PUSHBI 1 INITD - >SYSCALL kill + >SYSCALL Kill lda #0 sec @@ -98,13 +97,13 @@ CS.RUN.PS >PUSHYA >PUSHBI 3 - >SYSCALL printf + >SYSCALL PrintF >PUSHBI 2 ldy #S.PS.PID lda (ZPPtr1),y - >SYSCALL kill + >SYSCALL Kill .6 inc Count @@ -145,7 +144,7 @@ CS.RUN.DEV ldx #1 .7 inc Index - inc index + inc Index ldx Index cpx #K.DEV.MAX*2+1 @@ -166,8 +165,7 @@ MSGDEV .AZ "SHUTDOWN:Closing device %3d, %s\r\n" .DUMMY .OR 0 DS.START -DS.END - .ED +DS.END .ED *-------------------------------------- MAN SAVE usr/src/bin/shutdown.s diff --git a/BIN/UC.S.txt b/BIN/UC.S.txt index 250e4be2..7992a292 100644 --- a/BIN/UC.S.txt +++ b/BIN/UC.S.txt @@ -314,7 +314,7 @@ CS.RUN.CheckOpt ldy #1 clc rts *-------------------------------------- - .INB usr/src/bin/x.fileenum.s + .INB usr/src/shared/x.fileenum.s *-------------------------------------- CS.END *-------------------------------------- @@ -340,7 +340,7 @@ hSrcNewPath .BS 1 hFile .BS 1 hMem .BS 1 - .INB usr/src/bin/x.fileenum.g + .INB usr/src/shared/x.fileenum.g DS.END .ED *-------------------------------------- MAN diff --git a/BIN/USERMOD.S.txt b/BIN/USERMOD.S.txt index 5cc853b6..c5880185 100644 --- a/BIN/USERMOD.S.txt +++ b/BIN/USERMOD.S.txt @@ -69,7 +69,7 @@ CS.RUN ldy #S.PS.ARGC bcs .99 >PUSHW pData - >SYSCALL putpw + >SYSCALL PutPW bcs .99 lda #0 diff --git a/BIN/WC.S.txt b/BIN/WC.S.txt index eb3825bd..12a7a1d2 100644 --- a/BIN/WC.S.txt +++ b/BIN/WC.S.txt @@ -567,7 +567,7 @@ CS.RUN.CheckOpt ldy #1 clc rts *-------------------------------------- - .INB usr/src/bin/x.fileenum.s + .INB usr/src/shared/x.fileenum.s *-------------------------------------- CS.END *-------------------------------------- @@ -597,10 +597,9 @@ tCharCount .BS 4 tLineCount .BS 4 tWordCount .BS 4 - .INB usr/src/bin/x.fileenum.g + .INB usr/src/shared/x.fileenum.g -DS.END - .ED +DS.END .ED *-------------------------------------- MAN SAVE usr/src/bin/wc.s diff --git a/BIN/X.FILEENUM.G.txt b/BIN/X.FILEENUM.G.txt index 69dc6d7b..42b19de5 100644 --- a/BIN/X.FILEENUM.G.txt +++ b/BIN/X.FILEENUM.G.txt @@ -1,6 +1,5 @@ NEW AUTO 3,1 - .LIST OFF *-------------------------------------- index .BS 1 hDIRs .BS X.MAX.RECURSE+1 @@ -16,6 +15,6 @@ hDstBasePath .BS 1 .FIN *-------------------------------------- MAN -SAVE USR/SRC/BIN/X.FILEENUM.G -LOAD USR/SRC/BIN/LS.S +SAVE usr/src/shared/x.fileenum.g +LOAD usr/src/bin/ls.s ASM diff --git a/BIN/X.FILEENUM.S.txt b/BIN/X.FILEENUM.S.txt index 180a76cc..1e4edfdb 100644 --- a/BIN/X.FILEENUM.S.txt +++ b/BIN/X.FILEENUM.S.txt @@ -605,6 +605,6 @@ GetoDIRENT ldy #index rts *-------------------------------------- MAN -SAVE USR/SRC/BIN/X.FILEENUM.S -LOAD USR/SRC/BIN/LS.S +SAVE usr/src/shared/x.fileenum.s +LOAD usr/src/bin/ls.s ASM diff --git a/DRV/DHGR.DRV.G.txt b/DRV/DHGR.DRV.G.txt index 89f8b63c..2195f9af 100644 --- a/DRV/DHGR.DRV.G.txt +++ b/DRV/DHGR.DRV.G.txt @@ -1,6 +1,5 @@ NEW AUTO 3,1 - .LIST OFF *-------------------------------------- Mask7BitsH .DA #%01111111 Useless C2.MASK .DA #%01111110 diff --git a/DRV/DHGR.DRV.S.BLT.txt b/DRV/DHGR.DRV.S.BLT.txt index 64bfedeb..0d606dc4 100644 --- a/DRV/DHGR.DRV.S.BLT.txt +++ b/DRV/DHGR.DRV.S.BLT.txt @@ -1,6 +1,5 @@ NEW AUTO 3,1 - .LIST OFF *-------------------------------------- * BitBlt * S.CB.X1 : SrcX1 in bitmap/mask @@ -122,7 +121,7 @@ BITBLT.1 ldy #S.BM-1 .4 >LDYA CB.Cache+S.CB.DstX jsr LBUF.SetBounds1YA - stx BLT.SCRBitOfs + stx BLT.ScrBitOfs lda CB.Cache+S.CB.DstX clc adc CB.Cache+S.CB.SrcW @@ -136,7 +135,7 @@ BITBLT.1 ldy #S.BM-1 pla sbc #0 jsr LBUF.SetBounds2YA - ldx BLT.SCRBitOfs + ldx BLT.ScrBitOfs beq BITBLT.LOOP0 ldy Shift.L.LO-1,x X = 1->6 @@ -213,7 +212,7 @@ BITBLT.LOOP0 lda CB.Cache+S.CB.OP rts *------------ Shift 1->6 Comment : SCRBitOfs=X=3 -BITBLT.LOOPx lda CB.Cache+S.CB.OP X = BLT.SCRBitOfs +BITBLT.LOOPx lda CB.Cache+S.CB.OP X = BLT.ScrBitOfs bit #S.CB.OP.MASK beq BITBLT.LOOPx.4 >LDYA BLT.BMMaskPtr @@ -352,6 +351,6 @@ BLT.Get7BMBits1 lda (ZPBMDataPtr) .8 rts *-------------------------------------- MAN -SAVE usr/src/drv/dhgr.drv.s.rect +SAVE usr/src/drv/dhgr.drv.s.blt LOAD usr/src/drv/dhgr.drv.s ASM diff --git a/DRV/DHGR.DRV.S.LBUF.txt b/DRV/DHGR.DRV.S.LBUF.txt index aa5f9ff1..f020ffb1 100644 --- a/DRV/DHGR.DRV.S.LBUF.txt +++ b/DRV/DHGR.DRV.S.LBUF.txt @@ -1,6 +1,5 @@ NEW AUTO 3,1 - .LIST OFF *-------------------------------------- LBUF.SetBounds1YA jsr DIVMOD7YA A=DIV, X=MOD diff --git a/DRV/DHGR.DRV.S.LINE.txt b/DRV/DHGR.DRV.S.LINE.txt index a13c5dc8..624796f8 100644 --- a/DRV/DHGR.DRV.S.LINE.txt +++ b/DRV/DHGR.DRV.S.LINE.txt @@ -1,6 +1,5 @@ NEW AUTO 3,1 - .LIST OFF *-------------------------------------- * HLINE X1,X2 at Y1 (XOR,SET,ORA) *-------------------------------------- diff --git a/DRV/DHGR.DRV.S.OSD.txt b/DRV/DHGR.DRV.S.OSD.txt index fb595b57..c4529311 100644 --- a/DRV/DHGR.DRV.S.OSD.txt +++ b/DRV/DHGR.DRV.S.OSD.txt @@ -172,7 +172,7 @@ OSD.DRAWTEXT sec *-------------------------------------- OSD.GETTEXTSIZE clc php - lda CBX.Cache+S.CB.hFONT + lda CBX.Cache+S.CB.hFont >SYSCALL2 GetMemPtr >STYA ZPFontPtr diff --git a/DRV/DHGR.DRV.S.PIX.txt b/DRV/DHGR.DRV.S.PIX.txt index 5a8e6cd5..0f189051 100644 --- a/DRV/DHGR.DRV.S.PIX.txt +++ b/DRV/DHGR.DRV.S.PIX.txt @@ -1,6 +1,5 @@ NEW AUTO 3,1 - .LIST OFF *-------------------------------------- * SETPIXEL * 1 : OP (XOR,SET,ORA) diff --git a/DRV/DHGR.DRV.S.RECT.txt b/DRV/DHGR.DRV.S.RECT.txt index 4965ed37..af234caa 100644 --- a/DRV/DHGR.DRV.S.RECT.txt +++ b/DRV/DHGR.DRV.S.RECT.txt @@ -1,6 +1,5 @@ NEW AUTO 3,1 - .LIST OFF *-------------------------------------- * FILLRECT * 1 : OP (XOR,SET,ORA) @@ -45,6 +44,6 @@ GETRECTBUFSIZE >LDYA CB.Cache+S.CB.X1 jmp YAMultX *-------------------------------------- MAN -SAVE usr/src/drv/dhgr.drv.s.blt +SAVE usr/src/drv/dhgr.drv.s.rect LOAD usr/src/drv/dhgr.drv.s ASM diff --git a/DRV/DHGR.DRV.S.txt b/DRV/DHGR.DRV.S.txt index f17e9bab..2b34a4c4 100644 --- a/DRV/DHGR.DRV.S.txt +++ b/DRV/DHGR.DRV.S.txt @@ -98,7 +98,7 @@ Dev.Detect >LDYA L.MSG.DETECT >PUSHW L.FD.DEV >PUSHW L.FD.DEV.NAME - >SYSCALL MKDEV + >SYSCALL MKDev bcs .9 php diff --git a/DRV/LANCEGS.DRV.S.txt b/DRV/LANCEGS.DRV.S.txt index fddeb4ad..4e4c0c6e 100644 --- a/DRV/LANCEGS.DRV.S.txt +++ b/DRV/LANCEGS.DRV.S.txt @@ -5,12 +5,12 @@ NEW .OR $2000 .TF drv/lancegs.drv *-------------------------------------- - .INB INC/MACROS.I - .INB INC/A2OSX.I - .INB INC/MLI.E.I - .INB INC/NIC.I - .INB INC/NIC.91C96.I - .INB INC/ETH.I + .INB inc/macros.i + .INB inc/a2osx.i + .INB inc/mli.e.i + .INB inc/nic.i + .INB inc/nic.91c96.i + .INB inc/eth.i *-------------------------------------- ZPArgPtr .EQ ZPBIN DEVSLOT0x .EQ ZPBIN+2 @@ -95,7 +95,7 @@ Dev.Detect >STYA ARGS >PUSHW L.FD.DEV >PUSHW L.FD.DEV.NAME - >SYSCALL MKDEV + >SYSCALL MKDev bcs .9 ldx DEVSLOT0x @@ -105,8 +105,8 @@ Dev.Detect >STYA ARGS .9 rts *-------------------------------------- Dev.ParseArgs >LDYA ARGS - >STYA ZPArgPTR - lda (ZPArgPTR) + >STYA ZPArgPtr + lda (ZPArgPtr) bne .1 lda A2osX.RANDOM16 @@ -131,7 +131,7 @@ Dev.ParseArgs >LDYA ARGS bne .2 >PUSHBI 12 6 x byte PTRs - >SYSCALL sscanf + >SYSCALL SScanF bcc .8 lda #E.SYN @@ -361,7 +361,7 @@ READ php ply Y,A = Size - >SYSCALL2 getmem + >SYSCALL2 GetMem bcs READWRITE.99 >STYA ZPBufPtr @@ -556,5 +556,5 @@ DCB .DA #S.DCB.T.NIC *-------------------------------------- DRV.END MAN -SAVE USR/SRC/DRV/LANCEGS.DRV.S +SAVE usr/src/drv/lancegs.drv.s ASM diff --git a/DRV/MKBOARD.DRV.S.txt b/DRV/MKBOARD.DRV.S.txt index c2f32666..ffcbb46d 100644 --- a/DRV/MKBOARD.DRV.S.txt +++ b/DRV/MKBOARD.DRV.S.txt @@ -99,7 +99,7 @@ Dev.Detect >STYA ARGS >PUSHW L.FD.DEV >PUSHW L.FD.DEV.NAME - >SYSCALL MKDEV + >SYSCALL MKDev .9 rts *-------------------------------------- diff --git a/DRV/MOUSE.DRV.S.txt b/DRV/MOUSE.DRV.S.txt index 79942801..c8a7b797 100644 --- a/DRV/MOUSE.DRV.S.txt +++ b/DRV/MOUSE.DRV.S.txt @@ -96,7 +96,7 @@ Dev.Detect >LDYA L.MSG.DETECT >PUSHW L.FD.DEV >PUSHW L.FD.DEV.NAME - >SYSCALL MKDEV + >SYSCALL MKDev .99 rts *-------------------------------------- diff --git a/DRV/PIC.DRV.S.txt b/DRV/PIC.DRV.S.txt index a8aabff2..f99bf2dc 100644 --- a/DRV/PIC.DRV.S.txt +++ b/DRV/PIC.DRV.S.txt @@ -1,14 +1,13 @@ NEW -PREFIX -AUTO 4,1 + AUTO 3,1 .LIST OFF .OP 65C02 .OR $2000 - .TF DRV/PIC.DRV + .TF drv/pic.drv *-------------------------------------- - .INB INC/MACROS.I - .INB INC/A2OSX.I - .INB INC/MLI.E.I + .INB inc/macros.i + .INB inc/a2osx.i + .INB inc/mli.e.i *-------------------------------------- ZPTmpPtr1 .EQ ZPDRV *-------------------------------------- @@ -20,24 +19,30 @@ CS.START cld .DA #1 DRV Layout Version 1 .DA 0 .DA CS.END-CS.START Code Length - .DA DEV.HEADER-CS.START Device Header Offset - .DA DRV.CS.START-CS.START Driver Code Offset - .DA DRV.CS.END-DRV.CS.START Drv Code Length + .DA 0 + .DA #32 SS + .DA #2 ZP + .DA 0 *-------------------------------------- * Relocation Table *-------------------------------------- L.MSG.DETECT .DA MSG.DETECT L.MSG.DETECT.OK .DA MSG.DETECT.OK L.MSG.DETECT.KO .DA MSG.DETECT.KO -L.DEV.HEADER.NAME .DA DEV.HEADER.NAME +L.DRV.CS.START .DA DRV.CS.START +L.FD.DEV .DA FD.DEV +L.FD.DEV.NAME .DA FD.DEV.NAME .DA 0 End Of Reloc Table *-------------------------------------- Dev.Detect >STYA ARGS + >LDYA L.MSG.DETECT - >SYSCALL PrintF + >SYSCALL PutS + stz ZPTmpPtr1 lda #$C1 sta ZPTmpPtr1+1 + .1 and #$0f tay lda A2osX.S,y @@ -49,15 +54,20 @@ Dev.Detect >STYA ARGS lda (ZPTmpPtr1),y cmp DEVSIG.Value,x bne .3 + dex bpl .2 + bra .4 -.3 inc ZPTmpPtr1+1 no match, try next slot.... + +.3 inc FD.DEV.NAME+3 + inc ZPTmpPtr1+1 no match, try next slot.... lda ZPTmpPtr1+1 cmp #$C8 bne .1 + >LDYA L.MSG.DETECT.KO - >SYSCALL PrintF + >SYSCALL PutS lda #MLI.E.NODEV Not Found in any slot, exiting sec @@ -70,19 +80,31 @@ Dev.Detect >STYA ARGS lda #A2osX.S.COM sta A2osX.S,y pla - ora #$30 - sta DEV.HEADER.NAME+4 asl asl asl asl sta DEVSLOTn0 - >PUSHW L.DEV.HEADER.NAME - >LDYA L.MSG.DETECT.OK +.8 >PUSHW L.MSG.DETECT.OK + >PUSHW L.FD.DEV.NAME + >PUSHBI 2 >SYSCALL PrintF - clc - rts + + >PUSHWI DRV.END + >PUSHWI DRV.CS.END-DRV.CS.START + >PUSHWI DRV.CS.START + >LDYA L.DRV.CS.START + >SYSCALL InsDrv + bcs .9 + + >STYA FD.DEV+S.FD.DEV.DRVPTR + + >PUSHW L.FD.DEV + >PUSHW L.FD.DEV.NAME + >SYSCALL MKDev + +.9 rts *-------------------------------------- CS.END DEVSIG.Offset .HS 0507 @@ -93,17 +115,21 @@ MSG.DETECT.OK .AZ "PIC Installed As Device : %S\r\n" MSG.DETECT.KO .AZ "No PIC Found.\r\n" ARGS .BS 2 *-------------------------------------- -* Device Header (16 Bytes) -*-------------------------------------- -DEV.HEADER cld - jmp (DRV.CS.START,x) - .DA #S.DEV.S.WRITE - .BS 6 -DEV.HEADER.NAME >PSTR "LPT1" +FD.DEV .DA #S.FD.T.CDEV + .DA #0 HANDLER + .DA #0 BUSID + .DA #0 DEVID + .DA 0 BUSPTR + .BS 2 DRVPTR + .DA 0 DCBPTR + .DA 0 BUFPTR +FD.DEV.NAME .AZ "lpt1" *-------------------------------------- * Driver Code *-------------------------------------- -DRV.CS.START .DA STATUS +DRV.CS.START cld + jmp (.1,x) +.1 .DA STATUS .DA A2osX.BADCALL .DA A2osX.BADCALL .DA A2osX.BADCALL @@ -149,6 +175,22 @@ STAT .DA #S.DIB.S.WRITE .DA #0 .DA $0900 *-------------------------------------- +DIB .DA #S.DIB.S.WRITE + .DA #0,#0,#0 + >PSTR "Serial Card/Port" + .DA #S.DIB.T.CHAR + .DA #0 + .DA K.VER +*-------------------------------------- +DCB .DA #S.DCB.T.COM + .DA #0 FLAGS + .DA 0 + .DA #0 + .DA #0 + .DA #0 + .DA #0 +*-------------------------------------- +DRV.END MAN -SAVE /A2OSX/SRC/DRV/PIC.DRV.S +SAVE usr/src/drv/pic.drv.s ASM diff --git a/DRV/SSC.DRV.S.txt b/DRV/SSC.DRV.S.txt index 03b91c41..50980c96 100644 --- a/DRV/SSC.DRV.S.txt +++ b/DRV/SSC.DRV.S.txt @@ -4,13 +4,13 @@ NEW *-------------------------------------- SSCIRQ .EQ 0 *-------------------------------------- - .INB INC/MACROS.I - .INB INC/A2OSX.I - .INB INC/MLI.E.I - .INB INC/COM.I - .INB INC/COM.6551.I - .INB USR/SRC/DRV/X.SSC.DRV.S + .INB inc/macros.i + .INB inc/a2osx.i + .INB inc/mli.e.i + .INB inc/com.i + .INB inc/com.6551.i + .INB usr/src/shared/x.ssc.drv.s *-------------------------------------- MAN -SAVE USR/SRC/DRV/SSC.DRV.S +SAVE usr/src/drv/ssc.drv.s ASM diff --git a/DRV/SSC.I.DRV.S.txt b/DRV/SSC.I.DRV.S.txt index a169e31e..69ffd4fc 100644 --- a/DRV/SSC.I.DRV.S.txt +++ b/DRV/SSC.I.DRV.S.txt @@ -4,13 +4,13 @@ NEW *-------------------------------------- SSCIRQ .EQ 1 *-------------------------------------- - .INB INC/MACROS.I - .INB INC/A2OSX.I - .INB INC/MLI.E.I - .INB INC/COM.I - .INB INC/COM.6551.I - .INB USR/SRC/DRV/X.SSC.DRV.S + .INB inc/macros.i + .INB inc/a2osx.i + .INB inc/mli.e.i + .INB inc/com.i + .INB inc/com.6551.i + .INB usr/src/shared/x.ssc.drv.s *-------------------------------------- MAN -SAVE USR/SRC/DRV/SSC.I.DRV.S +SAVE usr/src/drv/ssc.i.drv.s ASM diff --git a/DRV/UTHER2.AI.DRV.S.txt b/DRV/UTHER2.AI.DRV.S.txt index 27d24e10..97a85bfa 100644 --- a/DRV/UTHER2.AI.DRV.S.txt +++ b/DRV/UTHER2.AI.DRV.S.txt @@ -120,7 +120,7 @@ Dev.Detect >STYA ARGS >PUSHW L.FD.DEV >PUSHW L.FD.DEV.NAME - >SYSCALL MKDEV + >SYSCALL MKDev bcs .9 ldx DEVSLOT0x @@ -130,8 +130,8 @@ Dev.Detect >STYA ARGS .9 rts *-------------------------------------- Dev.ParseArgs >LDYA ARGS - >STYA ZPArgPTR - lda (ZPArgPTR) + >STYA ZPArgPtr + lda (ZPArgPtr) bne .1 lda A2osX.RANDOM16 @@ -157,7 +157,7 @@ Dev.ParseArgs >LDYA ARGS >PUSHBI 12 6 x byte PTRs - >SYSCALL sscanf + >SYSCALL SScanF bcc .8 lda #E.SYN @@ -433,9 +433,9 @@ READ.ICMP lda #S.IP.PROTOCOL.ICMP >AR.Sn.SELECT S0.RX.RD lda W5100.DR,x get the received ptr HI - sta offset+1 + sta Offset+1 ldy W5100.DR,x get the received ptr LO - sty offset + sty Offset and Sn.MASK ora Sn.BASE @@ -492,7 +492,7 @@ READ.ICMP lda #S.IP.PROTOCOL.ICMP sta FRM.HDR.IPLEN >LDYA BUF.Size - >SYSCALL2 getmem + >SYSCALL2 GetMem bcc .14 jmp READWRITE.9 @@ -576,9 +576,9 @@ READ.ICMP lda #S.IP.PROTOCOL.ICMP *-------------------------------------- READ.RAW >AR.SELECT S0.RX.RD lda W5100.DR,x get the received ptr HI - sta offset+1 + sta Offset+1 ldy W5100.DR,x get the received ptr LO - sty offset + sty Offset and /$7FF ora /RX.BASE @@ -608,7 +608,7 @@ READ.RAW >AR.SELECT S0.RX.RD sta Counter+1 >LDYA BUF.Size - >SYSCALL2 getmem + >SYSCALL2 GetMem bcc .14 jmp READWRITE.9 diff --git a/DRV/UTHERNET.DRV.S.txt b/DRV/UTHERNET.DRV.S.txt index 40a79db4..a987a6fc 100644 --- a/DRV/UTHERNET.DRV.S.txt +++ b/DRV/UTHERNET.DRV.S.txt @@ -112,7 +112,7 @@ Dev.Detect >STYA ZPArgPtr >PUSHW L.FD.DEV >PUSHW L.FD.DEV.NAME - >SYSCALL MKDEV + >SYSCALL MKDev bcs .9 ldx DEVSLOT0x @@ -121,7 +121,7 @@ Dev.Detect >STYA ZPArgPtr * clc .9 rts *-------------------------------------- -Dev.ParseArgs lda (ZPArgPTR) +Dev.ParseArgs lda (ZPArgPtr) bne .1 lda A2osX.RANDOM16 @@ -146,7 +146,7 @@ Dev.ParseArgs lda (ZPArgPTR) bne .2 >PUSHBI 12 6 x byte PTRs - >SYSCALL sscanf + >SYSCALL SScanF bcc .8 lda #E.SYN @@ -372,7 +372,7 @@ READ php sta Counter+1 pla - >SYSCALL2 getmem + >SYSCALL2 GetMem bcs READWRITE.99 >STYA ZPBufPtr phx diff --git a/DRV/UTHERNET2.DRV.S.txt b/DRV/UTHERNET2.DRV.S.txt index 571f23dc..e7dae7bb 100644 --- a/DRV/UTHERNET2.DRV.S.txt +++ b/DRV/UTHERNET2.DRV.S.txt @@ -5,12 +5,12 @@ NEW .OR $2000 .TF drv/uthernet2.drv *-------------------------------------- - .INB INC/MACROS.I - .INB INC/A2OSX.I - .INB INC/MLI.E.I - .INB INC/NIC.I - .INB INC/NIC.W5100.I - .INB INC/ETH.I + .INB inc/macros.i + .INB inc/a2osx.i + .INB inc/mli.e.i + .INB inc/nic.i + .INB inc/nic.w5100.i + .INB inc/eth.i *-------------------------------------- ZPArgPtr .EQ ZPBIN DEVSLOT0x .EQ ZPBIN+2 @@ -119,7 +119,7 @@ Dev.Detect >STYA ARGS >PUSHW L.FD.DEV >PUSHW L.FD.DEV.NAME - >SYSCALL MKDEV + >SYSCALL MKDev bcs .9 ldx DEVSLOT0x @@ -129,8 +129,8 @@ Dev.Detect >STYA ARGS .9 rts *-------------------------------------- Dev.ParseArgs >LDYA ARGS - >STYA ZPArgPTR - lda (ZPArgPTR) + >STYA ZPArgPtr + lda (ZPArgPtr) bne .1 lda A2osX.RANDOM16 @@ -156,7 +156,7 @@ Dev.ParseArgs >LDYA ARGS >PUSHBI 12 6 x byte PTRs - >SYSCALL sscanf + >SYSCALL SScanF bcc .8 lda #E.SYN @@ -318,9 +318,9 @@ READ php .1 >AR.SELECT S0.RX.RD lda W5100.DR,x get the received ptr HI - sta offset+1 + sta Offset+1 ldy W5100.DR,x get the received ptr LO - sty offset + sty Offset and /RXTX.MASK ora /RX.BASE @@ -350,7 +350,7 @@ READ php sta Counter+1 >LDYA BUF.Size - >SYSCALL2 getmem + >SYSCALL2 GetMem bcc .14 jmp READWRITE.9 diff --git a/DRV/X.SSC.DRV.S.txt b/DRV/X.SSC.DRV.S.txt index 88e05a32..e232a7aa 100644 --- a/DRV/X.SSC.DRV.S.txt +++ b/DRV/X.SSC.DRV.S.txt @@ -4,9 +4,9 @@ NEW .OR $2000 *-------------------------------------- .DO SSCIRQ=1 - .TF DRV/SSC.I.DRV + .TF drv/ssc.i.drv .ELSE - .TF DRV/SSC.DRV + .TF drv/ssc.drv .FIN *-------------------------------------- .DO SSCIRQ=1 @@ -30,7 +30,7 @@ CS.START cld .DA CS.END-CS.START Code Length .DA 0 .DA #32 SS - .DA #8 ZP + .DA #10 ZP .DA 0 *-------------------------------------- * Relocation Table @@ -118,13 +118,13 @@ Dev.Detect >STYA ARGS >PUSHW L.FD.DEV >PUSHW L.FD.DEV.NAME - >SYSCALL MKDEV + >SYSCALL MKDev .9 rts *-------------------------------------- Dev.ParseArgs >LDYA ARGS - >STYA ZPArgPTR - lda (ZPArgPTR) + >STYA ZPArgPtr + lda (ZPArgPtr) bne .1 clc @@ -157,7 +157,7 @@ Dev.ParseArgs >LDYA ARGS >PUSHW ZPParityPtr >PUSHW ZPControlPtr >PUSHBI 10 5 x byte PTRs - >SYSCALL sscanf + >SYSCALL SScanF bcs .90 .90 lda ZPhControl @@ -570,6 +570,6 @@ DCB .DA #S.DCB.T.COM *-------------------------------------- DRV.END MAN -SAVE USR/SRC/DRV/X.SSC.DRV.S -LOAD USR/SRC/DRV/SSC.I.DRV.S +SAVE usr/src/drv/x.ssc.drv.s +LOAD usr/src/drv/ssc.i.drv.s ASM