From GameBrew

Last Updated2013/06/16

CATSFC is a Super Nintendo emulator for the Supercard DSTWO. It is 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 and Nebuleon (improving over BAGSFC).


Copy catsfc.plg, catsfc.ini and catsfc.bmp from the release archive to the card's _dstwoplug directory.

Then, copy the CATSFC subdirectory to your dstwo's root folder (the one that contains _dstwo, _dstwoplug, etc).

User guide


The format accepted by the Load a cheat file function is equivalent to the old format used in Mightymo's BSNES Cheat Code Pack.

  • Download the BSNES Cheat Code Pack. It will be a zip archive.
  • Open the zip file, with WinZip, WinRAR or the built-in zip extension in the operating system on your computer.
  • In the zip file, open the folder called BSNES Cheat Code Pack, then the one called BSNES v0.51-0.74 Cheat Code Pack.
  • Open your storage card's CATSFC folder, then descend into gamecht.
  • Drag the cheat code files from the zip archive to the card's gamecht folder.
  • 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.

Frame skipping

In the Video & audio menu, the Frame skipping option allows you to select a number of frames to skip between rendered frames. Default setting 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. 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 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.


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:

  • 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 used by CATSFC is similar to the Pictochat font. To modify it, see source/font/README.txt.


Version 1.1

  • Added touchscreen support, as well as correcting some of the Engrish and enabling correct language display and changing the behavior of the recent games feature to remember games even when the emulator is exited through means other than the exit button, such as a power down.

Version 1.06 2010/11/09

  • This is the first release source version.


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.

External links