From 7091fc157b84ccb4bd86755deb93b13ea0e7a28e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 5 Nov 2019 14:36:10 +0100 Subject: [PATCH] Kernel 0.93+ --- .Floppies/A2OSX.BOOT.po | Bin 143360 -> 143360 bytes .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/PAKME.S.txt | 58 +++++++++++++++---- LIB/LIBPAK.S.txt | 122 +++++++++++++++++++++++---------------- ProDOS.FX/ProDOS.S.txt | 3 +- 5 files changed, 120 insertions(+), 63 deletions(-) diff --git a/.Floppies/A2OSX.BOOT.po b/.Floppies/A2OSX.BOOT.po index acc7cfd9e0ceecb5b73fd6a55b072e5bed63f74c..2f39945e4f67c0c0f2b327154f9acfea7a04c301 100644 GIT binary patch delta 6634 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 delta 6691 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 diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index ada26bc603b632c661770339e827b15492745590..98a2e8ccbf7c49dddf26b559e55adc58c27a7b86 100644 GIT binary patch delta 22746 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 delta 19880 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 diff --git a/BIN/PAKME.S.txt b/BIN/PAKME.S.txt index 5bcbb1e5..bfac5c28 100644 --- a/BIN/PAKME.S.txt +++ b/BIN/PAKME.S.txt @@ -64,6 +64,7 @@ L.MSG.USAGE .DA MSG.USAGE L.MSG.SRCFILE .DA MSG.SRCFILE L.MSG.CHUNK .DA MSG.CHUNK L.MSG.PAKED .DA MSG.PAKED +L.MSG.STORE .DA MSG.STORE L.MSG.E.IARC .DA MSG.E.IARC L.TAG .DA TAG .DA 0 @@ -187,19 +188,16 @@ CS.RUN.LOOP ldy #S.PS.hStdIn bcs .9 jsr CS.RUN.Pak - bcs .9 + bcs .2 jsr CS.RUN.WritePak + bcc .7 + rts + +.2 jsr CS.RUN.WriteStore bcs .9 - >PUSHW ZPChunkNewOfs - >PUSHW ZPChunkPakedLen - >PUSHBI 4 - >LDYA L.MSG.PAKED - >SYSCALL printf - bcs .9 - - jsr CS.QUIT.BUF +.7 jsr CS.QUIT.BUF jsr CS.RUN.UpdateTable inc ZPChunkIndex @@ -208,7 +206,7 @@ CS.RUN.LOOP ldy #S.PS.hStdIn jmp CS.RUN.LOOP -.8 jsr CS.RUN.RewriteTable Write modifid Table +.8 jsr CS.RUN.RewriteTable Write modified Table bcs .9 lda #0 @@ -444,6 +442,45 @@ CS.RUN.WritePak lda hDstFile >PUSHW ZPDstBufPtr lda hDstFile >SYSCALL fwrite + bcs .9 + + >PUSHW ZPChunkNewOfs + >PUSHW ZPChunkPakedLen + >PUSHBI 4 + >LDYA L.MSG.PAKED + >SYSCALL printf + +.9 +CS.RUN.WritePak.RTS + rts +*-------------------------------------- +CS.RUN.WriteStore + lda hDstFile + >SYSCALL ftell + bcs CS.RUN.WritePak.RTS + + >PULLW ZPChunkNewOfs + inc pStack + inc pStack + + >PUSHWI 3 + >PUSHEA.G CHUNK.HEADER + lda hDstFile + >SYSCALL fwrite + bcs .9 + + >PUSHW ZPChunkLen + >PUSHW ZPSrcBufPtr + lda hDstFile + >SYSCALL fwrite + bcs .9 + + >PUSHW ZPChunkNewOfs + >PUSHW ZPChunkLen + >PUSHBI 4 + >LDYA L.MSG.STORE + >SYSCALL printf + .9 rts *-------------------------------------- CS.RUN.UpdateTable @@ -513,6 +550,7 @@ MSG.USAGE .AZ "Usage : PAKME SourceBIN PackedBIN\r\n" MSG.SRCFILE .AZ "Source File : %s, Size=%5D, Org=$%H, %d Chunks at $%H.\r\n" MSG.CHUNK .AZ " Chunk #%02d : Ofs=$%H, Len=%5D ... " MSG.PAKED .AZ "PAKed : %5D Bytes, New Ofs=$%H\r\n" +MSG.STORE .AZ "Store : %5D Bytes, New Ofs=$%H\r\n" MSG.E.IARC .AZ "Invalid/corrupt archive" TAG .AZ "PAKME" *-------------------------------------- diff --git a/LIB/LIBPAK.S.txt b/LIB/LIBPAK.S.txt index 301c7487..60bc4dbb 100644 --- a/LIB/LIBPAK.S.txt +++ b/LIB/LIBPAK.S.txt @@ -81,8 +81,10 @@ Pak >PULLW Pak.SrcPtr stz Pak.bPass2 + jsr Pak.Out.Init Initialize properly for first "PutBit" Call + bcs .9 + jsr Pak.Run -* bcs .9 jsr Pak.ComputeLenBits jsr Pak.BuildTOPTable @@ -104,10 +106,6 @@ Pak >PULLW Pak.SrcPtr jsr Pak.Out.Close bcs .9 - .DO STATS=1 - jsr Pak.PrintStats - .FIN - ldy #S.PAKSTAT-1 .7 lda Pak.Stat,y @@ -115,19 +113,25 @@ Pak >PULLW Pak.SrcPtr dey bpl .7 + .DO STATS=1 + jsr Pak.PrintStats + .FIN >LDYA Pak.Stat+S.PAKSTAT.PASS2 clc -.9 rts -*-------------------------------------- -Pak.Run >LDYA Pak.SrcPtr - >STYA ZPSrcPtr + .DO STATS=1 + rts + .FIN - stz Pak.BL.Longest - stz Pak.BL.Farest - stz Pak.BL.Farest+1 - - lda Pak.Shnk+S.PAKSHNK.ULEN +.9 + .DO STATS=1 + jsr Pak.PrintStats + sec + .FIN + + rts +*-------------------------------------- +Pak.Out.Init lda Pak.Shnk+S.PAKSHNK.ULEN eor #$ff sta Pak.SrcCnt sta Pak.DstCnt @@ -137,6 +141,51 @@ Pak.Run >LDYA Pak.SrcPtr sta Pak.SrcCnt+1 sta Pak.DstCnt+1 + bit Pak.bPass2 + bpl .8 + + lda Pak.Shnk+S.PAKSHNK.BLBITS + jsr Pak.Out.PutByte + bcs .9 + + lda Pak.Shnk+S.PAKSHNK.ULEN + jsr Pak.Out.PutByte + bcs .9 + + lda Pak.Shnk+S.PAKSHNK.ULEN+1 + jsr Pak.Out.PutByte + bcs .9 + + lda Pak.Shnk+S.PAKSHNK.TOPCNT + jsr Pak.Out.PutByte + bcs .9 + + tax + + ldy #0 + +.1 lda Pak.Shnk+S.PAKSHNK.TOPBYTES,y + jsr Pak.Out.PutByte + bcs .9 + + iny + dex + bne .1 + + lda #$80 + sta Pak.Out.Mask + stz Pak.Out.Byte + +.8 clc +.9 rts +*-------------------------------------- +Pak.Run >LDYA Pak.SrcPtr + >STYA ZPSrcPtr + + stz Pak.BL.Longest + stz Pak.BL.Farest + stz Pak.BL.Farest+1 + ldx #S.PAKSTAT.TOP8 .1 stz Pak.Stat,x Reset Stats @@ -440,13 +489,14 @@ Pak.PutByte8 bit Pak.bPass2 rts Pak.PutByte8.2 ldy Pak.Shnk+S.PAKSHNK.TOPCNT + beq .2 No TOP Table .1 cmp Pak.Shnk+S.PAKSHNK.TOPBYTES-1,y beq .3 dey bne .1 - ldx #S.PAKSTAT.BYTE8 +.2 ldx #S.PAKSTAT.BYTE8 jsr Pak.UpdateStats pha @@ -483,41 +533,6 @@ Pak.PutByte8.2 ldy Pak.Shnk+S.PAKSHNK.TOPCNT .9 rts *-------------------------------------- -Pak.Out.Init lda Pak.Shnk+S.PAKSHNK.BLBITS - jsr Pak.Out.PutByte - bcs .9 - - lda Pak.Shnk+S.PAKSHNK.ULEN - jsr Pak.Out.PutByte - bcs .9 - - lda Pak.Shnk+S.PAKSHNK.ULEN+1 - jsr Pak.Out.PutByte - bcs .9 - - lda Pak.Shnk+S.PAKSHNK.TOPCNT - jsr Pak.Out.PutByte - bcs .9 - - tax - - ldy #0 - -.1 lda Pak.Shnk+S.PAKSHNK.TOPBYTES,y - jsr Pak.Out.PutByte - bcs .9 - - iny - dex - bne .1 - - lda #$80 - sta Pak.Out.Mask - stz Pak.Out.Byte - -* clc -.9 rts -*-------------------------------------- Pak.Out.Close bit Pak.Out.Mask bmi .8 @@ -633,7 +648,12 @@ Pak.PrintStats lda Pak.BL.OfsBitsL >PUSHBI TOP.MAX+1 >LDYA L.MSG.TopBytes >SYSCALL printf - rts + + bit Pak.bPass2 + bpl .9 + >DEBUG + +.9 rts .FIN *-------------------------------------- CS.END diff --git a/ProDOS.FX/ProDOS.S.txt b/ProDOS.FX/ProDOS.S.txt index 8310893d..11700850 100644 --- a/ProDOS.FX/ProDOS.S.txt +++ b/ProDOS.FX/ProDOS.S.txt @@ -3,8 +3,7 @@ NEW .LIST OFF .OP 65816 .OR $2000 -* .TF PRODOS,TSYS - .TF PRODOS.FX + .TF PRODOS.FX,TSYS *-------------------------------------- .INB INC/ZP.I .INB INC/IO.I