diff --git a/cli/lz/lz2.tal b/cli/lz/decoder.tal similarity index 100% rename from cli/lz/lz2.tal rename to cli/lz/decoder.tal diff --git a/cli/lz/lz.tal b/cli/lz/lz.tal deleted file mode 100644 index 5fe51f6..0000000 --- a/cli/lz/lz.tal +++ /dev/null @@ -1,102 +0,0 @@ -( decompressor ) - -|10 @Console &vector $2 &read $1 &pad $5 &write $1 &err $1 -|a0 @File1 &vector $2 &success $2 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2 -|b0 @File2 &vector $2 &success $2 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2 - -|0000 - - @input-size $2 - - @src $30 - @ptr $1 - -|0100 - -( -@|vectors ) - -@ready-src ( -> ) ;&await .Console/vector DEO2 BRK -&await ( -> ) .Console/read DEI .src skey ?on-ready BRK - -@on-ready ( -> ) - - ;src decompress - ;mem pstr #0a18 DEO - ( halt ) #010f DEO - -BRK - -@decompress ( str* -- ) - - ;mem .ptr STZ2 - .File1/name DEO2 - #0001 .input-size STZ2 - &stream - .input-size LDZ2 .File1/length DEO2 - ;&b - DUP2 .File1/read DEO2 - LDA decompress/run - .File1/success DEI2 ORA ?&stream - -JMP2r - &b $1 - -&run ( byte -- ) - - DUP #80 AND ?&dict - ( literal ) - #00 SWP INC2 - DUP2 .File1/length DEO2 - .ptr LDZ2 - DUP2 .File1/read DEO2 - ADD2 .ptr STZ2 - -JMP2r - -&dict ( byte -- ) - - #7f AND - DUP #40 AND ?&dict3 - ( byte ) - #00 SWP !&opc - -&dict3 ( byte -- ) - - ( hb ) - #3f AND - ( lb ) - #0001 .File1/length DEO2 - ;&b - DUP2 .File1/read DEO2 - LDA - -&opc #0004 ADD2 - - ;&b - DUP2 .File1/read DEO2 - LDA INC - -© ( length* offset -- ) - - #00 SWP #0000 SWP2 SUB2 .ptr LDZ2 ADD2 STH2 - #0000 - &l - DUP2 STH2kr ADD2 LDA .ptr LDZ2 STH2k STA - STH2r INC2 .ptr STZ2 - INC2 GTH2k ?&l - POP2 POP2 - POP2r - -JMP2r - -( -@|stdlib ) - -@pstr ( str* -- ) LDAk ?&w POP2 JMP2r &w LDAk #18 DEO INC2 LDAk ?&w POP2 JMP2r -@skey ( key buf -- proc ) OVR #21 LTH ?&eval #00 SWP sput #00 JMP2r &eval POP2 #01 JMP2r -@scap ( str* -- end* ) LDAk ?&w JMP2r &w INC2 LDAk ?&w JMP2r -@sput ( chr str* -- ) scap INC2k #00 ROT ROT STA STA JMP2r - -@mem -