Gpsp 0.9-2xb


Has there been any talk of making the volume control more responsive? (It takes many taps to change volume significantly.)
 
Yod4z said:
Using good bios more FPS (5-10FPS) and no more crash.
Okay this motivated me sufficiently to dump my GBA's BIOS using darkfader's GBADUMP tool. After a bit of stuffing around I got a good dump with the right CRC32.
Okay, so now when I load gba_bios.bin as my "ROM" I can watch the lovely GBA and it works exactly like the real thing. The "bad" BIOS has a slightly different intro sound and some garbled graphics below the "GAMEBOY" logo.

Games Tested:

Super Mario Kart (of course).
I can't see any difference in speed here what-so-ever. Perhaps it's my imagination but the sound seems nicer but I don't hink it's got anything to do with the new BIOS. Or does it?
Warioware.
Shrugs. Same. No speed difference that I can detect. Sound clearer? Perhaps it's my wishful thinking.

The other change I've made is setting the sound buffer set to 4096 bytes. I've found there is less variance in FPS as a result. Maybe this is something to do with the "better" sound that I've been experiencing.

Specifically, what does the GBA BIOS do? According to a Wiki, the following:

QUOTE
...is a set of low-level subroutines used by GBA games to perform such operations as square roots, trigonometry, data decompression, and the like...

Now I've noticed that the guy who wrote No$GBA wrote his own GBA BIOS which replaces emulated BIOS calls for native code. Very clever and most likely a lot faster to run.

@Exophase - is this worth the while?

And one more question @ Exophase. I had a look at the source code. Please tell me you didn't write Video.S from scratch?
 
Last edited by a moderator:
slaanesh said:
Yod4z said:
Using good bios more FPS (5-10FPS) and no more crash.
Okay this motivated me sufficiently to dump my GBA's BIOS using darkfader's GBADUMP tool. After a bit of stuffing around I got a good dump with the right CRC32.
Okay, so now when I load gba_bios.bin as my "ROM" I can watch the lovely GBA and it works exactly like the real thing. The "bad" BIOS has a slightly different intro sound and some garbled graphics below the "GAMEBOY" logo.

Games Tested:

Super Mario Kart (of course).
I can't see any difference in speed here what-so-ever. Perhaps it's my imagination but the sound seems nicer but I don't hink it's got anything to do with the new BIOS. Or does it?
Warioware.
Shrugs. Same. No speed difference that I can detect. Sound clearer? Perhaps it's my wishful thinking.

The other change I've made is setting the sound buffer set to 4096 bytes. I've found there is less variance in FPS as a result. Maybe this is something to do with the "better" sound that I've been experiencing.

Specifically, what does the GBA BIOS do? According to a Wiki, the following:

QUOTE
...is a set of low-level subroutines used by GBA games to perform such operations as square roots, trigonometry, data decompression, and the like...

Now I've noticed that the guy who wrote No$GBA wrote his own GBA BIOS which replaces emulated BIOS calls for native code. Very clever and most likely a lot faster to run.

@Exophase - is this worth the while?

And one more question @ Exophase. I had a look at the source code. Please tell me you didn't write Video.S from scratch?


HLE BIOS can be done, and it's faster (and relinquishes the need for a BIOS), but it's also a ton of work. It actually wouldn't make much difference in speed because most games don't use the BIOS heavily in time sensitive locations. Divide is currently being HLE'd - on the PSP version it's even being compiled down to a single instruction, and if that doesn't make a noticeable difference (in games where divide is being called a few times every frame) then I don't think anything will.

video.S is a compilation of video.c, it shouldn't be there..
 
Last edited by a moderator:
slaanesh said:
Okay, so now when I load gba_bios.bin as my "ROM" I can watch the lovely GBA and it works exactly like the real thing.
That's interesting, because I never get the "Gameboy Advance" logo and startup sound. My GBA BIOS has the correct checksum. Am I supposed to be seeing this? I get a black screen and then the game starts.

D.
 
Last edited by a moderator:
Dunny said:
slaanesh said:
Okay, so now when I load gba_bios.bin as my "ROM" I can watch the lovely GBA and it works exactly like the real thing.
That's interesting, because I never get the "Gameboy Advance" logo and startup sound. My GBA BIOS has the correct checksum. Am I supposed to be seeing this? I get a black screen and then the game starts.

D.


try loading the bios instead of selecting a rom....you wont see it otherwise, as far as i know - which i kind of miss infact.
 
Last edited by a moderator:
ninja sauce said:
Dunny said:
slaanesh said:
Okay, so now when I load gba_bios.bin as my "ROM" I can watch the lovely GBA and it works exactly like the real thing.
That's interesting, because I never get the "Gameboy Advance" logo and startup sound. My GBA BIOS has the correct checksum. Am I supposed to be seeing this? I get a black screen and then the game starts.

D.


try loading the bios instead of selecting a rom....you wont see it otherwise, as far as i know - which i kind of miss infact.


Trust me its a good thing that you don't see it with each game starting off. It's a waste of time. Nice to see once and working correctly but after that it gets tiresome very quickly. Those kind of intro screens shouldn't last more than a second in my opinion and I'm glad gpSP bypasses it.
 
Last edited by a moderator:
ninja sauce said:
Dunny said:
slaanesh said:
Okay, so now when I load gba_bios.bin as my "ROM" I can watch the lovely GBA and it works exactly like the real thing.
That's interesting, because I never get the "Gameboy Advance" logo and startup sound. My GBA BIOS has the correct checksum. Am I supposed to be seeing this? I get a black screen and then the game starts.

D.


try loading the bios instead of selecting a rom....you wont see it otherwise, as far as i know - which i kind of miss infact.


If you miss it so much go to cpu.c line 4444 and change 0x8000000 to 0x0000000 and recompile.

Yes, line 4444, I'm amused by that too.
 
Last edited by a moderator:
This emulator drives me crazy! :lol:
Yesterday I could play Metroid: Zero Mission over 2 Hours without any crash. Today I started the game and had 3 chrashes at the beginning while loading a save state. -_- The same states were working perfectly yesterday and belive me I save and load very very often ;) Ok, at the 4. Time I tried to load something it was working.
Besides, Somehow Metroid Zero Mission is very slow here and there. the first Number of the FPS counter normaly 60 in every Game. in MZM it goes near 40. Not to mention the "real" FPS (second Number) Its happening after playing a while morte often than at the beginning (and -of course- depends on the areas ingame )
 
I am experiencing the freeze issue, after undefined minutes of playing, the emulator freezes totally, I can't go back to the menu, all I can do is switch off\on the GP2X.
I experienced this issue in both Ninja Five and Mario Kart.
MK II, 200 mhz, no RAM timing, wright bios and all settings are the default ones except auto frameskip set to 2.
Another thing, when I set resolution to unscale 3:2, the quality of the image is perfect, but when I choose full screen, I don't know... the image is still much sharper on my PC's monitor using the GBA emu there, isn't there any way to get a bigger screen size then the default (stretching it) while the image still appear sharper?
PS: When these two issues are solved, I can say that everything is perfect in Gpsp, in fact it will be much better than VBAdvance, I tried Fear Effect on the PC and it just kept crashing the emulator at the last white warning screen, while in Gpsp, it reached to right after you make your character, Thanks alot Exophase, you rock :)
 
now this is one of the best emus for the gp2x! i played "fireemblem" for nearly 10h and no crash so long. it runs fullspeed with sound on with standart clockspeed. savestates works perfectly and the scaling is okay (but not comparable with the psp).
Is that hardwarescaling??
i do not know why it crashes before, but i assume that a wrong bios is the key. i have changed the bios file to the right one and no crash anymore! :rolleyes:

the bug of the centered (or scaled) screen remains (you have to open the menu without changes to center the screen)
 
sehs33 said:
Another thing, when I set resolution to unscale 3:2, the quality of the image is perfect, but when I choose full screen, I don't know... the image is still much sharper on my PC's monitor using the GBA emu there, isn't there any way to get a bigger screen size then the default (stretching it) while the image still appear sharper?
When you set it to "3:2" it is just doing 1:1 pixel mapping. The reason it doesn't look as good when scaled is that it isn't doing by an even number like 1:1, 2:1 etc. So now you get some pixels that are doubled while others are not giving an un-even "blocky" look. No there is no way around this as the resolutions(GBA 240x160 vs 320 x 240) aren't evenly divisible at anything other than 1:1. The only way to reduce blockyness is to average the stretched pixels but that is very CPU intensive. The PC probably uses some filtering algorythms that are CPU intensive but it won't slow it down as you have much more CPU power to spare. Plus the more res over native that you have to scale the better it will look as you can use finer edge antialiasing with the higher "dot pitch" of a PC res.
 
Last edited by a moderator:
Exophase said:
If you miss it so much go to cpu.c line 4444 and change 0x8000000 to 0x0000000 and recompile.

Yes, line 4444, I'm amused by that too.
Okay, I've done some recompiling. I set the sound down to 22050 instead of 44100 but without a rigorous testing method I couldn't detect much speed up. If any it may have been 1-2 FPS but when you are looking for speed ups I think sometimes you might find things which aren't really there.

Tempted as I was to change line 4444, I kept it in place :)

I also experimented with funroll-loops but apart from creating the larger executable (of course), speed remains the same.

Geez, looking through the code, it's pretty schmick and clean. No wonder it runs so well.

EDIT: As for the emulator freezing, I haven't had one example of a freeze. Mainly playing Super Mario Kart, Gradius Galaxies, Warioware. It's funny as the games I'm playing are ones that I actually own as I have a fairly large collection of GBA games anyway. I'm not just saying that but I guess I tend to buy the game I like. Does anyone else do this?

I'm running FW2.1.1 @ 250mhz + Ram Timings with the correct BIOS.
 
Last edited by a moderator:
see, i'm not convinced that the standard ram timings in the cpu/tweaker are actually standard. i was still getting crashes when i hit start in the tweaker. the only thing that eliminated the crashes was when i tightened the ram timings some more. i didn't do it at first because it seemed counterintuitive but it made all my problems go away. does anyone know if different gp2x batches shipped with different timings? or can someone confirm that the tweaker is actually bypassed when you hit start (specifically the ram settings)? zod had a good idea by including it, but unfortunately it kept things from being rokdcasbah-proof.

edit: the people with crashes should md5 their bios and make sure it's the right one.
 
slaanesh said:
Okay, I've done some recompiling. I set the sound down to 22050 instead of 44100 but without a rigorous testing method I couldn't detect much speed up. If any it may have been 1-2 FPS but when you are looking for speed ups I think sometimes you might find things which aren't really there.
As of right now this will break games that use higher frequencies than this. I could probably modify this, but it's kinda one of those "why bother" kind of scenarios. There are other things I can do to optimize sound, but I don't think that's where much is going in the way of resources. Could vary depending on the game though.

Right now the only thing that looks like a lead in the way of crashing is firmware version. I don't THINK anyone with firmware 2.1.1 has reported serious problems.
 
Last edited by a moderator:
Exophase said:
slaanesh said:
Okay, I've done some recompiling. I set the sound down to 22050 instead of 44100 but without a rigorous testing method I couldn't detect much speed up. If any it may have been 1-2 FPS but when you are looking for speed ups I think sometimes you might find things which aren't really there.
As of right now this will break games that use higher frequencies than this. I could probably modify this, but it's kinda one of those "why bother" kind of scenarios. There are other things I can do to optimize sound, but I don't think that's where much is going in the way of resources. Could vary depending on the game though.


I'd be inclined to agree. It's just something I though was worth experimenting with as other emulators with options for sample rate seem to appreciatively speedup if reduced to 22050 or 11025hz. I was thinking that if the emulators only needs to generate 1/4 of the samples (for example) it must be therefore go faster as there is less to do. Of course the sound does suffer noticably at this frequency. 16500hz seems to provide a good tradeoff between speed and audio functionality.

I played the PSP version of gpSP again this weekend. I think it made my GP2x a bit jealous, so I had to throw a towel over it whilst I was doing so.

@ Exophase: How much of the improvements you've found whilst coding the GP2X version is suitable for the PSP version? Do you plan to write an equivalent PSP MIPS Alpha Blender?
 
Last edited by a moderator:
Exophase said:
Right now the only thing that looks like a lead in the way of crashing is firmware version. I don't THINK anyone with firmware 2.1.1 has reported serious problems.
I've had several, with 2.1.1, but they're not the crashes you're thinking of. They're just plain and simple emulation inaccuracies which happen at exactly the same places in most of the games I want to play :-(

D.
 
Last edited by a moderator:
Well, I'm on Firmware 2.1.1, and I've had crashes, but only before wiping all the .cfg files and such. GP2x voodoo strikes again :)
 
I'm fairly certain my problem was the .cfg files, and the sound buffer for me. The last crash I had was due to low battery, fairly certain. It's run a whole set of batteries flat without crashing. This is on 2.1.1. I finished Baldur's Gate btw - I'm thinking LOTR Return of the King will be my next project... Any ideas how that runs, or will I have to hunt down the rom, and 'trial' it... :)
 
Back
Top