diff options
-rw-r--r-- | README.md | 138 | ||||
-rw-r--r-- | source/nds/gui.c | 2 |
2 files changed, 78 insertions, 62 deletions
@@ -1,4 +1,4 @@ -CATSFC version 1.31, 2013-02-14
+CATSFC version 1.32, 2013-03-01
A Super Nintendo emulator for the Supercard DSTWO.
@@ -9,53 +9,14 @@ Based on: * BAGSFC, by BassAceGold (improving over NDSSFC)
* CATSFC, by ShadauxCat and Nebuleon (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.
-
-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
-
-## 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.
+(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.
# Cheats
@@ -68,7 +29,7 @@ old format used in Mightymo's BSNES Cheat Code Pack. 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.
+4. Open your storage 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
@@ -97,7 +58,7 @@ For some games, you may need to adjust frame skipping. * If you want to show more frames per second in a game that already shows 20,
setting frame skipping to 1 or 0 will cause more frames to appear,
but your DS button input may stop responding for 2 entire seconds every so
- often. The audio will also be stretched. (This is similar to NDSGBA.)
+ often. The audio may also be stretched. (This is similar to NDSGBA.)
* Setting this to 10 will skip 10 frames and render one, but this will
severely desynchronise the audio. You will also find yourself unable to
perform actions during the correct frame with the DS buttons. It is advised
@@ -143,10 +104,18 @@ Available actions are: will be forced on.
* Toggle sound. Each time this hotkey is held, the sound will be disabled if
it's currently enabled, and vice-versa.
+* Save state #1. Each time this hotkey is held, saved state #1 will be written,
+ without confirmation if it exists.
+* Load state #1. Each time this hotkey is held, saved state #1 will be loaded.
+* Toggle full-screen. Each time this hotkey is held:
+ * If the current display mode *is* a full-screen mode, then the display mode
+ is set to 3 (Middle, square pixels) and the top and bottom will be cut off.
+ * If the current display mode *is not* a full-screen mode, then the display
+ mode is set to 4 (Entire screen, smoothed).
# The font
-The font used by CATSFC is now similar to the Pictochat font. To modify it,
+The font used by CATSFC is similar to the Pictochat font. To modify it,
see `source/font/README.txt`.
# Translations
@@ -158,40 +127,87 @@ 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`.
+* Change the tags. For example, if you want to translate to Japanese, the tags
+ will become `STARTJAPANESE` and `ENDJAPANESE`.
* Translate each of the messages, using the lines starting with `#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:
+
* 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
+ language there. For the example of Japanese, you would add this at the end of
the list:
```
,
- GERMAN
+ JAPANESE
```
* 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:
+ Japanese, 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]`.
+ plus 1. For example, if the last entry is `, (char *) &lang[7]`, yours would
+ be `, (char *) &lang[8]`.
* 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. For the example of
- German, you would use:
+ Japanese, you would use:
```
- case GERMAN:
- strcpy(start, "STARTGERMAN");
- strcpy(end, "ENDGERMAN");
+ 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
+
+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.
+
+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
+
+## 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.
diff --git a/source/nds/gui.c b/source/nds/gui.c index d9575c0..6782269 100644 --- a/source/nds/gui.c +++ b/source/nds/gui.c @@ -70,7 +70,7 @@ char *language_options[] = { (char *) &lang[0], (char *) &lang[1], (char *) &lan ******************************************************************************/ #define SUBMENU_ROW_NUM 6 -#define NDSSFC_VERSION "1.31" +#define NDSSFC_VERSION "1.32" #define SAVE_STATE_SLOT_NUM 16 |