Kernel 0.93+

This commit is contained in:
Rémy GIBERT 2019-10-11 08:40:08 +02:00
parent 6e7bfa4cc5
commit 85cee73031
4 changed files with 42 additions and 30 deletions

Binary file not shown.

View File

@ -265,8 +265,8 @@ CS.RUN.CheckArg inc ArgIndex
.9 >PUSHBI 0 .9 >PUSHBI 0
>LDYA L.MSG.DUP >LDYA L.MSG.DUP
>SYSCALL printf >SYSCALL printf
CS.RUN.CheckArg CS.RUN.CheckArg.9
.9 lda #E.SYN lda #E.SYN
sec sec
rts rts
*-------------------------------------- *--------------------------------------

View File

@ -34,10 +34,10 @@ S.PAKSHNK .EQ 2+1+1+24 Max
*-------------------------------------- *--------------------------------------
S.PAKSTAT.PASS1 .EQ 0 S.PAKSTAT.PASS1 .EQ 0
S.PAKSTAT.PASS2 .EQ 2 S.PAKSTAT.PASS2 .EQ 2
S.PAKSTAT.BYTE8 .EQ 4 S.PAKSTAT.TOP8 .EQ 4
S.PAKSTAT.TOP8 .EQ 6 S.PAKSTAT.TOP16 .EQ 6
S.PAKSTAT.TOP16 .EQ 8 S.PAKSTAT.TOP24 .EQ 8
S.PAKSTAT.TOP24 .EQ 10 S.PAKSTAT.BYTE8 .EQ 10
S.PAKSTAT.REPN .EQ 12 S.PAKSTAT.REPN .EQ 12
S.PAKSTAT.BL .EQ 14 S.PAKSTAT.BL .EQ 14
* *

View File

@ -109,6 +109,8 @@ Pak >PULLW Pak.SrcPtr
Pak.Run >LDYA Pak.SrcPtr Pak.Run >LDYA Pak.SrcPtr
>STYA ZPSrcPtr >STYA ZPSrcPtr
stz Pak.Byte8.Longest
stz Pak.Rep.Longest stz Pak.Rep.Longest
stz Pak.BL.Longest stz Pak.BL.Longest
@ -539,15 +541,18 @@ Pak.PutByte8.2 ldy Pak.Shnk+S.PAKSHNK.TOPCNT
lsr lsr
lsr lsr
tax Range 0-2 tax Range 0-2
tya tya
and #7 and #7
ora TOP.Bits,x ora TOP.Bits,x
ldy TOP.BitCnt,x ldy TOP.BitCnt,x
pha pha
lda TOP.Stat,x lda TOP.Stat,x
tax tax
pla
jsr Pak.UpdateStats jsr Pak.UpdateStats
pla
jmp Pak.Out.PutYBits jmp Pak.Out.PutYBits
.9 rts .9 rts
@ -608,7 +613,12 @@ Pak.Out.Flush lda Pak.Out.ByteCnt
cpx Pak.Out.ByteCnt cpx Pak.Out.ByteCnt
bne .1 bne .1
stz Pak.Out.ByteCnt cpx Pak.Byte8.Longest
bcc .2
stx Pak.Byte8.Longest
.2 stz Pak.Out.ByteCnt
.8 clc .8 clc
.9 rts .9 rts
@ -625,7 +635,22 @@ Pak.Out.PutYBits
.2 ply .2 ply
asl asl
jsr Pak.Out.PutBitC
.3 pha
bcc .4
lda Pak.Out.Mask
tsb Pak.Out.Byte
.4 lsr Pak.Out.Mask
bcc .5
ror Pak.Out.Mask
lda Pak.Out.Byte
jsr Pak.Out.PutByte
.5 pla
bcs .9 bcs .9
dey dey
@ -635,23 +660,6 @@ Pak.Out.PutYBits
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
Pak.Out.PutBitC pha
bcc .1
lda Pak.Out.Mask
tsb Pak.Out.Byte
.1 lsr Pak.Out.Mask
bcc .8
ror Pak.Out.Mask
lda Pak.Out.Byte
jsr Pak.Out.PutByte
.8 pla
rts
*--------------------------------------
Pak.Out.PutByte inc Pak.DstCnt Pak.Out.PutByte inc Pak.DstCnt
bne .1 bne .1
@ -694,14 +702,17 @@ Pak.PrintStats lda Pak.BL.OfsBitsL
>PUSHB Pak.REP.Longest >PUSHB Pak.REP.Longest
>PUSHW Pak.Stat+S.PAKSTAT.REPN >PUSHW Pak.Stat+S.PAKSTAT.REPN
ldx #10 >PUSHB Pak.Byte8.Longest
>PUSHW Pak.Stat+S.PAKSTAT.BYTE8
ldx #S.PAKSTAT.TOP24
.1 >PUSHW Pak.Stat,x .1 >PUSHW Pak.Stat,x
dex dex
dex dex
bpl .1 bpl .1
>PUSHBI 22 >PUSHBI 23
>LDYA L.MSG.Stats >LDYA L.MSG.Stats
>SYSCALL printf >SYSCALL printf
@ -751,10 +762,10 @@ CS.END
*-------------------------------------- *--------------------------------------
MSG.Stats .AS "\r\nPass 1 : %5D\r\n" MSG.Stats .AS "\r\nPass 1 : %5D\r\n"
.AS "Pass 2 : %5D\r\n" .AS "Pass 2 : %5D\r\n"
.AS "Byte 8 : %5D\r\n"
.AS "Top 8 : %5D\r\n" .AS "Top 8 : %5D\r\n"
.AS "Top 16 : %5D\r\n" .AS "Top 16 : %5D\r\n"
.AS "Top 24 : %5D\r\n" .AS "Top 24 : %5D\r\n"
.AS "Byte 8 : %5D, Longest : %d\r\n"
.AS "Rep N : %5D, Longest : %d\r\n" .AS "Rep N : %5D, Longest : %d\r\n"
.AZ "BLNK : %5D, Longest : %d (%d bits), Farest : %D (%d bits)\r\n" .AZ "BLNK : %5D, Longest : %d (%d bits), Farest : %D (%d bits)\r\n"
MSG.Top24 .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\r\n" MSG.Top24 .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\r\n"
@ -783,6 +794,7 @@ Pak.BestBL .BS 2
Pak.Cnt .BS 2 Pak.Cnt .BS 2
Pak.bStop .BS 1 Pak.bStop .BS 1
Pak.Byte8.Longest .BS 1
Pak.Rep.Longest .BS 1 Pak.Rep.Longest .BS 1
Pak.RepCnt .BS 1 Pak.RepCnt .BS 1