What's new
Finished implementing my revised sprite routine and the other bits to "complete" the title screen stuff.


Now I have a technical question if there's any other coders here..

Sega System16 sprite shrink operates on 5 bit values for both vertical and horizontal, $00 - $1f.
$00 = full size
$1f = half size

The NeoGeo operates a tad differently. Vertically the value is $ff - $00 which ranges from full size to one pixel.

Horizontally though is a different matter. You can only set the value from $f - $0. Now I understand why, each sprite is 16 x 512, my question is does anyone have any idea how to improve that horizontal shrink resolution over a number of sprites? I would imagine it needs a set of look-up tables based on the number of sprites used.

It may not be essential because the scaling isn't used all that often, but I would like to at least investigate the ability to improve the scaling quality. May open the door to an S16 scaler....
 
Horizontally though is a different matter. You can only set the value from $f - $0. Now I understand why, each sprite is 16 x 512, my question is does anyone have any idea how to improve that horizontal shrink resolution over a number of sprites? I would imagine it needs a set of look-up tables based on the number of sprites used.
A precalculated lookup table is what I would use. Depending on where/how it is used I'd try to use pre-scaled sprites for 50%, 25%, 12.5%, etc. to reduce the sprites-per-line cost.
 
WTF!... Seems I accidentally found a debug function in the original code!

debug.PNG
 
Back
Top