Login
Back to forumSee the full topicGo to last reply

Posted By

indi
on 2006-09-29
10:38:03
 Re: XeO3...

Its really quite simple.... Its all to do with the character map the Plus/4 has. For example, to draw a sprite on a spectrum (aside from the redrawing of the screen etc.) this is all you do....

Work out screen address
Rotate sprite (or use pre-rotated image)
Load screen byte
and with sprite mask
or with sprite
store new data.



And repeat for the whole sprite. The plus 4 needs to do this...




Rotate sprite - much more complex than the speccy version as well. (or use pre-rotated one)
Work out character address. (the ones we're about to overwrite)
Work out NEW character address (the ones we're overwriting WITH)
Read characters from screen
For each character in screen, work out its bitmap address
For each character in screen
Copy charaacter address
Get sprite data for THIS character
load Data from Character
AND with sprite MASK
OR with sprite data
STORE into NEW character
Next Char
Store all NEW characters into character map

Simply put... less registers on the 6502, and more work to do, means you have lots of code to do it. Lots of loading/storing of addresses and data, and thats BEFORE you've even started to draw the sprite - its a pain.

C64 just multiplexes its hardware sprites - and its done!! happy



Back to top


Copyright © Plus/4 World Team, 2001-2024