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

Reply via email to