Hacking TempGBA: NDSGBA revival

Do GBA games make your nono parts happy?


  • Total voters
    429

Deleted member 319809

MAH BOI/GURL
OP
Member
Joined
Dec 22, 2012
Messages
900
Trophies
0
XP
461
Country
Canada
Hello, thank you for the great emulator. But I've got problems with the new version.
I upgraded the emulator from 1.41 to 1.43 and found that the new version couldn't open Rhythm Tengoku which could be opened in the old version. The game is in a zip file. When I clicked the game, a loading window showed up and then flashed out immediately.I think it has something to do with the extraction process of such a big rom but i'm not sure. A new $temp.gba file is also generated in the TEMPGBA folder. I switched back to the 1.41 version and there was no such a file at all.

I didn't go through the whole thread, am i the only one encountered the problem?
So far, you are the only one who has said they have this problem, yes.

In 1.41 memory-access-3, I did increase the code cache to run some games faster at the expense of the ROM buffer, so it extracts 16 MB and 32 MB ROMs into /TEMPGBA/$tmp.gba before running them. In 1.41, it extracted only 32 MB ROMs.

This should not affect your running of the files, unless you have a card that is not formatted correctly for the DSTwo -- and $tmp.gba becomes a corrupt file upon being rewritten. Try deleting $tmp.gba using a computer and retry with the DSTwo (should be a permanent fix for filesystem corruption made before beta 14). If you additionally cannot write saved states or .sav files correctly, please see the Beginner's Guide sticky, and find 'format'. You would need to back up your files to your computer, reformat the card and put files back on.
 

isavior

New Member
Newbie
Joined
Jun 25, 2013
Messages
2
Trophies
0
XP
47
Country
Switzerland
So far, you are the only one who has said they have this problem, yes.

In 1.41 memory-access-3, I did increase the code cache to run some games faster at the expense of the ROM buffer, so it extracts 16 MB and 32 MB ROMs into /TEMPGBA/$tmp.gba before running them. In 1.41, it extracted only 32 MB ROMs.

This should not affect your running of the files, unless you have a card that is not formatted correctly for the DSTwo -- and $tmp.gba becomes a corrupt file upon being rewritten. Try deleting $tmp.gba using a computer and retry with the DSTwo (should be a permanent fix for filesystem corruption made before beta 14). If you additionally cannot write saved states or .sav files correctly, please see the Beginner's Guide sticky, and find 'format'. You would need to back up your files to your computer, reformat the card and put files back on.

Got it. Thanks.

I've tried to use SDFormatter to refomat the microsd card. Still no luck.
Now i decide to stick with 1.41 till i get another sd card with higher speed and quality.
 

Deleted member 319809

MAH BOI/GURL
OP
Member
Joined
Dec 22, 2012
Messages
900
Trophies
0
XP
461
Country
Canada
The latest version of TempGBA, 1.43.1, will be the last one ever under my name.

If anyone wants to take up maintainership of the project from now on, drop me a private message for committer access on Nebuleon/TempGBA.

Pending issues are on GitHub, as well as the following that have not been put on GitHub. They are possible entry points into future development.
  • Game compatibility improvements.
    • High-accuracy audio rendering to avoid desynchronisation between the GB beeper channels and the Direct Sound DMA channels. This includes correctly handling power-of-2 and non-power-of-2 fractions of the GBA's sound output frequency, 16777216 Hz, in 512 bits per sample and 256 bits per sample modes.
    • Rendering of certain esoteric video modes, such as mosaic and alpha blending.
    • Correct handling of the ARM prefetch queue for the Classic NES games.
  • A very frustrating issue with the audio output which freezes the DS's video, audio and input if enough audio is available only exactly at the time audio is ready to be sent. (DS2 SDK)
  • A bottleneck affecting video output, whereby 42 FPS is the highest the DS2 can provide to the DS, not 60 FPS. (DS2 SDK)
  • Several issues with 64 GiB cards and cards of up to 32 GiB that have not been formatted with the Panasonic SD Formatter with the size adjustment set, including investigating why reads on non-adjusted cards work, but writes corrupt. (DS2 SDK)
  • New language translations, as appropriate. A Chinese Traditional translation is available a few pages back, but will not be included by me.
 

Deleted member 319809

MAH BOI/GURL
OP
Member
Joined
Dec 22, 2012
Messages
900
Trophies
0
XP
461
Country
Canada
Sad to here that from you Nebuleon

[Addendum] I hope that this decision (and catsfc's one) isn't due to a bad comment or opinion of anyone else :cry:
A very sad day for DShomebrew community
The DS2 SDK just sucks, and I have very little time and inclination to fix the broken stuff, as opposed to just the slowness that worked correctly but could do with optimisation. I'm just constantly hitting into walls with the broken stuff now. CATSFC has controller release latency at anything above 20 FPS, TempGBA freezes at random at 60 FPS and is capped at 42 FPS, filesystem access is broken, 64 GiB cards suck, and forcing people to use the SD Formatter is anything but intuitive.
 

ferret7463

Well-Known Member
Member
Joined
Sep 21, 2010
Messages
613
Trophies
1
Age
50
XP
618
Country
United States
I thank you for the button remapping, it has allowed me to play sooo many more games since you done that. I thank you very much for the gift of gaming. :bow:
 

nitendo

Well-Known Member
Newcomer
Joined
Oct 9, 2011
Messages
82
Trophies
1
XP
186
Country
The DS2 SDK just sucks, and I have very little time and inclination to fix the broken stuff, as opposed to just the slowness that worked correctly but could do with optimisation. I'm just constantly hitting into walls with the broken stuff now. CATSFC has controller release latency at anything above 20 FPS, TempGBA freezes at random at 60 FPS and is capped at 42 FPS, filesystem access is broken, 64 GiB cards suck, and forcing people to use the SD Formatter is anything but intuitive.

Hi,

Just for clarification: does it ONLY freeze at random when the setting is 60 FPS?
If yes - can you add an option named 'Stable Mode' that would invalidate any other FPS setting than what's 100% safe (sort of a master switch)?

To me, a emulator with random freezes is pretty useless. I'm sorry - but that's the way it feels - no matter how fast it goes WHEN it pleases to do so.
Sorry to see you go - you had a quite a crowd of followers, Nebulon.

Br,
dACE (a.ka. Nitendo)
 

Deleted member 319809

MAH BOI/GURL
OP
Member
Joined
Dec 22, 2012
Messages
900
Trophies
0
XP
461
Country
Canada
Hi,

Just for clarification: does it ONLY freeze at random when the setting is 60 FPS?
If yes - can you add an option named 'Stable Mode' that would invalidate any other FPS setting than what's 100% safe (sort of a master switch)?

To me, a emulator with random freezes is pretty useless. I'm sorry - but that's the way it feels - no matter how fast it goes WHEN it pleases to do so.
Sorry to see you go - you had a quite a crowd of followers, Nebulon.

Br,
dACE (a.ka. Nitendo)
That is a good point, and it would be hypocritical if I said I wanted the emulators to be stable first and foremost, made CATSFC stable first and foremost, and then left TempGBA rotting. When I have a Linux install again (yeah, Ubuntu broke rather hard), I will probably make the automatic frame skipper be 1 or 2 again.

The thing about 1 is that it's smoother -- much smoother -- but it does not show 30 Hz flashing objects because it shows all odd frames or all even frames. Unlike CATSFC, though, whose 1 frameskip can cause controller release latency, TempGBA's 1 frameskip cannot do this.

2 is much less smooth, but would show 30 Hz flashing objects, because it shows alternating even and odd frames.

So here's a question to you all: Which frameskip do you want as automatic in TempGBA? 1 (30 FPS) or 2 (20 FPS)?

This unofficial poll (a moderator could erase the previous one, maybe ;)) will stay until I have a working DS2 SDK build environment.
 

Deleted member 319809

MAH BOI/GURL
OP
Member
Joined
Dec 22, 2012
Messages
900
Trophies
0
XP
461
Country
Canada
... can't figure out how to wipe the previous results. :(
It's OK, thanks for trying :)

For the record, if it requires an admin to wipe the poll and an admin does wipe it, there were 219 people who said "I support".

Ed: Oh my, I see what you mean now. Previous poll results aren't wiped, but the poll itself is changed. The initial votes were "219" for 1 (30 FPS), which was the "I support" option, and "8" for 2 (20 FPS), which was the "Just show me the names" option. And those who have already voted can't vote anymore, so it's best if you restored the original poll, Rydian. I'll handle this in the thread.

Ed 2: Shit, I forgot those who have already voted can't re-vote in the FPS poll since it's the very same one. Just post below and I'll compile the results myself. :shy:
 

Aeter

A walking contradiction
Member
Joined
Apr 1, 2009
Messages
942
Trophies
1
Age
36
Location
The lands of nether
XP
485
Country
Netherlands
Just one question: if the automatic frameskipper is set to 1, what is the difference if you manually set it to 1?
Perhaps it's just me, but wouldn't automatic frameskip just become a preset frameskip value?
 

Deleted member 319809

MAH BOI/GURL
OP
Member
Joined
Dec 22, 2012
Messages
900
Trophies
0
XP
461
Country
Canada
Just one question: if the automatic frameskipper is set to 1, what is the difference if you manually set it to 1?
Perhaps it's just me, but wouldn't automatic frameskip just become a preset frameskip value?
Manual frameskip X tells an emulator that you want it to always skip exactly X frames. If it can't render frames to keep up, too bad, you get slowdowns, silences and crackling.

Automatic frameskip X tells an emulator that you want it to give you 100% speed first and foremost, and to prefer skipping exactly X frames. If it can't render frames to keep up, it skips more frames.

So manual frameskip 1 is 1-1. Automatic frameskip 1 is 1-EmulatorDependentLimit. In TempGBA it's 10.
 

nitendo

Well-Known Member
Newcomer
Joined
Oct 9, 2011
Messages
82
Trophies
1
XP
186
Country
Manual frameskip X tells an emulator that you want it to always skip exactly X frames. If it can't render frames to keep up, too bad, you get slowdowns, silences and crackling.

Automatic frameskip X tells an emulator that you want it to give you 100% speed first and foremost, and to prefer skipping exactly X frames. If it can't render frames to keep up, it skips more frames.

So manual frameskip 1 is 1-1. Automatic frameskip 1 is 1-EmulatorDependentLimit. In TempGBA it's 10.

Here is a crazy idea (my appologies in advance if it is outright stupid):

How about alternating between skipping 1 and 2 frames?
Wouldn't that mean you would still see flashing objects, just that the flashing is 'slower'?
1 1 1 1 = 4 frames (2 flash)
2 2 2 2 = 8 frames (0 flash)
1 2 1 2 = 6 frames (1 flash)

...

Came to my senses and realized that's probably how the frameskip 2 alternative functions already?

/dACE
 

nl255

Well-Known Member
Member
Joined
Apr 9, 2004
Messages
3,000
Trophies
2
XP
2,800
Country
That is a good point, and it would be hypocritical if I said I wanted the emulators to be stable first and foremost, made CATSFC stable first and foremost, and then left TempGBA rotting. When I have a Linux install again (yeah, Ubuntu broke rather hard), I will probably make the automatic frame skipper be 1 or 2 again.

The thing about 1 is that it's smoother -- much smoother -- but it does not show 30 Hz flashing objects because it shows all odd frames or all even frames. Unlike CATSFC, though, whose 1 frameskip can cause controller release latency, TempGBA's 1 frameskip cannot do this.

2 is much less smooth, but would show 30 Hz flashing objects, because it shows alternating even and odd frames.

So here's a question to you all: Which frameskip do you want as automatic in TempGBA? 1 (30 FPS) or 2 (20 FPS)?

This unofficial poll (a moderator could erase the previous one, maybe ;)) will stay until I have a working DS2 SDK build environment.

How about both, and make it changable as a per-game setting?
 

Aeter

A walking contradiction
Member
Joined
Apr 1, 2009
Messages
942
Trophies
1
Age
36
Location
The lands of nether
XP
485
Country
Netherlands
Manual frameskip X tells an emulator that you want it to always skip exactly X frames. If it can't render frames to keep up, too bad, you get slowdowns, silences and crackling.

Automatic frameskip X tells an emulator that you want it to give you 100% speed first and foremost, and to prefer skipping exactly X frames. If it can't render frames to keep up, it skips more frames.

So manual frameskip 1 is 1-1. Automatic frameskip 1 is 1-EmulatorDependentLimit. In TempGBA it's 10.
Thanks for clearing this up.
Then I would choose 2, but if a changeable value isn't too much work I'd go for that.
 

Deleted member 319809

MAH BOI/GURL
OP
Member
Joined
Dec 22, 2012
Messages
900
Trophies
0
XP
461
Country
Canada
Thanks for clearing this up.
Then I would choose 2, but if a changeable value isn't too much work I'd go for that.
It's not really that it is too much work; I am mainly worried about settings file compatibility and new multi-language text.

a) Settings files will have mainly 0 (Auto), 1 (60 FPS) and 2 (30 FPS) in users' cards right now. If I insert a new value at 1, users who had 60 FPS set for games will now see their games use the second auto instead of their manual. If I don't want this behavior, then I introduce a new value and force everyone to start from auto again. But which auto should be the default, in this case? Auto-prefer-30-FPS or auto-prefer-20-FPS? And thus we end up back at this poll.

Additionally, I expect that most users' cards still have Auto for many games right now, so if I bump their auto down so that it doesn't crash, users don't have to do anything to get their smooth gameplay without crashes.

b) Given that the next version will be the last I will be releasing, I want the text to be fully translated by the time the release is ready. The easiest way to do that is, of course, to add no text at all and make "[-] Keep up with the game" in the 9* languages stand for the new auto-prefer-X-FPS option. If there were 2 autos, I would need to get 7* translations for "[+] Automatic (prefer 30 FPS)" and "[-] Automatic (prefer 20 FPS)".

_________
* = I handle French and English, so I need to get only 7 translations. 9 is because Chinese Traditional is still pending inclusion into TempGBA 1.43.1 +1, and I might as well include that in the same release. However, the Italian, and Chinese Simplified and Traditional ones are much harder to obtain new text for.
 

ultrapowerpie

Member
Newcomer
Joined
Oct 15, 2012
Messages
17
Trophies
0
XP
146
Country
United States
Is there some sort of alternative/backup to filetrip.net? They've been down for 2 days now and I'd really like to upgrade my old nds-gba to this one because I love the Golden Sun series. If not I'll just wait for it come back up
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: https://youtu.be/Gy3BOmvLf2w?list=OLAK5uy_k27izUIERfT-RIE1qN1CHIOIkW4h5A9BY Play this song if...