From d0e30058804b3d23a3d36c53e56b75423aec835f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 29 Oct 2019 15:47:25 +0100 Subject: [PATCH] Kernel 0.93+ --- .Floppies/A2OSX.BOOT.po | Bin 143360 -> 143360 bytes .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/LS.S.txt | 5 +- BIN/PAK.S.txt | 22 +- BIN/PAKME.S.txt | 623 +++++++++++---------------------------- BIN/X.FILEENUM.S.txt | 10 - SYS/KERNEL.S.UNISTD.txt | 1 + SYS/KERNEL.S.txt | 9 +- 8 files changed, 183 insertions(+), 487 deletions(-) diff --git a/.Floppies/A2OSX.BOOT.po b/.Floppies/A2OSX.BOOT.po index e112784a2b0f08497859e1b6b8cebe1e7c4b1203..2290c759d6c8d8fca02829de9865e41c29f6b579 100644 GIT binary patch delta 41346 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 z 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.G bAllmostAll diff --git a/BIN/PAK.S.txt b/BIN/PAK.S.txt index a93a6d29..877c89b2 100644 --- a/BIN/PAK.S.txt +++ b/BIN/PAK.S.txt @@ -102,9 +102,6 @@ CS.RUN >INC.G ArgIndex .5 >LDA.G hSrcBasePath bne .9 - >LDYA ZPPtr1 - >SYSCALL puts - >DEBUG >LDYA ZPPtr1 jsr InitSrcDirYA bcc CS.RUN @@ -115,7 +112,7 @@ CS.RUN >INC.G ArgIndex >LDA.G hSrcBasePath beq .9 - + >LDYAI 256 >SYSCALL getmem bcs .99 @@ -186,6 +183,9 @@ CS.RUN.LOOP ldy #S.PS.hStdIn jsr GetEntry bcs .9 + jsr FilterMatch + bcs .8 no match, skip.... + ldy #S.STAT.P.DRIVE lda (ZPFileStat),y ProDOS Device ? beq .5 @@ -230,7 +230,7 @@ CS.RUN.DIR lda bRecurse cmp #'.' beq .8 - jsr CS.RUN.GetFilePath + jsr CS.RUN.BuildFilePath >PUSHW ZPRelPath @@ -250,10 +250,7 @@ CS.RUN.DIR lda bRecurse .8 clc rts *-------------------------------------- -CS.RUN.FILE jsr FilterMatch - bcs .8 no match, skip.... - - jsr CS.RUN.GetFilePath +CS.RUN.FILE jsr CS.RUN.BuildFilePath >PUSHW ZPFullPath >LDA.G hArcFile @@ -326,7 +323,7 @@ CS.RUN.CheckErr bcs .1 sec rts *-------------------------------------- -CS.RUN.GetFilePath +CS.RUN.BuildFilePath >LDA.G hSrcBasePath >SYSCALL GetMemPtr >PUSHYA @@ -338,10 +335,7 @@ CS.RUN.GetFilePath >PUSHW ZPFileName >LDYA ZPFullPath >SYSCALL StrCat - - >LDYA ZPFullPath - >SYSCALL puts - >DEBUG + rts *-------------------------------------- CS.RUN.OpenFile >PUSHWZ Aux type diff --git a/BIN/PAKME.S.txt b/BIN/PAKME.S.txt index 2700b51a..5eb10084 100644 --- a/BIN/PAKME.S.txt +++ b/BIN/PAKME.S.txt @@ -11,25 +11,29 @@ NEW .INB INC/PAK.I .INB INC/LIBPAK.I .INB INC/MLI.E.I +*-------------------------------------- +CHUNK.MAX .EQ 32 *-------------------------------------- .DUMMY .OR ZPBIN ZS.START ZPPtr1 .BS 2 ZPPtr2 .BS 2 -ZPFileName .BS 2 -ZPFileStat .BS 2 - -ZPFullPath .BS 2 -ZPRelPath .BS 2 ZPSrcBufPtr .BS 2 ZPDstBufPtr .BS 2 -bAppend .BS 1 -bRecurse .BS 1 +ZPSrcFileSize .BS 2 +ZPDstTableOfs .BS 2 + +ZPChunkIndex .BS 1 +ZPChunkCnt .BS 1 + +hSrcFile .BS 1 +hDstFile .BS 1 bPause .BS 1 + ZS.END .ED *-------------------------------------- * File Header (16 Bytes) @@ -53,12 +57,12 @@ CS.START cld .DA CS.QUIT L.LIBPAK .DA LIBPAK L.MSG.USAGE .DA MSG.USAGE -L.MSG.DIR .DA MSG.DIR -L.MSG.FILE .DA MSG.FILE +L.MSG.SRCFILE .DA MSG.SRCFILE +L.MSG.CHUNK .DA MSG.CHUNK L.MSG.OK .DA MSG.OK L.MSG.ERR .DA MSG.ERR L.MSG.E.IARC .DA MSG.E.IARC -L.ARC.Header .DA ARC.Header +L.TAG .DA TAG .DA 0 *-------------------------------------- CS.INIT >LDYA L.LIBPAK @@ -69,17 +73,27 @@ CS.INIT >LDYA L.LIBPAK .9 rts *-------------------------------------- -CS.RUN >INC.G ArgIndex +CS.RUN ldy #S.PS.ARGC + lda (pPs),y + + cmp #2 + bne .9 + + jsr CS.RUN.CheckSrcFile + bcs .99 + + >PUSHW.G STATBUF+S.STAT.P.AUXTYPE + >PUSHB.G STATBUF+S.STAT.P.TYPE + >PUSHBI O.CREATE+O.WRONLY + lda #2 >SYSCALL ArgV - bcs .8 - >STYA ZPPtr1 + + >SYSCALL FOpen + bcs .99 - lda (ZPPtr1) - cmp #'-' - bne .4 + sta hDstFile - jsr CS.RUN.CheckOpt - bcc CS.RUN + bra CS.RUN.START .9 >PUSHBI 0 >LDYA L.MSG.USAGE @@ -88,82 +102,31 @@ CS.RUN >INC.G ArgIndex sec .99 rts *-------------------------------------- -.4 >LDA.G ArcName - bne .5 +CS.RUN.START >PUSHB.G PAKME.HEADER+7 + >PUSHW ZPSrcFileSize + >PUSHW.G PAKME.HEADER+5 + lda #1 + >SYSCALL ArgV + >PUSHYA + + >PUSHBI 7 + >LDYA L.MSG.SRCFILE + >SYSCALL printf - >LDA.G ArgIndex - >STA.G ArcName - bra CS.RUN - -.5 >LDA.G hSrcBasePath - bne .9 - - >LDYA ZPPtr1 - jsr InitSrcDirYA - bcc CS.RUN - rts - -.8 >LDA.G ArcName - beq .9 - - >LDA.G hSrcBasePath - beq .9 - - >LDYAI 256 - >SYSCALL getmem - bcs .99 - >STYA ZPFullPath - txa - >STA.G hSrcFullPath - - >LDA.G hSrcBasePath - >SYSCALL GetMemPtr - >STYA ZPPtr1 - - ldy #$ff - -.80 iny - lda (ZPPtr1),y - bne .80 - - tya - clc - adc ZPFullPath - sta ZPRelPath - lda ZPFullPath+1 - adc #0 - sta ZPRelPath+1 - - jsr CS.RUN.OpenArc -.98 bcs .99 - - >LDYAI CHNK.SIZE - >SYSCALL getmem - bcs .99 - >STYA ZPSrcBufPtr - txa - >STA.G hSrcBuf - - >LDYAI CHNK.SIZE - >SYSCALL getmem - bcs .98 - >STYA ZPDstBufPtr - txa - >STA.G hDstBuf *-------------------------------------- CS.RUN.LOOP ldy #S.PS.hStdIn lda (pPS),y >SYSCALL feof - bcs .99 + bcs .9 tay bne .1 >SYSCALL GetChar - bcs .99 + bcs .9 cmp #$03 Ctrl-C - beq .99 Abort.... + beq .9 Abort.... cmp #$13 Ctrl-S bne .1 @@ -176,382 +139,158 @@ CS.RUN.LOOP ldy #S.PS.hStdIn .1 lda bPause bne CS.RUN.LOOP Pause... *-------------------------------------- - jsr GetEntry - bcs .9 +.7 inc ZPChunkIndex - ldy #S.STAT.P.DRIVE - lda (ZPFileStat),y ProDOS Device ? - beq .5 - - jsr CS.RUN.DEV - bcc CS.RUN.LOOP - rts - -.5 ldy #S.STAT.P.TYPE - lda (ZPFileStat),y - cmp #$0F Directory ? - bne .6 - - jsr CS.RUN.DIR - bcs .99 - bra .8 - -.6 jsr CS.RUN.FILE - bcs .99 - bra .8 - -.9 jsr LeaveSubDir - bcs .90 - - jsr BasePath.. - -.8 jsr GetNextEntry - jmp CS.RUN.LOOP - -.90 lda #0 - sec -.99 rts -*-------------------------------------- -CS.RUN.DEV lda #E.BADPATH - sec - rts -*-------------------------------------- -CS.RUN.DIR lda bRecurse - bpl .8 - - lda (ZPFileName) - cmp #'.' - beq .8 - - jsr CS.RUN.GetFilePath - - >PUSHW ZPRelPath - - >PUSHBI 2 - >LDYA L.MSG.DIR - >SYSCALL printf - bcs .9 - - jsr CS.RUN.WriteArcHdrDir - bcs .9 - - >LDYA ZPFileName - jsr EnterSubDirYA - -.9 jmp CS.RUN.CheckErr - -.8 clc - rts -*-------------------------------------- -CS.RUN.FILE jsr FilterMatch - bcs .8 no match, skip.... - - jsr CS.RUN.GetFilePath - - >PUSHW ZPFullPath - >LDA.G hArcFile + lda ZPChunkIndex + asl + clc + adc #PAKME.TABLE tay - lda OF.Table.hPath-1,y - >SYSCALL getmemptr - >SYSCALL strcmp - bcc .8 - - >PUSHW ZPRelPath + lda (pData),y + pha + iny + lda (pData),y + ply - >PUSHBI 2 - >LDYA L.MSG.FILE - >SYSCALL printf - bcs .9 - - jsr CS.RUN.WriteArcHdrFile - bcs .9 - - jsr CS.RUN.OpenFile - bcs .9 - -.1 lda #'.' - >SYSCALL putchar - - jsr CS.RUN.ReadFile - bcc .2 - - cmp #MLI.E.EOF - bne .4 - - jsr CS.RUN.CloseFile - - bra .9 - -.2 jsr CS.RUN.Pak - bcs .3 - - jsr CS.RUN.WritePakData - bcc .1 - - bra .4 - -.3 jsr CS.RUN.WriteSrcData - bcc .1 - -.4 pha - jsr CS.RUN.CloseFile - pla - sec - -.9 jmp CS.RUN.CheckErr - -.8 clc - rts -*-------------------------------------- -CS.RUN.CheckErr bcs .1 - >LDYA L.MSG.OK - >SYSCALL puts - rts - -.1 pha - >PUSHA - >PUSHBI 1 - >LDYA L.MSG.ERR - - >SYSCALL printf - - pla - sec - rts -*-------------------------------------- -CS.RUN.GetFilePath - >LDA.G hSrcBasePath - >SYSCALL GetMemPtr >PUSHYA + lda ZPChunkIndex + >PUSHA + + >PUSHBI 3 + >LDYA L.MSG.CHUNK + >SYSCALL printf - >LDYA ZPFullPath + + dec ZPChunkCnt + bne CS.RUN.LOOP - >SYSCALL StrCpy - - >PUSHW ZPFileName - >LDYA ZPFullPath - >SYSCALL StrCat - rts +.8 lda #0 + sec +.9 rts *-------------------------------------- -CS.RUN.OpenFile >PUSHWZ Aux type +CS.RUN.CheckSrcFile + >PUSHWZ Aux type >PUSHBI 0 Type >PUSHBI O.RDONLY - >LDYA ZPFullPath - - >SYSCALL FOpen - bcs .9 - - >STA.G hFile - -.9 rts -*-------------------------------------- -CS.RUN.ReadFile >PUSHWI CHNK.SIZE - >PUSHW ZPSrcBufPtr - >LDA.G hFile - >SYSCALL fread - bcs .9 - - >STYA.G Shunk.SrcSize - -.9 rts -*-------------------------------------- -CS.RUN.CloseFile - >LDA.G hFile - >SYSCALL fclose - bcs .9 - - >STZ.G hFile -.9 rts -*-------------------------------------- -CS.RUN.Pak >PUSHEA.G PAKSTAT - >PUSHW ZPDstBufPtr - >PUSHW.G Shunk.SrcSize - >PUSHW ZPSrcBufPtr - >LIBCALL hLIB,LIBPAK.Pak - bcs .9 - >STYA.G Shunk.DstSize -.9 rts -*-------------------------------------- -CS.RUN.OpenArc >PUSHWZ Aux type - >PUSHBI $CF PAK - - bit bAppend - bmi .1 - - >PUSHBI O.CREATE+O.WRONLY - >LDA.G ArcName - >SYSCALL Argv - - >SYSCALL FOpen - bcs .9 - - >STA.G hArcFile - - >PUSHW L.ARC.Header - >LDA.G hArcFile - >SYSCALL fputs -.9 rts -*-------------------------------------- -.1 >PUSHBI O.RDWR - >LDA.G ArcName - >SYSCALL Argv + lda #1 + >SYSCALL ArgV >SYSCALL FOpen - bcs .9 - >STA.G hArcFile + bcs .99 - pha - >PUSHWI 3 - >PUSHW ZPSrcBufPtr - pla - >SYSCALL fread - bcs .9 + sta hSrcFile - cpy #3 - bne .99 + >PUSHEA.G STATBUF + lda hSrcFile + >SYSCALL fstat +.99 bcs .9 + >LDA.G STATBUF+S.STAT.SIZE+3 dey - -.2 lda ARC.Header,y - cmp (ZPSrcBufPtr),y - bne .99 + ora (pData),y + bne .90 + dey - bpl .2 + lda (pData),y + sta ZPSrcFileSize+1 + dey + lda (pData),y + sta ZPSrcFileSize + + jsr CS.RUN.CheckTAG + bcs .9 + + jsr CS.RUN.GetTable + bcs .9 + - >PUSHBI SEEK.END - >PUSHWI 0 - >PUSHWI 0 - >LDA.G hArcFile - >SYSCALL fseek - bcc .8 - cmp #MLI.E.EOF - bne .99 clc -.8 rts - -.99 >LDYA L.MSG.E.IARC - >SYSCALL puts - lda #E.SYN + rts + +.90 lda #MLI.E.INCFF sec - rts +.9 +CS.RUN.CheckSrcFile.RTS + rts *-------------------------------------- -CS.RUN.WriteArcHdrDir - lda #CHNK.T.DIR - jsr CS.RUN.WriteArcByteA - bcc CS.RUN.WriteArcHdr +CS.RUN.CheckTAG >PUSHBI SEEK.SET + >PUSHWZ + + lda ZPSrcFileSize + sec + sbc #10 + tay + lda ZPSrcFileSize+1 + sbc #0 + >PUSHYA + + lda hSrcFile + >SYSCALL fseek + bcs CS.RUN.CheckSrcFile.RTS + + >PUSHWI 10 + >PUSHEA.G PAKME.HEADER + lda hSrcFile + >SYSCALL fread + bcs CS.RUN.CheckSrcFile.RTS + + ldx #4 + + ldy #PAKME.HEADER+4 + +.1 lda TAG,x + cmp (pData),y + bne .90 + dey + dex + bpl .1 + + clc rts -CS.RUN.WriteArcHdrFile - lda #CHNK.T.FILE - jsr CS.RUN.WriteArcByteA - bcs CS.RUN.WriteArcHdr.9 - - ldy #S.STAT.P.TYPE - jsr CS.RUN.WriteArcByteY - bcs CS.RUN.WriteArcHdr.9 - - ldy #S.STAT.P.AUXTYPE - jsr CS.RUN.WriteArcByteY - bcs CS.RUN.WriteArcHdr.9 - - ldy #S.STAT.P.AUXTYPE+1 - jsr CS.RUN.WriteArcByteY - bcs CS.RUN.WriteArcHdr.9 - -CS.RUN.WriteArcHdr - ldy #$ff - -.1 iny - lda (ZPRelPath),y - bne .1 - - tya - jsr CS.RUN.WriteArcByteA - bcs CS.RUN.WriteArcHdr.9 - - >PUSHW ZPRelPath - >LDA.G hArcFile - >SYSCALL fputs - -CS.RUN.WriteArcHdr.9 - rts -*-------------------------------------- -CS.RUN.WriteSrcData - lda #CHNK.T.DATA - jsr CS.RUN.WriteArcByteA - bcs .9 - - >PUSHW.G Shunk.SrcSize - >PUSHBI 2 - >LDYA L.MSG.DBG - >SYSCALL printf - - >LDA.G Shunk.SrcSize - jsr CS.RUN.WriteArcByteA - bcs .9 - - >LDA.G Shunk.SrcSize+1 - jsr CS.RUN.WriteArcByteA - bcs .9 - - lda #0 NO COMPRESSION - jsr CS.RUN.WriteArcByteA - bcs .9 - - >PUSHW.G Shunk.SrcSize - >PUSHW ZPSrcBufPtr - >LDA.G hArcFile - >SYSCALL fwrite +.90 lda #MLI.E.INCFF + sec .9 rts *-------------------------------------- -CS.RUN.WritePakData - lda #CHNK.T.DATA - jsr CS.RUN.WriteArcByteA +CS.RUN.GetTable >PUSHBI SEEK.SET + >PUSHWZ + + >LDA.G PAKME.HEADER+8 + sec + >SBC.G PAKME.HEADER+5 + sta ZPDstTableOfs+1 + pha + >LDA.G PAKME.HEADER+9 + >SBC.G PAKME.HEADER+6 + sta ZPDstTableOfs + ply + >PUSHYA + lda hSrcFile + >SYSCALL fseek bcs .9 -* >PUSHW.G Shunk.DstSize -* >PUSHBI 2 -* >LDYA L.MSG.DBG -* >SYSCALL printf + >LDA.G PAKME.HEADER+7 + sta ZPChunkCnt - >LDA.G Shunk.DstSize - jsr CS.RUN.WriteArcByteA - bcs .9 + asl + tay + lda #0 + >PUSHYA - >LDA.G Shunk.DstSize+1 - jsr CS.RUN.WriteArcByteA - bcs .9 + >PUSHEA.G PAKME.TABLE + lda hSrcFile + >SYSCALL fread - >PUSHW.G Shunk.DstSize - >PUSHW ZPDstBufPtr - >LDA.G hArcFile - >SYSCALL fwrite .9 rts *-------------------------------------- -CS.RUN.WriteArcByteY - lda (ZPFileStat),y - -CS.RUN.WriteArcByteA - >PUSHA - >LDA.G hArcFile - >SYSCALL fputc - rts -*-------------------------------------- CS.DOEVENT sec rts *-------------------------------------- -CS.QUIT jsr LeaveSubDir - bcc CS.QUIT - - >LDA.G hFilter - beq .1 - >SYSCALL FreeMem - -.1 >LDA.G hSrcFullPath +CS.QUIT lda hDstFile beq .2 - >SYSCALL FreeMem + >SYSCALL fclose -.2 >LDA.G hArcFile +.2 lda hSrcFile beq .3 >SYSCALL fclose @@ -571,39 +310,15 @@ CS.QUIT jsr LeaveSubDir .8 clc rts *-------------------------------------- -CS.RUN.CheckOpt ldy #1 - lda (ZPPtr1),y - - ldx #OptionVars-OptionList-1 - -.2 cmp OptionList,x - beq .3 - dex - bpl .2 - - sec - rts - -.3 ldy OptionVars,x - lda #$ff - sta 0,y - clc - rts -*-------------------------------------- - .INB USR/SRC/BIN/X.FILEENUM.S -*-------------------------------------- CS.END *-------------------------------------- -OptionList .AS "AaRr" -OptionVars .DA #bAppend,#bAppend,#bRecurse,#bRecurse -*-------------------------------------- MSG.USAGE .AZ "Usage : PAKME SourceBIN PackedBIN\r\n" +MSG.SRCFILE .AZ "Source File : %s, Org=$%H Size=%D, %d Chunks.\r\n" +MSG.CHUNK .AZ " Chunk #%02d : Ofs=%D\r\n" MSG.OK .AZ "[OK]" MSG.ERR .AZ "[%h]\r\n" MSG.E.IARC .AZ "Invalid/corrupt archive" -MSG.DIR .AZ "Reading Dir:%s..." -MSG.FILE .AZ "Adding File:%s..." -ARC.Header .AZ "PAKME" +TAG .AZ "PAKME" *-------------------------------------- LIBPAK .AZ "libpak" hLIB .BS 1 @@ -611,19 +326,15 @@ hLIB .BS 1 .DUMMY .OR 0 DS.START -ArgIndex .BS 1 -ArcName .BS 1 -hSrcFullPath .BS 1 - -hFile .BS 1 -hArcFile .BS 1 - hSrcBuf .BS 1 hDstBuf .BS 1 Shunk.SrcSize .BS 2 Shunk.DstSize .BS 2 +STATBUF .BS S.STAT +PAKME.HEADER .BS 10 +PAKME.TABLE .BS CHUNK.MAX*2 PAKSTAT .BS S.PAKSTAT DS.END .ED *-------------------------------------- diff --git a/BIN/X.FILEENUM.S.txt b/BIN/X.FILEENUM.S.txt index 2416135a..be453e64 100644 --- a/BIN/X.FILEENUM.S.txt +++ b/BIN/X.FILEENUM.S.txt @@ -17,13 +17,6 @@ X.MAX.RECURSE .EQ 8 * CC : match * CS : no match *-------------------------------------- -*DEBUG.HERE >LDYA ZPFileName -* >SYSCALL puts -* >LDYA ZPPtr2 -* >SYSCALL puts -* >DEBUG -* rts - FilterMatch >LDA.G index dec bne .8 in a subdir, match everything @@ -38,8 +31,6 @@ FilterMatch >LDA.G index >LDYA ZPPtr2 CI compare >SYSCALL strupr -* jsr DEBUG.HERE - .10 lda (ZPPtr2) Get first pattern byte beq .8 Match always if empty @@ -74,7 +65,6 @@ FilterMatch >LDA.G index .5 jsr FilterMatch.NextPtr2 we have '*', last char of pattern ? beq .8 yes, match everything, including empty string - lda (ZPPtr2) get next char of pattern cmp #'*' another '*' ? beq .5 yes, '**' = '*', go next char cmp #'?' '*?' ? we must match a least one char diff --git a/SYS/KERNEL.S.UNISTD.txt b/SYS/KERNEL.S.UNISTD.txt index 6588bbff..90c9688c 100644 --- a/SYS/KERNEL.S.UNISTD.txt +++ b/SYS/KERNEL.S.UNISTD.txt @@ -87,6 +87,7 @@ IO.OPEN.REG >MLICALL MLIGETFILEINFO bcc IO.OPEN.REG.E Already Exists bit IO.Open.FLAGS Create if not exists ? bpl IO.OPEN.RTS No, return MLI error + ldx #2 Yes, Create... .1 lda IO.Open.TYPE,x sta K.MLI.PARAMS+4,x File type,Aux type diff --git a/SYS/KERNEL.S.txt b/SYS/KERNEL.S.txt index 23e78de7..601ceccd 100644 --- a/SYS/KERNEL.S.txt +++ b/SYS/KERNEL.S.txt @@ -25,7 +25,6 @@ NEW PAKME.Table .DA A2osX.MAIN .DA A2osX.AUX .DA A2osX.GP -* .DA A2osX.GPX .DA A2osX.D1 .DA A2osX.D2 .DA A2osX.E0 @@ -111,10 +110,10 @@ DevMgr.FreeMem .EQ * .EP A2osX.E0.E .EQ * *-------------------------------------- - .AS "PAKME" -* .DA #7 - .DA #7 - .DA PAKME.Table-$2000 + .AS "PAKME" TAG + .DA $2000 BIN ORG + .DA #6 Chunk Count + .DA PAKME.Table Chunks *-------------------------------------- .INB USR/SRC/SYS/KERNEL.S.CTRL MAN