TempGBA: NDSGBA revival

Discussion in 'Supercard' started by Nebuleon, Feb 18, 2013.

?

Do GBA games make your nono parts happy?

Yes 303 vote(s) 95.9%
No 13 vote(s) 4.1%
Feb 18, 2013

TempGBA: NDSGBA revival by Nebuleon at 8:49 PM (161,968 Views / 19 Likes) 1,172 Comments

    • Member

    Nebuleon MAH BOI/GURL

    Member Since:
    Dec 22, 2012
    Message Count:
    897
    Country:
    Canada
    Get the plugin: http://filetrip.net/nds-downloads/flashcart-files/latest-tempgba-f31839.html
    as well as Aeter's merged v1.4 game_config.txt for more speed and compatibility in some European and Japanese games
    and, if you like, download the Pokémon Platinum skin I made for April Fools as a standalone archive
    or Aeter's LEDS2-Orange skin for TempGBA

    View the source! http://github.com/Nebuleon/TempGBA
    (with an issue tracker too)

    Go to post #870 for the narrated history of TempGBA :D

    Frequently asked questions
    Q. Compatibility?
    A. http://wiki.gbatemp.net/wiki/TempGBA_Compatibility - please edit this list as you test your games!

    Q. Cheats?
    A. Exactly as in NDSGBA 1.21: rather broken, and with a rather broken interface too, apparently. If cheats for your game crashed back then with no explanation, they will still crash now (but may crash with a Guru Meditation screen). Nebuleon has absolutely no interest in cheats for the GBA; if you do, and can help out, feel free to fork and edit the source, and perhaps submit a pull request to Nebuleon/TempGBA/master when you're done.

    Q. Saved states?
    A. Saved states from NDSGBA 1.21 and 1.30 are incompatible with TempGBA (for the technical details, please see post #218 and post #371), but saved states from TempGBA beta 5 are forwards-compatible until beta 12. To load a save you had made in NDSGBA 1.21 or 1.30, use a .sav as an intermediate file.
    1. Load up NDSGBA 1.xx, the exact version you used in the first place.
    2. Load the game, then the state, save in-game, and exit NDSGBA.
    3. Using your computer, copy the .sav file from your card's /NDSGBA/GAMERTS directory into /TEMPGBA/SAVES. (You can do this for multiple games at once if you repeat steps 1 and 2 for all of your games before 4 and 5.)
    4. Load up TempGBA.
    5. Load the game, which will load the .sav from [2], then create a TempGBA saved state.
    Q. Pokémon?
    A. Yes! Emerald's clock is supported, and saves are good. ROM hacks should be supported if they don't change the ROM title and game code. If in doubt, ask whoever created your favourite ROM hack.

    Q. LINK CABLE?!
    A. No. The DSTwo SDK has no support for sending WiFi or NiFi protocol packets. TempGBA runs on the DSTwo itself and relies on the cart-to-DS communication to do things; we have no access to all the DS can offer. If you want to add WiFi packet support to the SDK, be my guest. You will rip your hair out trying to debug hardware communication.

    Q. Golden Sun? Golden Sun 2?!
    A. The Golden Sun games have become much better, with Golden Sun and Golden Sun 2 being perfect at auto frameskip and slight crackling at lower manual frameskips. See post #450 and post #499 for audio comparison tests by Rydian in Golden Sun. #450 is in beta 9, #499 is in beta 11.

    Q. Classic NES?
    A. No. Play them on nesDS. More technically: The ARM prefetch queue doesn't interact well with a recompiler. The recompiler would need to flush its code 2 instructions after a write, and the code to detect these writes and apply the logic of the ARM prefetch queue 2 instructions later retroactively would lower performance of all games that rewrite their code in GBA RAM by 200% or more. That means supporting Classic NES games would slow down a couple dozen, up to a hundred, other games.

    Q. Is this NDSGBA? Is this better than NDSGBA? Is this worse than NDSGBA?
    A. Yes. Nebuleon got the source code for NDSGBA 1.21 after the community helped ask for it.
    It may be better or worse, depending on the game. Its GUI is definitely better, though! It supports game_config.txt, like gpSP from which it is derived. It may lack some cheat support.

    Q. Why do we need the GBA BIOS now?
    A. You always needed it. It was distributed inside NDSGBA but Nebuleon removed it from the code because its distribution is probably not allowed.

    Q. Where does the GBA BIOS go?
    A. See installation.txt.

    Q. gbaemu4ds?
    A. This is not gbaemu4ds. See ichfly's gbaemu4ds thread.

    * 1.43: File selector improvements. Notably, directories with more than 511 files or 63 subdirectories will not crash TempGBA upon being displayed. Going to the last page with the R button also won't lock you to that page until you press Down, Up, Up.
    * 1.43: The Screenshot slideshow function doesn't freeze with an exception if you have no screenshots.

    Changes from NDSGBA 1.30

    Emulator
    * ARG support for loading the emulator using a file browser's associations. Thanks, BassAceGold!
    * 16 saved state slots are available, and you can overwrite any state. You can also see the screenshot of a state you're about to overwrite or delete!
    * Writes a .sav file to storage 10 frames (1/6 of a second) after it's done being written to the emulated GBA's save area (since beta 8).
    * Button remapping is available globally and per-game for GBA buttons Start, Select, L and R. NDSGBA 1.30 has remapping per-game for A, B, rapid A and rapid B.
    * Hotkeys! A rewind hotkey, L+Y, is user-definable globally and per game; there are also hotkeys to go to the main menu (since beta 4), to fast-forward, to mute (since beta 7) and to quickly load and save state #1 (since beta 8).
    * CPU speeds imported from CATSFC. 360 MHz is selected by default.
    * FPS counter! Now you can see how many frames you get per second (since beta 8)! Yay!
    * Lower screen gaming and booting from the GBA logo (since 1.41).
    * Cheat support may have deteriorated (as of beta 1).
    * Add Guru Meditation screens for MIPS (DSTwo-side) and ARM7 (GBA-side) crashes (since beta 9). You may now report crashes that display these screens by taking photos of them, or reporting the top 2 lines and the registers accessed by the instruction ($NUMBER). See an example of this in post #451.
    * Incorporate a fix for filesystem corruption by BassAceGold. Handles Short File Names (SFN) and Long File Names (LFN) more correctly and prevents duplicate aliases (two files named MARIO~01.RTS, for example) (since beta 14).

    Game compatibility
    * Patched Classic NES/Famicom Mini games may work.
    * Doom, Doom II, Duke Nukem Advance, Golden Sun, Golden Sun 2, Mario Golf: Advance Tour, Mario Tennis: Power Tour run with much more framerate (in beta 12, beta 14, and 1.41 memory-access-3).
    * Golden Sun 2 and Tales of Phantasia don't return oddly to the EOS Menu anymore (as of beta 12).
    * game_config.txt support has been restored! This improves game compatibility and is required by some 128 KiB-save games to correctly save.
    * game_config.txt translation gate support has been dropped (as of 1.41 memory-access-3). However, improvements in the recompiler made them unnecessary.

    Emulator menu
    * The 8 languages of CATSFC are in TempGBA. Some messages are still in English.
    * All interfaces have 8 rows instead of 6.
    * The rewind option was "Rewind enable" and "Rewind period". It is now only one option.
    * The frame skipping option was "Frame skip type" and "Frame skip value". It is now only one option.
    * The menu recognises button presses and releases more consistently, including rapid presses of the same key (since beta 6). Auto-repeating is set to fire 20 times per second so you can browse long lists more easily.

    DS functionality
    * The menu has touch screen support. Thanks for the CATSFC improvement, ShadauxCat!
    * Close the lid of your DS and it shall sleep if it's in the menu (as of alpha 2) or emulating (as of beta 8).

    Audio
    * A core issue with the GBA sound is fixed by issuing sound at 88200 Hz and resampling it to 44100 Hz (since alpha 7, changed in betas 3-5). This fixes the sound in some GBA Video cartridges and Golden Sun - The Lost Age.
    * Sound crackles/bubbles less in slower games (improved variously in alphas 3-7).
    * Fast-forwarding can have sound (since alpha 2), and it is dampened to prevent loud pops (since beta 11); in NDSGBA it could not. You can mute it.

    Menu/Extras
    * The default skin, icon set and font are that of CATSFC, with a prettier GBA icon for game files and a GBA controller loading screen.
    * The text colors are now loaded in TEMPGBA/SYSTEM/GUI/uicolors.txt for theming (since 1.41).
    * A useful, Engrish-free README file is included.
    * Fewer writes to settings files. Settings files are rewritten only once you exit a submenu, and only if you've changed a setting in that submenu. If you don't change settings from their defaults for a game, the game can now have no settings file at all. This also uses up fewer erase cycles on storage cards
    * It has become impossible to set certain gpSP options by hex-editing ndsgba.cfg (since alpha 3).

    Technical:
    * Use high-level emulation (HLE) for some more GBA BIOS calls. (Variously trashed and re-instated in betas 5-9)
    * ARM-to-MIPS (GBA-to-DSTwo) recompiler improvements (since beta 10, more in betas 11, 12, 13 and 15).
    --> Self-modifying code is now reused instead of being constantly wasted, in case the game rewrites the same code at the same place again. Even more detailed statistics are present about this in /Tools/Debugging (in English only) (as of 1.41 memory-access-3).

    Suggestions made by Boriar in post #237:
    * (UI) [Submenu name] instead of Submenu name... in a list of options containing a submenu.
    * (UI) Using <None> in unassigned hotkeys and button mappings.
    Last edited by Nebuleon, Aug 12, 2013. Reason: Move the GitHub link up


    • Member

    Nebuleon MAH BOI/GURL

    Member Since:
    Dec 22, 2012
    Message Count:
    897
    Country:
    Canada
    This post reserved for communications between GBAtemp and the Supercard Team, or corrections and additions to the first post.

    Original first post


    2013-03-16 03:25 UTC, Nebuleon to Supercard Team:
    Some information implied, "标题:(请求)NDSGBA的1.21源码" (Mandarin Chinese)

    Translation of the above, "(Request) NDSGBA 1.21 source code" (English)


    2013-03-16 08:07 UTC, Supercard Team to Nebuleon
    As was received, "Re: 标题:(请求)NDSGBA的1.21源码" (English)


    2013-03-16 21:26 UTC, Nebuleon to Supercard Team
    As was sent, "Re (2): NDSGBA 1.21 source code request" (English)


    2013-03-18 04:19 UTC, Supercard Team to Nebuleon
    Some information redacted, "Re: Re (2): NDSGBA 1.21 source request" (English)


    2013-03-18 05:11 UTC, Nebuleon to Supercard Team
    As was sent, "Re (4): NDSGBA 1.21 source code request" (English)


    2013-03-20 03:57 UTC, Supercard Team to Nebuleon
    As was received, "Re: Re (4): NDSGBA 1.21 source code request" (English)


    2013-03-20 05:03 UTC, Nebuleon to Supercard Team
    As was sent, "CATSFC 1.33 with Chinese Text" (English)
    Last edited by Nebuleon, Mar 20, 2013
    • Member

    Rydian Resident Furvert™

    Member Since:
    Feb 4, 2010
    Message Count:
    27,886
    Location:
    Cave Entrance, Watching Cyan Write Letters
    Country:
    United States
    Obvious support here.
    • Newcomer

    Mikesahhh Mikes

    Member Since:
    Nov 4, 2012
    Message Count:
    61
    Country:
    United Kingdom
    Having your awesome CATSFC improving skills to the NDSGBA would be too good!
    ARG() Support would be great too for Bagplug/iMenu users
    • Member

    Crystal the Glaceon GBAtemp's Official Glaceon™ That little pansexual

    Member Since:
    Sep 13, 2009
    Message Count:
    10,390
    Location:
    Not sure
    Country:
    Antarctica
    I am supporting the hell out of this!
    I love your work with CATSFC and I know you will do an amazing job with NDSGBA!

    Edit: I added a link to this thread in my signature!
    Last edited by The Catboy, Feb 19, 2013
    • Newcomer

    lpchaim New Member

    Member Since:
    Jan 6, 2013
    Message Count:
    20
    Country:
    Brazil
    Well, this seriously needs to happen. A nicer GBA emu will make it almost perfect for me!
    Ironically enough, GBA support is touted as one of the main features of the card...

    EDIT: Wow, it came out a bit snarkier than I envisioned, sorry.
    Bad thoughts aside, maybe I can help with brazilian portuguese translation if time permits.
    I hope this project gets going forward soon!
    Last edited by lpchaim, Feb 19, 2013
    • Member

    Aeter A walking contradiction

    Member Since:
    Apr 1, 2009
    Message Count:
    874
    Location:
    The lands of nether
    Country:
    Netherlands
    I fully support this too.
    I also have experience in programming in a variety of languages including C and C++, but I'm not very good at C/C++ though; I'm a lot better at Java and Python since those are my main languages.
    So if I can be of any other help besides translating, I'm willing to participate if the source becomes available.
    • Member

    Nebuleon MAH BOI/GURL

    Member Since:
    Dec 22, 2012
    Message Count:
    897
    Country:
    Canada
    Yeah; it's ironic that it's touted as one of the main features of the card but their game support is apparently deteriorating - and the application takes ages to load, which doesn't look too great.

    Except for some features that would need to be coded anew for TempGBA, I'll already have a lot of the text I need in Brazilian Portuguese from CATSFC. :)

    Awesome! You can be one of the people who will look into the code when it's available, see where the CATSFC improvements would go and copy-paste them. And maybe learn a bit of C along the way. ^_^
    • Member

    Nebuleon MAH BOI/GURL

    Member Since:
    Dec 22, 2012
    Message Count:
    897
    Country:
    Canada
    It appears that someone necro-bumped a thread about bad cheat support in NDSGBA on the Chinese BBS: Original (Translated). This problem has persisted since 2011-04-29 at the latest.

    What does GBAtemp think of the cheat support in NDSGBA?

    edit: Emulation bugs? as of 2013-02-19 Original (Translated)
    And some kind of bug tracker? Because this appears to be a sticky from 2010 with stricken things... Original (Translated)
    Last edited by Nebuleon, Feb 19, 2013
    • Newcomer

    smoke14me61 New Member

    Member Since:
    Jan 29, 2009
    Message Count:
    49
    Country:
    United States
    Would love to be able to play Duke Nukem Advance and Mario Golf Advance.
    • Newcomer

    Canadacdn New Member

    Member Since:
    Jul 20, 2007
    Message Count:
    68
    Location:
    Canada
    Country:
    Canada
    I'd like to see this happen, but I'm not too optimistic. Supercard has ignored every request for the source so far. Honestly, what else should you expect from Chinese software pirates? They've got your money already, they don't give a fuck. If they release the source, other flashcart manufacturers with GBA support will spring up overnight, and steal away the DSTWO's dominance in the 3ds-compatible flashcard market. Supercard doesn't want that. What they want is to get as much money as they can for as little work as possible, and you're helping them do that by improving their shitty emulators for free.
    Last edited by Canadacdn, Feb 19, 2013
    • Newcomer

    smoke14me61 New Member

    Member Since:
    Jan 29, 2009
    Message Count:
    49
    Country:
    United States
    No big deal. I'll just get my DS Lite and the carts out and play but it would be very cool to have it on my supercard.
    • Member

    Nebuleon MAH BOI/GURL

    Member Since:
    Dec 22, 2012
    Message Count:
    897
    Country:
    Canada
    There is one problem with your logic: they already released the source for the Super Famicom emulator, and a long time ago to boot. Perhaps that was because NDSSFC was considered highly imperfect, though...
    • Newcomer

    smoke14me61 New Member

    Member Since:
    Jan 29, 2009
    Message Count:
    49
    Country:
    United States
    CATSFC rocks!! If it wasn't for NDSSFC...................
    • Newcomer

    Canadacdn New Member

    Member Since:
    Jul 20, 2007
    Message Count:
    68
    Location:
    Canada
    Country:
    Canada
    Yeah, the only reason they did that was likely because NDSSFC was vastly inferior to SNEmulDS at the time. Until a another GBA emulator comes along that can rival NDSGBA, I'd expect them to keep a tight lid on the source.
    • Member

    WiiUBricker Insert Custom Title

    Member Since:
    Sep 19, 2009
    Message Count:
    4,507
    Location:
    Espresso
    Country:
    Argentina
    I support this, but lets be honest here. Community wishes are worth nothing when it comes to the chinese flash cart market. People were trying to get the source for this for years, but there never was a slighest respond from the supercard team. They don't care about what people want. Oh and DarkChen is actually a member of the supercard team.
    • Member

    Rydian Resident Furvert™

    Member Since:
    Feb 4, 2010
    Message Count:
    27,886
    Location:
    Cave Entrance, Watching Cyan Write Letters
    Country:
    United States
    Because we all know that the other flash carts have the onboard CPU to run this stuff, and if they don't it it's free to add, right?

    And yeah, the SNES emulator is available, and sources for some SDK versions, and they sent free DSTwos to people like the DSx86 author to get more software developed, etc.

    Actually GBAtemp announcements have gotten flash cart makers to act a few times before, like it got the Cyclo team to start updating a cart or two again and some other historical stuff.

    'Cause SNEMULDS ran Star Fox and shit out of the box, rite?

    NDSSSFC's compatibility, even the base version, is way better than SNEMULDS. Yes SNEMULDS is faster at "playing" games, if the amalgamated bullshit displayed on the screen can be called "a game". And yes, this is about the constant and serious layering issues.
    Nebuleon likes this.
    • Member

    Nebuleon MAH BOI/GURL

    Member Since:
    Dec 22, 2012
    Message Count:
    897
    Country:
    Canada
    I believe even the dumbest companies with the slightest business sense will recognise that you have to make it work for the customer to want to buy your product. A few replies on the Chinese BBS already say "suggest not to buy this" in regards to playing GBA games.

    As for the previous requests for the source, maybe that was just ignored because the person requesting was not considered capable enough. If someone points to my work on CATSFC, they may reconsider. That may mean that I need to send the email, or that whoever sends the email in Chinese needs to take the "business side" and the "this person is capable" angle into account more than the "community side". The community can look at the code when the source has been given to the capable person in it... at least for them. Right? ;)

    Shall we start a draft email to be translated? Or are we giving up hope straight away?

    EDIT: Or perhaps DarkChen/discuz2011 understands English and can be directed right to this thread via a PM and/or email?
    Last edited by Nebuleon, Feb 19, 2013. Reason: Addendum
    • Member

    WiiUBricker Insert Custom Title

    Member Since:
    Sep 19, 2009
    Message Count:
    4,507
    Location:
    Espresso
    Country:
    Argentina
    That was Cyclo, who at least consisted of one non-chinese person. And Cyclo is dead. And they didn't do that because they care about a random brat being able to play his pirated rom of Golden Sun, they did it just to shut the bitching around here up.

    Probably your best bet to get a response is posting a thread in the chinese forum, in chinese of course. But it's hard to find someone who can speak chinese here. I don't think gbatemp has any chinese speaking regular members, but don't quote me on that.
    • Member

    Rydian Resident Furvert™

    Member Since:
    Feb 4, 2010
    Message Count:
    27,886
    Location:
    Cave Entrance, Watching Cyan Write Letters
    Country:
    United States
    The bitching meant a public image of "don't buy this product", which is what they cared about.

SPONSORED LINKS
 

Share This Page