Hacking TempGBA: NDSGBA revival

Do GBA games make your nono parts happy?


  • Total voters
    429

amaro999

Active Member
Newcomer
Joined
Jan 23, 2011
Messages
43
Trophies
0
XP
117
Country
Brazil
The sound is very cracky in Alpha 6 when any frameskip other than "keep up with the game" is chosen.
This didn´t happen in Alpha 5.
 

Deleted member 319809

MAH BOI/GURL
OP
Member
Joined
Dec 22, 2012
Messages
900
Trophies
0
XP
461
Country
Canada
The sound is very cracky in Alpha 6 when any frameskip other than "keep up with the game" is chosen.
This didn´t happen in Alpha 5.
I can't accomodate both the auto frameskip users and the manual frameskip users until I go through all of the code to change the synchronisation method. For the time being, auto frameskip is best. The emulation synchronises on sound buffers, not video, so you hear crackling instead of seeing dropped frames. That's the cue for the emulator to start giving you more frames. The entire emulator appears to be dependent upon this detail.

E: This also occurs, but much worse, in NDSGBA 1.21.
 

ferret7463

Well-Known Member
Member
Joined
Sep 21, 2010
Messages
613
Trophies
1
Age
50
XP
618
Country
United States
I appreciate everything you've done for us so far and even if you stopped now, it has been more improvements that we've gotten in years on the GBA emu. :yaysp:
 

Deleted member 319809

MAH BOI/GURL
OP
Member
Joined
Dec 22, 2012
Messages
900
Trophies
0
XP
461
Country
Canada
Okay, so I've found a core issue with the sound...

In Golden Sun - The Lost Age, there's some sound overlapping issue that makes it play an instrument twice too loud, then stop, then twice too loud again, etc.

And in some of the Game Boy Advance Video ROMs, particularly Pokémon, the sound is like someone playing an audio cassette 4 times too slow, and catching up every 3 seconds. The result is an Ash Ketchum who sounds like Tay Zonday. (no joke)

I've managed to fix only that ROM by raising the sound frequency from 44100 Hz (TempGBA alpha 1-6, NDSGBA all versions) to 131072 Hz. But the real frequency of a GBA is 32768 Hz, and if I load a saved state made in alpha 6 in this 131072 Hz version, the sound is severely desynchronised because some things are saved precalculated -- divided by 44100.

I must break the saved state format once again if I want to fix this core issue. And I need to fix it by keeping the GBA at 32768 Hz and correctly compensating for multiples and fractions of it.

E: I also found an issue with loading a .zip ROM in the recently played games list (loading a .zip crashes the emulator), and another with the latest saved state not loading after any recently played ROM. Looks like another alpha is underway!
 

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 sav types of NDSGBA and VBA are different. You can't load NDSGBA savs in VBA. (There isn't a converter and renaming the ending doesn't work). I would like to play Pokemon on the 3DS AND trade, but that would mean I either play Pokemon on 3DS and can't trade or I play Pokemon on PC and can trade.
Do you mean in-game saves, or save states? States are rarely portable between emulators (in general) without special handling, but as Nebuleon said in-game saves should work fine.

In Golden Sun - The Lost Age, there's some sound overlapping issue that makes it play an instrument twice too loud, then stop, then twice too loud again, etc.
This may be related, but if playing a game with too low of a frameskip so that the audio is stuttering, when I set it to mute, it continues to play some garbled samples for a second after the "main" audio output of the game has ended.

I must break the saved state format once again if I want to fix this core issue. And I need to fix it by keeping the GBA at 32768 Hz and correctly compensating for multiples and fractions of it.
No complaints here.
 

Deleted member 319809

MAH BOI/GURL
OP
Member
Joined
Dec 22, 2012
Messages
900
Trophies
0
XP
461
Country
Canada
TempGBA alpha 8 is available: http://filetrip.net/dl?h5WwNJjVz6
* .zip ROMs can now be loaded from the recently played games menu. The cause of this bug was that the emulator cannot allocate 320 KiB of memory. Adding more than 256 KiB of code, data and memory allocations to the .plg from this version onwards could break the entire emulator...
* The latest saved state now loads back if you load a ROM from the recently played games menu.
* Fixes a core issue with the sound whereby some games with 65536 or 131072 Hz sound don't output it properly. This processing causes 2 million instructions of overhead, so 1% of 240 MHz or 0.5% of 396 MHz. It fixes at least the double overlapping sound in Golden Sun - The Lost Age and Ash Ketchum sounding like Tay Zonday in the Pokémon GBA Video cartridge.

Sound is now also output at 32768 Hz instead of 44100 Hz, which may make it sound closer to a real GBA or worse than before.
 

SuzieJoeBob

NOT a New Member
Member
Joined
Dec 20, 2008
Messages
687
Trophies
0
XP
1,313
Country
United States
Okay, so I've found a core issue with the sound...

In Golden Sun - The Lost Age, there's some sound overlapping issue that makes it play an instrument twice too loud, then stop, then twice too loud again, etc.

And in some of the Game Boy Advance Video ROMs, particularly Pokémon, the sound is like someone playing an audio cassette 4 times too slow, and catching up every 3 seconds. The result is an Ash Ketchum who sounds like Tay Zonday. (no joke)

I've managed to fix only that ROM by raising the sound frequency from 44100 Hz (TempGBA alpha 1-6, NDSGBA all versions) to 131072 Hz. But the real frequency of a GBA is 32768 Hz, and if I load a saved state made in alpha 6 in this 131072 Hz version, the sound is severely desynchronised because some things are saved precalculated -- divided by 44100.

I must break the saved state format once again if I want to fix this core issue. And I need to fix it by keeping the GBA at 32768 Hz and correctly compensating for multiples and fractions of it.

E: I also found an issue with loading a .zip ROM in the recently played games list (loading a .zip crashes the emulator), and another with the latest saved state not loading after any recently played ROM. Looks like another alpha is underway!
Do whatever you have to do to make things work how you want them to. After all, you are the one doing the work.....anything you want me to look at??? I have nothing to do during programming class, so I might as well do something I can make a plausible excuse for. ("extra practice" for class :P)
 

nl255

Well-Known Member
Member
Joined
Apr 9, 2004
Messages
2,999
Trophies
2
XP
2,785
Country
The Classic NES Series are not GBA games. They are NES games in a GBA cartridge with what I presume to be a chip to emulate the NES memory map on the GBA.

Get nesDS and the NES originals.

No, they are NES games combined with a custom NES emulator similar to the one used by the Gamecube Animal Crossing game. That emulator uses all kind of dirty shortcuts (think Nesticle) and is pretty closely tied to the GBA hardware that it is hard to do accurate enough emulation to run them well, even more so than PocketNES.
 

Deleted member 319809

MAH BOI/GURL
OP
Member
Joined
Dec 22, 2012
Messages
900
Trophies
0
XP
461
Country
Canada
Do whatever you have to do to make things work how you want them to. After all, you are the one doing the work.....anything you want me to look at??? I have nothing to do during programming class, so I might as well do something I can make a plausible excuse for. ("extra practice" for class :P)
By "look at", do you mean testing or programming?
 

Boriar

Well-Known Member
Member
Joined
Sep 22, 2008
Messages
316
Trophies
1
Age
52
Location
Spain
XP
695
Country
TempGBA alpha 8 is available: http://filetrip.net/dl?h5WwNJjVz6
* .zip ROMs can now be loaded from the recently played games menu. The cause of this bug was that the emulator cannot allocate 320 KiB of memory. Adding more than 256 KiB of code, data and memory allocations to the .plg from this version onwards could break the entire emulator...
* The latest saved state now loads back if you load a ROM from the recently played games menu.
* Fixes a core issue with the sound whereby some games with 65536 or 131072 Hz sound don't output it properly. This processing causes 2 million instructions of overhead, so 1% of 240 MHz or 0.5% of 396 MHz. It fixes at least the double overlapping sound in Golden Sun - The Lost Age and Ash Ketchum sounding like Tay Zonday in the Pokémon GBA Video cartridge.

Sound is now also output at 32768 Hz instead of 44100 Hz, which may make it sound closer to a real GBA or worse than before.

alpha 8?! What happen with alpha 7?:wacko:

Edit: Is it private like alpha 1?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: At least they where