GP32 Emulator


Alessandro

Member
Joined
Apr 2, 2004
Messages
127
Age
46
Location
Liguria, Italy
Website
Visit site
Yo, pardon my stupid question :lol:
Many of us here are developing under Windows/Linux right? The language used is C/C++... All this is ok.

But what about the emulator? Is the GeePee32 the only one avail? It doesn't support sound and it's very slooooooooooooooow :( The ones who use to develop audio players for GP32 how do test they stuff? On each compile they move it on hardware? Isn't it too bad? :unsure:

Don't flame me for the stupid question, but I came from GBA community where there are various emulators (the best one is VisualBoy Advance) wich run very fast; sometime faster than the real hardware... Is there any chance to have a good emulator to test code onto? :huh:

Thanks.
Alessandro
 
Hi,
I think geepee32 is the only emulator.
But, testing code on the real GP32 is very fast.
If you flash your firmware to mr_spivs mfw2 you can make it autoboot into PC-link(by darkfader), PC-link supports direct execute, there are commandline tools that support the execute command. No need to first store it on SMC etc.
You can also remote debug code running on the GP32, check :
http://gp32.misantrop.org

---
mithris
 
I've not yet mine GP32,
a friend o'mine gave his to me to test it.. I'm waiting for the European launch to buy one (I'm in Italy)...

I can't flash his firmware and I'm afraid of flash the brand new one... :huh:

If I flash it, can I backup the original and maybe restore it if something goes wrong? We're in the middle of April, so I hope in a couple of weeks the release the GP32 in my country... ;)

I saw also that GeePee32 has been discontinued... :( The author could give the source away.. maybe someone could improve it, and have a decent speed emulation B)

If it's possible to send and execute on hardware with a command, it will be nice B)

Later,
Alessandro
 
If your game is using 40mhz (which many many games can easily do) then it runs at 100% speed on GeePee32. Its only those who use higher that it starts to get slower.


The SDK advises to use the lowest CPU speed your game can go without hitting performace. And unless you have a highly advanced game, 40mhz should be plenty. Which runs at 100% speed on GeePee32.

However, the devkitadv "example" (the hello example) sets the CPU speed to 133 so people just leave it like that. Whoever wrote that example wasnt thinking clearly as 90% of the homebrewn games can run at 40-60mhz without any performace loss and should be set to that speed, not only so it can work in GeePee32 for testing, but so you dont needlessly waste your users batteries.
 
On the subject of flashing, if you bugger flashing up your firmware (ie, turn off you gp32 during flashing), you have a paperwieght (unless you have made a JTAG cable).
 
yaustar posted on Apr 15 2004 at 07:59 PM said:
On the subject of flashing, if you bugger flashing up your firmware (ie, turn off you gp32 during flashing), you have a paperwieght (unless you have made a JTAG cable).
Either flash when you JUST put new batteries in (dont say...well...they should be new...I only used them for X amount of time, dont trust your judgement, you could be mistaken) or use a wall plug that fits snugly into the GP32 (not one thats loose and may fall out).

However, reading the forums, I see someone that flashed fine and it corrupted like 6 months later (an aparently from Mr Spivs post, this has happened multiple times) So if you have a JTAG cable, your set, otherwise...you are going to take a risk.

I flashed to the offical beta (awesome firmware by the way) and thats all I am going to do.
 
Last edited by a moderator:
For testing, I have a set of routines that allow me to test, compile and run the software on the PC (MS Visual C++), and then when I'm happy with it, I upload it to the GP32 via PCLink's "upload to memory and execute" option to try it on real hardware. Putting the files onto an SMC is the final test before releasing a beta. Don't think I ever use GeePee32.
 
Squidge posted on Apr 15 2004 at 08:53 PM said:
For testing, I have a set of routines that allow me to test, compile and run the software on the PC (MS Visual C++), and then when I'm happy with it, I upload it to the GP32 via PCLink's "upload to memory and execute" option to try it on real hardware. Putting the files onto an SMC is the final test before releasing a beta. Don't think I ever use GeePee32.
I havent been able to find the VC++ SDK thats supposed to allow you to do that...
Or did you just write your own function wrappers?
 
Last edited by a moderator:
By the way, Akuma no Houkon: this has been argued before and believe me, the default clock speed for GP32 really, really is 68MHz.

There are numerous ways to verify that, let me know if you're still doubtful and I'll tell you about it.

The confusion came about because of a Gamepark doc that said 40MHz was the default. It's also possible that one of the pre-rolled startup codes around (gpstart.c etc) actually set the speed to 40MHz. But if you never call GPClockSpeedSet (or whatever it is) then 68MHz is it :).
 
Robster posted on Apr 16 2004 at 12:50 AM said:
By the way, Akuma no Houkon: this has been argued before and believe me, the default clock speed for GP32 really, really is 68MHz.

There are numerous ways to verify that, let me know if you're still doubtful and I'll tell you about it.

The confusion came about because of a Gamepark doc that said 40MHz was the default. It's also possible that one of the pre-rolled startup codes around (gpstart.c etc) actually set the speed to 40MHz. But if you never call GPClockSpeedSet (or whatever it is) then 68MHz is it :).
Hmm, I believe you, I was just going by some supposedly official DOC I had that said 40mhz was the default. I could probably test this myself if I didnt, a simple tick count when setting it at 68mhz and one when not setting it, would verify this, but its not that important to me, I believe you. :)

Still 68mhz is a big difference from the 133mhz that the devkitadv examples use. I have two released games, and multiple works in progress for the GP32 and they ALL run at 40mhz without problem. (well GPSquares bumps up to 133 during "AI" proccessing but jumps back down to 40mhz directly after, this is just for those rare times where the random seeds just dont fall into place) So most GP32 games can run at 40 to 60 mhz with no problem (excluding high end games like Doom, BoR, etc...)

But thanks for the correction, if you have any FXE file that does a nice little test to verify this, feel free to send it my way.
 
Last edited by a moderator:
Yep.
I've not used the devkit examples as template, but made my own for the IDE, so I never set the speed to 133 :lol:

I think I'll keep testing the code on GeePee32, while praying somebody made a new emu version, ^_^ ... I'm waiting for Euro launch to buy one, and I don't want to fridge it :lol:

On the gp32 spcs i read: "PROCESSOR: 32bit ARM920T processor (CPU speed selectable: ~67MHz is standard, up to 130MHz when running from internal cache only seems possible)".

Do you suggest to set it at 40?!?! :blink:

To set the clock speed I read in gp32stdlib.h:
int GpClockSpeedChange(int master_speed, int div_factor, int clk_mode);

but it seems it's not documented... :blink: How can I set speeds other that 133 and 60?

Later
Alessandro
 
Here is a list of the most common speeds:

40mhz
GpClockSpeedChange (40000000, 0x48013, 1);

66mhz
GpClockSpeedChange(67800000, 0x69032, 3);

133mhz
GpClockSpeedChange(132000000, 0x3a011, 3);

156mhz
GpClockSpeedChange (156000000, 0x2c001, 3);

166mhz
GpClockSpeedChange (165000000, 0x2f001, 3);

I use 40mhz in everything I do and it runs 100% speed in GeePee32.
 
thanks Akuma no Houkon if i start coding again i'l definetly use 40mhz i imagine battery life is madly long ... Esepecially considering i could never make anything complicated enough to use more than 40mhz :)
 
woogal posted on Apr 16 2004 at 02:49 PM said:
Even 40mhz is overkill for some apps. I prefer 33mhz (or even 16.5 if I can manage it :))
Yeah its best to find the slowest speed you can possibly use.

And remember you can change the CPU speed at any time!.

If most of your game will run at 40mhz, but lets say...combat. or an AI function, etc... needs 80mhz, simply set it to 40mhz, then at the begining of the function that needs that extra bit set it to 80, then back to 40 when the function is done, that way you can still get that speed you need, but you dont use it constantly and you really save a lot of battery life. (you have to make exceptions for any timers or the like you have though, because "time" goes faster when you are at a high mhz)
 
Last edited by a moderator:
Ok, i think I'll try the 40 or ever 33mhz speed to my platform project... If I can save battery life, I'll do :lol: It's a remake of an Amiga game, so I think this speed should be enough B)

Later,
Alessandro
 
Geepee32 is the unique GP32 emulator ... so it's not a dead emulator, check the futur europeen out a new version are possible ;)
 
Hmm.. dunno..
I think if the author release it as OpenSource, maybe someone else could improve it B)

I don't think the European launch will bring us a new version of the emu, since the only difference is in the hardware console itself (the BLU).. the bios should be the same, so... :huh:

Later
Alessandro
 
Back
Top