- 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. Sometimes adjusting the % of execution can fix those problems.
This is due to inaccurate documentation used when the 65816 was written.
There is no plans on re-writing the 65816 timing yet.
- Games sometimes tend to not display things properly because of graphic
features that aren’t implemented yet
- The Sound DSP chip still has its bugs (not many though)
—————————————————————————
13.) Contact Information
—————————————————————————
The ZSNES homepage is located at : http://www.zsnes.com
If you have any questions about zsnes and you have read ZSNES.FAQ,
README.TXT, and GUINOTES.TXT to make sure the answer isn’t there.
And your question is NOT a ROM Request or asking about a newer
version, you can post your question at the zsnes www board located at :
http://www.zsnes.com/board/
Remember : This board should be mainly used for zsnes related questions.
ROM requests (or asking for games, a link to a rom site, or where to
find them) are forbidden!!! Be sure to also read the RULES!
The rules are located at the top of the page.
If you wish to contact the authors, you may contact them through :
(Remember – No ROM requests please! and don’t send any files without
permission!)
zsknight@zsnes.com
_demo_@zsnes.com
pharos@zsnes.com
Try not to send a copy of your e-mail to all of us since that will just
waste our time. Also, don’t expect to get a reply since we are often
busy.
—————————————————————————
14.) The Debugger
—————————————————————————
Note : The debugger is disabled when you don’t enter zsnes with a -d
Here are the keys:
1 : Enable/Disable spc700 display
2 : Enable/Disable 65816 display
T : Trace (in 65816 opcodes)
B : 65816 break point
S : SPC break point
C : Clear Counter
M : 65816 modify
A : SPC modify
D : Debug Dump (SPC/DSPRam Dump Only)
W : Break at signal (Used only by the programmers)
F1 : Exit debugger and return to Game
F2 : Save State
F4 : Load State
ESC : Exit entire program
—————————————————————————
15.) Error Codes
—————————————————————————
Unable to Initialize VESA2 :
VBE not detected – ZSNES Failed to detect any VBE interrupts
(Your video card doesn’t support VESA)
VESA not detected – ZSNES Failed to detect any VESA extensions
(Your video card doesn’t support VESA)
VESA 2.0 or greater required – Your video card supports VESA, but
it has an old version of VESA. You may want
to use SDD (www.scitechsoft.com) to upgrade
your vesa driver unless you have an S3 video
card which you can get a vesa 2 driver from
www.s3.com.
VESA2 mode does not work on your video card/driver – Meaning that the
resolution you chose does not exist in the supported
resolutions of your video card. Chose a different
resolution or upgrade with SDD which can sometimes
help increase the number of resolutions supported
Unable to initialize video mode – A VESA 2.0 driver is found, but the video
mode failed to start. Possibly an error on the
video card setting or a defective hardware
Linear Frame Buffer not Detected – Meaning that your video card does not
support linear frame buffering which is required
for ZSNES’ vesa 2 routines
Modem Mode :
Modem Response Timeout – If this appears, then either your modem isn’t
configured properly (Even though your COM port is
set up properly, chances are your IRQ isn’t), some
other application is using the modem (such as an
internet connection), you don’t have a DOS
compatible modem, or your baud rate isn’t set up
to the speed of your modem (this isn’t required for
all modems though, but for some, it’s required)
Cannot Init Driver – This means that you have the FOSSIL DRIVER option
checked, but no fossil drivers are loaded
Carrier Detected (When you’re not connected) – This Probabily means that
you have set your COM Port/IRQ incorrectly. This
also might mean that you don’t have a dos
compatible modem or the modem is being used
somewhere else such as an internet account.
After Connection (Modem and IPX Mode) :
Incompatible Version – This means that both sides are using different
versions of zsnes. Both sides must use the same
version in order for remote play to proceed.
Invalid Sound Setting – This means that one side has sound disabled while
the other has it enabled. Both sides have to either
have sound disabled or sound enabled because the
game timings of both settings are different.
—————————————————————————
16.) Credits
—————————————————————————
ZSNES uses NASM, DJGPP, WDOSX, and CWSDPMI (source codes & binary updates
located at http://www.dbit.com/pub/cwsdpmi ) as the compilers and dos
extenders. Thanks to those who produced these fine programs!
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!
Also Thanks to :
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 and also
for lots of help!
MrGrim for his great support!
Crono for info on Sound Blaster Programming, Surround Sound, Sound
Interpolation, and other sound stuff!
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! (www.csoft.net)
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 Gary of the snes9x team for all the great help which includes
their superfx info and code, DSP1 info, 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!
Wildfire for some help!
A CoolMan for the algorithm for EAGLE!
X-Sykodad and darklore for maintaining the ZSNES www board!
Neill Corlett for some info on the .IPS format and also helping out
a lot on improving the sound engine!
Kreed (derek-liauw@usa.net) for the 2xSaI and Super Eagle Source Codes!
2xSaI homepage: http://members.xoom.com/derek_liauw/index.html
Markus Oberhumer & Laszlo Molnar for the UPX compression utility
UPX homepage: http://cdata.tvnet.hu/~ml/upx.html
Jean-loup Gailly, Mark Adler, and Gilles Vollant for the unzip routines!
Kode54 for the low pass filter routines!
Andy Goth for some help on the design of the key combination engine!
Yamaha of XYZZ (Scott Scriven) for his water effect code
Yamaha’s homepage: http://www.VIS.colostate.edu/~scriven/)
All those people who helped us by either sending us docs,
helping us, supporting us, and reporting bugs!
Special Thanks to : Ashley, Barubary, CyberWarriorX, DCX, DooMStalK,
Fanwen, GreenImp, Hucard, Kaiden, Stalphos Knight, Star Creator,
TeleKawaru, the people in #zsnes efnet, and the regulars of the
ZSNES message board!
And also to all those whom we forgot!
Special Thanks to all our beta testers for being a great help!
Info on 256×256x256 scanlines mode is from the MAME source. Thanks to
those behind MAME!
Also, good luck to all those who are writing emulators, especially those
who are writing snes emulators, including Snes9x, Nlke, SNEeSe, and
SNEMul! And also good luck to the makers of TheSE!