From 72a3544d20dd3f85cb5f4cc9cfab7372c0fed451 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 15 Oct 2019 08:43:24 +0200 Subject: [PATCH] Kernel 0.93+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/UNPAK.S.txt | 3 ++- LIB/LIBPAK.S.txt | 3 ++- SHARED/X.UNPAK.S.txt | 32 +++++++++++++++++--------------- 4 files changed, 21 insertions(+), 17 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 43965f925d86002c5c71184f76c73ecd75056ed5..7daf19fa4a5a542d25ba9f387196b7be7df438d6 100644 GIT binary patch delta 8764 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 M3oj%432lD=2l>*uH~;_u delta 8810 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 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