mapper fixes for ncpu, debug is broken atm
[fceu.git] / Documentation / rel / readme-linux.txt
1                                    FCE Ultra
2                                      0.81
3
4                          http://fceultra.sourceforge.net/
5
6
7 What is new:
8
9         *  Screen snapshots can now be taken while playing an NSF.
10         *  Saving screen snapshots will no longer corrupt the frame buffer.
11         *  Added many more games to the list of games that usually are found
12            with bad iNES headers.
13         *  Fixed more network play bugs.  It should now work correctly(how
14            many times have I said or implied that...).
15         *  The NSF player will now disable the FDS sound channel on song
16            initialization(fixes a problem with the Zelda no Densetsu
17            rip).
18         *  Reads from $4090 and $4092 while emulating the FDS will now return
19            the current envelope settings.  Affects "Ai Senshi Nicole" 
20            and "Bio Miracle Bokutte Upa", at least.
21         *  Merged a lot of pirate MMC3 multicart emulation code with the main
22            MMC3 emulation code.
23         *  Added support for the MMC5's split-screen mode.  This fixes the
24            introduction in "Uchuu Keibitai SDF".
25         *  Writes to $8000-$FFFF with D7 set during MMC1 emulation will
26            cause the MMC1 mode register to be OR'd with $C.  This fixes
27            "Robocop 3".
28         *  Replaced an MMC1 hack that I used to get "Bill and Ted's Excellent
29            Video Game Adventure" to work with something more accurate.
30         *  Fixed the MMC5 read handler to return the data last on the data
31            bus instead of $FF when a read occured to an unmapped address.
32            This fixes the lockup problem in "Bandit Kings of Ancient China"
33            and possibly other games.
34         *  Added support for the game "Ishin no Arashi" in the iNES format
35            (I added an entry with its CRC32 value and the number of 8KB
36            WRAM banks it needs into the MMC5 WRAM size table).
37         *  Added support for MMC1 games in the iNES format with 16KB of RAM
38            via CRC32 comparisons(currently only Genghis Khan(USA), Romance
39            of the 3 Kingdoms(USA), and Nobunaga's Ambition(USA and Japan) are 
40            recognized).
41         *  iNES mapper 1 now supports pageable CHR RAM if CHR ROM is not
42            present.  Fixes "Family School".
43         *  Added support for iNES mappers 51 and 52.  Thanks to Kevin Horton
44            for the information.
45         *  Modified MMC3(iNES mapper 4/118/119) IRQ counter emulation.  Fixes
46            problems in "MegaMan 3", "Gun Nac", and the Japanese version of
47            "Klax", but it *might* cause problems with other games.
48         *  Fixed an iNES mapper 32 emulation bug.  "Ai Sensei no Oshiete"
49            works now.
50         *  Fixed iNES mapper 33/48 IRQ emulation.
51         *  Fixed iNES mapper 16 IRQ emulation.
52         *  Added support for "Famicom Jump 2" as iNES mapper 153.
53            If a good(as far as I can tell) dump is loaded, FCE Ultra will
54            automatically fix the mapper number.
55         *  The VS Unisystem bit in iNES headers is no longer recognized.
56            Too many games have this bit set when it shouldn't be set.
57            Now VS Unisystem games are recognized by CRC32 value.
58         *  Reads from $4015 no longer reset DMC IRQ.  This fixes the
59            title screen of "Romancia".
60         *  PPU NMI now occurs a few cycles later.  Fixes the "BattleToads"
61            lockup problem.
62         *  BRK emulation now sets the I flag.
63         *  Changed a few zero-page address mode functions to read directly
64            from emulated RAM.
65         *  Added a new video mode(256x224 at a refresh rate of 103 Hz).
66         *  Increased the refresh rate of video mode 2 to 65 Hz.
67         *  Increased the refresh rate of video mode 3 to 120 Hz.
68         *  Added speed throttling used when sound is disabled, and a
69            command-line switch to control it.
70
71
72
73 Contents:
74
75   1.  Basic information
76         1.0 What FCE Ultra is.
77         1.1 System requirements.
78   2.  How to use
79         2.0 Starting FCE Ultra
80         2.1 Using FCE Ultra
81   3.  Notes
82         3.0 Platform Specific Notes
83         3.1 Network Play Notes
84         3.2 VS Unisystem Notes
85         3.3 Famicom Disk System Notes
86         3.4 Light Gun Notes
87         3.5 Palette Notes
88         3.6 Compressed File Notes
89         3.7 Game Genie Notes
90   4.  Extra
91         4.0 Contacting the author
92         4.1 Credits
93
94 /******************************************************************************/
95 /*  1.0)        What FCE Ultra is:                                            */
96 /******************************************************************************/
97
98         FCE Ultra is an NTSC and PAL Famicom/NES emulator for various 
99         platforms. It is based upon Bero's original FCE source code.  Current
100         features include good PPU, CPU, pAPU, expansion chip, and joystick
101         emulation.  Also a feature unique to this emulator(at the current
102         time) is authentic Game Genie emulation.  Save states and snapshot
103         features also have been implemented.  The VS Unisystem is emulated
104         as well.  FCE Ultra supports iNES format ROM images, UNIF format ROM
105         images, headerless and FWNES style FDS disk images, and NSF files.
106
107         FCE Ultra currently supports the following iNES mappers(many partially):
108
109 Number:         Description:                    Game Examples:
110 --------------------------------------------------------------------------------
111   0             No Mapper                       Donkey Kong, Mario Bros
112   1             Nintendo MMC1                   MegaMan 2, Final Fantasy
113   2             Simple 16KB PRG Switch          MegaMan 1, Archon, 1944
114   3             Simple 8KB CHR Switch           Spy Hunter, Gradius
115   4             Nintendo MMC3                   Recca, TMNT 2, Final Fantasy 3
116   5             Nintendo MMC5                   Castlevania 3, Just Breed, Uchuu Keibitai SDF
117   6             FFE F4 Series(hacked)           Saint Seiya, Ganbare Goemon
118   7             AOROM                           Battle Toads, Lion King
119   8             FFE F3 Series(hacked)           Doraemon Kaitakuhen
120   9             Nintendo MMC2                   Punchout!
121  10             Nintendo MMC4                   Fire Emblem, Fire Emblem Gaiden
122  11             Color Dreams                    Crystal Mines, Bible Adventures
123  13             CPROM                           Videomation
124  15             Multi-cart(pirate)              100-in-1: Contra Function 16
125  16             Bandai                          Dragon Ball Z, Gundam Knight
126  17             FFE F8 Series(hacked)           Parodius, Last Armageddon
127  18             Jaleco SS806                    Pizza Pop, Plazma Ball
128  19             Namco 106                       Splatter House, Mappy Kids                
129  21             Konami VRC4 2A                  WaiWai World 2, Ganbare Goemon Gaiden 2
130  22             Konami VRC4 1B                  Twinbee 3
131  23             Konami VRC2B                    WaiWai World, Getsufuu Maden
132  24             Konami VRC6                     Akumajo Densetsu(Dracula 3)
133  25             Konami VRC4                     Gradius 2, Bio Miracle: Boku tte Upa
134  26             Konami VRC6 A0-A1 Inverse       Esper Dream 2, Madara
135  32             Irem G-101                      Image Fight 2, Perman
136  33             Taito TC0190/TC0350             Don Doko Don 1&2
137  34             NINA-001 and BNROM              Impossible Mission 2, Deadly Towers, Bug Honey
138  40             (pirate)                        Super Mario Bros. 2
139  41             Caltron 6-in-1                  Caltron 6-in-1
140  42             (pirate)                        "Mario Baby"
141  43             Multi-cart(pirate)              Golden Game 150 in 1
142  44             Multi-cart(pirate)              Super HiK 7 in 1        
143  45             Multi-cart(pirate)              Super 1000000 in 1
144  46             Game Station                    Rumble Station
145  47             NES-QJ                          Nintendo World Cup/Super Spike V.B.
146  48             Taito TC190V                    Flintstones
147  49             Multi-cart(pirate)              Super HiK 4 in 1
148  51             Multi-cart(pirate)              11 in 1 Ball Games
149  52             Multi-cart(pirate)              Mario Party 7 in 1
150  64             Tengen RAMBO-1                  Shinobi, Klax
151  65             Irem H-3001                     Daiku no Gensan 2
152  66             GNROM                           SMB + Duck Hunt
153  67             Sunsoft Mapper "3"              Fantasy Zone 2
154  68             Sunsoft Mapper "4"              After Burner 2, Nantetta Baseball 
155  69             Sunsoft FME-7                   Batman: ROTJ, Gimmick!
156  70             ??                              Kamen Rider Club
157  71             Camerica                        Fire Hawk, Linus Spacehead
158  72             Jaleco ??                       Pinball Quest
159  73             Konami VRC3                     Salamander
160  75             Jaleco SS8805/Konami VRC1       Tetsuwan Atom, King Kong 2
161  76             Namco 109                       Megami Tenshi 1
162  77             Irem ??                         Napoleon Senki
163  78             Irem 74HC161/32                 Holy Diver
164  79             NINA-06                         F15 City War, Krazy Kreatures
165  80             Taito X-005                     Minelvation Saga
166  82             Taito ??                        Kyuukyoku Harikiri Stadium - Heisei Gannen Ban                  
167  83             Multi-cart(pirate)              Dragon Ball Party
168  85             Konami VRC7                     Lagrange Point
169  86             Jaleco ??                       More Pro Baseball
170  87             ??                              Argus
171  89             Sunsoft ??                      Mito Koumon
172  90             Pirate                          Super Mario World, Mortal Kombat
173  92             Jaleco ??                       MOERO Pro Soccer, MOERO Pro Yakyuu '88
174  93             ??                              Fantasy Zone
175  94             ??                              Senjou no Ookami
176  95             Namco ??                        Dragon Buster
177  97             ??                              Kaiketsu Yanchamaru
178  99             VS System 8KB CHR Switch        VS SMB, VS Excite Bike
179 105             NES-EVENT                       Nintendo World Championships
180 112             Asder                           Sango Fighter, Hwang Di
181 113             MB-91                           Deathbots
182 118             MMC3-TLSROM/TKSROM Board        Ys 3, Goal! 2, NES Play Action Football
183 119             MMC3-TQROM Board                High Speed, Pin*Bot
184 140             Jaleco ??                       Bio Senshi Dan
185 151             Konami VS System Expansion      VS The Goonies, VS Gradius
186 152             ??                              Arkanoid 2, Saint Seiya Ougon Densetsu
187 153             Bandai ??                       Famicom Jump 2
188 180             ??                              Crazy Climber
189 182             ??                              Super Donkey Kong
190 184             ??                              Wing of Madoola, The
191 189             Micro Genius TXC ??             Thunder Warrior
192 225             Multi-cart(pirate)              58-in-1/110-in-1/52 Games
193 226             Multi-cart(pirate)              76-in-1
194 227             Multi-cart(pirate)              1200-in-1
195 228             Action 52                       Action 52, Cheetahmen 2
196 229             Multi-cart(pirate)              31-in-1
197 232             BIC-48                          Quattro Arcade, Quattro Sports
198 234             Multi-cart ??                   Maxi-15
199 240             ??                              Gen Ke Le Zhuan, Shen Huo Le Zhuan
200 242             ??                              Wai Xing Zhan Shi
201 246             ??                              Fong Shen Ban
202 248             ??                              Bao Qing Tian
203 250             ??                              Time Diver Avenger
204
205         FCE Ultra currently supports the following UNIF boards(minus the 
206         prefixes HVC-, NES-, BTL-, and BMC-, as they are currently ignored):
207         
208 Group:  Name:                   Game Examples:
209 --------------------------------------------------------------------------------
210 Bootleg:
211         MARIO1-MALEE2           Super Mario Bros. Malee 2
212         NovelDiamond9999999in1  Novel Diamond 999999 in 1
213         Super24in1SC03          Super 24 in 1
214         Supervision16in1        Supervision 16-in-1
215
216 Unlicensed:
217         Sachen-8259A            Super Cartridge Version 1
218         Sachen-8259B            Silver Eagle
219         Sachen-74LS374N         Auto Upturn
220         SA-016-1M               Master Chu and the Drunkard Hu
221         SA-72007                Sidewinder
222         SA-72008                Jovial Race
223         SA-0036                 Mahjong 16
224         SA-0037                 Mahjong Trap
225         TC-U01-1.5M             Challenge of the Dragon
226
227 MMC1:
228         SAROM                   Dragon Warrior
229         SBROM                   Dance Aerobics
230         SCROM                   Orb 3D
231         SEROM                   Boulderdash
232         SGROM                   Defender of the Crown
233         SKROM                   Dungeon Magic
234         SLROM                   Castlevania 2
235         SL1ROM                  Sky Shark
236         SNROM                   Shingen the Ruler
237         SOROM                   Nobunaga's Ambition
238
239 MMC3:
240         TFROM                   Legacy of the Wizard
241         TGROM                   Megaman 4
242         TKROM                   Kirby's Adventure
243         TKSROM                  Ys 3
244         TLROM                   Super Spike V'Ball
245         TLSROM                  Goal! 2
246         TR1ROM                  Gauntlet
247         TQROM                   Pinbot
248         TSROM                   Super Mario Bros. 3
249         TVROM                   Rad Racer 2
250
251 MMC5:
252         EKROM                   Gemfire
253         ELROM                   Castlevania 3
254         ETROM                   Nobunaga's Ambition 2
255         EWROM                   Romance of the Three Kingdoms 2
256
257 MMC6:
258         HKROM                   Star Tropics
259
260 Nintendo
261 discrete
262 logic:
263         CNROM                   Gotcha
264         CPROM                   Videomation
265         MHROM
266         NROM-128                Mario Bros.
267         NROM-256                Super Mario Bros.
268         RROM-128
269         UNROM                   Megaman
270
271
272 /******************************************************************************/
273 /*  1.1)        System requirements:                                          */
274 /******************************************************************************/
275
276         Minimum system requirements:
277
278         Pentium 60 MHz
279         8 MB RAM
280         400 KB free disk space
281         Linux 2.0.36
282         VGA adapter
283
284         Recommended system specifications(at least):
285
286         Pentium 233 MHz
287         16 MB RAM
288         5 MB free disk space
289         Linux 2.2.x
290         SVGA adapter with 512 KB of RAM
291         Sound device capable of handling a sample rate of about 44100 hz.
292
293
294 /******************************************************************************/
295 /*  2.0) Starting FCE Ultra                                                   */
296 /******************************************************************************/
297
298         Start FCE Ultra using the following format:
299
300         ./fceu <arguments> romimage.nes
301
302         <arguments> can be one or more of the following:
303
304         -vmode x        Select video mode(all are 8 bpp).
305                          1 = 256x240 @ 72 hz    <Default>
306                          2 = 256x256 @ 65 hz
307                          3 = 256x256(with scanlines) @ 120 hz
308                          4 = 640x480(with scanlines)
309                          5 = 640x480("1 per 4")
310                          6 = 256x224(with scanlines) @ 120 hz
311                          7 = 320x240
312                          8 = 256x224 @ 103 hz
313         -vsync x        Wait for the screen's vertical retrace before updating 
314                         the screen.  If you have sound enabled and enable this,
315                         you may have to increase the number of sound fragments
316                         from the default of 8, to reduce buffer underruns.
317                         Buffer underruns will not be preventable if the 
318                         current video refresh rate is < ~60 hz (or < ~50 hz 
319                         if PAL emulation is enabled).
320                          0 = Disabled.  <Default>
321                          1 = Enabled.
322         -cpalette x     Load a custom global palette from file x.  
323                         The filename x is saved in the configuration file,
324                         not the data from the file.  Note that you should
325                         probably use an absolute("/home/jp/test.pal") filename
326                         rather than a relative("test.pal") filename.  If x is 0,
327                         the default (built in) global palette will be used.
328         -ntsccol        Emulate an NTSC's TV's colors based on user-supplied
329                         hue and tint values.
330                          0 = Disabled.  <Default>
331                          1 = Enabled.
332         -sound   x      Sound.          <Default=48000>
333                          0 = Disabled.
334                          Otherwise, x = playback rate in samples per second.
335         -soundvol x     Sound volume. x is an integral percentage value.
336                         The default value is, obviously, 100.
337                         Setting it higher will increase the likelihood that
338                         sound clipping will occur.  This shouldn't be noticeable
339                         if the volume is reasonable(200% or lower; perhaps even
340                         higher for many games).
341         -sfragsize x    Set sound fragment size to 2^x(2 to the power of x)
342                         SAMPLES.  The default value is 7.
343         -snfrags x      Set number of sound fragments to x.  The default value
344                         is 8.
345         -f8bit x        Force 8-bit sound.  Enabling this will decrease
346                         sound quality noticeably without increasing
347                         performance noticeably.  Only use when 16-bit sound
348                         is problematic.
349                          0 = Disabled.  <Default>
350                          1 = Enabled.
351         -nothrottle x   Disables speed throttling used when sound is disabled
352                         if x is non-zero.  The default value of x is 0.
353         -joyx y         Joystick mapped to virtual joystick x(1-4).
354                          0 = Disabled, reset configuration.     <Default>
355                          Otherwise, y(1-inf) = joystick number.
356         -inputx str     Select device mapped to virtual NES-style input port 
357                         x(1-2).
358                         The default for both virtual input ports is "gamepad".
359                          str may be: none, gamepad, zapper, powerpada, 
360                                      powerpadb, arkanoid
361         -fcexp str      Select Famicom expansion port device.  If you select
362                         a device other than "none", you should enable the
363                         "gamepad" on both NES-style virtual input ports.
364                         The default is "none".
365                          str may be: none, shadow, arkanoid, 4player, fkb
366         -nofs x         Disables Four-Score emulation if x is 1.  Default is 0.
367                         Note that Four-Score emulation will only be active
368                         if "gamepad" is mapped to one or both virtual input
369                         ports.
370         -gg             Enable Game Genie emulation.
371         -pal            Emulate a PAL NES.
372         -no8lim x       Disables the 8 sprites per scanline limitation.
373                          0 = Limitation enabled.        <Default>
374                          1 = Limitation disabled.
375         -subase x       Save extra game data files(such as battery-backed RAM)
376                         under the base directory if enabled.
377                          0 = Disabled.  <Default>
378                          1 = Enabled.
379         -snapname x     Selects what type of file name screen snapshots will 
380                         have.
381                          0 = Numeric(0.png)     <Default>
382                          1 = File base and numeric(mario-0.png)
383         -clipsides x    Clip leftmost and rightmost 8 columns of pixels of 
384                         video output.
385                          0 = Disabled.  <Default>
386                          1 = Enabled.
387         -slstart x      Set the first drawn emulated scanline for NTSC emulation
388                         mode.  Valid values for x are 0 through 239.
389                         The default value is 8.
390         -slend x        Set the last drawn emulated scanline for NTSC emulation
391                         mode. Valid values for x are 0 through 239.
392                         The default value is 239.
393         -slstartp x     Set the first drawn emulated scanline for PAL emulation
394                         mode.  Valid values for x are 0 through 239.
395                         The default value is 0.
396         -slendp x       Set the last drawn emulated scanline for PAL emulation
397                         mode. Valid values for x are 0 through 239.
398                         The default value is 239.
399         -connect   s    Connect to server 's' for TCP/IP network play.
400         -server         Be a host/server for TCP/IP network play.
401         -netport x      Use TCP/IP port x for network play.  The default
402                         port is 4046.
403 /******************************************************************************/
404 /*  2.1)        General Keyoard Key Mapping:                                  */
405 /******************************************************************************/
406
407         Default Key Mapping:
408
409          For emulated Family BASIC Keyboard:
410           Enable/Disable Keyboard Input         Scroll Lock
411                 (enabling emulated keyboard input will disable
412                  commands keys)
413           All emulated keys are mapped to the closest open key on the PC
414           keyboard, with a few exceptions.  The emulated "@" key is
415           mapped to the "`"(grave) key, and the emulated "kana" key
416           is mapped to the "Insert" key(in the 3x2 key block above the
417           cursor keys).
418
419          For emulated game pads:
420           Left Control             B
421           Left Alt                 A
422           Enter/Return             Start
423           Tab                      Select
424           Cursor Down              Down
425           Cursor Up                Up
426           Cursor Left              Left
427           Cursor Right             Right
428
429          For emulated power pads(keys correspond to button locations on
430          side "B"):
431           O P [ ]
432           K L ; '
433           M , . /
434
435          For FDS games:
436           I                        Insert disk.
437           E                        Eject disk.
438           S                        Select disk/disk side.
439          
440          For VS Unisystem games:
441           C                        Insert coin.
442           V                        Show/Hide dip switches.
443            1-8                      Toggle dip switches(when dip switches
444                                     are shown).
445
446          T                        Select tint to adjust.
447          H                        Select hue to adjust.
448          +/-                      Increase/decrease tint or hue.
449
450          0-9                      Select save state.
451          Caps Lock                Select virtual joystick.
452
453          F2                       Activate cheat interface.
454
455          F3                       Lock virtual console.
456          F4                       Unlock virtual console.
457
458          F5/F7                    Save/Load state.
459          F9                       Save screen snapshot.
460          F10                      Reset.
461          F11                      Power off/on.
462          ESC/F12                  Exit.
463
464
465 /******************************************************************************/
466 /*  3.0)        Platform Specific Notes                                       */
467 /******************************************************************************/
468
469         1.  FCE Ultra uses SVGAlib, so you'll obviously need to have it
470         installed.
471
472         2.  Be careful when using the non-VGA video modes(such as 640x480).
473         SVGAlib doesn't always handle virtual terminal switching well when
474         one of these modes is being used.  Also, since FCE Ultra enables a
475         a linear frame buffer for these modes, heed this warning from
476         the SVGAlib documentation:
477
478                Furthermore, some cards (Cirrus) just enable  this  buffer
479                at  a  fixed hardware address.  For Cirrus it is mapped at
480                14MB so you should never used it if  you  have  more  than
481                14MB  of  memory (But how does an application know?).  The
482                Mach32 support for this is smarter. It makes this  feature
483                only available when it is safe to be used.
484
485         3.  FCE Ultra must be run as root in order to get access to the
486         VGA hardware.  SVGAlib will drop root privileges if you are running
487         the program as a normal user and the suid root bit is set and the
488         executable is owned by root. Example:
489                 chown root fceu ; chmod 4755 fceu
490         Make sure you have the latest stable release of SVGAlib, though.
491
492         4.  FCE Ultra will save all data(state saves/screen snapshots) in
493         ~/.fceultra, so make sure your "HOME" environment variable is set
494         correctly.
495
496         If you believe FCE Ultra is too slow, you can try the following:
497          * Kill some of the other processes.
498          * Disable sound emulation.
499          * Raise the priority of FCE Ultra with the 'nice' command. 
500            Ex:  nice -n -20 ./fceu
501
502 /******************************************************************************/
503 /*  3.1)        Network Play Notes                                            */
504 /******************************************************************************/
505
506         In TCP/IP network play, the server will be player one, and the
507         client will be player 2.
508
509         Zapper emulation and power pad emulation currently do not work with
510         network play.
511
512         Having Game Genie or PAL emulation enabled on only one side
513         will cause problems.
514
515         Both players MUST use the same ROM/disk image and SRAM
516         file(if applicable).
517
518         When using FDS or VS Unisystem games with network play, only player
519         1 will be able to insert disk, eject disk, insert coins, toggle dip
520         switches, etc.
521
522 /******************************************************************************/
523 /*  3.2)        VS Unisystem Notes                                            */
524 /******************************************************************************/
525
526         FCE Ultra currently only supports VS Unisystem ROM images in the
527         iNES format. 
528
529         ROM Images:
530
531          * VS Unisystem games that are about 49,000 bytes in size most likely
532            use mapper 99.
533          * Other VS Unisystem games will use other mappers.  Here is a short
534            list of games and the mappers they use:
535
536                CastleVania - 2
537                Dr. Mario   - 1
538                Goonies     - 151
539                Gradius     - 151
540                Ice Climber - 99
541                Platoon     - 68
542
543         Palette(s):
544
545          * The colors in many VS Unisystem games may be incorrect.  This
546            is due to each game having its own PPU, and thus using a
547            different palette than games that use a different PPU.
548
549
550 /******************************************************************************/
551 /*  3.3)        Famicom Disk System Notes                                     */
552 /******************************************************************************/
553
554         You will need the FDS BIOS ROM image in the base FCE Ultra directory.
555         It must be named "disksys.rom".  I will not give this file to you, so
556         don't ask.
557
558         Two types of FDS disk images are supported:  disk images with the 
559         FWNES-style header, and disk images with no header.
560
561         You should make backups of all of your FDS games you use with FCE 
562         Ultra.  This is because FCE Ultra will write the disk image back to 
563         the storage medium, and the disk image in RAM might have been corrupted
564         because of inaccurate emulation(this case is not likely to occur, but 
565         it could occur).
566
567
568 /******************************************************************************/
569 /*  3.4)        Light Gun Notes                                               */
570 /******************************************************************************/
571
572         Currently, the NES Zapper and the light gun used with the VS
573         Unisystem(I will call both the same name, Zapper) are supported.
574         Most(all?) NES games expect the Zapper to be plugged into port 2.
575         and most(all?) VS Unisystem games expect the Zapper to be plugged 
576         into port(?) 1.
577
578         The LEFT mouse button is the emulated trigger button for the
579         Zapper.  The RIGHT mouse button is also emulated as the trigger,
580         but as long as you have the RIGHT mouse button held down, no color
581         detection will take place, which is effectively like pulling the
582         trigger while the Zapper is pointed away from the television screen.
583         Note that you must hold the RIGHT button down for a short
584         time(greater than just a fast click, shorter than a second).
585         
586         Zapper emulation currently does NOT work with network play, so
587         don't even try it. I may add support in the future if enough
588         people want it or if I want it.
589
590
591 /******************************************************************************/
592 /*  3.5)        Palette Notes                                                 */
593 /******************************************************************************/
594
595         Palettes files are expected to contain 64 8-bit RGB triplets(each in
596         that order; red comes first in the triplet in the file, then green, 
597         then blue).  Each 8-bit value represents brightness for that particular
598         color.  0 is minimum, 255 is maximum.
599
600         Palettes can be set on a per-game basis.  To do this, put a palette
601         file in the "gameinfo" directory with the same base filename
602         as the game you wish to associate with and the extension "pal".  
603         Examples:
604
605                 File name:              Palette file name:
606                  BigBad.nes              BigBad.pal
607                  BigBad.zip              BigBad.pal
608                  BigBad.Better.nes       BigBad.Better.pal
609
610
611         With so many ways to choose a palette, figuring out which one will
612         be active may be difficult.  Here's a list of what palettes will
613         be used, in order from highest priority to least priority(if a condition
614         doesn't exist for a higher priority palette, the emulator will
615         continue down its list of palettes).
616
617         NSF Palette(for NSFs only)
618          Palette loaded from the "gameinfo" directory.
619           NTSC Color Emulation(only for NTSC NES games).
620            VS Unisystem palette(if the game is a VS Unisystem game and a palette
621            is available).
622             Custom global palette.
623              Default NES palette.
624
625
626 /******************************************************************************/
627 /*  3.6)        Compressed File Notes                                         */
628 /******************************************************************************/
629
630         FCE Ultra can load data from both PKZIP-format files and
631         gzip-format files.  Only one type of (de)compression algorithm is
632         supported:  "deflate"; this seems to be the most popular compression
633         algorithm, though.
634
635         A compressed FDS disk image will only be saved back to disk if it
636         uses the gzip format.
637
638         All files in a PKZIP format file will be scanned for the
639         followings extensions:  .nes, .fds, .nsf, .unf, .nez, .unif
640         The first compressed file to have one of these extensions will be
641         loaded. If no compressed file has one of these extensions, the
642         first compressed file will be loaded.
643
644
645 /******************************************************************************/
646 /*  3.7)        Game Genie Notes                                              */
647 /******************************************************************************/
648
649         The Game Genie ROM image is loaded from the file "gg.rom" in the
650         base directory the first time Game Genie emulation is enabled and
651         a ROM image is loaded since the time FCE Ultra has run.
652
653         The ROM image may either be the 24592 byte iNES-format image, or
654         the 4352 raw ROM image.
655
656         Remember that enabling/disabling Game Genie emulation will not take
657         effect until a new game is loaded(this statement shouldn't concern
658         any of the "run once" command-line driven ports).
659
660 /******************************************************************************/
661 /*  4.0)        Contacting the author                                         */
662 /******************************************************************************/
663
664         I can be reached via email at xodnizel@users.sourceforge.net.
665         Bero can be reached via email at 9bero9@geocities.co.jp
666          (Note that Bero can not and will not answer any questions
667           regarding the operation of FCE Ultra, so please don't ask him.
668           If you understand this, remove the 9's from the email address
669           provided to get his real email address.)
670
671
672 /******************************************************************************/
673 /*  4.1)        Credits                                                       */
674 /******************************************************************************/
675
676 \Firebug\       -       High-level mapper information.
677 Bero            -       Original FCE source code.
678 Brad Taylor     -       NES sound channel guide.
679 Chris Hickman   -       Archaic Ruins.
680 Donald Moore    -       DC PasoFami NES packs.
681 Fredrik Olson   -       NES four-player adapter information.
682 Gilles Vollant  -       PKZIP file loading functions.
683 goroh           -       Various documents.
684 Jeff Tamer      -       Insaniacal fun.
685 Jeremy Chadwick -       General NES information.
686 Justin Smith    -       Giving me obscure ROM images in the "dark ages of
687                         NES emulation".
688 Kevin Horton    -       Low level NES information and sound information.
689 Ki              -       Various technical information.
690 Mark Knibbs     -       Various NES information.
691 Marat Fayzullin -       General NES information.
692 Matthew Conte   -       Sound information.
693 N. Andou        -       Awesome NES/SNES emulators, at the time...
694 nori            -       FDS sound information.
695 Quietust        -       VRC7 sound translation code by The Quietust
696                         (quietust@ircN.org).
697                         Ideas and corrections.
698 R. Hoelscher    -       Famicom four-player adapter information.
699 Rob Mocca       -       DC PasoFami NES packs, testing.
700 Sean Whalen     -       Node99.
701 Tatsuyuki Satoh -       OPL2 emulator
702 TheRedEye       -       ROM images, testing.
703
704
705 Info-ZIP        -       ZLIB
706
707 ...and everyone else who has helped me.