
                             R o c k N E S 
                  NES videogame emulator and NSF player
                              for Windows
                         ---------------------
                           ©1998-2017 Zepper
                           version 5.54 32bit
                           September 23rd 2017
                         ---------------------
                       http://rocknes.web.fc2.com
                          fx3rnes@hotmail.com
                             ICQ: 12292568
               +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+

   LICENSE AGREEMENT [january 2010, last update on August 2017]

   * RockNES is freeware, targeted for home use only. DO NOT SELL IT!
   * It can be distributed freely, provided that NO changes were made in the
 original package (see below).
   * Be aware that most popular NES games are still copyrighted with 
 all rights reserved. In most cases, distributing ROM images of such games
 infringes copyright. Please, do NOT distribute the RockNES software along
 with infringing ROMs, including any hardware BIOS.
   * No warranties! Use it at your own risk.
   * The official package contains ONLY the following files:
   +---------------------------------------------------------------+
    RockNES.exe -- The NES emulator for Windows.
    rocknes.txt -- This document.
    oldnews.txt -- Log of updates.
    alleg44.dll -- Allegro library.
    ines.txt    -- Description of the iNES header format used in this emulator.                                 |
   +---------------------------------------------------------------+
   * If you disagree with these terms, DELETE THIS SOFTWARE NOW!


 What's new for version 5.54 (09/23/2017)
 ----------------------------------------
 - Improved Famicom Disk System PPU IRQ timing (thanks Sour).
 - Fixed "Skip Disk System license screen" option, working ok.
 - Fixed scanlines in NSF mode (while playing a tune & drawing circles).
 - Fixed version number in the file properties.
 - Minor fixes and improvements.

   * Read "oldnews.txt" for the full history of updates.
 
 ---------------------------------------------------------------------------
   = KNOWN EMULATION/SOFTWARE ISSUES =

 - The NSF player always run at 60hz.
 - Sound skipping.
 - There's a small chance of a deadlock while playing .NSF files.
 - Triple buffering is fullscreen only.
 - No support for PAL (50hz).
 ---------------------------------------------------------------------------


 Table of contents
 
 1. Description
    » First run.
    » NES memory quick overview.
    » Supported features.
    » Unemulated hardware/features.
    » The config file.
    » Wallpapers.

 2. Player controls
    » Hotkeys and shortcuts.

 3. Using the GUI
    » Screen sizes and modes + custom fullscreen.
    » Sound settings.
    » Game Genie codes.
    » Playing NSF music files.
    » Palettes and color styles.
    » NES memory dumping.

 4. VS System
 5. Famicom Disk System
 6. The PRG ROM disassembler
 7. CREDITS (no special order)

 [==========================================================================]

 1. Description
 --------------

 	RockNES emulates the Nintendo Entertainment System videogame, also known as NES,
 released in 1985 in North America. This emulator is fully coded in C, uses the Allegro
 library for audio, video and PC input devices, and the zLib library for ZIP files. 
        Compiled with gcc 5.3.0 32bit under Orwell's Dev-C++.
        Sound output uses 48000hz, default is mono. Video is windowed at 512x480 pixels,
 32 bits RGB color space. Supported input devices are keyboard, joystick and mouse.
        A minimal PC hardware requirement is unknown, but an Intel Core i3 should do it.
 The configuration file is "rocknes.ini". It's loaded on startup and auto generated.
        ZIP files are supported (first file only), even for loading your saved progress.
        Certain ascii characters on file names (accents like ã,é,ê and more) are NOT 
 supported. No command line switches are available.
+------------+
| GCC flags: +-----------------------------------------------------------------+
| -march=i686 -msse3 -O3 -m32 -Wall -mwindows -pipe -funroll-loops -ffast-math |
+------------------------------------------------------------------------------+

 * FIRST RUN *
 *************
 - When the blue GUI bar appears, pick an option! Usually you would go to [Game]->Load ROM... option.
 Files must bring a valid header of 16 bytes. Supported files are:

   .NES -- defaults for NES/Famicom games;
   .FDS -- defaults for Famicom Disk System games;
   .NSF -- ripped music code.

   +---------------------------+
   | NES memory quick overview |
   +---------------------------+

     CPU  
     $0000-$07FF: RAM. 
     $0800-$1FFF: Mirrors of $0000-$07FF.
     $2000-$2007: PPU registers.
     $2008-$3FFF: Mirrors of $2000-$2007.
     $4000-$4017: APU registers, but $4014 is PPU OAM DMA, and $4016 joypads.
     $4018-$5FFF: Usually assigned by the cartridge, mapper controlled.
     $6000-$7FFF: Usually PRG RAM or backed battery data.
     $8000-$FFFF: Usually PRG ROM banks.

     PPU
     $0000-$1FFF: CHR RAM or CHR ROM pages.
     $2000-$2FFF: Nametable data.
     $3000-$3E1F: Mirrors of $2000-$2FFF.
     $3F00-$3F1F: Palette (not RGB values).
     $3F20-$3FFF: Mirrors of $3F00-$3F1F.

   +--------------------+
   | Supported features |
   +--------------------+

   - 6502 CPU + APU + PPU emulation under the NTSC defaults.
   - All the official and unofficial 6502 CPU opcodes.
   - Joypads 1 and 2.
   - Konami VRC6 sound expansion.
   - Partial VS System support.
   - Backed battery saving to disk.
   - Partial Famicom Disk System emulated as mapper 20.
   - NSF music files are emulated as mapper 256.
   - Supported mappers: 0,1,2,3,4,5,7,9,10,11,13,15,16,18,19,20,21,22,23,24,25,26,
 32,33,34,40,41,42,43,44,46,48,57,58,64,65,66,67,68,69,70,71,73,75,76,78,79,83,85,
 86,87,88,89,90,91,92,93,94,97,99,101,113,117,118,119,150,151,160,180,184,187,189,
 211,225,226,227,228,229,230,231,232,233,234,235,240,243,246,255,256.
   - Joypad data logging for replays.
   - Ability to save your progress at anytime (also known as savestates).
   - Ability to patch any CPU or PRG ROM/CHR ROM data at a specific address.
   - Complete user's interface (GUI) and configuration file "rocknes.ini".
   - NES sound recording in WAVE format.
   - CPU 6502 disassembler.
   - Pseudo stereo sound output, including a famiclone-style.
   - Game screen upscaling 2x, 3x, 4x, and 4.5x.
   - Aspect ratio available are pixel perfect, NTSC square and VGA (4:3).
   - Fullscreen triple buffering, for smooth scrolling.
   - Optional vertical retrace sync.
   - Motion blur screen filtering.
   - PPU/CPU memory dumping.
   - Palette viewers.
   - Game Genie codes.
        
   +-------------------------------+
   | Unsupported hardware/features |
   +-------------------------------+

   - PAL emulation (50hz).
   - Famicom, Dendy and other hardwares.
   - Zapper, Power Pad and other input devices.
   - 3rd and 4th joypads.
   - VS Dualsystem/Playchoice-10 upper monitor, requires z80 CPU emulation.
   - Sound expansions like MMC5, VRC7, Famicom Disk System or Namcot N109.
   - MMC5 split screen mode used only by the game "Uchuu Keibitai SDF".
   - Rewind emulation.

   +------------+
   | Wallpapers |
   +------------+

   - You can configure a wallpaper to be displayed while in fullscreen mode (only BMP files).
   - To select a wallpaper, go to [Options] -> Video -> load wallpaper.
   - To disable the current wallpaper, go to [Options] -> Video... -> remove wallpaper.
 
 [==========================================================================]

 2. Player controls
 ------------------

 > Default settings:

    player 1 -> Input device is KEYBOARD.
    player 2 -> No input device.

   [KEYBOARD]
    D-pad + = Keyboard arrows.
    B       = Z key.
    A       = X key.
    SELECT  = Tab key.
    START   = Enter key.


   [JOYSTICK SETUP]
    D-pad + = joystick D-pad.
    B       = button 2.
    A       = button 1.
    SELECT  = button 3.
    START   = button 4.

        <<--------------------------------------------------------->>
           Hotkeys

  GUI call
  ========
  <ESC> Swap to GUI/back to the gameplay.
  +--------------------------------------------------------+
  | While in the GUI, the following shortcuts can be used. |
  +--------------------------------------------------------+
  | <Ctrl>+X to quit program.                              | 
  | <Ctrl>+L to load ROM.                                  | 
  | <Ctrl>+G for Game Genie codes.                         |
  | <Ctrl>+P for viewing the current NES palette.          |
  +--------------------------------------------------------+

  <Alt>+<Enter> switches between fullscreen and windowed modes.

  <TILDE> Fast forward (if your PC is fast enough for it).
  * The fast-forward key does NOT work in triple buffering mode!

  <F1> toggles FPS display.
  <F2> save state.
  <F3> slot select, up to 15 (extensions rs0, rs1, rs2... rs9, rsa, rsb... rsf).
  <F4> restore state.
  <F5> soft reset. Hold <shift> to hard reset.
  <F6> virtual disk swap (B side->A side->B side...)
  <F7> virtual disk insert/eject.
  <F8> insert coin.
  <F9> movie recording.
 <F10> movie play.
 <F11> quit to OS.
 <F12> screenshot (PPU output), hold <shift> to snap the fullscreen/Windows desktop.


  Screen size (upscalers) and mode selection
  ==========================================

  Key  Selection
  ---  --------- 
  <1>  reset to the original size (256x240).
  <2>  cycle through 2x, 3x, 4x and 4.5x screen upscalers.
  <3>  aspect ratio (pixel perfect, NTSC ratio or VGA 4:3).
  <4>  scanlines.
  <5>  color style, changes the current palette colors.

 [==========================================================================]

 3. Using the GUI
 ----------------

 * Since 256x240 windowed mode is much small to suit the menu bar, a shorter menu
 bar is used if the resolution is lower than 480p.

 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  Short menu bar
 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

 [ |=|  Help  ]
   +-----------------+ 
   | Load ROM...     | File select (NES,NSF,FDS,ZIP,GZ).
   | File info       | View header/file info.
   | Screen size     | Select the screen size (blitter).
   +-----------------+
   | Reset           | Soft reset.
   | Hard reset      | Hard reset, power off->on.
   +-----------------+
   | Quit            | Close the program.
   +-----------------+


 [  =  |Help| ]
       +------------------+ 
       | Information!     | A warning message about the short menu & low resolution.
       | Restore defaults | Restore all the default settings.
       +------------------+ 
       | About RockNES... | Version info and copyright.
       +------------------+ 

 =-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  Full menu bar
 =-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

 Note: the symbol > denotes a submenu for it.

           [ |Game|  CPU   Misc   Options   ?  ]
             +-----------------+ 
             | Load ROM...     | File select (NES,NSF,FDS,ZIP,GZ).
             | File info       | View header/file info.
             +-----------------+
             | Save state      | Save your progress.
             | Restore state   | Restore your progress.
             +-----------------+
             | Take screenshot | Screenshot saved as bitmap (BMP).
             | Sound recorder  | WAV files at 48000hz, 16bit.
             | Quit            | Close the program.
             +-----------------+


           [  Game  |CPU|  Misc   Options   ?  ]
                    +------------------+
                    | Reset            | Soft reset.
                    | Hard reset       | Hard reset, power off->on.
                    +------------------+
                    | PRG disassembler | PRG ROM disassembler and CPU state.
                    | Set address...   | An alternate interface.
                    +------------------+
                    | View CPU state   | Registers and banks.
                    | Memory dump...  >  Saves NES memory to disk.
                    +------------------+

       +-------------+ 
    ---> RAM         |  (*.ram) NES RAM memory $0000-$07FF.
       | $6000-$7FFF |  (*.wrm) Usually PRG RAM or backed battery data.
       | $8000-$FFFF |  (*.p8f) PRG ROM data.
       +-------------+
       | PRG ROM     |  (*.rom) PRoGram ROM data (cartridge).
       | CHR ROM     |  (*.chr) CHaRacter ROM data (cartridge).
       +-------------+
       | CHR RAM     |  (*.ppu) Character RAM data (PPU).
       +-------------+
       | Palette RAM |  (*.plt) Color look-up table $3F00-$3F1F, 32 bytes long.
       | Nametables  |  (*.nam) Tiles and color attributes, 4 x $400 bytes.
       | Sprites     |  (*.oam) Also known as sprite RAM, 256 bytes long.
       +-------------+


           [  Game   CPU  |Misc|  Options   ?  ]
                          +------------------+
                          | Movies...       >| movie stop, play, status.
                          | Palettes...     >| PAL files and colors.
                          +------------------+
                          | ROM corruption   | Corrupts a portion of memory.
                          | ROM patch        | Modify any PRG ROM data at certain address.
                          | CPU memory patch | Modify any CPU value at certain address.
                          +------------------+
                          | Game Genie codes | You can enter up to 10 GG codes.
                          +------------------+


           [  Game   CPU   Misc  |Options|  ?  ]
                                 +------------------+
                                 | Video...        >  ---> ...
                                 | Input devices    | Input device configuration.
                                 | Turbo speed      | Turbo for buttoms.
                                 | Set directories  | Configure directories.
                                 +------------------+
                                 | Sound settings   | Sound configuration.
                                 | General settings | A couple of other options.
                                 +------------------+

        +------------------------+ 
 ... ---> Screen size            | Select the screen size (blitter).
        | Set resolution         | Select a custom fullscreen/windowed size.
        | Use desktop resolution | Use the current desktop resolution for fullscreen.
        +------------------------+
        | Buffering method       | Selects triple or double buffering.
        | Load wallpaper...      | Selects a wallpaper file (.BMP) to be used in background.
        +------------------------+
        | Remove wallpaper       | Removes the current wallpaper.
        +------------------------+

           [  Game   CPU   Misc   Options | ? |]
                                        +------------------+ 
                                        | System info      | Video/audio/inputs.
                                        | Video info       | Video context.
                                        | Restore defaults | Restore all the default settings.
                                        +------------------+ 
                                        | About RockNES... | Version info and copyright.
                                        +------------------+ 

        <<--------------------------------------------------------->>
           Screen sizes and modes + custom fullscreen

 - The original NES PPU has 256x240 pixels, but in most old NTSC TVs, only 256x224 pixels are
 visible. RockNES always display all the scanlines.
 - The triple buffering mode minimizes the screen tearing effect/flickering.
 It'll always be in fullscreen mode, and you can't switch to a windowed mode.
 - Available upscalers (screen sizes) are:

     0 - ORIGINAL SIZE 240p
     1 - 2x SIZE 480p
     2 - 3x SIZE 720p
     3 - 4x SIZE 960p
     4 - 4.5x SIZE 1080p

 * Press key <2> to change the upscaler (blitter). It'll go back to the original size
if the maximum size is reached.
 * Press key <3> to change the aspect ratio: pixel perfect, NTSC square or VGA 4:3.
 * Press key <4> to activate scanlines.

    >> CUSTOM FULLSCREEN MODE

 - In modern computers/monitors, it's NOT recommended to go under 480p, but always the native
 monitor resolution.

 1) Go at Options->General settings, and check the option "Always use my last video resolution".
 2) Accept the risk and click "Yes" in the message popup.
 3) Go at Options->Video->Set screen resolution. Pick a DirectDraw-driver (usually accel), then
 select a resolution on the right column. Click OK to set the new mode.

 * If OK, RockNES will always start at fullscreen and using the specified resolution.
 * Remember to check the "Always use my last video resolution" in General settings, or your
 resolution won't be saved.
 * This option is cleared once you switched to a windowed mode.


         <<--------------------------------------------------------->>
           Sound settings

 [x] Sound output...........: enable/disable sound output.
 [ ] Use stereo mode........: enables stereo mode.
 [ ] Use famiclone style....: swaps pulse waves duty cycles to sound like famiclones.
 [ ] Use unsigned samples...: use unsigned samples, no high-pass filtering is applied.
 [ ] Use interpolation......: an easy sound sample interpolation, adds more bass.

         <<--------------------------------------------------------->>
           Game Genie codes

 - It's easy to add Game Genie codes. Go at GUI Misc->Game Genie codes (or press Ctrl+G)
 and the GUI dialog will appear.

 1) Insert a code (6 or 8 chars) and click DECODE button.
 2) If the address and value are OK, click ADD button to include it on the list.
 3) Enable or disable a certain code by checkmarking them at left of the list!

 * Click CLEAR button to clear the current decoded GameGenie code.
 * Select a code in the list, then click REMOVE to delete it from the list.
 * You can enter up to 10 codes.   
 
         <<--------------------------------------------------------->>
            Playing NSF files

 - NSF is sound music code, usually ripped from NES files or created by a
 music sequencer like Famitracker.
 - During the playback, coloured circles are drawn in the screen.

     +-----------------------------+
     | dark blue..: pulse wave #1  |
     | light blue.: pulse wave #2  |
     | red........: triangle wave  | NES APU
     | white......: noise wave     |
     | green......: DMC playback   |
     +-----------------------------+
     | dark pink..: VRC6 square #1 |
     | light pink.: VRC6 square #2 | VRC6 sound
     | orange.....: VRC6 sawtooth  |
     +-----------------------------+

 - Keyboard arrows change tracks.   <- PREVIOUS   NEXT ->
 - Key <ENTER> (re)plays the current track.
 - You can use savestates.
 - There's no way to manually stop a playback. Use <ESC> to swap to GUI.


        <<--------------------------------------------------------->>
           Palettes and color styles

 - RockNES has a 16bit RGB palette created from the game "Rockman Complete Works"
 for Sony PlayStation. The missing entries were filled up from a palette provided
 by Chris Covell. However, the NTSC palette by Joel Yliluoma is now default for
 its accuracy in replicating the NTSC colors in RGB space.

 [  !   Game   CPU  |Misc|  Options   ?  ]
                    +-----------------------+
                    | Movie...             >+---------------------+
                    | Palette...           >  Load palette        |
                    |-----------------------| Save palette        |
                    | PRG ROM patching      | Set default palette |
                    | PRG ROM corruption    |---------------------|
                    | CPU value modifier    | VS palette tables   |
                    +-----------------------| VS RGB palettes     |
                                            |---------------------|
                                            | Color styles        |
                                            | View palette RAM    |
                                            | View NES palette    |
                                            +---------------------+


 - Palette files (.pal) must bring 64 RGB triplets, making 192 bytes long.
 - Color emphasis palettes are auto generated; no need of storing them together!
 - To use the original palette, go to Options -> General settings, 
 and UNCHECK "Use NTSC alternate palette".


 * COLOR STYLE *
 ***************
 - Go at Misc->Palette...->Color style.
 - Press key 5 to cycle through them. Hold <shift> to go backwards.

     0. Default colors.........: the NES palette.
     1. RGB fix................: usually "kills" light cianos, light browns or magenta color tunes.
     2. Game Boy (green).......: Game Boy green scale.
     3. Game Boy (green)(alt)..: Game Boy alternate green scale.
     4. Game Boy (green)(alt+).: adds brightness correction.
     5. Game Boy (alt).........: Game Boy 4 colors - black, green, blue and white.
     6. Game Boy (alt+)........: adds brightness correction.
     7. Game Boy (grayscale)...: Game Boy 4 shades of gray.
     8. Black & white..........: 2 colors.
     9. Black & white (+gray)..: black, white and grays.
    10. Red emphasis...........: deemphasis green and blue.
    11. Green emphasis.........: deemphasis red and blue.
    12. Blue emphasis..........: deemphasis red and green.
    13. Grayscale..............: monochrome.
    14. Grayscale (alt)........: monochrome with brightness correction.
    15. Grayscale (alt)(neg)...: negative monochrome.
    16. Sepia..................: reddish-brown color.
    17. Sepia (alt)............: reddish-brown color using a different brightness.
    18. Mushroom...............: shifted colors.
    19. Royal Yellow...........: shades of yellow.
    20. Navy Blue (Crayola)....: shades of blue.
    21. Red Spain..............: shades of red.
    22. Green Plant............: shades of green.
    23. Magenta................: shades of magenta.
    24. Olive..................: a cool green color filtering.
    25. Nocturne...............: blended red and blue.
    26. Sketch.................: high brightness grayscale.
    27. [B-G-R] SET............: reversed RGB components.
    28. [B-R-G] SET............: uses blue, red and green order.
    29. [G-R-B] SET............: uses green, red and blue order.
    30. [G-B-R] SET............: uses green, blue and red order.
    31. [R-B-G] SET............: uses red, blue and green order.  

 [==========================================================================]

 4. VS System
 ------------
 "The Nintendo VS Series was a series of arcade video games designed for two player
 competitive play using the VS. UniSystem or VS. DualSystem, arcade system boards
 based on the Nintendo Entertainment System. Many of these stand-up or sit-down
 arcade machines had two screens and controls joined at an angle. These games were
 arcade ports of home video games for the Nintendo Entertainment System, thus they
 could be sold cheaply to arcades in the late 80s".
 Source:
 http://en.wikipedia.org/wiki/Nintendo_Vs._Series/
 
 - Support is partial. Once you load a game, choose a proper RGB palette set!
 Go at [Misc]->Palette and pick an option. Game titles are just quick references.
 - Press <F8> to "insert coins". DIP switches are NOT supported.

 [==========================================================================]

 5. Famicom Disk System (FDS)
 ----------------------------

 - It's a peripheral for the Nintendo Family Computer console in Japan. It was a
 unit that used proprietary floppy disks, called "Disk Cards" for data storage.
 Currently, the disk images were poorly dumped, missing important data.
 - The emulator requires the file "disksys.rom" placed together with RockNES.
 Supported games use the .FDS extension. No extra sound is currently emulated.
 - Once you load a game, the BIOS initializes the system. When the title screen
 appears, you usually is prompted to "set disk/side B".

 1. Press <F7> to "eject" the virtual disk.
 2. Now press <F6> to change the disk side (B)
 3. Press <F7> again to "reinsert" the disk.
 
 [==========================================================================]

 6. The PRG ROM data disassemblers
 ---------------------------------

 ** NOTE that there's no support for debugging, such as inserting breakpoints
 or watching certain RAM or other memory locations.

 # [1] Disassembler overview      #
 ##################################
 +------------------------------------+
 |$8000 *A=90, X=05, Y=00, S=FF, P=A5 |  -> CPU registers: PC, A, X, Y, S, P.
 |PRG bank 08 [$1C000]                |  -> PRG ROM bank number and file offset.
 |+----------------------------------+| 
 ||8000 78       SEI                 || 
 ||8001 D8       CLD                 ||
 ||8002 A9 10    LDA #$10            || 
 ||8004 8D 00 20 STA $2000           ||
 ||8007 A2 FF    LDX #$FF            ||
 ||8009 9A       TXS                 ||
 ||800A AD 02 20 LDA $2002           ||  -> 6502 program code.
 ||800D 10 FB    BPL $800A           ||
 ||800F AD 02 20 LDA $2002           ||
 ||8012 10 FB    BPL $800F           ||
 ||8014 A0 FE    LDY #$FE            ||
 ||8016 A2 05    LDX #$05            ||
 ||8018 BD D7 07 LDA $07D7, X        ||
 ||801B C9 0A    CMP #$0A            ||
 ||801D B0 0C    BCS $802B           ||
 ||801F CA       DEX                 ||
 |+----------------------------------+|
 | BASE ADDRESS SELECT:               |
 |( )$4000 ( )$5000 ( )$6000 ( )$7000 |  -> CPU base address selection.
 |(o)$8000 ( )$9000 ( )$A000 ( )$B000 |
 |( )$C000 ( )$D000 ( )$E000 ( )$F000 |
 +------------------------------------+

 > If you select $8000, the entire PRG ROM bank at $8000-$8FFF is disassembled.
 > Click "Refresh" to disassemble the current selected CPU region.
 > Click "Save" to write the disassembled code into a text file.
 > This feature is read-only. Mods are not allowed here.

 ##################################
 # [2] Custom disassembler mode   #
 ##################################

 +---------------------------------------------------+
 |+-------------------------------------------------+|
 || Disassembler                                 [X]||
 |+-------------------------------------------------+|
 |                                                   |
 |  Base address:                                    |
 |   8000___ [Refresh] [o]CPU  [ ]ROM     [Save]     |
 |                                                   |
 |+---------------------------------+ +------------+ |
 ||8000 78       SEI                | |PC=$8057    | |
 ||8001 D8       CLD                | | A=$90      | |
 ||8002 A9 10    LDA #$10           | | X=$05      | |
 ||8004 8D 00 20 STA $2000          | | Y=$00      | |
 ||8007 A2 FF    LDX #$FF           | | S=$FF      | |
 ||8009 9A       TXS                | | P=$A5      | |
 ||800A AD 02 20 LDA $2002          | |            | |
 ||800D 10 FB    BPL $800A          | |$6000 = $FF | |
 ||800F AD 02 20 LDA $2002          | |$8000 = $00 | |
 ||8012 10 FB    BPL $800F          | |$A000 = $01 | |
 ||8014 A0 FE    LDY #$FE           | |$C000 = $02 | |
 ||8016 A2 05    LDX #$05           | |$E000 = $03 | |
 ||8018 BD D7 07 LDA $07D7, X       | |            | |
 ||801B C9 0A    CMP #$0A           | |            | |
 ||801D B0 0C    BCS $802B          | |            | |
 ||801F CA       DEX                | |            | |
 |+---------------------------------+ +------------+ |
 +---------------------------------------------------+

 > It's much like the previous one with a different layout. The PRG bank
 numbers are displayed. Usually, a value of $FF indicates open bus.
   * Switch to CPU for disassembling data from any CPU space.
   * Switch to PRG for disassembling using ROM data address.
   * Click [Save] to write the disassembled code into a text file.

 > NOTE: PRG ROM banks are disassembled within 4096 bytes ($1000).
 Since the disassembler cannot cross the page, the output always start at
 $8000, $9000, $A000 etc., ignoring the offset.

 [==========================================================================]

 7. CREDITS
 ----------

 gcc (GCC) 5.3.0
 Copyright ©2015 Free Software Foundation, Inc.

 The Dev-C++ resource site
 http://www.bloodshed.net/dev

 Orwell Dev-C++
 The main site of the 2011 Dev-C++ fork
 http://orwelldevcpp.blogspot.com.br/

 Allegro library, by Shawn Hargreaves
 http://alleg.sourceforge.net/

 Joel Yliluoma
 http://bisqwit.iki.fi/

 Alastair Bridgewater - author of Darcnes, another NES emulator.
 
 unzip.c -- IO for uncompress .zip files using zlib
 Version 1.01h, December 28th, 2009
 Copyright ©1998-2009 Gilles Vollant

 Quietust
 http://www.qmtpro.com/~nes/nintendulator/

 Marat Fayzullin
 http://fms.komkon.org

 [=========================================================================]
EOF