CATSFC version 1.36, 2013-06-16
A Super Nintendo emulator for the Supercard DSTWO.
Based on:
Contains:
(If you got the source code and want to compile it, see the Compiling
section
at the end of the file.)
To install the plugin to your storage card, copy catsfc.plg
, catsfc.ini
and
catsfc.bmp
from the release archive to the card's _dstwoplug
directory.
Then, copy the CATSFC
subdirectory to the root of the card.
The format accepted by the "Load a cheat file" function is equivalent to the old format used in Mightymo's BSNES Cheat Code Pack.
To add cheats to the menu in a game, first load the game, then use the Cheats menu's "Load a cheat file" option.
In the Video & audio menu, the Frame skipping option allows you to select a number of frames to skip between rendered frames.
As of version 1.29, the default is - (Keep up with the game). For most games, this setting keeps video and audio fluid, without the sudden slowdowns of previous versions when many sprites fill the screen. The DS controller buttons are also responsive at this setting.
For some games, you may need to adjust frame skipping.
Fluidity is an option you can find under the Video & audio menu in a game. By default, video fluidity is preferred over audio fluidity in games.
You can set buttons to press to perform certain actions. For each action, there is a global hotkey and a game-specific override hotkey. You might, for example, want to have the R button bound to Temporary fast-forward, but a specific game uses R for something important. In that case, you can set the global hotkey to R and make an override with X for that game.
Hotkeys are sent to the current game as well as to their corresponding action. The criterion for a hotkey is met when at least all of its buttons are held. Additional keys are sent to the game and can trigger another hotkey. For example, setting a hotkey to L and another to R+X, then pressing L+R+X+Y will trigger both and send L+R+X+Y to the game.
Available actions are:
The font used by CATSFC is similar to the Pictochat font. To modify it,
see source/font/README.txt
.
Translations for CATSFC may be submitted to the author(s) under many forms, one of which is the Github pull request. To complete a translation, you will need to do the following:
CATSFC/system/language.msg
.STARTENGLISH
and ENDENGLISH
and paste it at the end
of the file.STARTJAPANESE
and ENDJAPANESE
.#MSG_
as a
guide to the context in which the messages will be used.If you are not comfortable editing C code, or cannot compile CATSFC after your changes, you may instead test your translation in the English block and submit it. That allows you to look for message length issues and to align the option names and values to your liking with spaces.
If you wish to also hook your language into the user interface, you will need to do the following:
source/nds/message.h
. Find enum LANGUAGE
and add the name of your
language there. For the example of Japanese, you would add this at the end of
the list:
,
JAPANESE
source/nds/message.h
, just below enum LANGUAGE
, you will find
extern char* lang[
some number ]
. Add 1 to that number.source/nds/gui.c
. Find char *lang[
some number ] =
.
Add the name of your language, in the language itself. For the example of
Japanese, you would add this at the end of the list:
,
"日本語"
source/nds/gui.c
, find char* language_options[]
, which is below
the language names. Add an entry similar to the others, with the last number
plus 1. For example, if the last entry is , (char *) &lang[7]
, yours would
be , (char *) &lang[8]
.source/nds/gui.c
, find case CHINESE_SIMPLIFIED
. Copy the lines
starting at the case
and ending with break
, inclusively. Paste them
before the }
. Change the language name and tags. For the example of
Japanese, you would use:
case JAPANESE:
strcpy(start, "STARTJAPANESE");
strcpy(end, "ENDJAPANESE");
break;
Compile again, copy the plugin and your new language.msg
to your card
under CATSFC/system
, and you can now select your new language in CATSFC!
Compiling CATSFC is best done on Linux. Make sure you have access to a Linux system to perform these steps.
To compile CATSFC, you need to have the Supercard team's DS2 SDK.
The Makefile expects it at /opt/ds2sdk
, but you can move it anywhere,
provided that you update the Makefile's DS2SDKPATH
variable to point to it.
For best results, download version 0.13 of the DS2 SDK, which will have the
MIPS compiler (gcc
), extract it to /opt/ds2sdk
, follow the instructions,
then download version 1.2 of the DS2 SDK and extract its files into
opt/ds2sdk
, overwriting version 0.13.
Additionally, you will need to add the updated zlib
, DMA
(Direct Memory Access) and filesystem access routines provided by BassAceGold
and recompile libds2a.a
. To do this:
sudo rm -r /opt/ds2sdk/libsrc/{console,core,fs,key,zlib,Makefile} /opt/ds2sdk/include sudo cp -r sdk-modifications/{libsrc,include} /opt/ds2sdk sudo chmod -R 600 /opt/ds2sdk/{libsrc,include} sudo chmod -R a+rX /opt/ds2sdk/{libsrc,include} cd /opt/ds2sdk/libsrc sudo rm libds2a.a ../lib/libds2a.a sudo make
gcc
)You also need the MIPS compiler from the DS2 SDK.
The Makefile expects it at /opt/mipsel-4.1.2-nopic
, but you can move it
anywhere, provided that you update the Makefile's CROSS
variable to point to
it.
To make the plugin, catsfc.plg
, use the cd
command to change to the
directory containing your copy of the CATSFC source, then type
make clean; make
. catsfc.plg
should appear in the same directory.