Re: [cc65] tgi_sprite and friends

From: Oliver Schmidt <>
Date: 2012-11-09 11:40:53

Maybe we can start discussing additional properties of that function
beside the name:

1. Recently we moved towards having the TGI kernel handle all clipping
resulting i.e. in not drawing a character at all if it doesn't fully
fit on the screen. Is the same approach reasonable for bitmaps. Or are
partially rendered bitmaps so "necessary" that we need to deviate from
the general approach here?

2. I imagine that most targets have a graphics screen buffer layout
that allows bitmaps to be drawn much faster on some locations than
others, especially the X offset being a multiple of a certain value
(usually 8). Am I right in presuming that we don't want to pose such
limitations on "our function"? Surely an implementation can optimize
for the best case but the code for the other cases has to be in place
in any way making it larger.

3. Somewhat related is the size of the bitmap. Is it reasonable to
pose constraints on the bitmap size saying i.e. the horizonal size
must be multiple of a certain value (usually 8)? Surely on the first
glance this is rather a question of sp65 but if we (probably later)
add a function for extracting a bitmap from the graphics screen buffer
then is becoming an API aspect too.

4. I presume we don't want the function to be obligated to be capable
of more than an opaque copy - right? Any fancy masking stuff would be
a proprietary extension - wouldn't it?

5. What about coordinates? Is the coordinate supplied used as upper
left corner - most likely yes...

5. What about the TGI cursor. Is it moved by the function?  I'd say
most likely not...

6. Do we want to go with the proposed ellipsis parameter (...)? If
yes: Five fixed parameters seem clear (bitmap pointer, x, y, width,
height). Any more? If saved as C source file then sp65 delivers beside
"width" and "height" a "colors" meta information. From the perspective
of "our function" being a companion to sp65 it might make sense to
have the colors as fixed parameter - as it's "always avaliable".

Just some random thoughts,
To unsubscribe from the list send mail to with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Fri Nov 9 11:42:02 2012

This archive was generated by hypermail 2.1.8 : 2012-11-09 11:42:06 CET