Hacking TempGBA: NDSGBA revival

Do GBA games make your nono parts happy?


  • Total voters
    429

ferret7463

Well-Known Member
Member
Joined
Sep 21, 2010
Messages
613
Trophies
1
Age
50
XP
618
Country
United States
I'm curious, Does the (Very) Little extra CPU clock speed that the DSTWO's Mips processor has,(333mhz Vs 396) gives it any extra edge on GBA emulation?
 

Deleted member 319809

MAH BOI/GURL
OP
Member
Joined
Dec 22, 2012
Messages
900
Trophies
0
XP
461
Country
Canada
These posts are like a modern Roosevelt's fireside chats. XD

Is rewind noticeably faster with sound off, or is it just a slight gain and not a bother? Yes, I know I could likely grab the tools and compile it myself to test, but I'm lazy, don't have any of the DSTwo stuff installed (just the basic libnds/devkitpro stuff)... and you're still doing such major changes that I assume bug reports wouldn't be too useful just yet.
I assume you mean fast-forward here, and not rewind. It's not much faster in TempGBA if you disable the sound while fast-forwarding, unlike in the SNES emulator with its 8 SNES sound channels.

I'm not sure what to say about the TempGBA/NDSGBA versus gpSP and MIPS clock speed stuff. I'll pass a build to Rydian for testing and bug reporting because the cheats support has stopped crashing thanks to BassAceGold (but UI coordinates may be wrong). Rydian will know more than me about the clock speeds, because he uses gpSP on the PSP. I'm now at the point where most of the stuff is hooked in that can be hooked in from the source, so maybe after that private release a general alpha can start.

I surmise Surkow was talking about gbaemu4ds, which runs on the NDS side, thus ARM. The comparison was indeed between NDSGBA and gpSP, MIPS to MIPS.
 

Rydian

Resident Furvert™
Member
Joined
Feb 4, 2010
Messages
27,880
Trophies
0
Age
36
Location
Cave Entrance, Watching Cyan Write Letters
Website
rydian.net
XP
9,111
Country
United States
The PSP's CPU is stock 333mhz, but for the life of the system most official software ran at 222mhz to save on battery life and make less heat, though some later games gave a 333mhz option (Kingdom Hearts and God Of War IIRC) due to needing more power.

Most homebrew took advantage of the variable clock rate, I could downclock it to like 45mhz or something for Gameboy emulation, while most higher system emulators (like gpSP) ran at 333mhz by default, and I don't think anybody bothered lowering it for those.

EDIT: Small clarification.
 

Surkow

Well-Known Member
Member
Joined
Dec 17, 2012
Messages
62
Trophies
1
XP
490
Country
Netherlands
[...]

I surmise Surkow was talking about gbaemu4ds, which runs on the NDS side, thus ARM. The comparison was indeed between NDSGBA and gpSP, MIPS to MIPS.
Yes, I assumed the discussion was about native performance (on the DS) versus running it on the DSTWO.

Did any homebrew use the GPU on the PSP? The DSTWO uses a JZ4740. On the Dingoo a320 (also using a JZ4740) you could overclock the processor from 336mhz to over 400mhz depending on the batch. At times this resulted in stability issues.
 

Deleted member 319809

MAH BOI/GURL
OP
Member
Joined
Dec 22, 2012
Messages
900
Trophies
0
XP
461
Country
Canada
I think rewinding is slightly broken right now, in that it corrupts a 128 KiB save file (.sav) if it's used even once during a game. It's also possible that the creation of saved-states altogether is breaking a 128 KiB .sav.

CALL FOR TESTERS

Please test this build, identified as TempGBA alpha 2, with your favourite huge-save game (mine's Pokémon Emerald): http://filetrip.net/dl?7FTJeVC25G

If you experience a save file corruption error, like Pokémon Emerald's "The save file is corrupt. The previous save file will be used." message, please take note of anything you did for the error to occur, as specific as possible. This includes the following:
* Putting the DSTWO into another DS whose clock is off, making the save appear to be in the future to the first DS.
* Saving in-game then exiting.
* Saving in-game without exiting, just shutting down the DS.
* Saving in-game and loading an unzipped ROM.
* Saving in-game and loading a zipped ROM.
* Loading or saving states.
* Enabling or disabling rewinding.
* Using rewinds.
* Using fast-forwarding.
 

Deleted member 319809

MAH BOI/GURL
OP
Member
Joined
Dec 22, 2012
Messages
900
Trophies
0
XP
461
Country
Canada
What is a hypervisor? And whats the difference.
A hypervisor is something that oversees the execution of code written for the same processor architecture as the chip that's actually running it (e.g. ARM code on an ARM CPU) but redirects certain other resources. This is similar to virtual machine software on a PC.

An emulator is something that converts code written for a foreign processor architecture so that the chip can run it (e.g. Zilog Z80 code, like for a Game Boy, on an ARM CPU).
 

Deleted member 319809

MAH BOI/GURL
OP
Member
Joined
Dec 22, 2012
Messages
900
Trophies
0
XP
461
Country
Canada
Yesterday and today in the TempGBA repository: [;)]

I just discovered an issue with game-specific configuration appearing to reset itself when reloading the same game after exiting the emulator. Commit 4fc1794 fixes this by writing the correct header. It's not in the alpha 2 release.

What's in the alpha 2 release, though:
* commit 0a6a76a, "Add button remapping, both global and overridable per-game." You can test this, but do know that the overrides won't stick until I make a new alpha release. The button mappings are in the Tools menu.
* commit b9c0ed0, "Add rewinding as the first user-definable hotkey." This commit created the hotkey menus, also in Tools. L+Y is the default hotkey for rewinding, but you can now set it to anything you want.
 

ferret7463

Well-Known Member
Member
Joined
Sep 21, 2010
Messages
613
Trophies
1
Age
50
XP
618
Country
United States
well, I've tested 2 unzipped roms on my old DS2 . The Roms are Super Robot Taisen OG1 and Mega man and Bass and both performed great . I love the Button Remap!!!!!!!:grog:

* A bit of an update I've also worked with Metroid fusion, it and the other 2 roms both have a small buzzing in the back ground. I was playing on my old DS phat and then decided to give my daughter's DSi try just see if wasn't just my old machine's speakers.
 

mikeyisdead

Mikki is Alive
Newcomer
Joined
Jan 28, 2011
Messages
63
Trophies
1
XP
890
Country
There any chance to make the gba video run on it well
even Classic-nes gba too
so it will feel more like that you actually gba games on it you know?
 

Deleted member 319809

MAH BOI/GURL
OP
Member
Joined
Dec 22, 2012
Messages
900
Trophies
0
XP
461
Country
Canada
Alright, so I think I figured out what the problem with .sav files is. It's pretty bad.

Every time I compiled a new version, the in-memory address of EVERYTHING changed. So one time the in-memory representation of the current game's save data started at address 02005AF4*, and the next time, it started at 02005A56*. That means that, every time I saved a state, compiled a new version, loaded the state and saved a .sav, it was writing to the DSTWO's RAM at a different place.

Well, if the save data was 128 KiB like in Pokémon Emerald, the data would be split into two 64 KiB "banks", and a pointer to the current bank was kept around so the emulator would know where the next save command should go, either in the first bank or in the second bank. But the saved state kept a record of where that data was, at the time of saving, in the DSTWO RAM! And when loading a state, that bank would be made to point to the old location of itself in memory. So change the position of the data, and BOOM, all future .savs generated after loading a state from an older version would be corrupt because they write "the data" to somewhere and the .sav ends up being "e dataHH" or "HHthe da", unreadable to the game. And it doesn't help matters if you load a state made with an older version, save it immediately under the new version, and create a .sav, because the bank pointer is permanently pointing to garbage.

With that said, I shall announce that I will make saved states saner in TempGBA, but that it will have lost saved state compatibility with all versions of gpSP, gpSP Kai, NDSGBA and even TempGBA alphas 1 and 2.

* = not actual addresses, just examples
 

jonthedit

Well-Known Member
Member
Joined
May 30, 2011
Messages
1,682
Trophies
0
XP
1,010
Country
Bangladesh
The question is : Good progress, but will this only be compatible with the SCDSTwo? Or now that the source is released and you are working hard does this mean a possibly port to other carts?
 

Deleted member 319809

MAH BOI/GURL
OP
Member
Joined
Dec 22, 2012
Messages
900
Trophies
0
XP
461
Country
Canada
The question is : Good progress, but will this only be compatible with the SCDSTwo? Or now that the source is released and you are working hard does this mean a possibly port to other carts?
People can look at my repository for improvements. If they're portable enough, anyone can implement them. I doubt they'll make it into gpSP itself, though, because Exophase has been unresponsive ever since that Japanese guy made gpSP Kai.
 

Deleted member 319809

MAH BOI/GURL
OP
Member
Joined
Dec 22, 2012
Messages
900
Trophies
0
XP
461
Country
Canada
TempGBA Alpha 3, the Lesser Data Loss Edition, is available here: http://filetrip.net/dl?htWSmKND6d

Changes:
* Per-game configuration like button mappings, the rewind hotkey and the CPU speed, are now preserved and correctly re-read.
* .sav files and saved states should be immune to TempGBA memory-map changes from this version onwards.
 

Sicklyboy

#JOYCONBOYZFOREVER
Global Moderator
Joined
Jul 15, 2009
Messages
6,313
Trophies
2
Location
[̲̅$̲̅(̲̅ ͡° ͜ʖ ͡°̲̅)̲̅$̲̅]
XP
8,102
Country
United States
The question is : Good progress, but will this only be compatible with the SCDSTwo? Or now that the source is released and you are working hard does this mean a possibly port to other carts?

Aside from the iSmartMM, nothing else has any form of a remotely powerful onboard CPU, and the DS by itself isn't strong enough for GBA emulation. So in other words, most likely no.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: Maybe the Amiga or ST version is nice....