
LZdemo-0.ASM  :  Lempel-Ziv pack/unpack demo routine
LZdemo-0.BAS  :  test runner for demo
LZdemo-0.Z80  :  LZdemo-0.BAS + LZdemo-0.ASM, org=64500
Demo packs test file, unpacks, prints unpacked file (optional) + stats.

To run demo:
	RUN
    Load test file at 34000, then enter parameter values at prompts.
    length: length of test file
    text:   1=text input; 0=data input
    print:  1=print, 0=don't print
    (when printing, text uses PRINT, data assumed to be a SCREEN$)
    window: length of search window
    Press ENTER whenever border changes colour.
Packed   file is placed immediately after input  file.
Unpacked file is placed immediately after packed file.
If a text file has just been processed, then:
	RUN 100
can be used to unpack & PRINT to screen (slowly).


LZdpack0.ASM  :  Lempel-Ziv independent pack routine
LZupack0.ASM  :  Lempel-Ziv independent unpack routine
LZdpacku.BAS  :  test runners for pack/unpack
LZdpacku.Z80  :  LZdpacku.BAS + LZdpack0.ASM, org=64500 + LZupack0.ASM, org=65100
Both routines can be assembled wherever is convenient.

To test LZdpack0:
	RUN
    length: length of source file
    from:   address of unpacked source file
    to:     address of packed destination file
    (first two bytes of packed file contain length of packed data)
    Press ENTER whenever border changes colour.

To test LZupack0:
	RUN 1000
    from:   address of packed source file
    to:     address of unpacked destination file
    Press ENTER whenever border changes colour.
If a text file has just been processed, then:
	RUN 100
can be used to unpack & PRINT to screen (slowly).

To run LZdpack0 independently:
	LET bc=i=(l=(o+USR LZdpack))  -or-  RANDOMIZE i=(l=(o+USR LZdpack))
where:
	i=input address, l=input length, o=output address, LZdpack=org+36

To run LZupack0 independently:
	LET bc=i=o+USR LZupack        -or-  RANDOMIZE i=o+USR LZupack
where:
	i=input address, o=output address, LZupack=org+6

