aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md124
1 files changed, 124 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..b842ac3
--- /dev/null
+++ b/README.md
@@ -0,0 +1,124 @@
+CATSFC version 1.10, 2012-12-24
+
+A Super Nintendo emulator for the Supercard DSTWO.
+
+Based on:
+* Snes9x 1.43, by the Snes9x team (with research by the ZSNES folks, anomie,
+ zsKnight, etc.)
+* NDSSFC 1.06, by the Supercard team (porting to the MIPS processor)
+* BAGSFC, by BassAceGold (improving over NDSSFC)
+* CATSFC, by ShadauxCat (improving over BAGSFC)
+
+# Compiling
+
+(If you downloaded the plugin ready-made, you can safely skip this section.
+ In this case, go to `# Installing`.)
+
+Compiling CATSFC is best done on Linux. Make sure you have access to a Linux
+system to perform these steps.
+
+## The DS2 SDK
+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.
+
+## The MIPS compiler (`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.
+
+## Making the plugin
+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.
+
+# Installing
+
+To install the plugin to your storage card after compiling it, copy
+`catsfc.plg`, `catsfc.ini` and `catsfc.bmp` to the card's `_dstwoplug`
+directory. Then, copy the source directory's CATSFC subdirectory to the
+root of the card.
+
+# Cheats
+
+The format accepted by the "Load a cheat file" function is equivalent to the
+old format used in Mightymo's BSNES Cheat Code Pack.
+
+1. Download the BSNES Cheat Code Pack at
+ <http://www.mightymo.net/downloads.html>. It will be a zip archive.
+2. Open the zip file, with WinZip, WinRAR or the built-in zip extension in
+ the operating system on your computer.
+3. In the zip file, open the folder called *BSNES Cheat Code Pack*, then
+ the one called *BSNES v0.51-0.74 Cheat Code Pack*.
+4. Open your microSD card's CATSFC folder, then descend into gamecht.
+5. Drag the cheat code files from the zip archive to the card's gamecht
+ folder.
+6. In the card's gamecht directory, create two folders. Name the first one
+ *a-m* and the second one *n-z*. Drag the cheat files from the games whose
+ name starts with A to M into *a-m* and the rest into *n-z*.
+
+This is because the directory display does not handle more than 512 files.
+
+To add cheats to the menu in a game, first load the game, then use the Cheats
+menu's "Load a cheat file" option. The option can be touched using the
+Touch Screen, but does not activate the menu. So press A.
+
+# The font
+
+The font used by CATSFC is now similar to the Pictochat font. To modify it,
+see `source/font/README.txt`.
+
+# Translations
+
+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:
+
+* Open `CATSFC/system/language.msg`.
+* Copy what's between `STARTENGLISH` and `ENDENGLISH` and paste it at the end
+ of the file.
+* Change the tags. For example, if you want to translate to German, the tags
+ will become `STARTGERMAN` and `ENDGERMAN`.
+* Translate each of the messages, using the lines starting with `#MSG_` as a
+ guide to the context in which the messages will be used.
+* Edit `source/nds/message.h`. Find `enum LANGUAGE` and add the name of your
+ language there. For the example of German, you would add this at the end of
+ the list:
+ ```
+ ,
+ GERMAN
+ ```
+* Still in `source/nds/message.h`, just below `enum LANGUAGE`, you will find
+ `extern char* lang[` *some number* `]`. Add 1 to that number.
+* Edit `source/nds/gui.c`. Find `char *lang[` *some number* `] =`.
+ Add the name of your language, in the language itself. For the example of
+ German, you would add this at the end of the list:
+ ```
+ ,
+ "Deutsch"
+ ```
+* Still in `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[2]`, yours would
+ be `, (char *) &lang[3]`.
+* Still in `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, and update the `cmplen`
+ to be the length of the `START` tag. For the example of German, you would
+ use `cmplen= 11;`, because that's the length of `STARTGERMAN`:
+ ```
+ case GERMAN:
+ strcpy(start, "STARTGERMAN");
+ strcpy(end, "ENDGERMAN");
+ cmplen = 11;
+ 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!