diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 43965f92..7daf19fa 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/UNPAK.S.txt b/BIN/UNPAK.S.txt index aae6c4ea..1312ef53 100644 --- a/BIN/UNPAK.S.txt +++ b/BIN/UNPAK.S.txt @@ -99,6 +99,7 @@ CS.RUN >LDYAI CHNK.SIZE >LDYAI CHNK.SIZE >SYSCALL getmem bcs .9 + >STYA ZPOutBufPtr txa >STA.G hOutBuf @@ -197,7 +198,7 @@ CS.RUN.LOOP jsr CS.RUN.GetByte ldy #1 lda (ZPInBufPtr),y sta ZPOutBufLen+1 - >DEBUG + jsr X.Unpak bcs .9 diff --git a/LIB/LIBPAK.S.txt b/LIB/LIBPAK.S.txt index 81bb0462..38c80909 100644 --- a/LIB/LIBPAK.S.txt +++ b/LIB/LIBPAK.S.txt @@ -692,7 +692,8 @@ MSG.Stats .AS "\r\nLength : %5D\r\n" .AS "Top 32 : %5D\r\n" .AS "Byte 8 : %5D\r\n" .AZ "BL : %5D, Longest : %d (%d bits), Farest : %D (%d bits)\r\n" -MSG.TopBytes .AZ "Top : %5d, %h%h%h%h%h%h%h%h%h%h%h%h%h%h%h%h%h%h%h%h%h%h%h%h%h%h%h%h%h%h%h%h\r\n" +MSG.TopBytes .AS "Top : (%2d) %h.%h.%h.%h.%h.%h.%h.%h %h.%h.%h.%h.%h.%h.%h.%h\r\n" + .AZ " %h.%h.%h.%h.%h.%h.%h.%h %h.%h.%h.%h.%h.%h.%h.%h\r\n" .FIN TOP.Bits .DA #PAK.B.TOP8,#PAK.B.TOP16,#PAK.B.TOP24,#PAK.B.TOP32 TOP.BitCnt .DA #PAK.B.TOP8.W,#PAK.B.TOP16.W,#PAK.B.TOP24.W,#PAK.B.TOP32.W diff --git a/SHARED/X.UNPAK.S.txt b/SHARED/X.UNPAK.S.txt index 840fc49e..f3703a1e 100644 --- a/SHARED/X.UNPAK.S.txt +++ b/SHARED/X.UNPAK.S.txt @@ -36,6 +36,7 @@ X.Unpak.STORE ldy #0 jsr X.Unpak.PutByte bne .1 +X.Unpak.STORE.8 clc rts *-------------------------------------- @@ -82,18 +83,19 @@ X.Unpak.PAK pha A = BLBITS lda #$80 sta ZPInMask + + >DEBUG + *-------------------------------------- .1 lda ZPnCnt ora ZPnCnt+1 - bne .2 - - clc - rts + beq X.Unpak.STORE.8 *-------------------------------------- .2 jsr X.Unpak.GetBitInC bcs .3 ->TOP * BYTE8 - jsr X.Unpak.GetByteInA + ldx #8 + jsr X.Unpak.GetXBitInA bra .52 *-------------------------------------- .3 jsr X.Unpak.GetBitInC @@ -109,7 +111,7 @@ X.Unpak.PAK pha A = BLBITS * TOP16 ldx #3 jsr X.Unpak.GetXBitInA - ora #8 + ora #%1000 bra .51 *-------------------------------------- @@ -118,7 +120,7 @@ X.Unpak.PAK pha A = BLBITS * TOP32 ldx #4 jsr X.Unpak.GetXBitInA - ora #32 + ora #%10000 .51 tay lda (ZPPtr1),y @@ -131,9 +133,10 @@ X.Unpak.PAK pha A = BLBITS * BACKLINK : 1111 OfsLBits OfsHBits LenBits .6 ldx ZPBLOfsLBits + jsr X.Unpak.GetXBitInA - clc - adc ZPOutBufPtr + sec + sbc ZPOutBufPtr sta ZPPtr2 php lda ZPBLOfsHBits @@ -143,7 +146,8 @@ X.Unpak.PAK pha A = BLBITS jsr X.Unpak.GetXBitInA .61 plp - adc ZPOutBufPtr+1 + + sbc ZPOutBufPtr+1 sta ZPPtr2+1 ldx ZPBLLenBits @@ -155,11 +159,12 @@ X.Unpak.PAK pha A = BLBITS tay -.62 lda (ZPPtr2),y +.62 dey + lda (ZPPtr2),y jsr X.Unpak.PutByte beq .99 - dey + tya bne .62 bra .1 @@ -167,9 +172,6 @@ X.Unpak.PAK pha A = BLBITS .99 sec rts *-------------------------------------- -X.Unpak.GetByteInA - ldx #8 - X.Unpak.GetXBitInA lda #0