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
>LDYA L.MSG.DUP
>SYSCALL printf
CS.RUN.CheckArg
.9 lda #E.SYN
CS.RUN.CheckArg.9
lda #E.SYN
sec
rts
*--------------------------------------

View File

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

View File

@ -109,6 +109,8 @@ Pak >PULLW Pak.SrcPtr
Pak.Run >LDYA Pak.SrcPtr
>STYA ZPSrcPtr
stz Pak.Byte8.Longest
stz Pak.Rep.Longest
stz Pak.BL.Longest
@ -539,15 +541,18 @@ Pak.PutByte8.2 ldy Pak.Shnk+S.PAKSHNK.TOPCNT
lsr
lsr
tax Range 0-2
tya
and #7
ora TOP.Bits,x
ldy TOP.BitCnt,x
pha
lda TOP.Stat,x
tax
pla
jsr Pak.UpdateStats
pla
jmp Pak.Out.PutYBits
.9 rts
@ -588,7 +593,7 @@ Pak.Out.Close bit Pak.Out.Mask
*--------------------------------------
Pak.Out.Flush lda Pak.Out.ByteCnt
beq .8
dec
ora #PAK.B.BYTE8
@ -608,7 +613,12 @@ Pak.Out.Flush lda Pak.Out.ByteCnt
cpx Pak.Out.ByteCnt
bne .1
stz Pak.Out.ByteCnt
cpx Pak.Byte8.Longest
bcc .2
stx Pak.Byte8.Longest
.2 stz Pak.Out.ByteCnt
.8 clc
.9 rts
@ -625,7 +635,22 @@ Pak.Out.PutYBits
.2 ply
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
dey
@ -635,23 +660,6 @@ Pak.Out.PutYBits
.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
bne .1
@ -694,14 +702,17 @@ Pak.PrintStats lda Pak.BL.OfsBitsL
>PUSHB Pak.REP.Longest
>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
dex
dex
bpl .1
>PUSHBI 22
>PUSHBI 23
>LDYA L.MSG.Stats
>SYSCALL printf
@ -751,10 +762,10 @@ CS.END
*--------------------------------------
MSG.Stats .AS "\r\nPass 1 : %5D\r\n"
.AS "Pass 2 : %5D\r\n"
.AS "Byte 8 : %5D\r\n"
.AS "Top 8 : %5D\r\n"
.AS "Top 16 : %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"
.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"
@ -783,6 +794,7 @@ Pak.BestBL .BS 2
Pak.Cnt .BS 2
Pak.bStop .BS 1
Pak.Byte8.Longest .BS 1
Pak.Rep.Longest .BS 1
Pak.RepCnt .BS 1