--------------------------------------------
       NES496 - README.TXT - 10/18/99
   Author: Jason Millard     Version: .13
--------------------------------------------

Introduction:
-------------

NES496 is yet another Nintendo Entertainment System Emulator for
Windows 95/98.

I decided to write NES496 after taking CSE 412 -- a microcomputer
laboratory course at Penn State University. This course gave me a
new found interest in computer architecture.

So, after surfing the web, I found several documents regarding the
internals of the NES. With the information I collected, I decided
to write my first emulator. I wrote NES496 for my independent
studies course, CSE 496. (Hence the name, NES496!)

Now that CSE 496 is over, I decided it was finally time to release
this emulator to the general public.

Currently, NES496 is far from being complete. There are still many
bugs I would like to fix, and features I would like to implement.


Latest info:
------------

Well, after 1 year and a few days, NES496 is back!

I decided to release version .13 because NES496 really needed
keyboard and MMC3 support. Oh yeh, btw: "NES496 is NOT dead!"

Version .13 (Minor release) 10/18/99
 - Added MMC3 (iNES Memory Mapper 4)
 - User adjustable speed control
 - Last release before major overhaul!

Version .12 (Minor release) 10/14/99
 - Keyboard support
 - Poor sound support

Version .11 (Minor release) 10/12/98
 - Fixed problems while loading ROM images.
 - Fixed color problems found on some video cards. (Thanks cdoty@pcisys.net)

What you need:
--------------

166mhz+ Pentium
Windows 95/98
640x480+ 16bit Display
DirectX 5.0+
2 megabytes of HD space

Current features:
-----------------

iNES Mappers 0, 1, 2, 3, and 4!
2 NES Joypad support using the keyboard or joysticks
Scanline based graphics engine
Custom C++ version of Neil Bradley's 6502 CPU core
PPU/CPU register information
ROM/CPU/PPU/SPRITE memory information
Horizontal/Vertical mirroring


Downloading:
------------

The latest version of NES496 can be downloaded at:
http://www.personal.psu.edu/jsm174/nes496.html


Installation and execution:
---------------------------

Unzip the NES496 archive in the directory of your choice, and run
the NES496 executable.


Using NES496:
-------------

NES496 is very simple to operate. To load a ROM image, click the
OPEN ROM IMAGE button. To start emulation, click the POWER button. To
reset emulation, click the RESET button. To unload a ROM image, click
the FREE ROM IMAGE. (Note: POWER must be off.)

NES496 has three different window sizes. Double clicking the title
bar will cycle through the these sizes. (Note: In its maximum size,
NES496 will fit comfortably on a 640x480 display).

Keyboard support is now available.

Press 1 to activate the keyboard.
Press 2 to activate the joysticks.

The layout is:

Player 1:               Player 2:

Up    - Up              T - Up
Down  - Down            V - Down
Left  - Left            F - Left
Right - Right           G - Right
K     - Select          A - Select
L     - Start           S - Start
<     - B               Z - B
>     - A               X - A


To adjust the speed of the game:

-     - Decrease the game speed
+     - Increase the game speed


Known problems/issues (Help!):
------------------------------

Sound is still a new programming area for me. :) If anyone has any
DirectSound articles, examples, etc. (besides the standard Microsoft
stuff) please email me.

For some reason, I must not be emulating the PPU Status register
correctly. Games that use UNROM mapper (iNES mapper 2: Pro Wrestling,
Jackal, etc..) have difficulty running. To get them to run, hit the
VBLANK button in the CPU/PPU debug window.

Games that use MMC3 do not RESET properly. :)


In the "NEAR" future:
---------------------

improved interface
assembly CPU core 
more iNES Mappers (especially MMC5)
full screen display
sound support
improved mirroring
single screen mirroring
NES Satellite support

In the "FAR" future:
---------------------

NES Zapper support
NES Robie support (somehow)
IO-56/48 support


Questions or comments:
----------------------

Feel free to contact me via e-mail at:

nes-496@psu.edu

or

jsm174@qwestinternet.net


Please DO NOT ask me for ROM images.


Disclaimer:
-----------

I am in no way held responsible for the results of using NES496.
It cannot be modified in anyway without my consent. 

The Nintendo Entertainment System (NES) is a registered trademark
of Nintendo Company, Ltd. NES496 is public-domain software only!


Credits and thanks:
-------------------

Special thanks goes out to Matthew Conte. Without his help and
patience, NES496 wouldn't have made it out the door.

Thanks also goes out to the following (in no particular order):

Dr. Coraor, BucsFan, Beavis, OldsPwr, TomCat, Doll, Airwolf, The
Drip, Yoshi, Bero, Zelex, Neil Bradley, Loopy, Marat Fayzullin,  
Pascal Felber, cdoty@pcisys.net, Zavian, DarkAngel, PDA, JFR,
MJ, MCB, EnginTrn, CML, B1, and Annie (S.C.).
