. an archaic crossroads site .
accesses since March 1, 1998

ZSNES
ZSNES is currently the best Super Nintendo emulator available. It will run full speed with sound on a Pentium 100, sports a wonderful GUI, excellent sound and nearly perfect graphics. Almost all games work now, also.

Archaic Ruins
Front Page
News Page

SNES Emulators
MySNES
NLKE
Silhouette
SNEeSe
SNEmul
SNES '9x
ZSNES

More...

Editor's Choice Winner!
INFORMATION

FEATURES
The following features are present in ZSNES:
  • complete 65816 instruction set
  • SRAM support
  • LoROM and HiROM support
  • SlowROM and FastROM support
  • Full DMA support
  • HIRQ/VIRQ/NMI Interrupts
  • Support for most snes file formats
  • Multi file format support (.1,.2,.3,A.,B.,C.)
  • Interleaved format support
  • PAL/NTSC timing support

The following are implemented in the old graphics engine:

  • Line by line based graphics engine
  • Graphic Modes 0,1,2,3,4,5,6,7
  • 8x8, 16x16, 32x32 and 64x64 sprite support (flipped in all directions)
  • Mosaic effects
  • 8x8 and 16x16 tiles
  • 32x32,64x32,32x64,64x64 tile modes
  • Full HDMA effects for wavy backgrounds, interesting mode 7 effects, etc.
  • Mode 7 rotating and scaling effects
  • Single and Dual Windowing Routines
  • BG priorities
  • Sprite Priorities
  • Add/sub of back area
  • 16-bit graphics support
  • offset per tile mode (mode 2/vertical only)
  • High res 512 horizontal resolution

Following are present in 16-bit graphics mode:

  • Palette changing in the middle of a screen
  • Screen Addition (full and half)
  • Screen Subtraction (full)
  • Fixed Color Addition/Subtraction
  • Window clipping for Fixed Color

The following are implemented in the new graphics engine (8-bit):

  • Combination of line by line and tile based graphics engine
  • Graphic Modes 0,1,2,3,4,5,6,7
  • 8x8, 16x16, 32x32 and 64x64 sprite support (flipped in all directions)
  • 8x8 and 16x16 tiles
  • 32x32,64x32,32x64,64x64 tile modes
  • Full HDMA effects for wavy backgrounds, interesting mode 7 effects, etc.
  • Mode 7 rotating and scaling effects
  • BG priorities
  • Sprite Priorities
  • Add/sub of back area
  • Mosaic Effects
  • Offset per tile mode (mode 2/vertical only)
  • High res 512 resolution and 448/478 vertical resolution

The following are implemented in the new graphics engine (16-bit):

  • Combination of line by line and tile based graphics engine
  • Renders graphics by using 256 color buffers
  • Graphic Modes 0,1,2,3,4,5,6,7
  • 8x8, 16x16, 32x32 and 64x64 sprite support (flipped in all directions)
  • 8x8 and 16x16 tiles
  • 32x32,64x32,32x64,64x64 tile modes
  • Full HDMA effects for wavy backgrounds, interesting mode 7 effects, etc.
  • Mode 7 rotating and scaling effects
  • BG priorities
  • Sprite Priorities
  • Add/Sub of back area (Not Correct)
  • Fixed Color Add/Sub (Not Correct due to lack of Windowing)

The following are present in sound:

  • 16-bit digital stereo sound
  • SPC700 Sound CPU
  • DSP Sound Processor
    • Echo Effects
    • FIR Filter
    • ADSR volume effects
    • GAIN volume effects
    • Noise effects

The following are extra features emulated:

  • Super NES Mouse Support
  • Super NES Super Scope Support
  • SuperFX support
  • MultiTap (Multiplayer 5) support
  • DSP1 emulation (not complete)
  • SA-1 emulation (not complete)

The following are the features present in ZSNES:

  • Game State Save (F2=Save, F3=Select, F4=Load).
    Warning: A state file takes 260 kbytes of HD space!
  • Auto frame rate to give you constant Super Nintendo speed up to 9 frame skips
  • configuration file support (ZSNES.CFG)
  • 2 player support w/ Joystick and Gamepad support

REQUIREMENTS
Minimum System Requirements:
  • 386 processor (486 processor required for new graphics engine)
  • 8MB of RAM (You need at least 6MB free)
    • You need 10MB of RAM to run 48mbit (6 megabytes) roms.
    • You need 11MB of RAM to use the new graphics 16-bit engine.
    • For SuperFX emulation, 10 megabytes of free memory is required to run.
  • VGA card

Reccomended System Requirements:

  • Pentium processor (P100 or higher)
  • 16MB of RAM (min 12MB free)
  • SVGA card
  • Sound Blaster 16 or 100% compatible

Reccomended System for 65536 (16-bit) color mode:

  • Fast Pentium processor (P166 or higher)
  • 16MB of RAM (min 12MB free)
  • SVGA card which supports 320x240x65536 or 640x480x65536 colors
  • Sound Blaster 16 or 100% compatible

Reccomended System for SFX support:

  • Fast Pentium processor (P200 or higher)
  • 16MB of RAM (min 10MB free)
  • VGA card
  • Sound Blaster 16 or 100% compatible


MISSING FEATURES
The following features are missing:
  • DSP features such as pitch modulation
  • Screen Subtraction (half) (Except for newgfx 16b engine)
  • 512 snes horizontal resolution, 16x16 tiles (Except for newgfx 8b engine)
  • Pseudo 512 snes horizontal resolution
  • 448/478 snes vertical Interlaced resolution (Except for newgfx 8b engine)
  • Some modes in Offset Mode
  • Windowing in the back area of the main screen
  • Some Direct Color Modes

What will not run (or not play properly):

  • Some Super FX games such as Star Fox and Stunt Race FX
  • DSP games such as Pilotwings
  • Games with other special chips such as Megaman X2, Street Fighter Alpha 2 and Mario RPG
  • Games that have a unique sound checking routine (if sound is disabled)
  • Games which doesn't have a valid header (use -L or -H to get it working)
  • Games that hit a severe bug in the 65816/PPU/SPC700/DSP routines
  • Games that require special timing


BUGS
  • Several transparency effects are incorrect in zsnes due to some priority problems that are not easy to implement. If you encounter a problem in transparencies (and make sure you're in 16bpp mode), try changing to the new graphics 16bit engine since it handles the transparencies differently.
  • SuperFX bugs are present. We've got some great help (thanks to that person who attempted to help us!) and we spent a lot of time debugging it (even after .400 release), but we still can't figure out what causes the polygons to not show in several games.
  • DSP1 emulation is present in ZSNES, but is very limited because of the precision problems present when some of the functions that are converted from C to ASM in fixed point notation. Those functions with problems were removed from this version. Once ZSNES gets C linked to it, a floating point version should be possible.
  • 65816 lacks correct timing. Although ZSNES bases the timing on a variable cycle/instruction, it does not deduct correct values such as 16bit instructions should deduct 1 more cycle than 8bit instructions. 100% cycles of zsnes isn't 100% cycles of a snes because of that. This means that a lot of games either won't run or will produce horrible displays.
  • Several games that don't update at every screen tend to flicker. This is probabily because zsnes doesn't handle forced blank properly yet. This can temporarily be fixed by setting the frameskip value until the flicker goes away
  • Some games tend to produce off by 1 line bugs. This is because HIRQ isn't implemented correctly
  • Games sometimes tend to not display things properly because of graphic features that aren't implemented yet
  • The Sound DSP chip is nearly complete (pitch modulation is missing), but it still has its bugs
  • Several Sound Effects such as Wind , Soft Noises, etc. play incorrectly and tend to sound like beeps or loud howling noises. We are currently unsure on what causes this and it will be addressed once we find out.

CREDITS
  • We would really like to thank the snes9x team for all their help and also for an excellent snes emulator. We also wish them the very best of luck!
  • Special thanks to wnelson! Without him, ZSNES would have never existed!
  • Also to Y0SHi for his excellent snes docs, his help, and his excellent support!
  • The_Teach of snes9x for some great info and the nice chats!
  • Trepalium of snes9x for some great info and help!
  • Gary of Snes9x and Steve Snake of KGen for being the source of info for sound decompression!
  • Gary of Snes9x for being the source of info for TCall/PCall!
  • MrGrim for his great support!
  • Crono for info on Sound Blaster programming!
  • Aquis for the zsnes logo!
  • Alucard for helping us with an issue in the 65816!
  • Vertigo for making a compatibility list!
  • EFX for being a great supporter and also giving a lot of help and stuff!
  • Zophar for being a great supporter and also maintaining the mirror site!
  • Chris Hickman for redesigning the ZSNES web page!
  • CSoft for hosting our web page!
  • Marius Fodor for the code for VSync, Sidewinder, Gamepad Pro, and some optimisation info!
  • Sardu for some great info and help!
  • Lord Esnes for some great help!
  • Robert Grubbs for the sidewinder info!
  • Nerlaska for some useful info on optimising and also for some help!
  • Diskdude for writing sneskart which we used for the info on cheat codes!
  • DarkForce for some great help!
  • Pharos for some keyboard coding help!
  • Lestat and feenix65 of snes9x team for all the great help which includes their superfx info and code, info on interleave formats (hirom & superfx), offset per tile mode, FIR filter, some spc700 and hdma bugs!
  • WolfWings ShadowFlight for help on several issues of nasm!
  • All those people who helped us by either sending us docs helping us, supporting us, and reporting bugs!
  • Special Thanks to: Hucard, Kaiden, and the people in #zsnes efnet
  • And also to all those whom we forgot!
  • Special Thanks to all our beta testers for being a great help!
  • _Demo_ would also like to give thanks to tgenius and 4999 for testing his 65816emu hack in #snesemu a while ago.
  • Info on 256x256x256 scanlines mode is from the MAME source. Thanks to those behind MAME!

DOWNLOAD

Archaic Ruins is not connected or affiliated with any mentioned company in any way. The opinions of Archaic Ruins do not reflect the views of the various companies mentioned here. Companies and all products pertaining to that company are trademarks of that company. Please contact that company for trademark and copyright information.
© 1997-1999, Archaic Ruins