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:
http://wiki.pocketheaven.com/SupercardGBASlowdowns
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
occurs.
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): http://l33t.spod.org/ratx/DS/SC/misc/fastrestart-v0.1.zip
*# Fast restart (CF): http://l33t.spod.org/ratx/DS/SC/misc/fastrestart-cf-v0.1.zip
*# Prefetch: http://l33t.spod.org/ratx/DS/SC/misc/pfpatch.zip
Have fun :-)
Keywords: prefetch, pfpatch, fastrestart, restart patch, slowdowns, gba, yoshi, mario kart.
I've placed the information on a wiki page at PHwiki:
http://wiki.pocketheaven.com/SupercardGBASlowdowns
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
occurs.
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): http://l33t.spod.org/ratx/DS/SC/misc/fastrestart-v0.1.zip
*# Fast restart (CF): http://l33t.spod.org/ratx/DS/SC/misc/fastrestart-cf-v0.1.zip
*# Prefetch: http://l33t.spod.org/ratx/DS/SC/misc/pfpatch.zip
Have fun :-)