My GP2x got its first road test today, I went out tonight to a local alternative night and figured I'd take it with me as (a) a mate wanted to see it and (b) its always handy to have something to play on [grin]
Firstly, while I knew it was small and light, damn the thing fits well into my pocket, I hardly notice it there!
And it was an instant hit, heh, I put a couple of emulators on there and my mates gf spent ages playing Sonic on it, much to the batteries distress [grin]
Which got me thinking, why is it, that around 10 years later, games like Mario and Sonic are still loads of fun? I know that often when people talk about how good old games were they are often dismissed because the passage of time tend to make things in the past look better, but its hard to dispute it for certain games, such as Sonic, which even now are as cool to play as they were back when I was 14 or so.
So, I figure, as I've layed out the cash I should start doing something productive with the GP2x besides playing cool games on it, so I've decided, as a learning exercise, to write a title based game, using the 2nd CPU as a pure drawing machine.
My inital thoughts into it have mostly consisted of doing the following;
- loading up titles and giving them a numbered id
- title texture data is moved into memory the 2nd core can access
- then the first core sends the 2nd core drawing instructions in the form of a run lenght encoded (RLE) data stream which instructs it to pull a certain texture from the memory pool and draw it.
- The 2nd core then reads the data from the FIFO buffer, decoding and drawing as required.
the scheme is pretty simple, much like a RLE bitmap, you have a header byte, count byte and then data bytes.
Infact, the header and count bytes could be combined into one byte, with the MSB being set high or low depending on the data to follow.
Normal blocks would be in the form;