
--------------------------------------------------------------------
*************** USE THIS SOFTWARE IN OWN RISK **********************
--------------------------------------------------------------------
   ****************************************
   *****                                   **
   *****   Destiny : Full Snes Emulation.    **
   *****   Esnes v 0.12a LordEsnes.        **
   ****************************************

   LordEsnes, Carlos A. Lozano hold no warranties of any kind on this
   product. It is at your own risk that you use ESNES. The author
   may not be held liable or responsible for any consequences as a
   result of the use or the inability to use this program,
   its contents or its document in any way, shape, or form.

   *******************************************************************
   1. NEW ADDITIONS ( Esnes version 0.12a for DOS : (08-05-97) )
   *******************************************************************

   Real Time Save game support has been added, now you can always
   save and restore a play. Some important bugs in the cpu emulation
   has been fixed, the memory maps has been changed, the mode 21
   games are working better now, but I think that it isn't correct
   yet. Some minnors bugs have been fixed in HDMA and Mode 7. Now
   during the game you can do a pause using the key 'P'. Besides
   a new graphics mode has been include, vesa2 with 640x480 (-vesa640).
   A lot of stuff are working better. Read the Docs, and
   type : esnes, if you want see the new options.

   ( SINCERELY, VERY THANKS TO GARY, JERREMY and to the snes97 list)

   *******************************************************************
   2. SYSTEM REQUERIMENTS.
   *******************************************************************

   Minimal System :
      + 386 or compatible
      + ? Mb.
      + VGA & ModeX.
      + MsDos ?.??

   Optimal System : ( for 95-100 % of the snes speed )
      + Pentium 166+
      + 8 Mb.
      + SVGA & Vesa2.
      + MsDos 6.00

   *******************************************************************
   3. INSTRUCCTIONS FOR USE.
   *******************************************************************

    3.1. What do you need ?

    - cwsdpmi.exe
    - esnes.exe
    - some roms in SMC, SFC, SWC or MGD II format.

    3.2. Running esnes.

      Usage :

           esnes NameOfGame.smc <Options>

      Options :

         -frame number ; Frame Skip. (default 4) ;
         -sram file    ; SRAM file. (default NameOfGame.srm)
         -int          ; Interleaved ROM format.
         -joy          ; Joystick - 2 buttons. (default keyboard).
         -joy4         ; Joystick - 4 buttons. (default keyboard).
         -ntcs         ; Forced NTCS game. (default AutoDetect).
         -pal          ; Forced PAL game. (default AutoDetect).
         -apu          ; SPC Skip Not Self-Modifing. (default Self-Mod.)
         -apu2         ; Other SPC Skip Method. (default Self-Mod.)
         -vesa         ; Vesa Mode Graphics. (default ModeX)
         -vesa2        ; Vesa2 Mode Graphics. (default ModeX)
         -vesa640      ; Vesa2 Mode Graphics(640x480). (default ModeX)
         -PATCH1 #:#/# ; Patch a Byte in memory.
         -PATCH2 #:#/# ; Patch a Word in memory.
         -PARx #       ; Pro Action Replay Codes. (x = 1..3 )
         -SGx          ; Restore a Saved Game file. (x = 0..2 )

      ( See the section 3.5. New Options )
      ( See the section 3.6. Patches and Cheats )
      ( See the section 3.7. Real Time Save game support )

    3.3. Controlling the game.

      During the game you be able use this keys, besides you can
      use 2-4 buttons joystick ( read 3.5. )

       --- ---
      | E | R |            PC             SNES
      --- ---          -----------   ----------------------------
     | S | D |         S,D,Z,X,C,V,E,R = X,A,Y,B,Select,Start,R,L
     ---- --- --- ---  Push ESC or CTROL+ALT+END to exit.
    | Z | X | C | V |
     --- --- --- ---                     ---
                                        |   |
                                    ---- --- ----
                                   | <- |   | -> |

    3.4. Special Options, during the game.

      Push F1 Activate/Desactivate plane 1. (zelda3)
      Push F2 Activate/Desactivate plane 2.
      Push F3 Activate/Desactivate plane 3.

      Push F5 Save the state of the game.
      Push F6 Save the state of the game.

      Push P Activate/Desactive the Pause.

      Push 1 Desactive HDMA.
      Push 2 Change offset plane 3.
      Push 3 Change offset plane 3.
      Push 4 Select Joypad 1. ( snes joypad, NO PC Joystick )
      Push 5 Select Joypad 2. ( snes joypad, NO PC Joystick )
      Push 6 Force Screen ON.
      Push 7 Normal Screen Mode.
      Push 8 You will get a picture of your favourite game ( if you
      favourite game works ).

      Push ESC or CTROL+ALT+END to EXIT.

    3.5. Options.

       ( NOTE !!! : Use -int, -sram, -joy ... NO -INT, -SRAM or -JOY ..)

       (*)  -sram file      : Now you can have several .srm files in
            every game. On default esnes will load a file called
            like the game but with the extension .srm.

       (*)  -int            : Some Unit of Backup save the rom in
            Interleaved format, with this option that rom can
            be loaded. (Ex : final fight 3, but there are a lot of.)

       (*)  -joy or -joy4   : La new version includes 2-4 buttons
            joystick support. This has problems with some
            joysticks but I don't know why.

       (*)  -ntcs or -pal   : Esnes autodetects the type of rom, but
            in some roms this is incorrect. If you have problems
            with the ntcs-pal protection, use this option.

       (*)  -apu            : On default esnes uses a SPC Skip
            Self-Modifing, but it crashes in some roms. With this
            options some new roms will work.
            (Ex: Thunder Mission, Allstars (with trainer)...)

       (*)  -apu2           : On default esnes uses a SPC Skip
            Self-Modifing, but it crashes in some roms. With this
            options some new roms will work.

       (*)  -vesa or -vesa2 : On defaults esnes uses ModeX, but
            if you have a vesa or vesa2 driver, and your svga
            board is compatible with allegro, you can run esnes
            in vesa or vesa2 graphics mode.
            (Ex : Vesa2 is 5-10% faster than ModeX in my computer.)

       (*)  -vesa640        : Vesa2 with a resolution : 640x480

    3.6. Patches and Cheats.

     ( NOTE !!! : Use -PATCH1, -PAR1 ... NO -patch1, -par1 ..)

     - In this version esnes can patch a rom in memory after of
       be loaded. This was made for avoid some APU checks very
       complex used in some games.

         -PATCH1 #1:#2/#3 ; Patch a Byte in memory.

           #1 Bank, #2 Address, #3 Data (1 byte). ( In hexadecimal ).
           (Ex : -PATCH1 80:ea10/00 , -PATCH1 00:012f/01 ... )

         -PATCH2 #1:#2/#3 ; Patch a Word in memory.

           #1 Bank, #2 Address, #3 Data. (2 bytes). ( In hexadecimal ).
           (Ex : -PATCH2 80:ea10/0011 , -PATCH2 00:012f/0100 ... )

        ( See the appendix C, for a list of interesting patches ).

     - In this version esnes includes Pro Action Replay Codes support.
       Now you can get Lives, Energy and other things in your favourite
       roms. You can use 1,2 or even 3 Codes together in every rom.

         -PAR1 # -PAR2 # -PAR3 #

          # 8 characters : bbaaaadd : b = bank ; a = address ; d = data

          (Ex : Energy in Addams family 1 : -PAR1 7e00c302 -PAR2 7e03efcb
                Energy in Robocop 3 : -PAR1 7e047937 )

    3.7. Real Time Save game support.

       Now, Esnes has Real Time Save game support, with this you
       can save and restore the state of a play. It can be done
       of two ways :

       a) Pushing F5 and F6 during the play, F5 save and F6
          restore. When you save a game, you must type the number
          saved game, it can be 0,1 or 3, it 'll be saved with
          the name : NameOfGame.sgx (x = 0 or 1 or 2). When you
          restore a saved game, you must type the its number.

       b) You can restore a game using a comand line, -SGx, where
          x is the number of the saved game.(0,1 or 2).

          ( For example : esnes game -SG0 )

   *******************************************************************
   4. CURRENT SUPPORTED.
   *******************************************************************

     Actually ESNES supports :

     * The complete 65816 instruction Set.
     * 32x32,32x64,64x32,64x64 screen map mode.
     * 8x8 and 16x16 tile modes.
     * Screen Modes 0,1,2,3,4,5,6 and 7.
     * Complete OAM/VRAM/WRAM/CGRAM.
     * Complete tile-based scroll.
     * Complete OAM Objects.
     * Sprite,BG priorities.
     * DMA and HDMA Support.
     * NMI,COP,BRK,IRQ Interrupts.
     * Silent Audio Emulation.
     * SMC/SFC/SWC format support (with/without header).
     * Multi Game Doctor II (simple/multi file) format support.
     * Interleaved format.
     * LoROM and HiROM.
     * SRAM Backup Support (LoROM and HiROM)
     * Screen Fading.
     * Mode 7 effects (Except External Mode 7).
     * Real Time Save game support.

     In the Far Future :

     * Windows Functions.
     * SPC700 Emulation.
     * DSP Emulation.
     * FX Emulation.
     * Screen Add/Sub.
     * GUI.

   *******************************************************************
   5. FAQ.
   *******************************************************************

    (*) When will esnes support sound ?

        Ishmair and I have started to work in the sound, but
        we need complete docs about it, with our docs
        it can NOT be emulate.

    (*) Can I use Real time save file from other emulator ?

        No, esnes uses its own format.

    (*) Why ESNES is very slow in my computer ?

        ESNES is full wrotten in C. Ishmair is working in a
        new CPU engine in assembly.

    (*) I got the error : " Load error: no DPMI " ; What is the
        problem ?

        You need the file cwsdmpi.exe if you want run ESNES.

    (*) Why doesn't (favourite game) work in ESNES ?

        I don't know. Please don't bored me.

    (*) When will the next version of ESNES be out ?

        I don't know. Please don't bored me.
        I am thinking in send you, a copy of all the mails that
        I receive with this ask.

    (*) ESNES is very fast in my computer. ( PPro hehe ;-))
        What can I do to fix it ? 

        try  : esnes <games.smc> -frame 1
        or     esnes <games.smc> -frame 2
        or     esnes <games.smc> -frame 3

   *******************************************************************
   6. ROMs SUPPORTED.
   *******************************************************************

    Actually a lot of ROMs work in ESNES. I think that at least the
    80 % of the demos. A lot of Games work in ESNES (but 'work' is
    different of 'playable'), now A LOT OF GAMES are PLAYABLE.

    SORRY, I HAVE RECEIVED A LOT OF QUESTIONS ABOUT ROMS.

   *******************************************************************
   7. HOW CAN I GET HELP YOU ?
   *******************************************************************

    If you have problems send me a mail, but please, Don't said me
    that you got this message : "Opcode NOT implemented : xx".
    mailto: calb@gsyc.inf.uc3m.es

   *******************************************************************
   A. HOW CAN I GET COMMERCIAL ROMS ? -- LAMERs SECTION
   *******************************************************************

    DON'T ASK ME ABOUT COMMERCIAL ROMS. YOU CAN GET FREE ROMS IN
    INTERNET USE SOME SEARCH ENGINE. IF YOU ASK ME ABOUT COMMERCIAL
    ROMS, I WILL SEND YOUR E-MAIL TO A SOFTWARE PROTECTION AGENCY.

   *******************************************************************
   B. HOW CAN YOU HELP ME ?
   *******************************************************************

    I NEED YET INFORMATION ABOUT THE CHIP FX, DSP CHIPS, AND SPC700.

    BESIDES I AM SEARCHING A SNES MANUAL, IF YOU CAN HELP ME
    I 'LL BE VERY GRATEFULL WITH YOU. I AM SEARCHING
    THE CPU 65816 DOCS.

    I WOULD LIKE SPEAK WITH A SNES PROGRAMMER, I NEED KNOW
    HOW THE TIMING WORKS, EXACTLY.

   *******************************************************************
   C. TRICKS
   *******************************************************************

      Allstars         -PATCH2 00:802e/0000 or -apu
      Dragon Quest V   -PATCH2 24:fe25/1280
      Dragon Quest VI  -PATCH2 c1:f0fb/1880
      Animaniacs       -PATCH2 80:b4e2/1280
      Iron Comando     -PATCH2 81:8e82/eaea
      SFS 95 Della Serie -PATCH2 c2:2977/eaea
      Captain Tubasa 5   -PATCH2 00:8536/0280
      Pretty Fighter     -PATCH2 c0:f3f5/eaea
      Turf Hero          -PATCH2 00:846e/0280
      Bassin's Black Bass -apu -PATCH2 00:93af/eaea -PATCH1 00:93bc/04
                          -PAR1 0093bb80
      Hagane        -apu -PATCH1 c0:d1fe/00 -PAR1 c0d2df80
                    -PATCH2 c0:d2ac/0780 -PAR2 c0d27100 -PAR3 c0d0a800
      Gokujames Parodius    -PATCH1 80:b2f6/12
      Dragon Bruce Lee      -apu -PAR1 c0c61100
      The Tick              -PAR3 80872400
      Stell Knights 3       -apu -PAR1 9283bb00 -PAR2 9283cb00
      Cross Dimension 0079  -apu -PAR1 84d35200 -PAR2 84d36900
      Shin Sengokuden       -apu -PAR1 aa853600 -PAR2 aa854d00
      Arcus Spirits         -PAR1 80f94000 -PAR2 80f97200 -PAR3 80fa0c00
      Sangoku - Tenbu Spirit -apu -PAR1 00e11400 -PAR2 00e20c00
                             -PAR3 00e0b300
      Torneco's Quest    -apu -PAR1 0381bf00 -PAR2 03abab00
                         -PAR3 03ab6500 -PATCH1 03:a92d/00
      Majintensei        -apu -PAR1 2b80bb80
      Zan 3              -apu -PAR1 80c85f00 -PAR2 80c83000
      Poem of Angel      -apu -PAR1 c0eed300
      Super Power League -apu -PAR1 d403e080
      King of the Monsters  -PAR1 00800900
      Skins Game         -PAR1 00e1e100
      Sailor Moon S      -apu -PAR1 80ebea80

      Thunder Mission  -apu
      Magna Braban     -apu
      Chrono Trigger   -apu
      Imperium         -apu
      Super F1 Hero    -apu
      Stealth          -apu
      Alien VS Predator  -apu
      The General SAGA -apu
      Ihatovo Story    -apu
      Keiryu Ou        -apu
      Rushing Beat Ran -apu
      Odysselya        -apu
      Kabuki Rocks     -apu
      After School     -apu
      Brett Hull Hockey  -apu
      King of Dragons  -apu
      Digital Evil's Story 2 -apu
      Brutal           -apu
      Digital Evil's Story X -apu
      Stone Protectors -apu
      UndercoverCops   -apu
      Mahoujin GuruGuru -apu
      Romancing SAGA 3  -apu

   *******************************************************************
   D. THANKS SECTION
   *******************************************************************

    yoshi, your documentation is worderfull.
    yoshi, by explain me mode 1,dma,color palette, and so on.
    riff, by explain me NMI, and NMI, and NMI.
    jwilking, by help me to find documentation, by assembly notes.
    J. koot, by support, ideas, help, and so on.
    E. Corvi, by support, ideas, help, and so on.
    gary, by explain me IRQ, Mode 7, by support, and so on.
    trepalium, by support.
    the_brain, by his debugger.
    allegro Authors, for allegro lib.
    typhoonZ, yes, I love your pages, by your source about mode-q.
    raul, by help me with C.
    mcg, by assembly notes, by SPC notes.
    UNINbyteD, by moral support.
    zophar, by your page about esnes.
    EFX, riddler, marc, iceman, letoram, by test.
    }StrYkeR{, by your test report of esnes.
    ISS_97, by a great page about esnes.
    #emu, by moral support.
    everybody, who sent me mail, with help and moral support.

------------------------------------------------------------------
LordEsnes calb@gsyc.inf.uc3m.es
http://www.gsyc.inf.uc3m.es/~calb/esnes/index.html
IRC: EFNET #emu (esnes or LordEsnes)
-------------------------------------------------------------------
