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!!
|