diff --git a/htdocs/docs.php b/htdocs/docs.php index aa43e19b..9e6daadd 100644 --- a/htdocs/docs.php +++ b/htdocs/docs.php @@ -1,894 +1,22 @@ -

FCE Ultra General Documentation

-

- History updated Juney 22, 2008 - Content last updated September 15, 2004
-Valid as of FCE Ultra 0.98.13 -

+Docs are currently being overhauled. Due to sourceforge.net being sucky +right now, I am editing straight on my web server. -

- Table of Contents: -

+ + + +
Documentation
- -
-

Introduction

-

- FCEUX was started in 2006 by zeromus and rheiny (sp) as an attempt to merge various branches - of FCE Ultra into a unified emulator. Additional authors joined the project, including - mz, adelikat, nitsujrehtona, maximus, CaH4e3, Sebastian Porst. -

-

- FCEUX contains all features and enhancements from FCE, FCE Ultra, FCEU rerecording, - FCEUXD, and FCEUXDSP as well as many new mappers from FCEU-mm -

- -

- This document has been arranged to keep user interface details and emulation - details as separate as possible, though this has not been accomplished entirely. -

-

- In several places references are made to the "base directory". If you - are running a port on a UN*X-like system(Linux/*BSD/Mac OSX/SunOS/etc.), the - base directory is "~/.fceultra", or in other words, - "your home directory plus .fceultra". For all other ports(including DOS and -MS Windows), the base directory is the directory that the executable is in. -

-
- -

History of FCE Ultra

- -

- Bero originally wrote a NES emulator that was referred to as FCE. - This name was apparently meant only to serve as a temporary name, - but its usage remained. Xodnizel originally ported it to Linux SVGAlib, - and made a few improvements. This code base was abandoned, and work began anew, - under DOS, with the original FCE source code. At the end of November, 1998, - FCE Ultra Beta 1 was released. -

-

- FCE Ultra remained DOS-only until version 0.18, when it was ported to Linux SVGAlib, - and released as a statically-linked executable. The first MS Windows port was released as version 0.25. -

-

- The source code of 0.40 was released on November 12, 2000. It retained the simple license - of FCE for a long time, which stated that " This software is freeware. You can use it non-commercially." - Almost two years later, in June 2002, 0.80 was released, and FCE Ultra was re-licensed under the GNU GPL. -

-

- It has been tested (and runs) under DOS, Linux SVGAlib, Linux X, Mac OS X, and Windows. A native GUI - is provided for the Windows port, and the other ports use a command-line interface. The SDL port should - run on any modern UNIX-like operating system (such as FreeBSD, Solaris or IRIX) with no code changes. - It has also been ported to the GP2X, PlayStation Portable as PSPFceUltra, the Nintendo GameCube and Pepper Pad. -

-

- FCE Ultra was created by Xodnizel. Development appeared to stop and the homepage and forums for the emulator were taken down. - The last version before this was v0.98.13-pre, released in September 2004 as source-only. The last binary release was v0.98.12 in August 2004. -

-

- However, it was resurrected again in March of 2006 by Anthony Giorgio and Mark Doliner. -

-

- There is also a graphical frontend for FCE Ultra. GFCE Ultra is written in Python and uses the GTK2 user interface library. - Because is it written in Python and with portability in mind, it can be run on any UNIX-like platform and any processor architecture - that is supported by Python. -

-

FCEU Rerecording

-

- The "rerecording" version of FCE Ultra was implemented to FCE Ultra 0.98.10 with movie - recording support. This was done by blip, and was implemented for the purpose of creating - Tool-Assisted Speedruns. -

-

- The rerecording branch continued with 0.98.12, adding movie support features, such as "bullet proof" - recording. In 2006, FCEU 0.98.16 was implemented by nitsuja and luke. Various tools such as read-only toggling, - increased hotkey mapping, and memory watch were added. -

-

- In 2008, FCEU rerecording was picked up again by mz, maximus, adelikat, and nitsujrehtona with various updates - named FCEU.0.98.17 - 0.98.28 -

-

FCEUD/FCEUXD/FCEUXDSP

-

- FCEUD -

-

- In 2002, Parasyte modified the then-current version (0.81.3) of FCE Ultra and added a Nesten-style - debugger, along with several other features, and named it "FCEUD" (FCE Ultra Debugger). -

-

- FCEUXD -

-

- In January 2004, bbitmaster began working on more features and called it "FCEUXD" (FCE Ultra Extended Debugger). - It is a branch of FCE Ultra that contains many extended debugging features compared to the original FCE Ultra code such as a trace logger, a built-in hex editor, a name table viewer, code/data logger, inline assembler, and Game Genie decoder/encoder in addition to the debugger and PPU viewer from FCEUD. - The last version made was FCEUXD 1.0a -

-

-

FCEUXDSP stands for FCEUXD "SP" version and is a branch of FCEUXD 1.0a

-

-

- It was created in 2006 by sp. The project extends the debugging tools even further compared to - FCEUXD by adding new tools, functions, and usability of debugging tools. -

-

- The last version of FCEUXDSP was 1.07 which adds a feature known as the RAM Filter. -

- - -
-

- Core Features -

-

- CPU -

-

- All official instructions of the NES' CPU, the 2A03, which is compatible(mostly) - with the 6502, are emulated. "Unofficial" instructions are also emulated, - though probably not as accurately as the more well-defined official instructions. -

-
-

- PPU -

-

-

    -
  • 8x8 and 8x16 sprites.
  • -
  • Sprite hit emulation(including checking the bg color).
  • -
  • 8 sprite limit(and flag emulation).
  • -
  • Screen/Sprite disabling, with correct color replacement.
  • -
  • Color deemphasis(probably not 100% correct, more research is needed).
  • -
  • Strip colorburst bit emulated.
  • -
  • CPU-instruction granularity for special mid-scanline effects(mostly CHR switching, such as - used in "Pirates!", "Marble Madness", and "Mother").
  • -
-

-

Palettes

-

- FCE Ultra has many palette features, including loading a custom palette - to replace the default NES palette. The palette from an NTSC NES can - also be generated on-the-fly. -

-

- First, a note on on the format of external palettes; Palette files are expected to contain 64 8-bit RGB triplets(each in - that order; red comes first in the triplet in the file, then green, - then blue). Each 8-bit value represents brightness for that particular - color. 0 is minimum, 255 is maximum. -

-

- Palettes can be set on a per-game basis. To do this, put a palette - file in the "gameinfo" directory with the same base filename - as the game you wish to associate with and add the extension "pal". - Examples: -

        
-                File name:              Palette file name:
-                 BigBad.nes              BigBad.pal
-                 BigBad.zip              BigBad.pal
-                 BigBad.Better.nes       BigBad.Better.pal
-	
-

-

- With so many ways to choose a palette, figuring out which one will - be active may be difficult. Here's a list of what palettes will - be used, in order from highest priority to least priority(if a - condition doesn't exist for a higher priority palette, the emulator - will continue down its list of palettes). -

    -
  • NSF Palette(for NSFs only)
  • -
  • Palette loaded from the "gameinfo" directory.
  • -
  • NTSC Color Emulation(only for NTSC NES games).
  • -
  • VS Unisystem palette(if the game is a VS Unisystem game and a palette is available).
  • -
  • Custom global palette.
  • -
  • Default NES palette.
  • -
-

-

-


-

-

- All 5 internal sound channels are supported(2x rectangle, triangle, noise, - and DMC/PCM). Sound channels are emulated with CPU instruction granularity. - There are two sound quality options. Low-quality sound, the default sound - quality option, generates sound data at 16x the playback rate and averages - those samples together to 1 sample. This method works fairly well and - is reasonably fast, but there is still some aliasing and sound distortion. - All sample rates between 8192Hz and 96000Hz are supported. -

- The high-quality sound emulation is much more CPU intensive, but the - quality is worth it, if your machine is fast enough. Sound data is - generated at the NES' CPU clock rate(about 1.8MHz for the NTSC NES), and - then resampled to the output sample rate. Custom-designed 483rd order - Parks-McClellan algorithm filter coefficients are used. Supported playback rates are - 44100Hz, 48000Hz, and 96000Hz. The following filter statistics apply - for NTSC emulation. -

- - - - - -
Rate:Passband Upper Bound(Hz):Passband ripple(dB):Transition bandwidth(Hz):Stopband attenuation(dB):
4410011982.50.2010067.566.4
4800013932.50.1010067.560.0
9600030000.00.0118000.0103.0
-

-

- The "highest" sound quality mode is similar to the normal high-quality mode, - but the filters are of a higher order(1024 coefficients). Ripple is - reduced, the upper bound of the passband is higher, and the stopband - attenuation is slightly higher. The highest-quality mode filter coefficients - were created using "gmeteor". The parameters used to create these filters - can be found in the source code distribution. -

-

- Besides the 5 internal NES sound channels, FCE Ultra emulates the extra - sound capabilities of the Konami VRCVI, Konami VRCVII, Namco 106, Nintendo MMC5, and the Sunsoft FME-07 chips. The extra sound - channel in the Famicom Disk System is also emulated, but the support for - its FM capabilities is limited. -

-
-

Input

-

- FCE Ultra emulates the standard NES gamepad, the Four-Score multiplayer - adapter, the Zapper, the Power Pad, and the Arkanoid controller. The - Famicom version of the Arkanoid controller, the "Space Shadow" gun, the - Famicom 4-player adapter, the Family Keyboard, the HyperShot controller, the Mahjong controller, - the Oeka Kids tablet, the Quiz King buzzers, the Family Trainer, and the Barcode World barcode - reader are also emulated. -

-

Zapper

-

- Most Zapper NES games expect the Zapper to be plugged into port 2. - and most VS Unisystem games expect the Zapper to be plugged - into port 1. -

- The left mouse button is the emulated trigger button for the - Zapper. The right mouse button is also emulated as the trigger, - but as long as you have the right mouse button held down, no color - detection will take place, which is effectively like pulling the - trigger while the Zapper is pointed away from the television screen. - Note that you must hold the right button down for a short - time to have the desired effect. -

-
-

File Formats/Expansion Hardware

-

- FCE Ultra supports the iNES, FDS(raw and with a header), UNIF, and NSF file - formats. FDS ROM images in the iNES format are not supported; it would - be silly to do so and storing them in that format is nonsensical. -

-

- FCE Ultra supports loading ROM/disk images from some types of compressed files. - FCE Ultra can load data from both PKZIP-format files and - gzip-format files. Only the "deflate" algorithm is supported, but - this is the most widely used algorithm for these formats. -

-

- All files in a PKZIP format archive will be scanned for the - followings extensions: .nes, .fds, .nsf, .unf, .nez, .unif - The first archived file to have one of these extensions will be - loaded. If no archived file has one of these extensions, the - first archived file will be loaded. -

-

iNES Format

-

- The battery-backed RAM, vertical/horizontal mirroring, four-screen - name table layout, and 8-bit mapper number capabilities of the iNES - format are supported. The 512-byte trainer capability is also supported, - but it is deprecated. Common header corruption conditions are cleaned(let's - go on a DiskDude hunt), though not all conditions can be automatically - detected and fixed. In addition, a few common header inaccuracies for - games are also corrected(detected by CRC32 value). Note that these - fixes are not written back to the storage medium. -

-

- Support for the recent VS System bit and "number of 8kB RAM banks" - is not implemented. Too many iNES headers are corrupt where this new data - is stored, causing problems for those games. -

-

- The following table lists iNES-format "mappers" supported well in FCE Ultra. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Number:Description:Game Examples:
0No bankswitchingDonkey Kong, Mario Bros
1Nintendo MMC1MegaMan 2, Final Fantasy
2Simple 16KB PROM Switch(UNROM)MegaMan, Archon, 1944
3Simple 8KB VROM Switch(CNROM)Spy Hunter, Gradius
4Nintendo MMC3Super Mario Bros. 3, Recca, Final Fantasy 3
5Nintendo MMC5Castlevania 3, Just Breed, Bandit Kings of Ancient China
6FFE F4 Series(hacked, bootleg)
7AOROMBattle Toads, Time Lord
8FFE F3 Series(hacked, bootleg)
9Nintendo MMC2Punchout!
10Nintendo MMC4Fire Emblem, Fire Emblem Gaiden
11Color DreamsCrystal Mines, Bible Adventures
12??Dragon Ball Z 5 ("bootleg" original)
13CPROMVideomation
15Multi-cart(bootleg)100-in-1: Contra Function 16
16Bandai ??Dragon Ball Z, SD Gundam Gaiden **EEPROM is not emulated
17FFE F8 Series(hacked, bootleg)
18Jaleco SS806Pizza Pop, Plasma Ball
19Namco 106Splatter House, Mappy Kids
21Konami VRC4 2AWaiWai World 2, Ganbare Goemon Gaiden 2
22Konami VRC4 1BTwinbee 3
23Konami VRC2BWaiWai World, Crisis Force
24Konami VRC6Akumajou Densetsu
25Konami VRC4Gradius 2, Bio Miracle:Boku tte Upa
26Konami VRC6 A0-A1 SwapEsper Dream 2, Madara
32IREM G-101Image Fight 2, Perman
33Taito TC0190/TC0350Don Doko Don
34NINA-001 and BNROMImpossible Mission 2, Deadly Towers, Bug Honey
40(bootleg)Super Mario Bros. 2
41Caltron 6-in-1Caltron 6-in-1
42(bootleg)Mario Baby
44Multi-cart(bootleg)Super HiK 7 in 1
45Multi-cart(bootleg)Super 1000000 in 1
46Game StationRumble Station
47NES-QJNintendo World Cup/Super Spike V-Ball
48Taito TC190VFlintstones
49Multi-cart(bootleg)Super HiK 4 in 1
50(bootleg)Super Mario Bros. 2
51Multi-cart(bootleg)11 in 1 Ball Games
52Multi-cart(bootleg)Mario Party 7 in 1
57Multi-cart(bootleg)Game Star GK-54
58Multi-cart(bootleg)68-in-1 Game Star HKX5268
60Multi-cart(bootleg)4 in 1(Reset-selected)
61Multi-cart(bootleg)20 in 1
62Multi-cart(bootleg)Super 700 in 1
64Tengen RAMBO 1Klax, Rolling Thunder, Skull and Crossbones
65IREM H-3001Daiku no Gensan 2
66GNROMSMB/Duck Hunt
67Sunsoft ??Fantasy Zone 2
68Sunsoft ??After Burner 2, Nantetta Baseball
69Sunsoft FME-7Batman: Return of the Joker, Hebereke
70??Kamen Rider Club
71CamericaFire Hawk, Linus Spacehead
72Jaleco ??Pinball Quest
73Konami VRC3Salamander
74Taiwanese MMC3 CHR ROM w/ VRAMSuper Robot Wars 2
75Jaleco SS8805/Konami VRC1Tetsuwan Atom, King Kong 2
76Namco 109Megami Tensei
77IREM ??Napoleon Senki
78Irem 74HC161/32Holy Diver
79NINA-06/NINA-03F15 City War, Krazy Kreatures, Tiles of Fate
80Taito X-005Minelvation Saga
82Taito ??Kyuukyoku Harikiri Stadium - Heisei Gannen Ban
85Konami VRC7Lagrange Point
86Jaleco JF-13More Pro Baseball
87??Argus
88Namco 118Dragon Spirit
89Sunsoft ??Mito Koumon
90??Super Mario World, Mortal Kombat 3, Tekken 2
91??Mari Street Fighter 3 Turbo
92Jaleco ??MOERO Pro Soccer
93??Fantasy Zone
94??Senjou no Ookami
95Namco 118Dragon Buster
96Bandai ??Oeka Kids
97??Kaiketsu Yanchamaru
99VS System 8KB VROM SwitchVS SMB, VS Excite Bike
105NES-EVENTNintendo World Championships
107??Magic Dragon
112AsderSango Fighter, Hwang Di
113MB-91Deathbots
114??The Lion King
115??Yuu Yuu Hakusho Final
117??San Guo Zhi 4
118MMC3-TLSROM/TKSROM BoardYs 3, Goal! 2, NES Play Action Football
119MMC3-TQROM BoardHigh Speed, Pin*Bot
140Jaleco ??Bio Senshi Dan
144??Death Race
151Konami VS System ExpansionVS The Goonies, VS Gradius
152??Arkanoid 2, Saint Seiya Ougon Densetsu
153Bandai ??Famicom Jump 2
154Namco ??Devil Man
155MMC1 w/o normal WRAM disableThe Money Game, Tatakae!! Rahmen Man
156??Buzz and Waldog
157Bandai Datach ??Datach DBZ, Datach SD Gundam Wars, **EEPROM is not emulated
158RAMBO 1 DerivativeAlien Syndrome
160(same as mapper 90)(same as mapper 90)
180??Crazy Climber
182??Super Donkey Kong
184??Wing of Madoola, The
185CNROM w/ CHR ROM unmappingBanana, Mighty Bomb Jack, Spy vs Spy(Japanese)
189??Thunder Warrior, Street Fighter 2 (Yoko)
193Mega SoftFighting Hero
200Multi-cart(bootleg)1200-in-1
201Multi-cart(bootleg)21-in-1
202Multi-cart(bootleg)150 in 1
203Multi-cart(bootleg)35 in 1
206DEIROMKarnov
207Taito ??Fudou Myouou Den
208??Street Fighter IV (by Gouder)
209(mapper 90 w/ name-table control mode enabled)Shin Samurai Spirits 2, Power Rangers III
210Namco ??Famista '92, Famista '93, Wagyan Land 2
225Multi-cart(bootleg)58-in-1/110-in-1/52 Games
226Multi-cart(bootleg)76-in-1
227Multi-cart(bootleg)1200-in-1
228Action 52Action 52, Cheetahmen 2
229Multi-cart(bootleg)31-in-1
230Multi-cart(bootleg)22 Games
231Multi-cart(bootleg)20-in-1
232BIC-48Quattro Arcade, Quattro Sports
234Multi-cart ??Maxi-15
235Multi-cart(bootleg)Golden Game 150 in 1
240??Gen Ke Le Zhuan, Shen Huo Le Zhuan
242??Wai Xing Zhan Shi
244??Decathalon
246??Fong Shen Ban
248??Bao Qing Tian
249Waixing ????
250??Time Diver Avenger
255Multi-cart(bootleg)115 in 1
-

-

-

UNIF

-

-

- FCE Ultra supports the following UNIF boards. The prefixes HVC-, NES-, BTL-, and BMC- are omitted, since they are currently ignored in FCE Ultra's UNIF loader. -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Group:
Name:Game Examples:
Bootleg:
MARIO1-MALEE2Super Mario Bros. Malee 2
NovelDiamond9999999in1Novel Diamond 999999 in 1
Super24in1SC03Super 24 in 1
Supervision16in1Supervision 16-in-1
Unlicensed:
Sachen-8259ASuper Cartridge Version 1
Sachen-8259BSilver Eagle
Sachen-74LS374NAuto Upturn
SA-016-1MMaster Chu and the Drunkard Hu
SA-72007Sidewinder
SA-72008Jovial Race
SA-0036Mahjong 16
SA-0037Mahjong Trap
TC-U01-1.5MChallenge of the Dragon
8237Pocahontas Part 2
MMC1:
SAROMDragon Warrior
SBROMDance Aerobics
SCROMOrb 3D
SEROMBoulderdash
SGROMDefender of the Crown
SKROMDungeon Magic
SLROMCastlevania 2
SL1ROMSky Shark
SNROMShingen the Ruler
SOROMNobunaga's Ambition
MMC3:
TFROMLegacy of the Wizard
TGROMMegaman 4
TKROMKirby's Adventure
TKSROMYs 3
TLROMSuper Spike V'Ball
TLSROMGoal! 2
TR1ROMGauntlet
TQROMPinbot
TSROMSuper Mario Bros. 3
TVROMRad Racer 2
MMC5:
EKROMGemfire
ELROMCastlevania 3
ETROMNobunaga's Ambition 2
EWROMRomance of the Three Kingdoms 2
MMC6:
HKROMStar Tropics
Nintendo Discrete Logic:
CNROMGotcha
CPROMVideomation
GNROMSuper Mario Bros./Duck Hunt
MHROM
NROM-128Mario Bros.
NROM-256Super Mario Bros.
RROM-128
UNROMMegaman
-

-

Famicom Disk System

-

- You will need the FDS BIOS ROM image in the base FCE Ultra directory. - It must be named "disksys.rom". FCE Ultra will not load FDS games - without this file. -

- Two types of FDS disk images are supported: disk images with the - FWNES-style header, and disk images with no header. The number - of sides on headerless disk images is calculated by the total file - size, so don't put extraneous data at the end of the file. -

- If a loaded disk image is written to during emulation, FCE Ultra will store the modified - disk image in the save games directory, which is by default "sav" under the base - directory. -

-

Game Genie

-

- The Game Genie ROM image is loaded from the file "gg.rom" in the - base directory the first time Game Genie emulation is enabled and - a ROM image is loaded since the time FCE Ultra has run. -

- The ROM image may either be the 24592 byte iNES-format image, or - the 4352 byte raw ROM image. -

- Remember that enabling/disabling Game Genie emulation will not take - effect until a new game is loaded(this statement shouldn't concern - any of the "run once" command-line driven builds). -

-

VS Unisystem

-

-FCE Ultra currently only supports VS Unisystem ROM images in the -iNES format. DIP switches and coin insertion are both emulated. -The following games are supported, and have palettes provided(though not -necessarily 100% accurate or complete): -

    -
  • Battle City
  • -
  • Castlevania
  • -
  • Clu Clu Land
  • -
  • Dr. Mario
  • -
  • Duck Hunt
  • -
  • Excitebike
  • -
  • Excitebike (Japanese)
  • -
  • Freedom Force
  • -
  • Goonies, The
  • -
  • Gradius
  • -
  • Gumshoe
  • -
  • Hogan's Alley
  • -
  • Ice Climber
  • -
  • Ladies Golf
  • -
  • Mach Rider
  • -
  • Mach Rider (Japanese)
  • -
  • Mighty Bomb Jack (Japanese)
  • -
  • Ninja Jajamaru Kun (Japanese)
  • -
  • Pinball
  • -
  • Pinball (Japanese)
  • -
  • Platoon
  • -
  • RBI Baseball
  • -
  • Slalom
  • -
  • Soccer
  • -
  • Star Luster
  • -
  • Stroke and Match Golf
  • -
  • Stroke and Match Golf - Ladies
  • -
  • Stroke and Match Golf (Japanese)
  • -
  • Super Mario Bros.
  • -
  • Super Sky Kid
  • -
  • Super Xevious
  • -
  • Tetris
  • -
  • TKO Boxing
  • -
  • Top Gun
  • -
-

-

Automatic IPS Patching

-

- Place the IPS file in the same directory as the file to load, - and name it filename.ips. -

-
-        Examples:       Boat.nes - Boat.nes.ips
-                        Boat.zip - Boat.zip.ips
-                        Boat.nes.gz - Boat.nes.gz.ips
-                        Boat     - Boat.ips
-        
-

- Some operating systems and environments will hide file extensions. - Keep this in mind if you are having trouble. -

-

- Patching is supported for all supported formats(iNES, FDS, UNIF, and - NSF), but it will probably only be useful for the iNES and FDS formats. - UNIF files can't be patched well with the IPS format because they are chunk-based - with no fixed offsets. -

-
-

Using FCE Ultra

-

- -

-

Key Assignments

-

- - - - - - - - - - - - - - - - -
Key(s):Action:
F5Save state.
F7Load state.
0-9Select save state slot.
Shift + F5Record movie.
Shift + F7Play movie.
Shift + 0-9Select movie slot.
F9Save screen snapshot.
F4Hide sprites(toggle).
Shift + F4Hide background data with overscan color(toggle).
Alt + EnterToggle fullscreen mode.
~Temporarily disable speed throttling.
F10Reset.
F11Hard reset(toggle power switch).
F12Exit.
-

-

VS Unisystem

-

- - - - - -
Key:Action:
F8Insert coin.
F6Show/Hide dip switches.
1-8Toggle dip switches(when dip switches are shown).
-

-

Famicom Disk System

-

- - - - -
Key:Action:
F6Select disk and disk side.
F8Eject or Insert disk.
-

-

Barcode Readers

-

- - - - -
Key:Action:
0-9Barcode digits(after activating barcode input).
F8Activate barcode input/scan barcode.
-

-

Game Pad

-

- - - - - - - - - - - -
- These default Game Pad key assignments do not apply to the Win32-native port. - See the table below this for the Win32-native port's default game pad mappings. -
Key:Button on Emulated Gamepad:
Keypad 2B
Keypad 3A
Enter/ReturnStart
TabSelect
ZDown
WUp
ALeft
SRight
-

-

- - - - - - - - - - - -
Win32-native Port
Key:Button on Emulated Gamepad:
Left ControlB
Left AltA
Enter/ReturnStart
TabSelect
Cursor DownDown
Cursor UpUp
Cursor LeftLeft
Cursor RightRight
-

-

Power Pad

-

- - - - - - -
Side B
OP[]
KL;'
M,./
-
- - - - - - -
Side A
P[
KL;'
,.
-

-

Family Keyboard

-

- All emulated keys are mapped to the closest open key on the PC - keyboard, with a few exceptions. The emulated "@" key is - mapped to the "`"(grave) key, and the emulated "kana" key - is mapped to the "Insert" key(in the 3x2 key block above the - cursor keys). -

-

- To enable or disable Family Keyboard input, press the "Scroll Lock" key. - When Family Keyboard input is enabled, FCE Ultra will also attempt - to prevent any key presses from being passed to the GUI or system. -

-

HyperShot Controller

-

- - - - -
RunJump
Controller IQW
Controller IIER
-

- -

Mahjong Controller

-

- - - -
Emulated Mahjong Controller:ABCDEFGHIJKLMN
PC Keyboard:QWERTASDFGHJKL
-
- - - -
Emulated Mahjong Controller:SELST?????
PC Keyboard:ZXCVBNM
-

-

Quiz King Controller

-

- - - -
Emulated Buzzer:123456
PC Keyboard:QWERTY
-

-

Command-line

-

- FCE Ultra supports arguments passed on the command line. Arguments - are taken in the form of "-parameter value". Some arguments are valueless. - Arguments that have both a parameter and a value will be saved in the - configuration file, with the exception being the network-play arguments. - Please note that most of these arguments are currently not recognized on the Win32-native port. -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Argument:Value Type:Default value:Description:
-cpalette xstring0Load a custom global palette from file "x". Specifying "0" will cause FCE Ultra to stop using the custom global palette.
-ntsccol xboolean0If value is true, enable automatic generation and use of an NTSC NES' colors.
-pal xboolean0If value is true, emulate a PAL NES. Otherwise emulate an NTSC NES.
-sound xboolean1If value is true, enable sound emulation and output.
-soundrate xinteger48000Specifies the sound playback rate, in frames per second("Hz").
-soundvol xinteger100Sound volume.
-soundq xboolean0If value is true, enable high-quality sound emulation.
-soundbufsize xinteger24(52 for Win32)Specifies the desired size of the sound buffer, in milliseconds.
-inputcfg xstringConfigure mapping of physical device inputs to a virtual device. Valid values are "gamepad1", "gamepad2", "gamepad3", "gamepad4", "powerpad1", "powerpad2".

During configuration, pressing the same button twice in a row will cause configuration to move to the next button on the virtual device. A maximum of 4 physical buttons may be assigned to one virtual button.

-input1 x
and
-input2 x
stringgamepadSelect input device for input port 1 or 2. Valid strings are "none", "gamepad", "zapper", "powerpada", and "powerpadb".
-fcexp xstringnoneSelect Famicom expansion port device. Valid strings are "none", "shadow", "arkanoid", "4player", and "fkb".
-nofs xboolean0If value is true, disable four-score emulation.
-gg xboolean0Enable Game Genie emulation.
-snapname xboolean0If value is true, use an alternate naming scheme(file base and numeric) for screen snapshots.
-frameskip xinteger0Specifies the number of frames to skip(emulation and drawing) for each frame emulated and drawn. The frameskipping code will not work properly with light-gun games, and it may break other games as well, so use it with this knowledge in mind!
-nothrottle xboolean0If value is true, disable the speed throttling that is used when sound emulation is disabled.
-clipsides xboolean0If value is true, clip leftmost and rightmost 8 columns of pixels of the video output.
-slstart xinteger8First scanline to be rendered in NTSC emulation mode(when PAL emulation is disabled).
-slend xinteger231Last scanline to be rendered in NTSC emulation mode.
-slstartp xinteger0First scanline to be rendered in PAL emulation mode.
-slendp xinteger239Last scanline to be rendered in PAL emulation mode.
Argument:Value Type:Default value:Description:
-opengl xboolean1Enable OpenGL support(if the support has been compiled in).
-openglip xboolean1Use bilinear interpolation when using OpenGL.
-special(-specialfs) xinteger0(0)Use special video scaling filters. -
    -
  • 1 = hq2x
  • -
  • 2 = Scale2x
  • -
  • 3 = hq3x
  • -
  • 4 = Scale3x
  • -
-
-stretchx/-stretchy xboolean1/0Stretch to fill surface on x or y axis(fullscreen, only with OpenGL).
-doublebuf xboolean0Request double buffering(note that double buffering or sync-to-vblank may be forcibly enabled by your video drivers).
-xscale(-xscalefs)/
-yscale(-yscalefs)
real2.50(2)/2(2)Specify the scaling factor for each axis. Factors will be truncated to integers when not using OpenGL.
-xres x/-yres yinteger640/480Set the desired horizontal/vertical resolution when in fullscreen mode.
-efx(fs) xinteger0Specify simple special effects, represented by logically ORing constants. 1=scanlines, 2=TV Blur
-fsboolean0Full screen mode.
-

-
-

Game-specific Emulation Hacks

-

- - - - - - - - - - -
Title:Description:Source code files affected:
KickMasterKickMaster relies on the low-level behavior of the MMC3(PPU A12 low->high transition) - to work properly in certain parts. If an IRQ begins at the "normal" time on the - last visible scanline(239), the game will crash after beating the second boss and retrieving - the item. The hack is simple, to clock the IRQ counter twice on scanline 238. - mbshare/mmc3.c
Shougi Meikan '92
Shougin Meikan '93
The hack for these games is identical to the hack for KickMaster.mbshare/mmc3.c
Star Wars (PAL/European Version)This game probably has the same(or similar) problem on FCE Ultra as KickMaster. The - hack is to clock the IRQ counter twice on the "dummy" scanline(scanline before the first - visible scanline).mbshare/mmc3.c
-

-
-

Credits

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Name:Contribution(s):
\Firebug\High-level mapper information.
Andrea MazzoleniScale2x/Scale3x scalers included in FCE Ultra.
BeroOriginal FCE source code.
Brad TaylorNES sound information.
EFXDC PasoFami NES packs, testing.
Fredrik OlsonNES four-player adapter information.
Gilles VollantPKZIP file loading functions.
gorohVarious documents.
Info-ZIPZLIB
Jeremy ChadwickGeneral NES information.
Justin SmithGood stuff.
kevtrisLow-level NES information and sound information.
KiVarious technical information.
Mark KnibbsVarious NES information.
Marat FayzullinGeneral NES information.
Matthew ConteSound information.
Maxim Stepinhq2x and hq3x scalers included in FCE Ultra.
MindRapeDC PasoFami NES packs.
MitsutakaYM2413 emulator.
noriFDS sound information.
QuietustVRC7 sound translation code by The Quietust (quietust at ircN dort org).
rahgaFamicom four-player adapter information.
Sean WhalenNode 99
TheRedEyeROM images, testing.
TyphoonZArchaic Ruins.
...and everyone whose name my mind has misplaced.
-

+
  • Documentation for the SDL build is available here +
  • Windows users should look at the CHM which is packaged with the binary, or go directly to it; but you cannot open it directly out of IE, as Microsoft feels that this would be a security hazard. You'd better save it first and then unblock it from the file properties. +
    Some of the SDL documentation might be informative to Windows users--so if the CHM doesn't answer your question, give it a shot. +
  • TAS folks might like to look at the FM2 spec +
  • You might be interested in the old FCE ultra docs, but they are dangerously out of date. +
  • + diff --git a/htdocs/fceu-docs.php b/htdocs/fceu-docs.php new file mode 100644 index 00000000..f9c2e59c --- /dev/null +++ b/htdocs/fceu-docs.php @@ -0,0 +1,894 @@ + + +

    FCE Ultra General Documentation

    +

    + History updated June 22, 2008 + Content last updated September 15, 2004
    +Valid as of FCE Ultra 0.98.13 +

    + +

    + Table of Contents: +

    + + +
    +

    Introduction

    +

    + FCEUX was started in 2006 by zeromus and rheiny (sp) as an attempt to merge various branches + of FCE Ultra into a unified emulator. Additional authors joined the project, including + mz, adelikat, nitsujrehtona, maximus, CaH4e3, Sebastian Porst. +

    +

    + FCEUX contains all features and enhancements from FCE, FCE Ultra, FCEU rerecording, + FCEUXD, and FCEUXDSP as well as many new mappers from FCEU-mm +

    + +

    + This document has been arranged to keep user interface details and emulation + details as separate as possible, though this has not been accomplished entirely. +

    +

    + In several places references are made to the "base directory". If you + are running a port on a UN*X-like system(Linux/*BSD/Mac OSX/SunOS/etc.), the + base directory is "~/.fceultra", or in other words, + "your home directory plus .fceultra". For all other ports(including DOS and +MS Windows), the base directory is the directory that the executable is in. +

    +
    + +

    History of FCE Ultra

    + +

    + Bero originally wrote a NES emulator that was referred to as FCE. + This name was apparently meant only to serve as a temporary name, + but its usage remained. Xodnizel originally ported it to Linux SVGAlib, + and made a few improvements. This code base was abandoned, and work began anew, + under DOS, with the original FCE source code. At the end of November, 1998, + FCE Ultra Beta 1 was released. +

    +

    + FCE Ultra remained DOS-only until version 0.18, when it was ported to Linux SVGAlib, + and released as a statically-linked executable. The first MS Windows port was released as version 0.25. +

    +

    + The source code of 0.40 was released on November 12, 2000. It retained the simple license + of FCE for a long time, which stated that " This software is freeware. You can use it non-commercially." + Almost two years later, in June 2002, 0.80 was released, and FCE Ultra was re-licensed under the GNU GPL. +

    +

    + It has been tested (and runs) under DOS, Linux SVGAlib, Linux X, Mac OS X, and Windows. A native GUI + is provided for the Windows port, and the other ports use a command-line interface. The SDL port should + run on any modern UNIX-like operating system (such as FreeBSD, Solaris or IRIX) with no code changes. + It has also been ported to the GP2X, PlayStation Portable as PSPFceUltra, the Nintendo GameCube and Pepper Pad. +

    +

    + FCE Ultra was created by Xodnizel. Development appeared to stop and the homepage and forums for the emulator were taken down. + The last version before this was v0.98.13-pre, released in September 2004 as source-only. The last binary release was v0.98.12 in August 2004. +

    +

    + However, it was resurrected again in March of 2006 by Anthony Giorgio and Mark Doliner. +

    +

    + There is also a graphical frontend for FCE Ultra. GFCE Ultra is written in Python and uses the GTK2 user interface library. + Because is it written in Python and with portability in mind, it can be run on any UNIX-like platform and any processor architecture + that is supported by Python. +

    +

    FCEU Rerecording

    +

    + The "rerecording" version of FCE Ultra was implemented to FCE Ultra 0.98.10 with movie + recording support. This was done by blip, and was implemented for the purpose of creating + Tool-Assisted Speedruns. +

    +

    + The rerecording branch continued with 0.98.12, adding movie support features, such as "bullet proof" + recording. In 2006, FCEU 0.98.16 was implemented by nitsuja and luke. Various tools such as read-only toggling, + increased hotkey mapping, and memory watch were added. +

    +

    + In 2008, FCEU rerecording was picked up again by mz, maximus, adelikat, and nitsujrehtona with various updates + named FCEU.0.98.17 - 0.98.28 +

    +

    FCEUD/FCEUXD/FCEUXDSP

    +

    + FCEUD +

    +

    + In 2002, Parasyte modified the then-current version (0.81.3) of FCE Ultra and added a Nesten-style + debugger, along with several other features, and named it "FCEUD" (FCE Ultra Debugger). +

    +

    + FCEUXD +

    +

    + In January 2004, bbitmaster began working on more features and called it "FCEUXD" (FCE Ultra Extended Debugger). + It is a branch of FCE Ultra that contains many extended debugging features compared to the original FCE Ultra code such as a trace logger, a built-in hex editor, a name table viewer, code/data logger, inline assembler, and Game Genie decoder/encoder in addition to the debugger and PPU viewer from FCEUD. + The last version made was FCEUXD 1.0a +

    +

    +

    FCEUXDSP stands for FCEUXD "SP" version and is a branch of FCEUXD 1.0a

    +

    +

    + It was created in 2006 by sp. The project extends the debugging tools even further compared to + FCEUXD by adding new tools, functions, and usability of debugging tools. +

    +

    + The last version of FCEUXDSP was 1.07 which adds a feature known as the RAM Filter. +

    + + +
    +

    + Core Features +

    +

    + CPU +

    +

    + All official instructions of the NES' CPU, the 2A03, which is compatible(mostly) + with the 6502, are emulated. "Unofficial" instructions are also emulated, + though probably not as accurately as the more well-defined official instructions. +

    +
    +

    + PPU +

    +

    +

    +

    +

    Palettes

    +

    + FCE Ultra has many palette features, including loading a custom palette + to replace the default NES palette. The palette from an NTSC NES can + also be generated on-the-fly. +

    +

    + First, a note on on the format of external palettes; Palette files are expected to contain 64 8-bit RGB triplets(each in + that order; red comes first in the triplet in the file, then green, + then blue). Each 8-bit value represents brightness for that particular + color. 0 is minimum, 255 is maximum. +

    +

    + Palettes can be set on a per-game basis. To do this, put a palette + file in the "gameinfo" directory with the same base filename + as the game you wish to associate with and add the extension "pal". + Examples: +

            
    +                File name:              Palette file name:
    +                 BigBad.nes              BigBad.pal
    +                 BigBad.zip              BigBad.pal
    +                 BigBad.Better.nes       BigBad.Better.pal
    +	
    +

    +

    + With so many ways to choose a palette, figuring out which one will + be active may be difficult. Here's a list of what palettes will + be used, in order from highest priority to least priority(if a + condition doesn't exist for a higher priority palette, the emulator + will continue down its list of palettes). +

    +

    +

    +


    +

    +

    + All 5 internal sound channels are supported(2x rectangle, triangle, noise, + and DMC/PCM). Sound channels are emulated with CPU instruction granularity. + There are two sound quality options. Low-quality sound, the default sound + quality option, generates sound data at 16x the playback rate and averages + those samples together to 1 sample. This method works fairly well and + is reasonably fast, but there is still some aliasing and sound distortion. + All sample rates between 8192Hz and 96000Hz are supported. +

    + The high-quality sound emulation is much more CPU intensive, but the + quality is worth it, if your machine is fast enough. Sound data is + generated at the NES' CPU clock rate(about 1.8MHz for the NTSC NES), and + then resampled to the output sample rate. Custom-designed 483rd order + Parks-McClellan algorithm filter coefficients are used. Supported playback rates are + 44100Hz, 48000Hz, and 96000Hz. The following filter statistics apply + for NTSC emulation. +

    + + + + + +
    Rate:Passband Upper Bound(Hz):Passband ripple(dB):Transition bandwidth(Hz):Stopband attenuation(dB):
    4410011982.50.2010067.566.4
    4800013932.50.1010067.560.0
    9600030000.00.0118000.0103.0
    +

    +

    + The "highest" sound quality mode is similar to the normal high-quality mode, + but the filters are of a higher order(1024 coefficients). Ripple is + reduced, the upper bound of the passband is higher, and the stopband + attenuation is slightly higher. The highest-quality mode filter coefficients + were created using "gmeteor". The parameters used to create these filters + can be found in the source code distribution. +

    +

    + Besides the 5 internal NES sound channels, FCE Ultra emulates the extra + sound capabilities of the Konami VRCVI, Konami VRCVII, Namco 106, Nintendo MMC5, and the Sunsoft FME-07 chips. The extra sound + channel in the Famicom Disk System is also emulated, but the support for + its FM capabilities is limited. +

    +
    +

    Input

    +

    + FCE Ultra emulates the standard NES gamepad, the Four-Score multiplayer + adapter, the Zapper, the Power Pad, and the Arkanoid controller. The + Famicom version of the Arkanoid controller, the "Space Shadow" gun, the + Famicom 4-player adapter, the Family Keyboard, the HyperShot controller, the Mahjong controller, + the Oeka Kids tablet, the Quiz King buzzers, the Family Trainer, and the Barcode World barcode + reader are also emulated. +

    +

    Zapper

    +

    + Most Zapper NES games expect the Zapper to be plugged into port 2. + and most VS Unisystem games expect the Zapper to be plugged + into port 1. +

    + The left mouse button is the emulated trigger button for the + Zapper. The right mouse button is also emulated as the trigger, + but as long as you have the right mouse button held down, no color + detection will take place, which is effectively like pulling the + trigger while the Zapper is pointed away from the television screen. + Note that you must hold the right button down for a short + time to have the desired effect. +

    +
    +

    File Formats/Expansion Hardware

    +

    + FCE Ultra supports the iNES, FDS(raw and with a header), UNIF, and NSF file + formats. FDS ROM images in the iNES format are not supported; it would + be silly to do so and storing them in that format is nonsensical. +

    +

    + FCE Ultra supports loading ROM/disk images from some types of compressed files. + FCE Ultra can load data from both PKZIP-format files and + gzip-format files. Only the "deflate" algorithm is supported, but + this is the most widely used algorithm for these formats. +

    +

    + All files in a PKZIP format archive will be scanned for the + followings extensions: .nes, .fds, .nsf, .unf, .nez, .unif + The first archived file to have one of these extensions will be + loaded. If no archived file has one of these extensions, the + first archived file will be loaded. +

    +

    iNES Format

    +

    + The battery-backed RAM, vertical/horizontal mirroring, four-screen + name table layout, and 8-bit mapper number capabilities of the iNES + format are supported. The 512-byte trainer capability is also supported, + but it is deprecated. Common header corruption conditions are cleaned(let's + go on a DiskDude hunt), though not all conditions can be automatically + detected and fixed. In addition, a few common header inaccuracies for + games are also corrected(detected by CRC32 value). Note that these + fixes are not written back to the storage medium. +

    +

    + Support for the recent VS System bit and "number of 8kB RAM banks" + is not implemented. Too many iNES headers are corrupt where this new data + is stored, causing problems for those games. +

    +

    + The following table lists iNES-format "mappers" supported well in FCE Ultra. +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Number:Description:Game Examples:
    0No bankswitchingDonkey Kong, Mario Bros
    1Nintendo MMC1MegaMan 2, Final Fantasy
    2Simple 16KB PROM Switch(UNROM)MegaMan, Archon, 1944
    3Simple 8KB VROM Switch(CNROM)Spy Hunter, Gradius
    4Nintendo MMC3Super Mario Bros. 3, Recca, Final Fantasy 3
    5Nintendo MMC5Castlevania 3, Just Breed, Bandit Kings of Ancient China
    6FFE F4 Series(hacked, bootleg)
    7AOROMBattle Toads, Time Lord
    8FFE F3 Series(hacked, bootleg)
    9Nintendo MMC2Punchout!
    10Nintendo MMC4Fire Emblem, Fire Emblem Gaiden
    11Color DreamsCrystal Mines, Bible Adventures
    12??Dragon Ball Z 5 ("bootleg" original)
    13CPROMVideomation
    15Multi-cart(bootleg)100-in-1: Contra Function 16
    16Bandai ??Dragon Ball Z, SD Gundam Gaiden **EEPROM is not emulated
    17FFE F8 Series(hacked, bootleg)
    18Jaleco SS806Pizza Pop, Plasma Ball
    19Namco 106Splatter House, Mappy Kids
    21Konami VRC4 2AWaiWai World 2, Ganbare Goemon Gaiden 2
    22Konami VRC4 1BTwinbee 3
    23Konami VRC2BWaiWai World, Crisis Force
    24Konami VRC6Akumajou Densetsu
    25Konami VRC4Gradius 2, Bio Miracle:Boku tte Upa
    26Konami VRC6 A0-A1 SwapEsper Dream 2, Madara
    32IREM G-101Image Fight 2, Perman
    33Taito TC0190/TC0350Don Doko Don
    34NINA-001 and BNROMImpossible Mission 2, Deadly Towers, Bug Honey
    40(bootleg)Super Mario Bros. 2
    41Caltron 6-in-1Caltron 6-in-1
    42(bootleg)Mario Baby
    44Multi-cart(bootleg)Super HiK 7 in 1
    45Multi-cart(bootleg)Super 1000000 in 1
    46Game StationRumble Station
    47NES-QJNintendo World Cup/Super Spike V-Ball
    48Taito TC190VFlintstones
    49Multi-cart(bootleg)Super HiK 4 in 1
    50(bootleg)Super Mario Bros. 2
    51Multi-cart(bootleg)11 in 1 Ball Games
    52Multi-cart(bootleg)Mario Party 7 in 1
    57Multi-cart(bootleg)Game Star GK-54
    58Multi-cart(bootleg)68-in-1 Game Star HKX5268
    60Multi-cart(bootleg)4 in 1(Reset-selected)
    61Multi-cart(bootleg)20 in 1
    62Multi-cart(bootleg)Super 700 in 1
    64Tengen RAMBO 1Klax, Rolling Thunder, Skull and Crossbones
    65IREM H-3001Daiku no Gensan 2
    66GNROMSMB/Duck Hunt
    67Sunsoft ??Fantasy Zone 2
    68Sunsoft ??After Burner 2, Nantetta Baseball
    69Sunsoft FME-7Batman: Return of the Joker, Hebereke
    70??Kamen Rider Club
    71CamericaFire Hawk, Linus Spacehead
    72Jaleco ??Pinball Quest
    73Konami VRC3Salamander
    74Taiwanese MMC3 CHR ROM w/ VRAMSuper Robot Wars 2
    75Jaleco SS8805/Konami VRC1Tetsuwan Atom, King Kong 2
    76Namco 109Megami Tensei
    77IREM ??Napoleon Senki
    78Irem 74HC161/32Holy Diver
    79NINA-06/NINA-03F15 City War, Krazy Kreatures, Tiles of Fate
    80Taito X-005Minelvation Saga
    82Taito ??Kyuukyoku Harikiri Stadium - Heisei Gannen Ban
    85Konami VRC7Lagrange Point
    86Jaleco JF-13More Pro Baseball
    87??Argus
    88Namco 118Dragon Spirit
    89Sunsoft ??Mito Koumon
    90??Super Mario World, Mortal Kombat 3, Tekken 2
    91??Mari Street Fighter 3 Turbo
    92Jaleco ??MOERO Pro Soccer
    93??Fantasy Zone
    94??Senjou no Ookami
    95Namco 118Dragon Buster
    96Bandai ??Oeka Kids
    97??Kaiketsu Yanchamaru
    99VS System 8KB VROM SwitchVS SMB, VS Excite Bike
    105NES-EVENTNintendo World Championships
    107??Magic Dragon
    112AsderSango Fighter, Hwang Di
    113MB-91Deathbots
    114??The Lion King
    115??Yuu Yuu Hakusho Final
    117??San Guo Zhi 4
    118MMC3-TLSROM/TKSROM BoardYs 3, Goal! 2, NES Play Action Football
    119MMC3-TQROM BoardHigh Speed, Pin*Bot
    140Jaleco ??Bio Senshi Dan
    144??Death Race
    151Konami VS System ExpansionVS The Goonies, VS Gradius
    152??Arkanoid 2, Saint Seiya Ougon Densetsu
    153Bandai ??Famicom Jump 2
    154Namco ??Devil Man
    155MMC1 w/o normal WRAM disableThe Money Game, Tatakae!! Rahmen Man
    156??Buzz and Waldog
    157Bandai Datach ??Datach DBZ, Datach SD Gundam Wars, **EEPROM is not emulated
    158RAMBO 1 DerivativeAlien Syndrome
    160(same as mapper 90)(same as mapper 90)
    180??Crazy Climber
    182??Super Donkey Kong
    184??Wing of Madoola, The
    185CNROM w/ CHR ROM unmappingBanana, Mighty Bomb Jack, Spy vs Spy(Japanese)
    189??Thunder Warrior, Street Fighter 2 (Yoko)
    193Mega SoftFighting Hero
    200Multi-cart(bootleg)1200-in-1
    201Multi-cart(bootleg)21-in-1
    202Multi-cart(bootleg)150 in 1
    203Multi-cart(bootleg)35 in 1
    206DEIROMKarnov
    207Taito ??Fudou Myouou Den
    208??Street Fighter IV (by Gouder)
    209(mapper 90 w/ name-table control mode enabled)Shin Samurai Spirits 2, Power Rangers III
    210Namco ??Famista '92, Famista '93, Wagyan Land 2
    225Multi-cart(bootleg)58-in-1/110-in-1/52 Games
    226Multi-cart(bootleg)76-in-1
    227Multi-cart(bootleg)1200-in-1
    228Action 52Action 52, Cheetahmen 2
    229Multi-cart(bootleg)31-in-1
    230Multi-cart(bootleg)22 Games
    231Multi-cart(bootleg)20-in-1
    232BIC-48Quattro Arcade, Quattro Sports
    234Multi-cart ??Maxi-15
    235Multi-cart(bootleg)Golden Game 150 in 1
    240??Gen Ke Le Zhuan, Shen Huo Le Zhuan
    242??Wai Xing Zhan Shi
    244??Decathalon
    246??Fong Shen Ban
    248??Bao Qing Tian
    249Waixing ????
    250??Time Diver Avenger
    255Multi-cart(bootleg)115 in 1
    +

    +

    +

    UNIF

    +

    +

    + FCE Ultra supports the following UNIF boards. The prefixes HVC-, NES-, BTL-, and BMC- are omitted, since they are currently ignored in FCE Ultra's UNIF loader. +

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Group:
    Name:Game Examples:
    Bootleg:
    MARIO1-MALEE2Super Mario Bros. Malee 2
    NovelDiamond9999999in1Novel Diamond 999999 in 1
    Super24in1SC03Super 24 in 1
    Supervision16in1Supervision 16-in-1
    Unlicensed:
    Sachen-8259ASuper Cartridge Version 1
    Sachen-8259BSilver Eagle
    Sachen-74LS374NAuto Upturn
    SA-016-1MMaster Chu and the Drunkard Hu
    SA-72007Sidewinder
    SA-72008Jovial Race
    SA-0036Mahjong 16
    SA-0037Mahjong Trap
    TC-U01-1.5MChallenge of the Dragon
    8237Pocahontas Part 2
    MMC1:
    SAROMDragon Warrior
    SBROMDance Aerobics
    SCROMOrb 3D
    SEROMBoulderdash
    SGROMDefender of the Crown
    SKROMDungeon Magic
    SLROMCastlevania 2
    SL1ROMSky Shark
    SNROMShingen the Ruler
    SOROMNobunaga's Ambition
    MMC3:
    TFROMLegacy of the Wizard
    TGROMMegaman 4
    TKROMKirby's Adventure
    TKSROMYs 3
    TLROMSuper Spike V'Ball
    TLSROMGoal! 2
    TR1ROMGauntlet
    TQROMPinbot
    TSROMSuper Mario Bros. 3
    TVROMRad Racer 2
    MMC5:
    EKROMGemfire
    ELROMCastlevania 3
    ETROMNobunaga's Ambition 2
    EWROMRomance of the Three Kingdoms 2
    MMC6:
    HKROMStar Tropics
    Nintendo Discrete Logic:
    CNROMGotcha
    CPROMVideomation
    GNROMSuper Mario Bros./Duck Hunt
    MHROM
    NROM-128Mario Bros.
    NROM-256Super Mario Bros.
    RROM-128
    UNROMMegaman
    +

    +

    Famicom Disk System

    +

    + You will need the FDS BIOS ROM image in the base FCE Ultra directory. + It must be named "disksys.rom". FCE Ultra will not load FDS games + without this file. +

    + Two types of FDS disk images are supported: disk images with the + FWNES-style header, and disk images with no header. The number + of sides on headerless disk images is calculated by the total file + size, so don't put extraneous data at the end of the file. +

    + If a loaded disk image is written to during emulation, FCE Ultra will store the modified + disk image in the save games directory, which is by default "sav" under the base + directory. +

    +

    Game Genie

    +

    + The Game Genie ROM image is loaded from the file "gg.rom" in the + base directory the first time Game Genie emulation is enabled and + a ROM image is loaded since the time FCE Ultra has run. +

    + The ROM image may either be the 24592 byte iNES-format image, or + the 4352 byte raw ROM image. +

    + Remember that enabling/disabling Game Genie emulation will not take + effect until a new game is loaded(this statement shouldn't concern + any of the "run once" command-line driven builds). +

    +

    VS Unisystem

    +

    +FCE Ultra currently only supports VS Unisystem ROM images in the +iNES format. DIP switches and coin insertion are both emulated. +The following games are supported, and have palettes provided(though not +necessarily 100% accurate or complete): +

    +

    +

    Automatic IPS Patching

    +

    + Place the IPS file in the same directory as the file to load, + and name it filename.ips. +

    +
    +        Examples:       Boat.nes - Boat.nes.ips
    +                        Boat.zip - Boat.zip.ips
    +                        Boat.nes.gz - Boat.nes.gz.ips
    +                        Boat     - Boat.ips
    +        
    +

    + Some operating systems and environments will hide file extensions. + Keep this in mind if you are having trouble. +

    +

    + Patching is supported for all supported formats(iNES, FDS, UNIF, and + NSF), but it will probably only be useful for the iNES and FDS formats. + UNIF files can't be patched well with the IPS format because they are chunk-based + with no fixed offsets. +

    +
    +

    Using FCE Ultra

    +

    + +

    +

    Key Assignments

    +

    + + + + + + + + + + + + + + + + +
    Key(s):Action:
    F5Save state.
    F7Load state.
    0-9Select save state slot.
    Shift + F5Record movie.
    Shift + F7Play movie.
    Shift + 0-9Select movie slot.
    F9Save screen snapshot.
    F4Hide sprites(toggle).
    Shift + F4Hide background data with overscan color(toggle).
    Alt + EnterToggle fullscreen mode.
    ~Temporarily disable speed throttling.
    F10Reset.
    F11Hard reset(toggle power switch).
    F12Exit.
    +

    +

    VS Unisystem

    +

    + + + + + +
    Key:Action:
    F8Insert coin.
    F6Show/Hide dip switches.
    1-8Toggle dip switches(when dip switches are shown).
    +

    +

    Famicom Disk System

    +

    + + + + +
    Key:Action:
    F6Select disk and disk side.
    F8Eject or Insert disk.
    +

    +

    Barcode Readers

    +

    + + + + +
    Key:Action:
    0-9Barcode digits(after activating barcode input).
    F8Activate barcode input/scan barcode.
    +

    +

    Game Pad

    +

    + + + + + + + + + + + +
    + These default Game Pad key assignments do not apply to the Win32-native port. + See the table below this for the Win32-native port's default game pad mappings. +
    Key:Button on Emulated Gamepad:
    Keypad 2B
    Keypad 3A
    Enter/ReturnStart
    TabSelect
    ZDown
    WUp
    ALeft
    SRight
    +

    +

    + + + + + + + + + + + +
    Win32-native Port
    Key:Button on Emulated Gamepad:
    Left ControlB
    Left AltA
    Enter/ReturnStart
    TabSelect
    Cursor DownDown
    Cursor UpUp
    Cursor LeftLeft
    Cursor RightRight
    +

    +

    Power Pad

    +

    + + + + + + +
    Side B
    OP[]
    KL;'
    M,./
    +
    + + + + + + +
    Side A
    P[
    KL;'
    ,.
    +

    +

    Family Keyboard

    +

    + All emulated keys are mapped to the closest open key on the PC + keyboard, with a few exceptions. The emulated "@" key is + mapped to the "`"(grave) key, and the emulated "kana" key + is mapped to the "Insert" key(in the 3x2 key block above the + cursor keys). +

    +

    + To enable or disable Family Keyboard input, press the "Scroll Lock" key. + When Family Keyboard input is enabled, FCE Ultra will also attempt + to prevent any key presses from being passed to the GUI or system. +

    +

    HyperShot Controller

    +

    + + + + +
    RunJump
    Controller IQW
    Controller IIER
    +

    + +

    Mahjong Controller

    +

    + + + +
    Emulated Mahjong Controller:ABCDEFGHIJKLMN
    PC Keyboard:QWERTASDFGHJKL
    +
    + + + +
    Emulated Mahjong Controller:SELST?????
    PC Keyboard:ZXCVBNM
    +

    +

    Quiz King Controller

    +

    + + + +
    Emulated Buzzer:123456
    PC Keyboard:QWERTY
    +

    +

    Command-line

    +

    + FCE Ultra supports arguments passed on the command line. Arguments + are taken in the form of "-parameter value". Some arguments are valueless. + Arguments that have both a parameter and a value will be saved in the + configuration file, with the exception being the network-play arguments. + Please note that most of these arguments are currently not recognized on the Win32-native port. +

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Argument:Value Type:Default value:Description:
    -cpalette xstring0Load a custom global palette from file "x". Specifying "0" will cause FCE Ultra to stop using the custom global palette.
    -ntsccol xboolean0If value is true, enable automatic generation and use of an NTSC NES' colors.
    -pal xboolean0If value is true, emulate a PAL NES. Otherwise emulate an NTSC NES.
    -sound xboolean1If value is true, enable sound emulation and output.
    -soundrate xinteger48000Specifies the sound playback rate, in frames per second("Hz").
    -soundvol xinteger100Sound volume.
    -soundq xboolean0If value is true, enable high-quality sound emulation.
    -soundbufsize xinteger24(52 for Win32)Specifies the desired size of the sound buffer, in milliseconds.
    -inputcfg xstringConfigure mapping of physical device inputs to a virtual device. Valid values are "gamepad1", "gamepad2", "gamepad3", "gamepad4", "powerpad1", "powerpad2".

    During configuration, pressing the same button twice in a row will cause configuration to move to the next button on the virtual device. A maximum of 4 physical buttons may be assigned to one virtual button.

    -input1 x
    and
    -input2 x
    stringgamepadSelect input device for input port 1 or 2. Valid strings are "none", "gamepad", "zapper", "powerpada", and "powerpadb".
    -fcexp xstringnoneSelect Famicom expansion port device. Valid strings are "none", "shadow", "arkanoid", "4player", and "fkb".
    -nofs xboolean0If value is true, disable four-score emulation.
    -gg xboolean0Enable Game Genie emulation.
    -snapname xboolean0If value is true, use an alternate naming scheme(file base and numeric) for screen snapshots.
    -frameskip xinteger0Specifies the number of frames to skip(emulation and drawing) for each frame emulated and drawn. The frameskipping code will not work properly with light-gun games, and it may break other games as well, so use it with this knowledge in mind!
    -nothrottle xboolean0If value is true, disable the speed throttling that is used when sound emulation is disabled.
    -clipsides xboolean0If value is true, clip leftmost and rightmost 8 columns of pixels of the video output.
    -slstart xinteger8First scanline to be rendered in NTSC emulation mode(when PAL emulation is disabled).
    -slend xinteger231Last scanline to be rendered in NTSC emulation mode.
    -slstartp xinteger0First scanline to be rendered in PAL emulation mode.
    -slendp xinteger239Last scanline to be rendered in PAL emulation mode.
    Argument:Value Type:Default value:Description:
    -opengl xboolean1Enable OpenGL support(if the support has been compiled in).
    -openglip xboolean1Use bilinear interpolation when using OpenGL.
    -special(-specialfs) xinteger0(0)Use special video scaling filters. +
      +
    • 1 = hq2x
    • +
    • 2 = Scale2x
    • +
    • 3 = hq3x
    • +
    • 4 = Scale3x
    • +
    +
    -stretchx/-stretchy xboolean1/0Stretch to fill surface on x or y axis(fullscreen, only with OpenGL).
    -doublebuf xboolean0Request double buffering(note that double buffering or sync-to-vblank may be forcibly enabled by your video drivers).
    -xscale(-xscalefs)/
    -yscale(-yscalefs)
    real2.50(2)/2(2)Specify the scaling factor for each axis. Factors will be truncated to integers when not using OpenGL.
    -xres x/-yres yinteger640/480Set the desired horizontal/vertical resolution when in fullscreen mode.
    -efx(fs) xinteger0Specify simple special effects, represented by logically ORing constants. 1=scanlines, 2=TV Blur
    -fsboolean0Full screen mode.
    +

    +
    +

    Game-specific Emulation Hacks

    +

    + + + + + + + + + + +
    Title:Description:Source code files affected:
    KickMasterKickMaster relies on the low-level behavior of the MMC3(PPU A12 low->high transition) + to work properly in certain parts. If an IRQ begins at the "normal" time on the + last visible scanline(239), the game will crash after beating the second boss and retrieving + the item. The hack is simple, to clock the IRQ counter twice on scanline 238. + mbshare/mmc3.c
    Shougi Meikan '92
    Shougin Meikan '93
    The hack for these games is identical to the hack for KickMaster.mbshare/mmc3.c
    Star Wars (PAL/European Version)This game probably has the same(or similar) problem on FCE Ultra as KickMaster. The + hack is to clock the IRQ counter twice on the "dummy" scanline(scanline before the first + visible scanline).mbshare/mmc3.c
    +

    +
    +

    Credits

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Name:Contribution(s):
    \Firebug\High-level mapper information.
    Andrea MazzoleniScale2x/Scale3x scalers included in FCE Ultra.
    BeroOriginal FCE source code.
    Brad TaylorNES sound information.
    EFXDC PasoFami NES packs, testing.
    Fredrik OlsonNES four-player adapter information.
    Gilles VollantPKZIP file loading functions.
    gorohVarious documents.
    Info-ZIPZLIB
    Jeremy ChadwickGeneral NES information.
    Justin SmithGood stuff.
    kevtrisLow-level NES information and sound information.
    KiVarious technical information.
    Mark KnibbsVarious NES information.
    Marat FayzullinGeneral NES information.
    Matthew ConteSound information.
    Maxim Stepinhq2x and hq3x scalers included in FCE Ultra.
    MindRapeDC PasoFami NES packs.
    MitsutakaYM2413 emulator.
    noriFDS sound information.
    QuietustVRC7 sound translation code by The Quietust (quietust at ircN dort org).
    rahgaFamicom four-player adapter information.
    Sean WhalenNode 99
    TheRedEyeROM images, testing.
    TyphoonZArchaic Ruins.
    ...and everyone whose name my mind has misplaced.
    +

    + + diff --git a/htdocs/pressrelease-2.0.0.html b/htdocs/pressrelease-2.0.0.html new file mode 100644 index 00000000..7c592f06 --- /dev/null +++ b/htdocs/pressrelease-2.0.0.html @@ -0,0 +1,9 @@ +
    +02 August 2008
    +
    +FCE Ultra is BACK! Today, version 2.0.0 has been released as the new software FCEUX. 
    +
    +All users of FCE Ultra are encouraged to switch to FCEUX and bug us if something isn't working well. 
    +
    +Head to the homepage at http://fceux.com to see what's new and grab the most recent build or source code. 
    +