A83: Re: Re: More Questions on Asm 83
[Prev][Next][Index][Thread]
A83: Re: Re: More Questions on Asm 83
But can you or anyone tell me how to compress a tile map like:
label:
.db 13h,26h,18h.....
And this map use more than a nible
Thank you for your answer
Paxl
> -------Message d'origine-------
> De : "D Weiss" <dwedit@hotmail.com>
> Date : 19/09/2000 21:17:18
>
>
> Iondecompress is just packing values in a byte. VS 1 byte/tile, this gives
> 2-1 compression for values 0-15, and 8-1 compression for bits.
>
> But more compression can be gained with RLE compression:
>
>
> ;Input: DE = destination HL = compressed data
> ;
> decompress:
> ld c,0
> ;Start a loop
> rleloop1:
> ;Get the byte at hl
> ld a,(hl)
> ;Exit on FF
> cp 255
> ret z
> ;Copy that to b
> ld b,a
> ;move top nib of b to bottom
> srl b
> srl b
> srl b
> srl b
> ;Increment b
> inc b
> ;Remove first 4 bits from a
> and 15
> ;Start a loop
> rleloop2:
> ;Store the data
> ld (de),a
> ;Increase the destination address
> inc de
> ;repeat b times
> djnz rleloop2
> ;Increase source offset
> inc hl
> ;Do it again
> jr rleloop1
>
>
> This isn't optomized well. It decompresses RLE compressed data until it
> reaches a $FF.
>
> To store compressed data, it works like this:
>
> $F3 is 16 bytes of 3, $17 is 2 bytes of 7, $00 is 1 byte of 0.
> the high nibble is the number of bytes and the low one is the data.
>
>
> >
> >Hi all,
> >I have a new question:
> > Can you tell me how to use Ion Decompress and how to compress my data?
> >Thank You for your answer.
> >Paxl
> >______________________________________________________
> >Boîte aux lettres - Caramail - http://www.caramail.com
> >
>
> _________________________________________________________________________
> Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.
>
> Share information about yourself, create your own public profile at
> http://profiles.msn.com.
>
>
>
>
______________________________________________________
Boîte aux lettres - Caramail - http://www.caramail.com