Kernel 0.93+

This commit is contained in:
Rémy GIBERT 2019-10-15 08:43:24 +02:00
parent 0617025d74
commit 72a3544d20
4 changed files with 21 additions and 17 deletions

Binary file not shown.

View File

@ -99,6 +99,7 @@ CS.RUN >LDYAI CHNK.SIZE
>LDYAI CHNK.SIZE >LDYAI CHNK.SIZE
>SYSCALL getmem >SYSCALL getmem
bcs .9 bcs .9
>STYA ZPOutBufPtr
txa txa
>STA.G hOutBuf >STA.G hOutBuf
@ -197,7 +198,7 @@ CS.RUN.LOOP jsr CS.RUN.GetByte
ldy #1 ldy #1
lda (ZPInBufPtr),y lda (ZPInBufPtr),y
sta ZPOutBufLen+1 sta ZPOutBufLen+1
>DEBUG
jsr X.Unpak jsr X.Unpak
bcs .9 bcs .9

View File

@ -692,7 +692,8 @@ MSG.Stats .AS "\r\nLength : %5D\r\n"
.AS "Top 32 : %5D\r\n" .AS "Top 32 : %5D\r\n"
.AS "Byte 8 : %5D\r\n" .AS "Byte 8 : %5D\r\n"
.AZ "BL : %5D, Longest : %d (%d bits), Farest : %D (%d bits)\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 .FIN
TOP.Bits .DA #PAK.B.TOP8,#PAK.B.TOP16,#PAK.B.TOP24,#PAK.B.TOP32 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 TOP.BitCnt .DA #PAK.B.TOP8.W,#PAK.B.TOP16.W,#PAK.B.TOP24.W,#PAK.B.TOP32.W

View File

@ -36,6 +36,7 @@ X.Unpak.STORE ldy #0
jsr X.Unpak.PutByte jsr X.Unpak.PutByte
bne .1 bne .1
X.Unpak.STORE.8
clc clc
rts rts
*-------------------------------------- *--------------------------------------
@ -82,18 +83,19 @@ X.Unpak.PAK pha A = BLBITS
lda #$80 lda #$80
sta ZPInMask sta ZPInMask
>DEBUG
*-------------------------------------- *--------------------------------------
.1 lda ZPnCnt .1 lda ZPnCnt
ora ZPnCnt+1 ora ZPnCnt+1
bne .2 beq X.Unpak.STORE.8
clc
rts
*-------------------------------------- *--------------------------------------
.2 jsr X.Unpak.GetBitInC .2 jsr X.Unpak.GetBitInC
bcs .3 ->TOP bcs .3 ->TOP
* BYTE8 * BYTE8
jsr X.Unpak.GetByteInA ldx #8
jsr X.Unpak.GetXBitInA
bra .52 bra .52
*-------------------------------------- *--------------------------------------
.3 jsr X.Unpak.GetBitInC .3 jsr X.Unpak.GetBitInC
@ -109,7 +111,7 @@ X.Unpak.PAK pha A = BLBITS
* TOP16 * TOP16
ldx #3 ldx #3
jsr X.Unpak.GetXBitInA jsr X.Unpak.GetXBitInA
ora #8 ora #%1000
bra .51 bra .51
*-------------------------------------- *--------------------------------------
@ -118,7 +120,7 @@ X.Unpak.PAK pha A = BLBITS
* TOP32 * TOP32
ldx #4 ldx #4
jsr X.Unpak.GetXBitInA jsr X.Unpak.GetXBitInA
ora #32 ora #%10000
.51 tay .51 tay
lda (ZPPtr1),y lda (ZPPtr1),y
@ -131,9 +133,10 @@ X.Unpak.PAK pha A = BLBITS
* BACKLINK : 1111 OfsLBits OfsHBits LenBits * BACKLINK : 1111 OfsLBits OfsHBits LenBits
.6 ldx ZPBLOfsLBits .6 ldx ZPBLOfsLBits
jsr X.Unpak.GetXBitInA jsr X.Unpak.GetXBitInA
clc sec
adc ZPOutBufPtr sbc ZPOutBufPtr
sta ZPPtr2 sta ZPPtr2
php php
lda ZPBLOfsHBits lda ZPBLOfsHBits
@ -143,7 +146,8 @@ X.Unpak.PAK pha A = BLBITS
jsr X.Unpak.GetXBitInA jsr X.Unpak.GetXBitInA
.61 plp .61 plp
adc ZPOutBufPtr+1
sbc ZPOutBufPtr+1
sta ZPPtr2+1 sta ZPPtr2+1
ldx ZPBLLenBits ldx ZPBLLenBits
@ -155,11 +159,12 @@ X.Unpak.PAK pha A = BLBITS
tay tay
.62 lda (ZPPtr2),y .62 dey
lda (ZPPtr2),y
jsr X.Unpak.PutByte jsr X.Unpak.PutByte
beq .99 beq .99
dey tya
bne .62 bne .62
bra .1 bra .1
@ -167,9 +172,6 @@ X.Unpak.PAK pha A = BLBITS
.99 sec .99 sec
rts rts
*-------------------------------------- *--------------------------------------
X.Unpak.GetByteInA
ldx #8
X.Unpak.GetXBitInA X.Unpak.GetXBitInA
lda #0 lda #0