WinNES emulator
My Family

Updated 20/08/2000


v 0.0.6

WinNES is an NES emulator for windows; it allows you to play NES games on your computer. The WinNES project was started because of the lack of a freely distributable NES emulator on the net with a friendly GUI (Graphical User Interface) that runs in a window with other apps.


In the mid- to late-80s, there was a popular television video game console known as the Nintendo Entertainment System (NES). In Japan, this revolutionary system was known as the Famicom (short for Family Computer). It is an 8-bit machine, using a 6502 CPU, much like the old Apple ][. The rest of the hardware includes a Picture Processing Unit (PPU) and a sound chip producing 5 channel sound (2 channels for square wave, 1 traingle wave, 1 noise channel and 1 PCM sound channel). It contains 1K of RAM and 4K of VRAM. In Japan, an addon known as the Famicom Disk System (FDS) was released. The FDS used 3" floppy disks instead of the standard cartridges and its hardware enhanced sound quality, adding two sound channels. Nintendo of America also released peripheral devices such as the Zapper (light gun) and the Power Pad.


WinNES was coded in Delphi 3.02b and makes use of Marat's M6502 CPU core. WinNES currently features:
- the ability to run in a window alongside other windows applications.
- a user friendly GUI
- video using Direct X 3.0+ for full screen mode
- basic 6502 CPU emulation, using Marat's M6502 core
- mappers #0, #1, #2, #3, #4, #7, #8, #9, #10, #11, #15, and #16 currently supported, but not emulated flawlessly
- decent 4 channel sound (0-3) using midi synthesis (some bugs)
- 8x8 and 8x16 sprites
- sprite RAM I/O and sprite RAM DMA
- sprite flipping 100% supported, but there may still be some bugs
- horizontal and vertical scrolling / mirroring
- support for trainer
- support for NES palette changing

To play games with WinNES, you will need to acquire some .nes ROMs (files that contain the original cart data). WinNES cannot be distributed with any roms for legality. Do not email me or the author for roms, as such requests will be deleted or forwarded to some anti-piracy site's address. If you look hard enough, you will be able to find an NES cart copier that hooks into your computer and makes roms from your cartridges, and there are tons of sites around with already-made .nes files posted on them.
System requirements: WinNES should run on any pentium computer with windows 9x/NT. Use WinNES with 64K or 16.8M screen colors for best performance in windowed mode, or at any color depth in full screen mode (requires Direct X v6.0). Earlier versions of WinNES required Direct X software to run, but only needed Direct X 3.0+.

WinNES version 0.0.3 beta with source
WinNES version 0.0.6 beta (02/22/99)



Credits go to:

YOSHi for his awesome NES docs,
Hiroyuki Hori for his DelphiX component,
Marat Fayzullin for his M6502 CPU core,
BERO and P4L97 for their help,
Mitch for beta testing and web page design,
my wife for helping me and support,
and all the other people I forgot to mention.

[Home] [My Family] [Curriculum] [Delphi] [Consulenza] [WinNES]

1998-2000  Cosimo De Michele
Any questions about the homepage should be sent to the webmaster