From 39d4efd96ee9e5dee883b4e7a2b7c0a26a9c6801 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 29 Oct 2019 17:11:45 +0100 Subject: [PATCH] Kernel 0.93+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/PAKME.S.txt | 84 ++++++++++++++++++++++++++++++--------- 2 files changed, 65 insertions(+), 19 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index b802bc4afd7b21666cc5a33756005a5a5c19d5e2..eea85a4c45ea0efb7e6025797ff63cebfa559400 100644 GIT binary patch delta 6265 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 WJKTUjfZPUSHYA - lda ZPChunkIndex - >PUSHA - + >PUSHW ZPChunkLen + >PUSHW ZPChunkOfs + >PUSHB ZPChunkIndex >PUSHBI 3 >LDYA L.MSG.CHUNK >SYSCALL printf - dec ZPChunkCnt - bne CS.RUN.LOOP + dec ZPChunkCnt + beq .8 + + jmp CS.RUN.LOOP .8 lda #0 sec @@ -283,6 +276,58 @@ CS.RUN.GetTable >PUSHBI SEEK.SET .9 rts *-------------------------------------- +CS.RUN.GetChunk lda ZPChunkIndex + + inc ZPChunkIndex + + asl + clc + adc #PAKME.TABLE+1 + tay + lda (pData),y + pha + dey + lda (pData),y + sec + ldy #PAKME.HEADER+5 + sbc (pData),y + sta ZPChunkOfs + + iny + pla + sbc (pData),y + sta ZPChunkOfs+1 + + >PUSHBI SEEK.SET + >PUSHWZ + >PUSHW ZPChunkOfs + lda hSrcFile + >SYSCALL fseek + bcs .9 + + >PUSHWI 3 + >PUSHEA.G CHUNK.HEADER + lda hSrcFile + >SYSCALL fread + bcs .9 + + >LDA.G CHUNK.HEADER +* bne .90 + + >LDA.G CHUNK.HEADER+1 + sta ZPChunkLen + iny + lda (pData),y + sta ZPChunkLen+1 + + clc + rts + +.90 lda #MLI.E.INCFF + sec + +.9 rts +*-------------------------------------- CS.DOEVENT sec rts *-------------------------------------- @@ -314,7 +359,7 @@ CS.END *-------------------------------------- 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.CHUNK .AZ " Chunk #%02d : Ofs=%H, Len=%D\r\n" MSG.OK .AZ "[OK]" MSG.ERR .AZ "[%h]\r\n" MSG.E.IARC .AZ "Invalid/corrupt archive" @@ -335,6 +380,7 @@ Shunk.DstSize .BS 2 STATBUF .BS S.STAT PAKME.HEADER .BS 10 PAKME.TABLE .BS CHUNK.MAX*2 +CHUNK.HEADER .BS 3 PAKSTAT .BS S.PAKSTAT DS.END .ED *--------------------------------------