Hi,
I have been working with sdcc and winape on cpc plus.
I was trying to see what i could do with hardware sprites and hardware scrolling.
I have put a dsk with some results.
Type run "sonic".
(or sonic24, same with 12*16 pixels sprites instead of 16*16).
I don't even know if it will work on real hardware !
Don't take it too seriously, i am not pretending that i could do sonic on the amstrad plus, neither doing a real demo !
But i wanted to check what was possible for me with asic advantages...
:)
And merry chistmas !
Wow, this is lovely!!! great tech demo :)
Why does the border flash like that?
Thanks.
:)
The flash border is for checking cpu time.
I'm only animating two sprites hard, and the scroll must be feeded by tiles.
You can see how much it cost ! (diagonal mostly)
(but that's not entirely asm, too much c)
But by avoiding doing this all the frames (and not all of the sprites at the same frame if there were more than two), the frame rate can stay acceptable.
And thats why the raster for cpu time is flashing.
I did wonder a few weeks ago how feasible a port of the 8-bit version of Sonic would be on the CPC, and of course, I thought it would be really cool. I didn't even consider using the Plus's features. This shows great potential! If you take it further, I'll be very interested to see how it goes.
I think i read once MacDeath talking about how cpc compares to master system...
I tried to start from master system version.
But...
it has to be in low resolution.
no tiles system, must be done in software ( how animate rings then)
only 16 sprites hard, two are taken for sonic sprite (even in 12*32 pixels).
animating the sprites takes cpu time, you have to update only 4 at the same frame (4 on frame 1, 4 on frame 2, scrolling feed on frame 3...)
and you have to store two sprites pixel in one byte (in ram), that's why the update routine (in asic sprite ram) takes more time.
sound and music should be added (and i'm not good at this)
:D
But i probably will take this further because that's a lot of fun, programming on cpc plus (only had an "cpc old" when i was kid).
Well, good luck! I suspect that it might kinda require a move to hand-coded ASM once more objects are involved, etc., but it's very interesting nonetheless.
did my pluslib help?
Well arnoldemu, i am not using pluslib.
I wrote my own inline asm routines, that's the fun part !
;)
Of course, all the informations you, and a lot of people, can give here, helped me.
If i wrote my routines, i had a look at code/programs you can find on web sites (cpcwiki, cpc rulez, quasar cpc, ...)
That's why i am talking about homework ! In french, "devoirs".
:)