home *** CD-ROM | disk | FTP | other *** search
/ Freesoft 1999 February / Freesoft_1999-02_cd.bin / Recenz / Emulator / SNES / Znes400 / README.TXT next >
Text File  |  1998-05-19  |  35KB  |  774 lines

  1.  
  2.                                  ZSNES
  3.                         by zsKnight and _Demo_
  4.  
  5.  
  6. ZSNES is a Super Nintendo Entertainment System emulator made in assembler.
  7. It runs commercial games and even with sound.  However, it still lacks
  8. compatibility and the sound still has bugs.
  9.  
  10. We would really like to thank the snes9x team for all their help and
  11. also for an excellent snes emulator.  We also wish them the very best
  12. of luck!
  13.  
  14. ---------------------------------------------------------------------------
  15. Table of Contents
  16. ---------------------------------------------------------------------------
  17.  
  18. 1.) What's New
  19. 2.) Disclaimer
  20. 3.) System Requirements
  21. 4.) Things you should know about ZSNES (UPDATED v0.400)
  22. 5.) Current Progress
  23. 6.) Future Progress
  24. 7.) ZSNES Default Keys
  25. 8.) Extra Pop-Up Menu (F1 Menu)
  26. 9.) Configuration File (ZSNES.CFG)
  27. 10.) Cheat Codes
  28. 11.) Extra Features (SNES Mouse/Super Scope)
  29. 12.) The Debugger
  30. 13.) Credits
  31.  
  32. ---------------------------------------------------------------------------
  33. 1.) What's New
  34. ---------------------------------------------------------------------------
  35.  
  36. v0.400 - Fixed a dual windowing bug in mode 7 in 65536 color mode
  37.        - Re-added FPU Copy due to a demand
  38.        - Implemented MMX Copy.  Use -om to enable.  Thanks to Angels Holocaust
  39.          for this info!
  40.        - Fixed a bug when writing to .bmp files
  41.        - Added (buggy) SuperFX support (9.5MB memory required)
  42.          Special thanks to the snes9x team for all the info and help!
  43.        - Fixed up sprite windowing.  Should hopefully be correct now
  44.        - Added a commandline to show all file extensions through the GUI
  45.          Use -sa to enable
  46.        - Added Noise to the Sound DSP
  47.        - Added a Fast Forward key.  Use the Tilde Key (~) located at the
  48.          top-left of your keyboard.
  49.        - Added Sprite Priority Correction
  50.        - Fixed a tile caching bug that caused some tile corruption
  51.        - Fixed a 65816 bug in XCE on the x flag.  Thanks to ]SiMKiN[ for this!
  52.        - Implemented Interleaved format and a simple auto detection.  In case
  53.          autodetect fails, use -i.  Thanks to feenix65 for this info!
  54.        - Improved header detection.  Should now work better with demos
  55.          and games with weird filesizes
  56.        - Added a new graphics engine in 256 color mode.  It should be much
  57.          faster in areas that don't use mode 7, but lacks a lot of features
  58.          such as windowing, mosaic, and sprite priorities so it is disabled
  59.          by default.  It can be enabled by pressing 8 during gameplay.
  60.          (~40-100% faster)
  61.        - Optimised Mode 7 in 256 color mode
  62.        - Implemented dual windowing to color window clipping
  63.        - Fixed several color window clipping bugs
  64.        - Added full resolution screenshot capture in 640x480x65536 mode
  65.          To activate while in that mode, hold backspace and press F1
  66.        - Fixed several transparency bugs
  67.        - Added NewGfx to zsnes.cfg which determines if the new graphics
  68.          engine is enabled at start
  69.        - Added CopyMethod to zsnes.cfg which can default the copy method
  70.          as either fpu copy or mmx copy
  71.        - Allowed systems with 5.5MB of RAM free to load 2mbit roms
  72.        - Fixed sidewinder support when sound is set at a high sampling
  73.          rate.  Thanks to Marius Fodor for the source!
  74.  
  75. v0.393 - Whoops!  Forgot to remove the debug variables in v0.391
  76.        - Fixed another sprite clipping bug
  77.        - Fixed clipping in Mode7 16-bit mode
  78.        - Removed FPU Copy since it didn't seem to speed up emulation
  79.        - Added .USA and .JAP rom extension into the GUI
  80.        - Added Save SPC Data which saves the contents of the SPC700/DSP
  81.          of the beginning of the next song (Future Reserved)
  82.        - Add Sound Buffer Dump which dumps the decompressed sound buffer
  83.          as raw pcm.  This can become quite inaccurate due to the way how
  84.          zsnes stores its decompressed sounds.
  85.        - Added MenuItem Sound Buffer Dump into the F1 Menu
  86.        - Added MenuItem Save SPC Data into the F1 Menu
  87.        - Added a key to disable offset mode.  Press 0 key to
  88.          activate/deactivate
  89.        - Added small screen support in 640x480VESA2 modes.  This mode
  90.          should be much faster for those who use 640x480.
  91.          Use the -c commandline to enable this when in 640x480.
  92.        - Added an option for centered small screen.  Use the -cc commandline.
  93.        - Fixed up 320x240x65536 support for ARGB cards again.  It now
  94.          should be working. (No, seriously!)
  95.        - Removed some static from the sound.
  96.  
  97. v0.391 - Fixed a bug in DMA from v0.390
  98.        - Fixed some sprite windowing clipping bugs
  99.        - Fixed an OAM overflow bug.  Thanks to DJRob for some help on this!
  100.        - Fixed a save state bug where running a game off the commandline
  101.          and having a save directory specified prevented more than 1 save
  102.          state
  103.        - Fixed a transparency bug from v0.390
  104.  
  105. v0.390 - Fixed a bug which caused 320x240x65536 to display incorrectly
  106.          on video cards with an 16-bit ARGB setting
  107.        - Fixed a minor screen add/sub bug
  108.        - Fixed a minor sprite priority bug
  109.        - Fixed a BG3 priority bug in BG Mode 0
  110.        - Fixed a color window addition bug
  111.        - Fixed a minor VIRQ enable bug
  112.        - Swapped The Cursor Button and Autofire Switch in Super Scope
  113.        - Fixed a joystick read timing bug
  114.        - Sound volume register returned an invalid value.  Now fixed.
  115.        - Added some dword alignment to some variables.
  116.          Thanks to Marius Fodor for this info!
  117.        - Implemented 64k sram files
  118.        - Implemented Sprite VRAM address changing in the middle of the screen.
  119.          Should fix some games such as Lufia 2
  120.        - Added some hacks to get some games working better
  121.        - DSP : Fixed a divide by 0 bug when key on is set without any sound
  122.          variables initialized
  123.        - Increased default cycles executed in FastROM.
  124.        - Added ZSNES.FAQ .  Read this if you have troubles!
  125.        - Added a key to disable/enable Windowing.  Press 9 to
  126.          activate this.
  127.        - Implemented EAGLE algorithm in 640x480x256 video mode.  Use
  128.          -y to enable.  Thanks to A CoolMan for the algorithm!
  129.          Later on, we'll implement his code which has MMX acceleration!
  130.        - Implemented FPU copy.  Use -o to enable.  Used only when copying
  131.          buffer to video in 320x240 vesa2 modes.
  132.        - Re-wrote Windowing routines for speed and expandability
  133.        - Added Dual Windowing on BGs in all logic modes
  134.        - Added Dual Windowing on Sprites
  135.        - Added some minor stuff to the header displayer
  136.        - Added partial offset per tile mode. (Mode 2/Vertical/8x8)
  137.          Thanks to the feenix65 for some help on this!
  138.          Implementation still a bit buggy.
  139.        - Sorry, but memory requirements had to increase by a bit.
  140.        - Fixed a tile graphics wrapping bug
  141.        - Clean up and optimised 16-bit graphics code
  142.        - Fixed up a display bug when switching from 239 to 224 y resolution
  143.        - Optimised some video processing code.  Thanks to Crash_Man for the help!
  144.        - Minor optimisations to the 65816
  145.        - Improved color intensity in the back area
  146.        - Fixed a sram directory bug where the save state didn't save in the save
  147.          directory when the game is specified from the command line
  148.        - Fixed a keyboard bug when left-shift is selected as a key.
  149.          Thanks to Pharos for help on this!
  150.        - Some DMA speedups
  151.        - Some optimisations to OAM/VRAM write
  152.        - Sorry, but SuperFX emulation is disabled for this public version.
  153.  
  154. v0.305 - Fixed a snes ppu multiplication bug.  Thanks to Lord Esnes!
  155.        - Hopefully fixed 6-button joystick support.
  156.        - Fixed a little memory overflow bug which caused some games to not
  157.          work
  158.        - Forgot to clear NMI wait substitute variables when another game
  159.          is loaded from the GUI
  160.        - Changed sound processing engine back to v0.297.  If for any reason
  161.          you want to go back to v0.300 sound engine, use -x as a command line
  162.        - Added Cursor Mode Button to the Super Scope.  Never thought it was
  163.          necessary until recently.  Use the =/+ key.
  164.  
  165. v0.300b - Fixed a bug that causes sidewinder support to crash.
  166.  
  167. v0.300 - Fixed a 65816 wrapping bug
  168.        - Added Super Scope Emulation!  (Press 7 beyond mouse)
  169.        - Some minor touches to the GUI
  170.        - Manually calculated RGB bit lengths when using 16-bit modes
  171.        - Fixed another bug when loading 48mbit images from the GUI
  172.        - Sped up the execution loop when sound is enabled
  173.        - Implemented NMI wait substitute for speed
  174.        - Added some extra vesa2 routines to help some video cards
  175.          with ARGB format of 1:5:5:5, however interpolation won't work
  176.          for those at the moment.  Thanks to Dark Force for helping out
  177.          on this one!
  178.        - Implemented 512x384 VESA2 resolution for both 8 and 16 bit
  179.        - Implemented Sound Mute and Reset
  180.        - Implemented Joystick Remapping.  Edit ZSNES.CFG to access this.
  181.        - Fixed and sped up 6 button joystick support
  182.        - Fixed 2 2-button joystick support
  183.        - Hopefully fixed 2 sidewinder support
  184.        - Fixed an overflow sound bug
  185.  
  186. v0.297 - Fixed a bug when loading 48mbit images from the GUI
  187.        - Fixed some crashing bugs by just adding some zero space
  188.            Very weird bug!
  189.  
  190. v0.296 - Fixed up Cheat Menu in 16-bit color mode
  191.        - Changed SPC700 skipper back since it was causing problems in
  192.            certain games
  193.        - Added Multiple Snapshot files
  194.        - Fixed a minor loading bug
  195.        - Fixed 16-bit color full add/sub conversion table when video
  196.            is in BGR format
  197.        - Fixed some fixed color screen add/sub bugs
  198.        - Supported .SWC format in the GUI
  199.  
  200. v0.295 - Compiled under a newer version of WDOSX.  This should help fix some
  201.          VESA 2 problems.
  202.        - Fixed multiple SPC700 bugs
  203.        - Added a command line to force either NTSC (-t) or PAL (-u) timing
  204.        - Added a command line to force 8-bit sound on (-8)
  205.        - Zsnes.cfg is now loaded from the directory where zsnes.exe is located
  206.        - Zsnes.cfg now re-writes itself when zsnes exits
  207.        - Reduced zsnes.exe filesize
  208.        - The IRQ's are now more stable.  This should help fix some
  209.          crashing/rebooting problems under dos.  Thanks to Sardu for some
  210.          help on this!
  211.        - Fixed some VRAM accessing bugs
  212.        - Several fixes to the sound DSP
  213.        - Optimised SPC700 a bit
  214.        - Implemented primitive Mode 5, 512 horizontal resolution.  To get
  215.          full potential of this mode, use 640x480 resolutions except for
  216.          interpolated/nonscanline mode.
  217.        - Improved 65816 <-> SPC700 communication
  218.        - Slightly improved sound skipper
  219.        - Fixed a directory changing bug
  220.        - Implemented Scanlines for 640x480x256 video mode
  221.        - Added a temporary command line to enable sound compression
  222.          buffering (-Q)
  223.        - Added a extra menu which pops out when you press F1
  224.        - Added snapshot feature.  Press F1 and select Save Snapshot
  225.          ZSNES saves 256 color under image.pcx and 65536 under image.bmp.
  226.        - Added FPS feature.  At the moment, it only works when auto frame
  227.          rate is used.
  228.        - 65816 bugfix : x flag is supposed be used in MVN/MVP
  229.        - Fixed up color addition/subtraction clipping a bit
  230.        - Added Scanlines, Interpolation, Enterskip, and Force 8-bit sound
  231.          in zsnes.cfg
  232.        - GUI now saves the loading directory
  233.        - Added a separate save directory feature in zsnes.cfg.
  234.        - SPC700 bugfix : fixed mem.bit addressing mode.  Thanks to Phoenix
  235.          for this info!
  236.        - Fix up a bug where more memory was cleared than needed in 256 color
  237.          video memory processing
  238.        - Optimised video memory clearing in 65536 color mode
  239.        - Minor optimisations to the 65816/SPC700
  240.        - Implemented Mode 7 Tile #0 Repetition
  241.        - Rewrote most of the Mode 7 routines for speed
  242.        - Fixed a 65536 color Mode 7 bug where the background wasn't cleared
  243.          properly
  244.        - Added Pro Action Replay, Gold Finger,and Game Genie cheat code
  245.          support
  246.        - Optimised Memory/Register accessing routines
  247.        - Used a newer version of Sidewinder driver.  Should fix
  248.          some problems and also support 2 sidewinder pads (not tested yet).
  249.          Thanks Robert!  Also, thanks to Sardu for helping to get it
  250.          to work right!
  251.        - Whoops!  256 Color palette was set when GUI is exited in 16-bit mode.
  252.          Hopefully fixed now.
  253.        - Added the ability to Clear/Disable/Enable cheat codes through the menu.
  254.        - Optimised Graphics Decompression Routines.  Thanks to Nerlaska for
  255.          this info!
  256.        - A Bunch of other Minor Bugs Fixed.
  257.  
  258. v0.270 - Properly cleared memory when loaded off of the GUI
  259.        - Implemented realtime adsr/gain switch.  Special thanks to Sardu for
  260.          help on this!
  261.        - Fixed up a VESA 2 error message
  262.        - Temporarily disabled Sound Compress buffering till we can get the
  263.          bugs out.
  264.        - Volume fixes to the sound DSP
  265.        - Fixed up > 16mbit LoROM support
  266.        - Added partial 48mbit ROM support (no games seems to work yet
  267.                                            + 9MB mem required)
  268.        - Fixed a SRAM Memory Map Bug
  269.        - Fixed a bug in old style joystick read
  270.        - Disabled sram save using tilde key.  Instead, enter/exit
  271.          the GUI since it also saves the sram.
  272.        - Added panic key which turns back on all sound channels and
  273.          backgrounds.  Press 6 to activate this.
  274.        - Added snes mouse support!  Use 7 to switch between keyboard and
  275.          mouse.  Thanks to Y0SHi for info on this!
  276.        - Panic key now turns off mouse when mouse is enabled
  277.        - Fixed a minor IRQ bug
  278.        - Fixed a HDMA bug.  Thanks to Lord Esnes for help on this!
  279.        - Fixed a timing bug.  Thanks to TaNdRuM for help on this!
  280.        - Fixed up some Fixed color add/sub bugs
  281.        - Implemented OBJ Name Base Select.  Thanks to Y0SHi for info!
  282.        - Windowing was off by 1 pixel.  Now fixed.
  283.        - Fixed Screen Add/Sub on back area
  284.        - Added support for 4 and 6 button joysticks
  285.        - Added support for sidewinder joypads
  286.        - Fixed a VESA 2.0 bug.  It should be more compatible now.
  287.        - Implemented Interpolation for 640x480x65536 mode.  Use -Y to enable.
  288.        - Modified sound mixing code a bit
  289.        - Added GUI disable in zsnes.cfg. Add this if you want to disable the GUI
  290.          GUIDisable = 1
  291.        - Implemented Directory Changing in the GUI
  292.        - Fixed a bug where it crashed when loading some ROMs
  293.        - Fixed an ADSR sustain bug.  Thanks to Trepalium for help on this!
  294.  
  295. ---------------------------------------------------------------------------
  296. 2.) Disclaimer
  297. ---------------------------------------------------------------------------
  298.  
  299. zsKnight and _Demo_ are not responsible for any damages caused by the use
  300. of this software.  This software also must not to be distributed with
  301. ROMs.
  302.  
  303. ---------------------------------------------------------------------------
  304. 3.) System Requirements
  305. ---------------------------------------------------------------------------
  306.  
  307. Minimum System that ZSNES can run on (but strongly not recommended) :
  308.  
  309. - 386 processor (486 processor required for new graphics engine)
  310. - 6MB of RAM (You need at least 5.3MB free)
  311. - VGA card
  312.  
  313. Somewhat Recommended System :
  314.  
  315. - 486/100 processor
  316. - Min 8MB of RAM (min 7.5MB free)
  317. - VGA card
  318. - Sound Blaster or 100% compatible
  319.  
  320. Strongly Recommended System :
  321.  
  322. - Pentium processor (P100 or higher)
  323. - Min 8MB of RAM (min 7.5MB free)
  324. - SVGA card
  325. - Sound Blaster 16 or 100% compatible
  326.  
  327. Recommended System for 65536 (16-bit) color mode :
  328.  
  329. - Fast Pentium processor (P166 or higher)
  330. - Min 8MB of RAM (min 7.5MB free)
  331. - SVGA card which supports 320x240x65536 or 640x480x65536 colors
  332. - Sound Blaster 16 or 100% compatible
  333.  
  334. Recommended System for SFX support :
  335.  
  336. - Fast Pentium processor (P200 or higher)
  337. - Min 12MB of RAM (min 9.5MB free)
  338. - VGA card
  339. - Sound Blaster 16 or 100% compatible
  340.  
  341. * You need 9.5MB of RAM to run 48mbit(6megabytes) roms.
  342.  
  343. For SuperFX emulation, 9.5 megabytes of free memory is required to run.
  344.  
  345. ---------------------------------------------------------------------------
  346. 4.) Things you should know about ZSNES (Updated v0.400)
  347. ---------------------------------------------------------------------------
  348.  
  349. - Transparency effects are only available in 65536 color mode
  350. - To view 512 resolutions properly, use 640x480 mode.  Only a few games
  351.     uses 512 resolution.  One way to find out is to see if a game has
  352.     that feature is to look for text that looks squished.
  353. - True 512 resolution isn't implemented in 640x480x65536 interpolation,
  354.     non-scanline mode.
  355. - Scrolling in 512 resolution under 640x480 may appear choppy since
  356.     it alternates between the left and right pixels at each frame.
  357. - In 640x480 resolution, the image is scaled so it will look like 320x240
  358.     resolution.  Only use 640x480 resolution if you want to use scanlines,
  359.     interpolation, or if 320x240 doesn't work.
  360. - SuperFX can be slow because it is an extra 10/20mhz cpu that has to be
  361.     emulated as well as the snes emulation
  362. - ZSNES seems to have problems with some 16-bit sound cards and
  363.     sometimes, Windows 95 doesn't set the HDMA setting in the SET BLASTER
  364.     string correctly.  If sound doesn't work on your 16-bit sound card,
  365.     use the -8 command line switch.
  366. - Screen Snapshot and FPS counter are available through a menu by pressing
  367.     F1 during emulation
  368. - Screen Snapshot currently saves as Image.PCX (256 colors) and Image.BMP
  369.     (65536 colors).  This may change in the future.
  370. - FPS counter currently only works when auto frame rate is on.  One for
  371.     non auto frame rate will probabily be implemented in the future when
  372.     we have time.
  373. - To use the cheat function, be sure to have the ROM which you want to
  374.     patch loaded already.
  375. - If the cheat codes do not work, chances are that you are using a different
  376.     version of the rom that was originally used to create them or the codes
  377.     are converted incorrectly from other code formats.
  378. - Config options in the GUI are not available yet and will
  379.     be implemented in the future when we have time.
  380. - Certain video cards/monitors cannot support ModeQ (default resolution)
  381.     If your video card/monitor doesn't support it, run zsnes with -v 0.
  382.     If -v 0 doesn't work, use -v 2 (vesa 2 required)
  383. - Sound DSP has features missing such as echo and pitch modulation
  384. - 16 bit mode in zsnes requires a Scitech Display Doctor (v5.3+) to provide
  385.     high color, low resolution modes.  You can obtain this software at
  386.     www.scitechsoft.com.  If your video card already supports lo-res,
  387.     hi-color, then don't worry about getting this driver.
  388. - Full Screen addition/subtraction in 65536 mode uses a 13-bit color
  389.     palette (8192 colors) instead of a 15-bit color palette (32768 colors)
  390.     used on a real snes when using full add/sub.
  391. - There are still many bugs left in ZSNES so don't expect it to run all
  392.     your favorite games.
  393. - VSync won't run well unless you specify a frame skip (eg. -f 0)  But
  394.     this feature is highly recommended to be used on very fast machines
  395.     (eg. Pentium IIs)
  396. - The sound buffering is a little buggy at the moment.  It is disabled
  397.   by default and can only be enabled through a command line (-Q).
  398. - SNES Mouse support is still missing some features such as speed settings
  399. - Pressing the Fast Forward key is equivalent to running zsnes using -f 9
  400. - If ZSNES doesn't work for you, then don't use it.  Use SNES9X, ESNES,
  401.     NLKSNES, SNEESE, or SNEMUL instead!  In fact, even if you use ZSNES,
  402.     use those emulators too!
  403.  
  404. ---------------------------------------------------------------------------
  405. 5.) Current Progress
  406. ---------------------------------------------------------------------------
  407.  
  408. The following are implemented :
  409. - complete 65816 instruction set
  410. - SRAM support
  411. - LoROM and HiROM support
  412. - SlowROM and FastROM support
  413. - Full DMA support
  414. - HIRQ/VIRQ/NMI Interrupts
  415. - Support for most snes file formats
  416. - Multi file format support (.1,.2,.3,A.,B.,C.)
  417. - Interleaved format support
  418. - PAL/NTSC timing support
  419.  
  420. The following are implemented in the old graphics engine :
  421. - Line by line based graphics engine
  422. - Graphic Modes 0,1,2,3,4,5,6,7
  423. - 8x8, 16x16, 32x32 and 64x64 sprite support (flipped in all directions)
  424. - Mosaic effects
  425. - 8x8 and 16x16 tiles
  426. - 32x32,64x32,32x64,64x64 tile modes
  427. - Full HDMA effects for wavy backgrounds, interesting mode 7 effects, etc.
  428. - Mode 7 rotating and scaling effects
  429. - Single and Dual Windowing Routines
  430. - BG priorities
  431. - Sprite Priorities
  432. - Add/sub of back area
  433. - 16-bit graphics support
  434. - offset per tile mode (mode 2/vertical only)
  435.  
  436. The following are implemented in the new graphics engine :
  437. - Combination of line by line and tile based graphics engine
  438. - Graphic Modes 0,1,2,3,4,5,6,7
  439. - 8x8, 16x16, 32x32 and 64x64 sprite support (flipped in all directions)
  440. - 8x8 and 16x16 tiles
  441. - 32x32,64x32,32x64,64x64 tile modes
  442. - Full HDMA effects for wavy backgrounds, interesting mode 7 effects, etc.
  443. - Mode 7 rotating and scaling effects
  444. - BG priorities
  445. - Sprite Priorities (Still needs work)
  446. - Add/sub of back area
  447.  
  448. The following are present in sound :
  449.  
  450. - 16bit digital stereo sound
  451. - SPC700 Sound CPU (very few bugs left)
  452. - DSP Sound Processor
  453.      - ADSR volume effects
  454.      - GAIN volume effects
  455.      - Noise effects
  456.  
  457. The following are extra features emulated :
  458.  
  459. - Super NES Mouse Support
  460. - Super NES Super Scope Support
  461. - SuperFX support
  462.  
  463. Following are present in 16-bit graphics mode :
  464.  
  465. - Palette changing in the middle of a screen
  466. - Screen Addition (full and half)
  467. - Screen Subtraction (full)
  468. - Fixed Color Addition/Subtraction
  469. - Window clipping for Fixed Color
  470.  
  471. The following are the features present in ZSNES :
  472.  
  473. - Game State Save (F2=Save, F3=Select, F4=Load).
  474.     Warning : A state file takes 260 kbytes of HD space!
  475. - Auto frame rate to give you constant Super Nintendo speed up to 9
  476.     frame skips
  477. - configuration file support (zsnes.cfg)
  478. - 2 player support w/ Joystick and Gamepad support
  479.  
  480. The following features are missing :
  481.  
  482. - DSP features such as echo and pitch modulation
  483. - Mode 7 horizontal flip and extbg mode
  484. - Screen Subtraction (half)
  485. - 512 snes horizontal resolution, 16x16 tiles
  486. - Pseudo 512 snes horizontal resolution
  487. - 448/478 snes vertical Interlaced resolution
  488. - Some modes in Offset Mode
  489. - Windowing in the back area of the main screen
  490. - Direct Color Mode
  491.  
  492. What will not run (or not play properly) :
  493.  
  494. - Some Super FX games such as Star Fox and Stunt Race FX
  495. - DSP games such as Mario Kart, Pilotwings, etc.
  496. - Games with other special chips such as Megaman X2 and Mario RPG
  497. - Games that have a unique sound checking routine (if sound is disabled)
  498. - Games which doesn't have a valid header (use -L or -H to get it working)
  499. - Games that hit a severe bug in the 65816/PPU/SPC700/DSP routines
  500. - Games that require special timing
  501.  
  502. ---------------------------------------------------------------------------
  503. 6.) Future Progress
  504. ---------------------------------------------------------------------------
  505.  
  506. These are only here for people who wants to know what we might do for
  507.   the future version.  Please take note that we will not guarantee that
  508.   these will be implemented nor are they listed in the order on which
  509.   they will be implemented.  They are also not guaranteed to be in the
  510.   upcoming version.
  511.  
  512. - Rewrite the sound engine, support the other missing sound features
  513. - Rewrite the GUI
  514. - Add windowing to the main screen back area
  515. - Add GRiP support
  516. - Fix up/optimise offset mode
  517. - Finish Mode 7
  518. - Add true 512 resolution
  519. - Add 448/478 interlaced resolution
  520. - Rewrite 65816 emulation (fix up timing/speed up)
  521. - Speed up emulation
  522. - Finish up new graphics engine in 256 colors
  523. - Add 16-bit mode to new graphics engine
  524. - Implement faster EAGLE support
  525. - Add Modem/Network Support
  526.  
  527. ---------------------------------------------------------------------------
  528. 7.) ZSNES Default Keys
  529. ---------------------------------------------------------------------------
  530.  
  531. Here are the keys while running the emulator:
  532.  
  533. Disable Backgrounds 1,2,3,4  = 1,2,3,4
  534. Disable Sprites              = 5
  535. Panic Key (enable all)       = 6
  536. Enable SNES Mouse            = 7
  537. Enable New Graphics Engine   = 8
  538. Disable Windowing            = 9
  539. Disable OffsetMode           = 0
  540. Fast Forward Key             = ~
  541. PopUp Extra Menu             = F1
  542. Save State                   = F2
  543. Switch State                 = F3
  544. Load State                   = F4
  545. Disable Sound Channel        = F5 - F12
  546. Quit                         = ESC
  547.  
  548. Here are the default keys for the game play (unless modified in zsnes.cfg) :
  549.  
  550. Player 1 :
  551.  
  552. Up,Down,Left,Right : Cursor Keys on Numerical Pad (You can also use
  553.                      the non-numerical pad, but numerical pad is
  554.                      strongly recommended)
  555. A,B,X,Y            : Home, End, Insert, Delete
  556. L,R                : Page Up, Page Down
  557. Start, Select      : Enter, RShift
  558.  
  559. Player 2 : (You need to enable Player 2)
  560.  
  561. Up,Down,Left,Right : K, M, N, <
  562. A,B,X,Y            : D, X, S, Z
  563. L,R                : F, C
  564. Start, Select      : Ctrl, Alt
  565.  
  566. To run the emulator, just type  ZSNES <romname.smc/.sfc/.fig/.1>
  567. To run it with sound, type  ZSNES -s <romname.smc/.sfc/.fig/.1>
  568. To run it in 16-bit mode (VESA2 w/ video card that supports 320x240x65536
  569.         required), type  ZSNES -v 3 <romname.smc/.sfc/.fig/.1>
  570.     or with sound, type  ZSNES -v 3 -s <romname.smc/.sfc/.fig/.1>
  571.  
  572. * type ZSNES -? to see the available command parameters such
  573. as how to enable joystick, etc.
  574.  
  575. ---------------------------------------------------------------------------
  576. 8.) Extra Pop-Up Menu (F1 Menu)
  577. ---------------------------------------------------------------------------
  578.  
  579. Save Snapshot - Saves a snapshot as either .PCX (8-bit color) or .BMP
  580.                 (16-bit color)
  581.  
  582. Show/Hide FPS - Shows or hides the frame per second display which appears
  583.                 on the bottom-left corner of the screen.  This can only
  584.                 be enabled in auto-frame rate mode.
  585.  
  586. Save SPC Data - Selecting this will search for the beginning of the next
  587.                 song and save the data into a .spc file which saves it
  588.                 similarly as a .srm file.  To capture a song, it is best
  589.                 recommended to initiate this feature approx 2 seconds
  590.                 before the next song starts.  This does have potential to
  591.                 fail though so don't expect it to work all the time.
  592.  
  593. Sound Buffer Dump - This dumps the sound buffer in zsnes and also filters
  594.                 out any unoccupied space.  The sound buffer contains
  595.                 decompressed samples which are written to when zsnes
  596.                 plays/decodes a sample from sound memory. Because of the
  597.                 way zsnes buffers the sound data, this can produce
  598.                 inaccurate results.
  599.  
  600. ---------------------------------------------------------------------------
  601. 9.) Configuration File (ZSNES.CFG)
  602. ---------------------------------------------------------------------------
  603.  
  604. If zsnes.cfg is missing, please run zsnes.exe since it will create one for
  605.    you if it is not there.
  606.  
  607. You may edit zsnes.cfg to enter default keys.
  608.  
  609. Here are the scan codes to use with ScanKey1 and ScanKey2 in the zsnes.cfg
  610.  
  611.  1  ESC         21 Y        41  ~        61  F3       81  PGDN
  612.  2  1           22 U        42  LSHFT    62  F4       82  INS
  613.  3  2           23 I        43  \        63  F5       83  DEL
  614.  4  3           24 O        44  Z        64  F6
  615.  5  4           25 P        45  X        65  F7
  616.  6  5           26 [        46  C        66  F8
  617.  7  6           27 ]        47  V        67  F9
  618.  8  7           28 ENTER    48  B        68  F10
  619.  9  8           29 CTRL     49  N        69  NUM
  620. 10  9           30 A        50  M        70  SCRL
  621. 11  0           31 S        51  ,        71  HOME
  622. 12  -           32 D        52  .        72  UP
  623. 13  =           33 F        53  /        73  PGUP
  624. 14  BACKSPC     34 G        54  RSHFT    74  -
  625. 15  TAB         35 H        55  PRTSC    75  LEFT
  626. 16  Q           36 J        56  ALT      76  KEY5
  627. 17  W           37 K        57  SPACE    77  RIGHT
  628. 18  E           38 L        58  CAPS     78     
  629. 19  R           39 ;        59  F1       79  END 
  630. 20  T           40 '        60  F2       80  DOWN
  631.  
  632. For joystick configuration, here are some ideal configuration for several
  633.     types of joysticks :
  634.  
  635. 2 Button Joysticks :
  636. --------------------
  637.  
  638. JoyMap1 = 0, 0, 1, 2, 4, 3, 5, 6
  639.  
  640. Gravis Gamepads :
  641. -----------------
  642.  
  643. JoyMap1 = 0, 0, 1, 2, 3, 4, 5, 6
  644.  
  645. Generic 4-button joysticks :
  646. ----------------------------
  647.  
  648. JoyMap1 = 0, 0, 1, 2, 4, 3, 5, 6  (Default)
  649.  
  650. 6-button Joystick Configurations :
  651. ----------------------------------
  652.  
  653. JoyMap1 = 0, 0, 1, 2, 3, 4, 5, 6
  654. JoyMap1 = 0, 0, 1, 2, 4, 3, 5, 6
  655. JoyMap1 = 0, 0, 1, 2, 3, 4, 6, 5
  656. JoyMap1 = 0, 0, 1, 2, 4, 3, 6, 5
  657.  
  658. If none of those configurations matches you joystick, try changing the
  659.    values around until you find one that's ideal.
  660.  
  661. Note : If you select 4 button joystick mode, buttons 5 & 6 are ignored.
  662.        If you select 2 button joystick mode, buttons 3,4,5, & 6 are ignored.
  663.  
  664. Take note that re-running zsnes.exe will automatically create any new
  665. configurations introduced in a version.
  666.  
  667. ---------------------------------------------------------------------------
  668. 10.) Cheat Codes
  669. ---------------------------------------------------------------------------
  670.  
  671. Currently, ZSNES supports Game Genie, Pro Action Replay and GoldFinger codes
  672.  
  673. Here are the steps to get the codes working :
  674.  
  675. 1.) Load the ROM which you want to patch
  676. 2.) Exit to the GUI, go to CHEAT, then enter the code of your choice
  677. 3.) After that, you may have to RESET the game to get the cheat code to
  678.       work.  Sometimes, it is not necessary.
  679.  
  680. NOTE : Some cheat codes are meant to be for different versions of the game.
  681.        If a cheat code doesn't work and there is one for both Game Genie
  682.          and Pro Action Replay, try them both.
  683.  
  684. ---------------------------------------------------------------------------
  685. 11.) Extra Features (SNES Mouse/Super Scope/SuperFX)
  686. ---------------------------------------------------------------------------
  687.  
  688. To Enable SNES Mouse, Press 7 once for 1st player and twice for 2nd player
  689. To Enable SNES Super Scope, Press 7 three times
  690. To disable either one, either press 6 or press 7 until you see a disable
  691.    message onscreen.
  692.  
  693. Here are the controls for the Super Scope :
  694.  
  695.   Fire = Left Mouse button
  696.   Cursor Mode Button = Right Mouse button
  697.   Pause = Backspace Key on keyboard
  698.   Enable/Disable Autofire = =/+ key on keyboard, should be located to the
  699.                        left of the backspace key
  700.  
  701. Zsnes auto-detects the SFX emulation from the header and enables it when
  702.    found.  Also, take note that the SFX is an additional 10Mhz(Ver1) or
  703.    20Mhz(Ver2) chip which also has to be emulated with the snes and will
  704.    most likely produce a very noticeable slow down in emulation.
  705.  
  706. ---------------------------------------------------------------------------
  707. 12.) The Debugger
  708. ---------------------------------------------------------------------------
  709.  
  710. * Note : The debugger is disabled when you don't enter zsnes with a -d
  711.  
  712. Here are the keys:
  713.  
  714. 1 : Enable/Disable spc700 display
  715. 2 : Enable/Disable 65816 display
  716. T : Trace (in 65816 opcodes)
  717. B : 65816 break point
  718. S : SPC break point
  719. C : Clear Counter
  720. M : 65816 modify
  721. A : SPC modify
  722. D : Debug Dump (SPC/DSPRam Dump Only)
  723. W : Break at signal (Used only by the programmers)
  724. F1 : Exit debugger and return to Game
  725. F2 : Save State
  726. F4 : Load State
  727. ESC : Exit entire program
  728.  
  729. ---------------------------------------------------------------------------
  730. 13.) Credits
  731. ---------------------------------------------------------------------------
  732.  
  733. Special thanks to wnelson!  Without him, ZSNES would have never existed!
  734. Also to Y0SHi for his excellent snes docs, his help, and his excellent
  735.         support!
  736.  
  737. Also Thanks to :
  738.   The_Teach of snes9x for some great info and the nice chats!
  739.   Trepalium of snes9x for some great info and help!
  740.   Gary of Snes9x and Steve Snake of KGen for being the source of info for
  741.       sound decompression!
  742.   Gary of Snes9x for being the source of info for TCall/PCall!
  743.   MrGrim for his great support!
  744.   Void for some info on Sound Blaster programming!
  745.   Aquis for the zsnes logo!
  746.   Alucard for helping us with an issue in the 65816!
  747.   Vertigo for making a compatibility list!
  748.   EFX for being a great supporter and also giving a lot of help and stuff!
  749.   Zophar for being a great supporter and also maintaining the mirror site!
  750.   Chris Hickman for redesigning the ZSNES web page!
  751.   CSoft for hosting our web page!
  752.   Marius Fodor for the code for VSync and some info!
  753.   Sardu for some great info and help!
  754.   Lord Esnes for some help!
  755.   Robert Grubbs for the sidewinder info!
  756.   Nerlaska for some useful info on optimising and also for some help!
  757.   Diskdude for writing sneskart which we used for the info on cheat codes!
  758.   DarkForce for some great help!
  759.   Pharos for some coding help!
  760.   Lestat and feenix65 of snes9x team for all the great help!
  761.   All those people who helped us by either sending us docs
  762.     helping us, supporting us, and reporting bugs!
  763.   And also to all those whom we forgot!
  764.  
  765. Special Thanks to all our beta testers for being a great help!
  766. _Demo_ would also like to give thanks to tgenius and 4999 for testing his
  767.     65816emu hack in #snesemu a while ago.
  768. Info on 256x256x256 scanlines mode is from the MAME source.  Thanks to
  769.    those behind MAME!
  770.  
  771. Also, good luck to all those who are writing emulators, especially those
  772.     who are writing snes emulators, including Esnes, Nlksnes, SNEeSe
  773.     SNEMul, and TheSE!
  774.