SSF

Last updated for:
Ver 0.10 test



Option menu

this page was last updated for SSF Ver 0.09 beta R2

note: most of this page is based on translations from the
readme.txt file that comes with SSF, the changelogs, and
personal notes added to make things more understandable.
Some of it is meant for developers (Program Tab 1-2-3, mostly).

It is recommended to restart SSF after changing any of the settings.
(Except for controller setup)

note2: As of Ver 0.09 alpha, SSF saves compatibility settings per
game. Games are identified by their serial number, and the settings
are stored in the file Setting.ini (open it with wordpad if linebreaks
don't show up correctly).

To edit the default options, launch SSF without any games.

Furthermore, 4 compatibility mode hotkeys are set up. Press and hold
1-4 on your keyboard to activate these. By default settings, modes
1-3 correspond to the EZ Settings Low, Standard and High, respectively.
4 is a "full compatibility" mode, not accessible by EZ settings. It
only differs by setting the Dot Clock to 3.9, though.

These compatibility modes are also editable in the Setting.ini file.
They are the top 4 entries, marked [Setting1] to [Setting4].
Also, when setting PAL games in this file, not that you need to set
the AreaCode to 12 and not c, unlike what the file states.

There seems to be a bug concerning Scanline Base Timing. It will
attempt to function in whatever is the default, non-game option.
This can cause NTSC games to run at 50hz (when the default mode
is Europe as region). When the default mode is a non-pal region,
PAL games may end up running in a very choppy fashion when combined
with autoframeskip.


Peripherial tab

Saturn BIOS - Enter the location of your preferred Saturn BIOS file, or use the Browse button to locate it. SSF can run without a BIOS file if none is specified here, but compatibility may be lower and some functions will be inaccessible if no BIOS file is present. (memory manager, cd player screen, etc) BIOS files are not region locked, you can run japanese games with the USA BIOS or you can run PAL games with the V-Saturn BIOS, and so on. STV BIOS - Same as above, specify your ST-V bios file here. Unlike Saturn games, ST-V games will NOT function without a BIOS file. CD Drive - Select the CD Drive you want SSF to use. It is highly recommended to use a virtual CD device such as Daemon Tools with mounted CD images due to vastly better access time. Cartridge - Specify here the type of cartridge that is attached to the emulated Saturn. options: none - no cartridge is attached Backup RAM Cartridge - A standard memory card is attached to provide further space for savegames. 1MByte RAM Cartridge - 1 MB RAM extension card. Needed for some games to run. 4MBytes RAM Cartridge - 4 MB RAM extension card. Needed for some games to run. Area Code - Set up the region of the emulated Saturn. This should be self-explanatory. options: Japan Taiwan, Korea, Philippines America, Canada, Brazil Europe, Australia, South Africa

Screen tab

Scanline - Enable or disable TV Scanlines in the display. You can modify this option on the fly by pressing F5. default: enabled, recommended: your preference. Auto Field Skip - Enables automatic frame skipping. If your machine is not powerful enough to run SSF at fullspeed, this option will cause SSF to drop frames to maintain synchronization of the video and audio. (but, animation will be blocky that way, which is especially noticable for games running in interlaced high resolution mode) This option will also act as a frame limiter, in case your computer runs SSF too fast. default: enabled, recommended: enabled for most games, disable it if frame skipping becomes unbearable or if hi-res games leave a too annoying after-image. Enforce Aspect Ratio (Window/fullscreen) - When enabled, this option will attempt to "fix" the aspect ratio of the screen, in either windowed or fullscreen mode. I have no idea how this attempts to calculate the aspect ratio, most of the time it just tries to squash the vertical resolution. This looks pretty bad, adds borders, makes dithered effects look worse, etc. For PAL games, the fullscreen option will actually break fullscreen mode since it will always attempt to create a 512px high image... Does not affect screenshots. default: disabled, recommended: disable it, since its pretty broken. VSynch Wait (Fullscreen only) - Enables V-sync. Use this to prevent screen tearing (for ex. when the screen scrolls). Note that this will lock SSF at framerates equal to your monitor refresh rate. It may make SSF run too fast if your monitor refresh rate is above 60hz for the resolutions 640x480 and 720x480. (they should be at 60 hz normally) Also note that enabling Vsync will cancel out Auto Frame Skip - SSF will not skip any frames if VSync is activated. (use Scanline Base Timing instead) VSync is only enabled in fullscreen mode. default: disabled, recommended: your preference Use DirectDraw (32bit True Color only) - This option will make SSF draw the screen using Directdraw instead of Direct3D. DirectDraw may be faster or slower, depending on the videocard in your PC. This option only works if your screen resolution is set to 32bit. default: disabled, recommended: your preference. On some machines this mode increases performance, on others it makes SSF much slower. It depends on your videocard. Also, it may cause lag when you take a snapshot. Bilinear Filtering (Direct3D Only) - This option enables simple Bilinear Filtering. This can smooth out graphics, improving on the pixelated look. Highly recommended if you use either "Enforce Aspect Ratio", or if you are using the + key to increase the screen size in windowed mode. The option has no effect if you have DirectDraw mode enabled. Note that Directdraw mode will add filtering automatically anyway, on some videocards at least. Also, Bilinear Filtering will have no effect on screenshots. default: disabled, recommended: enabled.

Sound tab

Enable CDDA / PCM / FM / DSP / EG / LFO - These options once enabled the user to mute certain parts of the audio in the emulated Saturn console. They are not used anymore and thus greyed out. Linear Filtering - When enabled, resampled PCM samples will be interpolated (eg. any sound sample not played at 44,1khz samplerate by the saturn hardware will be processed.). It uses a bit of extra cpu power but it "smooths" out sound. default: enabled recommended: your preference, note that a real Saturn also does this processing. Mute - This option does what it says, it mutes sound altogether. It can be toggled on-the-fly by pressing F6. Buffer Size (samples) - This option sets the amount of audio samples kept in the audio buffer to ensure skip-free playback. Increase it in case the sound skips when using the emulator. Note that the higher the buffer is, the more late the sound will be, although this is unaudible. (the sound lag is [Buffer size x 3 / 44100] seconds, with the buffer set to 1024 this equals roughly 70ms - in this case, sound and video is out of sync by 70ms) Half Buffering - When enabled, the sound buffer size is halved. Sound is normally generated in intervals set by the Buffer Size option. However, when Half Buffering is enabled, sound is generated in a [Buffer Size / 2] interval. This will also halve the sound lag mentioned above. Use this if you get noise with a low buffer size set. default: disabled recommended: enable if you get noise with a low buffer size set.

Controller tab

Port 1 and 2 - Set up the type of accessory attached to the first and second control ports on the Sega Saturn. options: Direct Connect - a controller is attached directly to control port 1. Multi Terminal 6 - a multitap adapter is attached to control port 1. Player 1:A to F and 2:A to F - You can set up controllers here. 1:A to F are controllers plugged onto the Player 1 side, 2:A to F are controllers on the Player 2 side. A to F are the six ports of a multitap, sequentally. If you use no multitap, then set 1:A and 2:A for the default Player 1/2 controls. For STV games, 1:A is the Player 1 control, 2:A is Player 2, 1:B and 1:C are Players 3 and 4. Press the Redefine button to configure the selected joypad. (Optimally, the analog controller support works the best with the Xbox360 controller for PC, as it was the only controller the author had when implementing the feature). The following controllers are supported so far: Control Pad - The regular Saturn controller. The D-pad and all buttons are digital. Mission Stick - Also known as Virtua Stick. ABCXYZLR buttons are digital, X-axis and Y-axis are used by the analog stick, Z-Axis sets the analog throttle. Mouse - Emulates the Shuttle Mouse. You can turn off the Windows mouse cursor by pressing the numeric - (minus) key. This only affects windowed mode, though. Multi Controller - Better known as the Analog 3D control pad. Left/Right/Up/Down are directions used by the Digital D-pad, ABCXYZ are digital buttons. X-axis and Y-axis are used by the Analog stick, AL and AR are the analog L and R triggers. Note that many games are incompatible with the Multi / Analog 3D Controller, this happens on the real hardware too. Mahjong Panel - An accessory designed for playing Mahjong games. Keys are not remappable and as the following: A-N = A-N keys Kan = Ctrl key Pon = Alt key Chi = Space key Riichi/Reach = Shift key Ron = Z key Reset - Resets all controller related setup. Peripherial Codes - These greyed out tabs will show you, once you game has booted, which peripherials the game is compatible. This information is read from the game header, it's shown here so you know what peripherials you can expect to work with your game. You can read more about the Peripherial Codes at GameFAQs.

Program1 tab

Use VDP1 Draw / VDP2 Draw / CD Block Thread - With these options you can set the emulation of the corresponding hardware parts to run in seperate threads. This way SSF can take advantage of multiprocessor PCs (Athlon X2, Intel Core Duo), as well as Hyperthreading in certain Pentium 4 models. Notes: VDP1 Draw Thread may introduce performance and compatibility problems, so it is reccomended to not use it. default: VDP1 Draw Thread: disabled, VDP2 Draw Thread: enabled, CD Block Thread: disabled, recommended: Use the defaults, unless you have a computer with more then 2 cores - in that case try experimenting on which modes give you the best performance. Leave VDP1 Draw Thread disabled, though. VDP2 Multi Thread - The VDP2 is drawn with multi-threading enabled. At most 4 threads is assigned to the VDP2. This effects mainly computers with 3 or more cpu cores. default: enabled recommended: enabled. CD Block No Wait - When enabled, this option will speed up cd reading speeds. This will cause the emulated Saturn to load games faster then a real Saturn would, bypassing the often annoying load times in certain games. However, it can have a negative impact on compatibility. Some games will not run correctly (or at all) with this turned on. default: disabled, recommended: disabled. Scanline Base Timing - When enabled, speed adjustment is carried out per every scanline. It limits the game speed correctly even with VSync enabled, and also limits to 50hz for PAL games. default: disabled, recommended: enabled. DSP Dynamic Recompile - This enables dynamic recompilation for the SCU DSP emulation, speeding it up quite a bit. It improves speeds on games that use the SCU DSP excessively (ex. movies in Grandia). default: enabled, recommended: enabled.

Program2 tab

CD Drive Read Sectors - Specifies the amount of sectors the CD Drive will read at once. If this number is increased, CD reading will become faster, but depending on the drive, errors may happen. possible values: 1 - 24 default: 16 recommmended: I don't know if this affects anything or not... Dot Clock - A Dot Clock is specified in floating point. On the real hardware, four system clocks (approx. 7Mhz cycles) are needed for to draw 1 dot. This option specifies what system clock is used for drawing 1 dot. Or in other words, the speed of the emulated Saturn can be adjusted here. At 4 Dot Clocks, the speed of the emulated system is the same as a real Sega Saturn. At 2 Dot Clocks, the emulated system is running at half speed. By default, SSF does not emulate the SH2 cache, but it is possible to fake Cache failure caused by main memory access lag, when this option is set between approx. ~2.5 - ~3.5. possible values: 1.00 - 4.00 default: 2.50, recommended: Use the EZ Settings instead of directly editing this. SH2 Instruction Numbers - The number of commands which the emulated system can perform at once can be set up here. In a cycle, the processing order of the system components is: main SH2, slave SH2, SCU, SCSP and 68k. This option sets up the number of commands which the emulated system can process at once. If this number is increased, although speed may temporarly increase, compatibility will fall. possible values: 1 - 150 default: 80 recommended: Use the EZ Settings instead of directly editing this. Check SlaveSH2 Idle Loop - This option enables the Idle Loop check of the Slave SH2. If the Slave SH2 is currently idle, it will not be processed. It heavily depends on the game, but this option may give a speed boost (games that only use one SH2 in the Saturn will be faster). However, compatibility may fall with this enabled. default: enabled, recommended: enabled. SlaveSH2 Speed (%) - The percent of speed the secondary SH2 cpu is running at can be set up here. It sets what percentage of speed will the secondary SH2 run at compared to the main SH2. Since SSF does not emulate the bus arbitration of the main and secondary SH2, fake emulation is done this way. possible values: 1 - 100 default: 90 recommended: 100 SH2 Recompile Block Instructions - (I don't know what this does.) possible values: 1 - 50 default: 40 recommended: If a game does not run and neither lowering the "SH2 Instruction Numbers" nor disabling "SH2 New Execution" has any effect on it, you may want to try increasing this number. I have not tested this function yet. CD Sector Numbers Per Second - This option sets up the amount of sectors read per second by the CD Drive. It is only effective if the CD Block is waiting. possible values: 150 - 200 default: 150 recommended: I don't know if this affects anything or not... Always Running - When enabled, a main thread will be executed at all times. Since the main thread will not be in Sleep mode when waiting for a field change, it is less likely that a procession failure will happen this way. (note: I'm unsure what this means. It sounds like a high priority mode.) default: disabled, recommended: your preference. Memory Error Check - If this is enabled, improper memory access will be checked more strictly. Since this is debug tool for developement, there is no necessity to enable this. default: disabled, recommended: disabled. It may cause ingame crashing.

Program3 tab

CD Access LED - Enables a LED on the bottom right part of the status bar (windowed mode only), that shows CD access. default: enabled. recommended: There's no point in disabling this, so... No BIOS - When enabled, the Saturn BIOS will not be used. However, there are games which do not run without a Saturn BIOS, so using a BIOS is recommended. ST-V games will not run without a BIOS. This option forces the Backup Library to be enabled. You can temporarly turn this option on by pressing CTRL as SSF starts. Also, region checking will be automatic when no BIOS is used. default: disabled, although it will be automatically used if no Saturn BIOS file is specified. recommended: disable it and set up a Saturn BIOS file. Hook Backup Library - When enabled, a backup library will hooked up, and infinite space will become available for save games. Saved games will be stored under the Backup folder. With this option you can also save to cart memory while a 4mb RAM extension is plugged in. default: disabled, recommended: enabled, although do note that your previous saved games will not be transferred to the Backup Library. Check Cycle Pattern - When enabled, the cycle pattern will be refreshed per every scanline. Also, it checks for errors in the cycle pattern designation/specification. default: enabled, recommended: enabled, Memory Access Wait (SH2 Write Buffer) - When enabled, the Memory Access lag of cache-through-address will be effective. Furthermore, the 1 step Write Buffer of the SH2 is also enabled. If this Memory Access lag is not carried out, some games with sensitive timing may not run normally. When enabling this option, make sure the Dot Clock is set high. default: disabled, recommended: enabled. SH2 Cache - When enabled, the SH2 Cache will be emulated. Memory Access Wait is also enabled when this option is used. This is a temporary implementation only, game behavior may become strange when it is used. When enabling this option, make sure the Dot Clock is set high. This option requires extraordinary processing power, so make sure you only use it for games which can't run otherwise. The author is using this the debug Astal for the moment. default: disabled, recommended: disabled, unless you have a very powerful CPU. SCU DMA Delay Interrupt - When enabled, the SCU DMU Interrupt is delayed. When this transfer time is not delayed, some games may not run normally. default: disabled, recommended: try enabling this if a game locks up during gameplay. CD Track/Index - Some games use Index lookup instead of track lookup to play CDDA, enabling this option will precalculate an index table for games to use. These index tables are saved under the CDIndex folder so SSF doesn't have to calculate the indexes at every bootup. Note that they are saved by cd labels, this may cause problems if you are running multiple different region versions of the same game after each other (an index generated by a different region version may end up being used). default: disabled, recommended: try enabling this if your game does not run normally. The only game known to use this is Taito Chase HQ plus S.C.I.

EZ Setting tab

Simply put, this menu allows you to set preconfigured compatibility profiles. The effect of each such profile is detailed in the tab. You must restart SSF after setting a profile.