(lz) Added missing zp vars

This commit is contained in:
neauoire 2023-11-18 13:22:25 -08:00
parent 1c7c5440ee
commit 83655b213a
5 changed files with 9 additions and 3 deletions

BIN
cli/lz/a.ulz Normal file

Binary file not shown.

BIN
cli/lz/b.bin Normal file

Binary file not shown.

BIN
cli/lz/ulzdec Executable file

Binary file not shown.

BIN
cli/lz/ulzenc Executable file

Binary file not shown.

View File

@ -9,6 +9,12 @@
@dst $30
@ptr $1
@match-len $2
@output-ptr $2
@match-ctl $2
@dict-best $2
@combine $2
@dict $2
@dict-len $2
|0100
@ -84,13 +90,13 @@
&w ( -- )
( | get available dictionary size )
DUP2 ;raw SUB2 #0100 LTH2k ?{ SWP2 }
POP2 ,&dict-len STR2
POP2 .dict-len STZ2
( | size of the string to search for )
SUB2k #3fff #0004 ADD2 LTH2k ?{ SWP2 }
POP2 ,&string-len STR2
( | itterate through the dictionary )
#0000 .match-len STZ2
[ LIT2 &dict-len $2 ] SUB2k .dict STZ2
.dict-len LDZ2 SUB2k .dict STZ2
( | create a few inlines )
DUP2 ,&in STR2
&for1 ( dict-len != 0 )
@ -105,7 +111,7 @@
( Dictionary repeats if we hit the end )
( in[i] != dict[i % dict_len] break; )
DUP2 [ LIT2 &in $2 ] ADD2 LDA2
OVR2 ,&dict-len LDR2 DIV2k MUL2 SUB2
OVR2 .dict-len LDZ2 DIV2k MUL2 SUB2
.dict LDZ2 ADD2 LDA2 NEQ2 ?&end
INC2 ORAk ?&for2
&end