************************************************************* * PCNES - The NES for your Personal Computer Version 0.11b * * by Jim Geffre (jgeffre@nd.edu) 9/12/97 * * http://www.nd.edu/~jgeffre * ************************************************************* 1. Introduction 2. Updates to this version 3. Usage 4. Current Status 5. Future 6. Known Bugs and Limitations 7. History 8. Acknowledgements 9. Disclaimers -------------- 1. Introducion -------------- PCNES is a DOS-based emulator for the Nintendo Entertainment System written entirely in 386 assembly language, utilizing Adam Seychell's DOS32 protected mode extender. It is freeware, but not to be distributed with any ROMs. ---------- 2. Updates ---------- 0.11b: I added basic joystick support, however the keyboard must still be used for start and select. I fixed a few glitches in MMC1 and MMC3. Also, a 256 x 224 video mode has been added for those who had problems with the last release. 0.10b: First release -------- 3. Usage -------- To run it simply type - pcnes.exe file.nes The keys are defined as follows: NES Control ------------ Joypad - Arrow Keys B - Ctrl A - Alt Start - Space Bar Select - X PCNES Control Options ------------------------ F1 - Save screenshot in .pcx format (Saves as file.pcx) F2 - Switch video mode (256x256 or 256x224) j - Press once, enable joystick. Joystick is now in four button mode. Press again, switch to two button joystick emulation. Press again, disable joystick. Joystick can also be activated by pressing a button on the joystick. Esc - Exit emulation ----------------- 4. Current Status ----------------- So far PCNES emulates: The complete 6502 opcode set(Using Ben Haynor's Metalynx 6502 core) Most NES registers Mappers 0,1,2,3,and partial mapper 4,7,9 support PPU emulation 8x8 and 8x16 sprites Horizontal Scrolling Vertical Scrolling Battery-backed ram (.sav) Screenshot saving in pcx format Near-perfect NES timing Near-perfect NES palette Joypad support --------- 5. Future --------- Sound Several bug fixes Sprite priorities fix A couple NES register bits Several Mappers Fix Timing (Games such as RadRacer are still messed up) File loader (and GUI?) ----------------------------- 6. Known Bugs and Limitations ----------------------------- * When running in full screen DOS mode on exit in certain cases the keys don't respond for a few seconds or until you hit Alt-Enter * You may notice a large speed difference in games. IE, smb may run much faster than the Legend of Zelda. This problem will be solved shortly. ---------- 7. History ---------- PCNES is the first program I have created for a PC, and I have learned assembly language while writing this program. The current program has existed since June, 1997, when I switched to 32-bit protected mode programming. If you can offer additional NES technical information, I would be grateful for any assistance. ------------------- 8. Acknowledgements ------------------- PCNES exists due to help from the following people: Ben Haynor (author of MetaLynx): For his 6502 core, 6502 programming help, x86 programming assistance (a lot of it), beta-testing Yoshi and Marat Fayzullin: Their NES architecture documents are the reason this emulator exists Mike Perry: 6502 information, insight into the NES internals Loopy: provided the NES palette values. His NES emulator has been invaluable for debugging Sardu: provided such a high standard for NES emulation (what better motivation is there) -------------- 9. Disclaimers -------------- PCNES Copyright 1997 Jim Geffre I accept no responsibility for the fitness of this software. NES is a registered trademark of Nintendo Co., Ltd. I am not affiliated with Nintendo, nor do I condone the piracy of NES ROMs. PCNES may not be sold or distributed with ROMs. Thanks, Jim Geffre jgeffre@nd.edu