From 705670eebee3e81f16a5f0c2b559c6dee61b4d91 Mon Sep 17 00:00:00 2001 From: João Silva Date: Sat, 14 Jan 2017 19:44:27 +0000 Subject: Made README.md more straightforward and accurate. --- README.md | 208 +------------------------------------------------------------- 1 file changed, 2 insertions(+), 206 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index f46e9aa..a469bda 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -CATSFC version 1.36, 2013-06-16 +snes9x2005 libretro core. -A Super Nintendo emulator for the Supercard DSTWO. +A Super Nintendo emulator core using the libretro API. Based on: * Snes9x 1.43, by the Snes9x team (with research by the ZSNES folks, anomie, @@ -8,207 +8,3 @@ Based on: * NDSSFC 1.06, by the Supercard team (porting to the MIPS processor) * BAGSFC, by BassAceGold (improving over NDSSFC) * CATSFC, by ShadauxCat and Nebuleon (improving over BAGSFC) - -Contains: -* Language files written by the GBAtemp community: Dutch by Aeter, French - by Nebuleon, German by SignZ, Portuguese (Brazilian) by Diego Liberal, - Spanish by Boriar -* Language files written by GitHub users: Italian by alexinfurs - -# Installing - -(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 - -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 - . 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 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. - -To add cheats to the menu in a game, first load the game, then use the Cheats -menu's "Load a cheat file" option. - -# Frame skipping - -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. -* If a game runs at 5 frames per second, like *Yoshi's Island*, - *Kirby Super Star*, *Star Fox* or *Super Mario RPG*, setting frame skipping - to 1 will allow you to jump, move or shoot at the right times. -* 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 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 - to set frame skipping to the lowest value with which you can play a game. - -# Fluidity - -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. - -* Preferring video fluidity makes audio skip certain notes, up to - 23 milliseconds, in order to render more video. In many games, this - difference is not audible, but you may hear certain audio glitches if a game - depends highly on timing for its audio. - Use this option if you want to play games that require fluid imagery more - than precise audio emulation. You can also use this option when watching game - introductions, endings and cutscenes. -* Preferring audio fluidity makes video skip certain images, up to - 46 milliseconds, in order to render audio closer to 32,000 times per second. - Use this option if you want to play games mainly for their soundtracks, or in - a game's sound test mode. You can also use this option to experiment with the - green berry glitch in Super Mario World that makes TIME go over and under 100 - units constantly and makes the music play very fast. - -# Hotkeys - -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: -* Go to main menu. In addition to tapping the Touch Screen to return to - the main menu, you can set a hotkey to do the same. -* Temporary fast-forward. While this hotkey is held, the fast-forward option - 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 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 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 Japanese, you would add this at the end of - the list: - ``` - , - 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 - Japanese, you would add this at the end of the list: - ``` - , - "日本語" - ``` -* 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[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 - 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 - -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. -- cgit v1.2.3