------------------------------------------------------------------------- ******************** USE THIS SOFTWARE IN OWN RISK ********************** ------------------------------------------------------------------------- ******************************************** ***** ** ***** Destiny : Full Snes Emulation. ** ***** Esnes v 0.14a LordEsnes & Ishmair. ** ******************************************** LordEsnes, Carlos A. Lozano & Ishmair hold no warranties of any kind on this product. It is at your own risk that you use ESNES. The authors 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. -------------------------------------------------------------------------- [[[[[[[[[[[[[[[[[[[[[[ USERS MANUAL ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] -------------------------------------------------------------------------- ************************************************************************** 0. Introduction ************************************************************************** Esnes is a Super Nintendo/Famicom emulator for PC, under DOS. This proyect started the day 1 of october in 1996. In this moment Lord Esnes and Ishmair work in this proyect. ************************************************************************** 1. New Additions. ************************************************************************** - ISHMAIR JOIN TO ESNES PROYECT. - Add the SPC700 emulator. - Digital Sound Proccesor partially emulated.(SOUND!!!) (Read the section 3.8 for options, and the 5 for problems) - Re-Write the 65816 emulator in assembly. - Core speed up. - Two Graphics engine line-to-line and tile-to-tile(FASTER). - Game Genie codes support. - Simultaneous two Players support. - Configure keys program. (-KEYS) - Configure file. (esnes.cfg) - 6-buttons joystick support. - Multiple graphics bugs fixed. ************************************************************************** 2. System Requeriments ************************************************************************** Minimal System: 486 o Compatible 8 Mb de RAM. VGA. MsDos 5.00 Optimal System: Pentium 100+ 8 Mb de RAM. SVGA. MsDos 6.00 ************************************************************************** 3. Instrucciones de uso. ************************************************************************** 3.1. What do you need ? - cwsdpmi.exe (included) - esnes.exe (included) - noise.raw (included) - Some ROM in format: SMC, SFC, SWC, MGD II, GD3 or FIG. (NO included) 3.2. Running esnes. Usage : esnes NameOfGame.smc Options : -frame number ; Frame Skip. (default 4) -sram file ; SRAM file. (default NameOfGame.srm) -int ; Interleaved ROM format. -joy/joy4/joy6 ; Joystick 2/4/6 buttons. (default keyboard) -ntcs/-pal ; Forced NTCS or 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) -GGx # ; Game Genie Codes. (x = 1..3) -SGx ; Load a Saved Game (.SG file) (x = 0..2) -KEYS ; Define Keys Program. (esnes.key file) -rate x ; Sound playback rate. (x = 0..7) (default 4) -urate x ; Update sound rate. (x = 1..8) (default 5) -stereo ; Stereo sound (default mono). -retrace ; Wait to retrace before of paint the screen. -gfx x ; GfxEngine (0 = Tile-to-Tile ; 1 = Line-to-Line) -nospc ; Desactivate Sound Proccesor (=NO SOUND) -nosound ; Desactivate Sound. -noadsr ; Desactivate Adsr Effect. -nogain ; Desactivate Gain Effect. 3.3. Controlling the game. In this version you can define the keys, and it will be saved in a file called esnes.key . Try esnes -KEYS to define the keys. Player 1 - default ------------------ PC Keys SNES Keys. ------------------------------------- S o joy3 | X D o joy4 | A Z o joy1 | Y X o joy2 | B C | Select V | Start E o joy5 | R R o joy6 | L Cursores o | Joystick | Keys direction Player 2 - default ------------------ PC Keys SNES Keys. ------------------------------------- INS | X HOME | A DEL | Y END | B O | Select I | Start PGUP | R PGDOWN | L | Pad | keys direction 3.4. Special Options, during the game. * F1,F2,F3: Toggle activate/desactivate the graphics background 1,2 and 3. * F5,F6: save/restore save games files. * F7,F8: add/dec the frame skip rate. * F9: Toggle activate/desactivate ADSR effects. * F10: Toggle activate/desactivate GAIN effects. * F12: Toggle line-to-line/tile-to-tile graphics. * P: Toggle set/unset Pause. * 2 and 3: Change offset plane 3. * 6 and 7: Toggle normal/forced paint screen. * 8: save to file the screen with the format PCX. * CTRL+ 1-8: Toggle on/off channels 1..8. * CTROL + 0: Set off all the channels. * CTROL + 9: Set on all the channels. * ESC or CTRL+ALT+END: EXIT. 3.5. Command line supported on Esnes. ( NOTE !!! : Use -int, -sram, -joy ... NO -INT, -SRAM or -JOY ..) ( Use -KEYS ... NO -keys) (*) -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 : seiken3) (*) -joy or -joy4 or joy6 : La new version includes 2-6 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, -GG1 ... NO -patch1, -par1, -gg1 ..) (*) 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 ) (*) In this version esnes includes Game Genie 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. -GG1 # -GG2 # -GG3 # # 9 characters : xxxx-yyyy 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 command line, -SGx, where x is the number of the saved game.(0,1 or 2). ( For example : esnes game -SG0 ) 3.8. Sound. In 0.14 Esnes has sound support. But you must configure it, to get a better quality in the sound. During the start you must select your sound board: (Do not choose AWE32 or Ultrasound , chosse SoundBlaster or Ultrasound Max Codec instead, or expect slower emulation) Options: (*) -stereo (*) -rate x ; 0 - disable sound, 1 - 8192, 2 - 11025, 3 - 16500, 4 - 22050 (default), 5 - 29300, 6 - 36600, 7 - 44000. (*) -urate x ; Update sound rate, default 5. (*) -noadrs or F9 ; Toggle On/Off the ADSR effects. (*) -nogain or F10 ; Toggle On/Off the GAIN effects. (*) -nospc ; Desactivate the SPC processor (=NO SOUND) (*) -nosound ; Desactivate the audio output. ************************************************************************** 4. Features 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 pixel-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. * GD3/FIG/Interleaved multi-files format support. * LoROM and HiROM. * SRAM Backup Support (LoROM and HiROM) * Screen Fading. * Mode 7 effects (Except External Mode 7). * Real Time Save game support. * Game Genie & Pro Action Replay Codes support. * The complete SPC instruction Set. * Partial Digital Sound Proccesor emulation. * 2-4-6 Buttons joystick support. In the Next Future: * Screen Add/Sub. In the Far Future: * Windows Functions. * DSP Emulation. * FX Emulation. * GUI. ************************************************************************** 5. Compatibily on Esnes ************************************************************************** The compatibily on Esnes is close to others Super Nintendo emulators out. Esnes can execute next to 90% of the 4-8 Mbits. But only the 75% of the >8 Mbits games, because this games use not-docummented snes features. When you run the program with a run can happen several things: (*) GENERAL GRAPHICS EFFECTS: If you are using the ASM-Tile-based-engine you could try Push F12 to change to C-Line-based-engine. (*) The program works fine. Try: Please send me a picture of the last level of the game. (*) The program works with semi-garbled graphics. Try: Some games could work if you desactivate some background using the keys F1,F2 or F3. (*) The program works with a background-plane in middle. Try: Some effect graphics yet remain. The main problem is the add/sub screen, because this can put a background-plane over the others planes. You can desactivate the plane using the keys F1,F2 or F3. (Examples: Zelda3, Final Fantasy 2 or Super Troll). (*) The program works with some graphics border bugs, or abrupt change of screen. The windowing effect isn't implemented. Try: Wait other version. (Examples: Final Fantasy 3 borders or F-Zero select cars screen). (*) The program works fine, but some screen isn't visible or all the screens isn't visible, or there is flicker. Try: - The timing isn't correct, and some games could have problems updating the register 2100. Push the key 6 to forced paint screen. - The game could be in interleaved format. Try the -int command line. - The game could have problems spc<->cpu. Try execute with or without the spc ( :-( yep with -nospc there isn't sound). (Examples: Srtype 3). (*) Next execute the game I get a 65816 Crash. Try: - The game could be in interleaved format, use -int command line, - The game could be in a incorrect format, use ctool, stool, ucon or other conversor program. (*) Next execute the game I get a PC Crash. Try: The game could be in interleaved format try the -int command line. SOUND. In this version Esnes include sound support, but the sound isn't correct sometimes. Problems: (*) There is not sound. Try: - see if you have activate the spc and the sound in the configure file. Some games have not sound in this version, because it has transfer cpu<->spc problems, or some features are not implemented. (Examples: NBA Jam, Mrdo.) (*) The sound is very bad. Try: - -noadrs and -nogain - select sound blaster - the urate data is too high, try a minnor value, but it will be slower. - the rate data is too low, try a higher value. Some games have a awful sound, some bugs in the spc and the timers yet remain. (Examples: Megamanx, Chrono Trigger or FF3) (*) The sound has some silences in middle. Try: - -noadrs y -nogain ************************************************************************** 6. How can you help to the authors of the program? ************************************************************************** Esnes is a 'free' proyect, but it isn't freeware, Esnes is giftware, you must give us something to use Esnes, this can be a picture of the last level of your favourite game, or a greeting mail, or help, or docs, so on. Please don't tell me that you want be a beta tester of Esnes, because We 'll always reply you that We have too beta testers. But if you want yet convert self in a beta tester, test games and tell us about the bugs, in some moment you will be a beta tester ;-) Can you send us a save game file from a game with problems? YES but: 1. Please ask us first. 2. The save game file must be of before of happen the bug (some seconds). 3. Compress with arj or pkzip the file. We 'll get the save file, but we could NOT fix the problem. ************************************************************************** 6. Where can you find the ROMs what the emulator need? ************************************************************************** Sorry, the ROM has copyright, We can help you to get this. You could try some internet search engine: www.altavista.digital.com www.yahoo.com All the message about where get ROMs will be ignored. ************************************************************************** 7. Where can you get help about the emulator? ************************************************************************** Please Read the Docs (hmmm, it is stupid reply, because you are read it now ;-) ), a lot of the dudes can be replied here. Or you could try put a article in the news: news://comp.emulator.misc news://comp.emulator.game.consolas You could ask in the irc emulators channels: #emu or #emuroms in EFNET. In the last place you can ask us: Lord Esnes ---------- IRC: #emu o #emuroms en EFNET; nick: esnes Chat: telnet lareal.gsyc.inf.uc3m.es 6969 nick: op email: calb@gsyc.inf.uc3m.es Ishmair ------- IRC: EFNET; nick: ishmair email: ishmair@vnet.es ************************************************************************** 8. Tricks ************************************************************************** This can be found in the esnes official web page: http://www.gsyc.inf.uc3m.es/~calb/esnes ************************************************************************** A. FAQ sobre Esnes ************************************************************************** IMPORTANT: SEE YOUR CONFIG FILE (esnes.cfg) (*) Esnes is too fast in my computer, How can I fix it? This will happen in very fast machines (PPRO). You could execute the game with more frame by second the default is 15. Try: esnes game -frame 1 ; 60 frames/sec. esnes game -frame 2 ; 30 frames/sec. esnes game -frame 3 ; 20 frames/sec. Push F7 -> To speed down the emulator (+frame) Push F8 -> To speed up the emulator (-frame) Beside you can use other options to get a slower emulation: -stereo -rate x ; with x > 4 -urate x ; with x < 5 -gfx 1 or F12 ; to line-to-line graphic (*) Esnes is too slow in my computer, How can I fix it? If you haven't at least a P133, you must execute esnes with the tile-to-tile graphics engine; use -gfx 0 You could try execute the game with minnor number of frame by second. Try: esnes game -frame 5 ; 12 frames/sec. esnes game -frame 6 ; 10 frames/sec. esnes game -frame 7 ; 8 frames/sec. esnes game -frame 8 ; 7 frames/sec. esnes game -frame 9 ; 6 frames/sec. Push F7 -> To speed down the emulator (+frame) Push F8 -> To speed up the emulator (-frame) Besides you can use/no use others options: No Use: -stereo -rate x ; with x < 4 -urate x ; with x > 5 -gfx 0 or F12 ; to tile-to-tile graphics -nospc ; no sound but faster. (*) Can Esnes use save game files saved in other emulators or backup unit? No, Esnes uses a special format. (*) Can Esnes use SRAM files saved in other emulators or backup unit? Yes, Esnes uses the same format, but esnes 'll always save the file with a size of 32 Kb. (*) Can Esnes run the games with chips DSP/DSP2 or FX? No, Sorry We haven't docs about this. (*) Running Esnes I get the error: "Load error: no DPMI", How can I fix it? Esnes need the file called cwsdmpi.exe. (*) 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. (*) Where can I get the last version of the emulator? http://www.gsyc.inf.uc3m.es/~calb/esnes/index.html ************************************************************************** B. Grettings ************************************************************************** Special thanks to Ishmair, welcome to the esnes team. Very thanks to Gary Henderson, Jerremy koot, Ernesto Corvi, and Yoshi, your help is/was important to Esnes. Thanks to Riff, JWilking, Trepalium, The_Brain, TyphoonZ, Raul, Mcg, UNINByted, Zophar, EFX, riddler, marc, iceman, letoram, lepper, }StrYkeR{, ISS_97, Djgpp authors, Allegro authors, Seal authors, #emu and Everybody who sent us mail. ------------------------------------------------------------------ LordEsnes calb@gsyc.inf.uc3m.es Ishmair ishmair@vnet.es http://www.gsyc.inf.uc3m.es/~calb/esnes/index.html IRC: EFNET #emu (esnes or LordEsnes) EFNET (ishmair) -------------------------------------------------------------------