Re: A89: Sprite Question


[Prev][Next][Index][Thread]

Re: A89: Sprite Question




look at the table in the letter you replied to, read the letter carefully, and
think a bit :)
binary <-> hex conversion is the easiest conversion there is. (That's why they
came up with hex in the first place. It's a compact way of writeing binary.)
Any asm coder should be able to do binary to hex, and hex to binary without calc
or paper.. I use my fingers if I get a "brainout" :)
the "format" isn't much different, it is just written in another numberbase in
the code.

//Olle

Ahmed El-Helw wrote:
> 
> Hi,
> Haha, I know how to make a sprite in z80 or just in the normal way, but I
> just didn't know how to convert it to hex.  I just don't really understand
> what you mean when you say to combine the hex numbers... maybe if I learn to
> convert binary to hex I'll figure it out :)  Thanks though that's a really
> good start for me :)
> 
> -Ahmed
> 
> -----Original Message-----
> From: owner-assembly-89@lists.ticalc.org
> [mailto:owner-assembly-89@lists.ticalc.org]On Behalf Of Nathaniel Gibson
> Sent: Tuesday, June 13, 2000 5:18 PM
> To: assembly-89@lists.ticalc.org
> Subject: Re: A89: Sprite Question
> 
> >I know this is a really dumb question probably, but could someone tell me
> >how to convert sprites into the format needed for TIGCC, I've never seen
> >that format before.  Thanks.
> >
> >-Ahmed
> 
> The best way I can describe it is to do it by hand...
> 
> Take a piece of graph paper and make a 16x16 square of blocks. Within
> that, draw your sprite. Now, starting at the top line of pixels, take
> the first four blocks and pretend that colored in equals 1, and empty
> equals 0. Now, put the four numbers together and pretend it's a
> binary number. Convert that number to hex. That's the first 'number'.
> Do this for the next 3 groups of 4 block in the first row. Put all
> four hex digits together, and that's one index.
> 
> Example: take this ball below.
> 
> 0000    1111    1111    0000    0x0ff0
> 0001    1111    1111    1000    0x1ff8
> 0011    1111    1111    1100    0x3ffc
> 0111    1111    1111    1110    0x7ffe
> 1111    1111    1111    1111    0xffff
> 1111    1111    1111    1111    0xffff
> 1111    1111    1111    1111    0xffff
> 1111    1111    1111    1111    0xffff
> 1111    1111    1111    1111    0xffff
> 1111    1111    1111    1111    0xffff
> 1111    1111    1111    1111    0xffff
> 1111    1111    1111    1111    0xffff
> 0111    1111    1111    1110    0x7ffe
> 0011    1111    1111    1100    0x3ffc
> 0001    1111    1111    1000    0x1ff8
> 0000    1111    1111    0000    0x0ff0
> 
> Now, put this in the actual declaration...
> 
> static unsigned ball [] = {0x0ff0, 0x1ff8, 0x3ffc, 0x7ffe, 0xffff,
> 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7ffe,
> 0x3ffc, 0x1ff8, 0x0ff0};
> 
> FYI: Sprite16 is buggy, so you'll have to use Sprite32. In this case
> your declaration would be...
> 
> static unsigned ball [] = {0x0ff00000, 0x1ff80000, 0x3ffc0000,
> 0x7ffe0000, 0xffff0000, 0xffff0000, 0xffff0000, 0xffff0000,
> 0xffff0000, 0xffff0000, 0xffff0000, 0xffff0000, 0x7ffe0000,
> 0x3ffc0000, 0x1ff80000, 0x0ff00000};
> 
> Hope this helps,
> 
> Nathaniel Gibson
> ngibson@ptd.net



Follow-Ups: References: