Fixing/reducing GBA slowdowns

Discussion in 'GBA - Flashing Hardware and Software' started by july, Aug 14, 2006.

  1. july

    july Newbie

    Aug 14, 2006
    I spent a few hours searching the forums for information on how to get roms like yoshi's island to run better. I finally got yoshi's island in a quite playable state, and thought I'd put all the information in one place to make it easier for other people to find.

    Keywords: prefetch, pfpatch, fastrestart, restart patch, slowdowns, gba, yoshi, mario kart.

    I've placed the information on a wiki page at PHwiki:

    Reproduced below for convenience:

    Due to the design of the Supercard, many people experience slowdowns
    when playing GBA games. There are three main reasons for this.

    * '''Slow SDRAM on the Supercard.'''
    * ''''Restart' patch problems.'''
    * '''Lack of prefetch when not using the restart patch.'''

    More information is below.

    = Slow SDRAM =

    There's not much that you can do about this, short of taking your
    Supercard apart and putting in a faster SDRAM module. Thankfully for
    most games, you don't need to go that far.

    = 'Restart' patch problems =

    The 'restart' patch in the Supercard software enables the use of
    shortcut keys to jump back to the Supercard screen - this makes saving
    and exiting a game easier.

    This patch works by hooking into the DS's redraw interrupt, which is
    (usually) called at 60 times per second. If games push the limits of
    what can be done in the redraw interrupt, there won't be enough time
    left for the restart patch to check keystrokes, and thus slowdown

    There are two options available. One is to disable the 'restart'
    patch. This can make saving cumbersome (see QPC saving), and it also
    disables prefetching (see the next section).

    The alternative is to use [[Bubble2k]]'s fastrestart patch, which attempts
    to optimise the restart patch. It's a good idea to try this first, but
    if you continue to have speed problems, see below.

    = Lack of prefetch =

    Prefetching can result in significant speedups in some games, with an
    approximate 10% hit in battery life. For some reason, the Supercard
    software only enables prefetching if the 'restart' patch is applied -
    so disabling the 'restart' patch in order to increase performance can
    in some cases make things run even slower.

    A program called 'pfpatch' (again by [[Bubble2k]]) solves this problem
    by enabling prefetching on ROMs patched without the 'restart' patch.
    QPC saving can be cumbersome, but if you're still experiencing
    slowdowns, this method is the best.

    = Links =

    *# Fast restart (SD):
    *# Fast restart (CF):
    *# Prefetch:

    Have fun :-)
  2. july

    july Newbie

    Aug 14, 2006
    I've added usage instructions to the wiki page. Reproduced below for convenience.


    1. Make sure you have a backup copy of the ROMs you want to use.
    2. Select some files and drag them onto fastrestart.exe, or from the commandline, type 'fastrestart nameOfRom.gba'
    3. Process the ROMs with the Supercard software. Make sure 'saver' and 'restart' patching are enabled. You only need 'saver', not 'save'.
    4. Copy the .sav file fastrestart generated, and the output from the Supercard software to your Supercard.


    1. Make sure you have a backup copy of the ROMs you want to use.
    2. Load the roms into Supercard. Enable 'saver' and 'save', and make sure 'restart' is disabled.
    3. Run pfpatch on each generated ROM in turn. Unlike fastrestart, you need to drag files onto pfpatch one at a time. From the commandline, run 'pfpatch nameOfRom.gba'
    4. Copy the updated ROMs and .sav files to your Supercard.

    To save, use the QPC method (see Supercard).
  3. badger

    badger Member

    May 22, 2006
    United States
    Arlington, MA
    wow july - thanks for the great advice! I was able to get yoshi's island running PERFECTLY at last! I had to use pfpatch and can only save with QPC method, but thats no problem. Thanks again [​IMG]
  4. SILENT_Pavel

    SILENT_Pavel Member

    Apr 6, 2014
    Thanks, but some links is dead, btw thread is pretty old i know, but can i get any mirrors for such useful stuff?
  5. thaddius

    thaddius Charmander is not pleased.

    May 5, 2008
    Well the thread is from '06. I'm not surprised the link doesn't work.

    That being said, here's the current location of the page. There are some mirror's for the files there. I didn't check them though.

    EDIT: Maybe you'd consider uploading the files to fileTrip when you're done? It'd be a great help to anyone looking for the files in the future when the site goes down. If you do so don't forget to post about it here so future Tempers will know.
    SILENT_Pavel likes this.
  6. SILENT_Pavel

    SILENT_Pavel Member

    Apr 6, 2014
    No problem. fastrestart-cf-v0.1 + fastrestart-v0.1 + Prefetch_patcher - attached on this post

    backup of wiki page source code (just for sure)

    Attached Files:

    zfreeman and thaddius like this.
  7. DanTheManMS

    DanTheManMS aka Ricochet Otter

    Jun 2, 2007
    United States
    Not gonna lie, I had a long day at work today, and it really warmed my heart to see someone still making use of the wiki pages I helped edit "back in the day" hehe. I'm surprised my mirror links still work there, to be honest. Gotta hand it to Google - even though they shut down Google Pages years ago, they still haven't deleted the files I used to host there.
    zfreeman and SILENT_Pavel like this.
  8. Hanafuda

    Hanafuda GBAtemp Addict

    Nov 21, 2005
    United States
    I get slowdowns in Yoshi's Island on a retail cart. Happens especially when you bust out a bunch of little stars all at once.