• RLE - Run Length Encoding Re: Understanding parallel realities

    From Louis Ohland@21:1/5 to Louis Ohland on Sun Feb 12 07:39:48 2023
    MAJ Tom, here is a small pothole on the Golden Path.

    Though I'd expect RLE to be an optional implementation. Maybe, maybe
    not. YMWV...


    As briefly discussed earlier, the ECP Protocol includes a Simple
    Compression Scheme called Run Length Encoding. It can support a maximum compression ratio of 64:1 and works by sending repetitive single bytes
    as a run count and one copy of the byte. The run count determines how
    many times the following byte is to be repeated.

    For example, if a string of 25 'A's were to be sent, then a run count
    byte equal to 24 would be sent first, followed by the byte 'A'. The
    receiving peripheral on receipt of the Run Length Count, would expand
    (Repeat) the next byte a number of times determined via the run count.

    The Run Length Byte has to be distinguished from other bytes in the Data
    Path. It is sent as a Command to the ECP's Address FIFO Port. Bytes sent
    to this register can be of two things, a Run Length Count or an Address.
    These are distinguished by the MSB, Bit 7. If Bit 7 is Set (1), then the
    other 7 bits, bits 0 to 6 is a channel address. If Bit 7 is Reset (0),
    then the lower 7 bits is a run length count. By using the MSB, this
    limits channel Addresses and Run Length Counts to 7 Bits (0 - 127).

    Louis Ohland wrote:
    Fortified with Caffeine and an insatiable desire, I'm looking at the ECP
    and Type 3 information [such as it is] with the goal of enabling some
    sordid ECP to DMA port functionality.

    Gonna have to drop it down into granny low gear and slowly let out the clutch...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Tomas Slavotinek@21:1/5 to Louis Ohland on Mon Feb 13 18:44:29 2023
    On 12.02.2023 14:39, Louis Ohland wrote:
    MAJ Tom, here is a small pothole on the Golden Path.

    Though I'd expect RLE to be an optional implementation. Maybe, maybe
    not. YMWV...

    RLE is optional for ECP. You could implement it in software on any kind
    of parallel port, but the device on the other side must be aware of
    this. So once again, it all comes down to protocol compatibility...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)