On Saturday 24 February 2001 04:03, I wrote:
> The meanings of the various bytes are:
> 11111111: special/unknown
> 11nnnnnn: uncoded, length=n+8
> 10nndddd: length=n+2, offset=d+1
> 0nnnnnnn dddddddd: length=n+3, offset=d
I read this again and I guess it isn't really clear.
"Uncoded" means that after the byte that contains the length, there will be
that many raw bytes, bytes that can be copied directly to the output. Example:
C1 01 02 03 04 05 06 07 08 09
The C1 announces 9 (1+8) uncoded bytes, which follow directly after.
The bottom two cases are repeated patterns, if such a code is found while the
current output address is X, then output[X-offset,X-offset+length) must be
copied to output[X,X+length). Note the interval notation: including start
index, excluding end index.
Bye,
Maarten
--
For info, see http://www.stack.nl/~wynke/MSX/listinfo.html