From 203010d907dd7bb4a7140aa85df38fb5d65e1402 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Mon, 14 Oct 2019 17:58:16 +0200 Subject: [PATCH] Kernel 0.93+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/PAK.S.txt | 44 +++++++++++++++++++++++-------- BIN/UNPAK.S.txt | 54 +++++++++++++++++++++++++-------------- INC/PAK.I.txt | 4 +-- LIB/LIBPAK.S.txt | 25 +++++++++++++----- SHARED/X.UNPAK.S.txt | 25 ++++++++++++------ 6 files changed, 105 insertions(+), 47 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 04f422483ab151697bf10da7187f3c289b9a1271..43965f925d86002c5c71184f76c73ecd75056ed5 100644 GIT binary patch delta 18174 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 D=;AqP delta 16312 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 - jsr CS.RUN.WriteArcData + bcs .3 + + jsr CS.RUN.WritePakData + bcc .1 + + bra .4 + +.3 jsr CS.RUN.WriteSrcData bcc .1 .4 pha @@ -367,8 +373,6 @@ CS.RUN.Pak >PUSHEA.G PAKSTAT >PUSHW ZPSrcBufPtr >LIBCALL hLIB,LIBPAK.Pak >STYA.G Shunk.DstSize - txa - >STA.G Shunk.Alg rts *-------------------------------------- CS.RUN.OpenArc >PUSHWZ Aux type @@ -475,11 +479,34 @@ CS.RUN.WriteArcHdr CS.RUN.WriteArcHdr.9 rts *-------------------------------------- -CS.RUN.WriteArcData +CS.RUN.WriteSrcData lda #CHNK.T.DATA jsr CS.RUN.WriteArcByteA bcs .9 + >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 +.9 rts +*-------------------------------------- +CS.RUN.WritePakData + lda #CHNK.T.DATA + jsr CS.RUN.WriteArcByteA + bcs .9 + >LDA.G Shunk.DstSize jsr CS.RUN.WriteArcByteA bcs .9 @@ -487,11 +514,7 @@ CS.RUN.WriteArcData >LDA.G Shunk.DstSize+1 jsr CS.RUN.WriteArcByteA bcs .9 - - lda Shunk.Alg - jsr CS.RUN.WriteArcByteA - bcs .9 - + >PUSHW.G Shunk.DstSize >PUSHW ZPDstBufPtr >LDA.G hArcFile @@ -595,7 +618,6 @@ hDstBuf .BS 1 Shunk.SrcSize .BS 2 Shunk.DstSize .BS 2 -Shunk.Alg .BS 1 PAKSTAT .BS S.PAKSTAT diff --git a/BIN/UNPAK.S.txt b/BIN/UNPAK.S.txt index 30a37998..aae6c4ea 100644 --- a/BIN/UNPAK.S.txt +++ b/BIN/UNPAK.S.txt @@ -16,17 +16,21 @@ ZS.START ZPPtr1 .BS 2 ZPPtr2 .BS 2 -ZPFullPathPtr .BS 2 -ZPRelPathPtr .BS 2 - ZPInBufPtr .BS 2 ZPOutBufPtr .BS 2 -ZPULen .BS 2 + ZPnCnt .BS 2 ZPInMask .BS 1 ZPBLOfsLBits .BS 1 ZPBLOfsHBits .BS 1 ZPBLLenBits .BS 1 + +ZPInBufLen .BS 2 +ZPOutBufLen .BS 2 + +ZPFullPathPtr .BS 2 +ZPRelPathPtr .BS 2 + ZS.END .ED *-------------------------------------- * File Header (16 Bytes) @@ -69,18 +73,23 @@ CS.RUN >LDYAI CHNK.SIZE lda #1 >SYSCALL Argv - bcs .9 + bcs .99 + jsr CS.RUN.OpenArc bcs .9 + >LDYAI 256 >SYSCALL getmem bcs .9 + >STYA ZPFullPathPtr txa >STA.G hFullPath + lda #2 >SYSCALL Argv bcc .1 + ldy #S.PS.hCWD lda (pPS),y >SYSCALL getmemptr @@ -151,6 +160,7 @@ CS.RUN.LOOP jsr CS.RUN.GetByte .99 rts .9 jmp CS.RUN.E.IARC + .1 cmp #CHNK.T.FILE bne .9 @@ -170,32 +180,38 @@ CS.RUN.LOOP jsr CS.RUN.GetByte .2 cmp #CHNK.T.DATA bne .3 Could be a 0 byte file -.20 jsr CS.RUN.GetByte ULEN LO +.20 jsr CS.RUN.GetByte DataLen LO bcs .9 - sta ZPULen + sta ZPInBufLen - jsr CS.RUN.GetByte ULEN HI + jsr CS.RUN.GetByte DataLen HI bcs .9 - sta ZPULen+1 + sta ZPInBufLen+1 - jsr CS.RUN.GetByte ALG - bcs .9 - >DEBUG - cmp #0 STORE - bne .9 - jsr CS.RUN.ReadData bcs .9 + + lda (ZPInBufPtr) + sta ZPOutBufLen + + ldy #1 + lda (ZPInBufPtr),y + sta ZPOutBufLen+1 + >DEBUG + jsr X.Unpak + bcs .9 + jsr CS.RUN.WriteFile bcs .9 jsr CS.RUN.GetByte bcs .8 cmp #CHNK.T.DATA beq .20 + .3 pha jsr .8 pla - jmp .10 + jmp .10 .8 >LDA.G hFile >SYSCALL fclose @@ -266,7 +282,7 @@ CS.RUN.GetFileName * clc .9 rts *-------------------------------------- -CS.RUN.ReadData >PUSHW ZPULen +CS.RUN.ReadData >PUSHW ZPInBufLen >PUSHW ZPInBufPtr >LDA.G hArcFile >SYSCALL fread @@ -307,8 +323,8 @@ CS.RUN.OpenFile >PUSHW.G FileAuxType .9 rts *-------------------------------------- CS.RUN.WriteFile - >PUSHW ZPULen - >PUSHW ZPInBufPtr + >PUSHW ZPOutBufLen + >PUSHW ZPOutBufPtr >LDA.G hFile >SYSCALL fwrite rts diff --git a/INC/PAK.I.txt b/INC/PAK.I.txt index 810bef5a..e7aeb9c2 100644 --- a/INC/PAK.I.txt +++ b/INC/PAK.I.txt @@ -15,9 +15,7 @@ CHNK.FILE.FNLEN .EQ 4 * CHNK.DIR.FNLEN .EQ 1 * -CHNK.DATA.ULEN .EQ 1 -CHNK.DATA.PAK.BLBITS .EQ 3 -CHNK.DATA.PAK.TOPLEN .EQ 1 +CHNK.DATA.LEN .EQ 1 *-------------------------------------- MAN SAVE INC/PAK.I diff --git a/LIB/LIBPAK.S.txt b/LIB/LIBPAK.S.txt index e6694a5c..81bb0462 100644 --- a/LIB/LIBPAK.S.txt +++ b/LIB/LIBPAK.S.txt @@ -479,7 +479,15 @@ Pak.PutByte8.2 ldy Pak.Shnk+S.PAKSHNK.TOPCNT .9 rts *-------------------------------------- -Pak.Out.Init lda Pak.Shnk+S.PAKSHNK.BLBITS +Pak.Out.Init 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.BLBITS jsr Pak.Out.PutByte bcs .9 @@ -487,14 +495,16 @@ Pak.Out.Init lda Pak.Shnk+S.PAKSHNK.BLBITS jsr Pak.Out.PutByte bcs .9 + tax + ldy #0 -.1 lda Pak.Shnk+S.PAKSHNK.TOPBYTES +.1 lda Pak.Shnk+S.PAKSHNK.TOPBYTES,y jsr Pak.Out.PutByte bcs .9 iny - cpy Pak.Shnk+S.PAKSHNK.TOPCNT + dex bne .1 lda #$80 @@ -522,11 +532,13 @@ Pak.Out.PutYBits bra .1 .2 ply - asl -.3 pha +.3 asl + + pha bcc .4 + lda Pak.Out.Mask tsb Pak.Out.Byte @@ -536,13 +548,14 @@ Pak.Out.PutYBits ror Pak.Out.Mask lda Pak.Out.Byte + stz Pak.Out.Byte jsr Pak.Out.PutByte .5 pla bcs .9 dey - bne Pak.Out.PutYBits + bne .3 * clc diff --git a/SHARED/X.UNPAK.S.txt b/SHARED/X.UNPAK.S.txt index be24bae3..840fc49e 100644 --- a/SHARED/X.UNPAK.S.txt +++ b/SHARED/X.UNPAK.S.txt @@ -61,15 +61,24 @@ X.Unpak.PAK pha A = BLBITS sta ZPBLOfsHBits jsr X.Unpak.NextByte get TOPCNT - + lda (ZPInBufPtr) CHNK.DATA.PAK.TOPLEN + tax + jsr X.Unpak.NextByte get TOPCNT + + lda ZPInBufPtr + sta ZPPtr1 + lda ZPInBufPtr+1 + sta ZPPtr1+1 + + txa clc adc ZPInBufPtr skip TOP table - sta ZPPtr1 + sta ZPInBufPtr - lda ZPInBufPtr+1 ZPInBufPtr = TOPs + lda ZPInBufPtr+1 adc #0 - sta ZPPtr1+1 ZPPtr1 = DATA + sta ZPInBufPtr+1 lda #$80 sta ZPInMask @@ -112,7 +121,7 @@ X.Unpak.PAK pha A = BLBITS ora #32 .51 tay - lda (ZPInBufPtr),y + lda (ZPPtr1),y .52 jsr X.Unpak.PutByte bne .2 @@ -174,7 +183,7 @@ X.Unpak.GetXBitInA X.Unpak.GetBitInC pha clc - lda (ZPPtr1) + lda (ZPInBufPtr) and ZPInMask beq .1 sec @@ -193,9 +202,9 @@ X.Unpak.GetBitInC rts *-------------------------------------- X.Unpak.NextByte - inc ZPPtr1 + inc ZPInBufPtr bne .8 - inc ZPPtr1+1 + inc ZPInBufPtr+1 .8 rts *--------------------------------------