# Nestopia Documentation

version 1.40
last updated 8 June, 2008
Site: http://nestopia.sourceforge.net/
Mail: martin-freij at home.se

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

## Table of Contents

- Introduction
- Features
- System Requirements
- Troubleshooting
- Credits

For recent changes refer to the changelog.txt file.

## Introduction

Nestopia is an open source NES/Famicom emulator written in standard C++, focused on delivering as accurate emulation as possible. Development began in mid 2002, initially released for the Windows platform a year later. It has since been ported to other platforms, including Linux and Mac OS X. See credits section for the list of authors involved.
Back to Top

## Features

#### Boards:

- ACCLAIM-AOROM
- ACCLAIM-MC-ACC
- ACCLAIM-TLROM
- AGCI-47516
- AGCI-50282
- AVE-74*161
- AVE-NINA-01
- AVE-NINA-02
- AVE-NINA-03
- AVE-NINA-06
- AVE-NINA-07
- AVE-MB-91
- BANDAI-74*161/161/32
- BANDAI-CNROM
- BANDAI-FCG-1
- BANDAI-FCG-2
- BANDAI-GNROM
- BANDAI-JUMP2
- BANDAI-LZ93D50+24C01
- BANDAI-LZ93D50+24C02
- BANDAI-NROM-128
- BANDAI-NROM-256
- BANDAI-PT-554
- BMC-190IN1
- BMC-42IN1RESETSWITCH
- BMC-64IN1NOREPEAT
- BMC-70IN1
- BMC-70IN1B
- BMC-8157
- BMC-A65AS
- BMC-BS-5
- BMC-D1038
- BMC-FK23C
- BMC-GHOSTBUSTERS63IN1
- BMC-GS-2004
- BMC-GS-2013
- BMC-NOVELDIAMOND9999999IN1
- BMC-SUPER24IN1SC03
- BMC-SUPERHIK8IN1
- BMC-SUPERVISION16IN1
- BMC-T-262
- BMC-WS
- BTL-MARIO1-MALEE2
- CAMERICA-ALGN
- CAMERICA-ALGQ
- CAMERICA-BF9093
- CAMERICA-BF9096
- CAMERICA-BF9097
- CAMERICA-GAMEGENIE
- COLORDREAMS-74*377
- DREAMTECH01
- HVC-AMROM
- HVC-AN1ROM
- HVC-ANROM
- HVC-AOROM
- HVC-BNROM
- HVC-CNROM
- HVC-CPROM
- HVC-DE1ROM
- HVC-DEROM
- HVC-DRROM
- HVC-EKROM
- HVC-ELROM
- HVC-ETROM
- HVC-EWROM
- HVC-FAMILYBASIC
- HVC-FJROM
- HVC-FKROM
- HVC-GNROM
- HVC-HKROM
- HVC-HROM
- HVC-JLROM
- HVC-JSROM
- HVC-MHROM
- HVC-NROM
- HVC-NROM-128
- HVC-NROM-256
- HVC-NTBROM
- HVC-PEEOROM
- HVC-PNROM
- HVC-RROM
- HVC-RROM-128
- HVC-SAROM
- HVC-SBROM
- HVC-SC1ROM
- HVC-SCROM
- HVC-SEROM
- HVC-SF1ROM
- HVC-SFROM
- HVC-SGROM
- HVC-SH1ROM
- HVC-SHROM
- HVC-SJROM
- HVC-SKROM
- HVC-SL1ROM
- HVC-SL2ROM
- HVC-SL3ROM
- HVC-SLROM
- HVC-SLRROM
- HVC-SNROM
- HVC-SOROM
- HVC-SROM
- HVC-STROM
- HVC-SUROM
- HVC-SXROM
- HVC-TBROM
- HVC-TEROM
- HVC-TFROM
- HVC-TGROM
- HVC-TKROM
- HVC-TKSROM
- HVC-TL1ROM
- HVC-TL2ROM
- HVC-TLROM
- HVC-TLSROM
- HVC-TNROM
- HVC-TQROM
- HVC-TR1ROM
- HVC-TSROM
- HVC-TVROM
- HVC-UN1ROM
- HVC-UNROM
- HVC-UOROM
- IREM-74*161/161/21/138
- IREM-BNROM
- IREM-G101
- IREM-G101-A
- IREM-G101-B
- IREM-HOLYDIVER
- IREM-NROM-128
- IREM-NROM-256
- IREM-UNROM
- JALECO-JF-01
- JALECO-JF-02
- JALECO-JF-03
- JALECO-JF-04
- JALECO-JF-05
- JALECO-JF-06
- JALECO-JF-07
- JALECO-JF-08
- JALECO-JF-09
- JALECO-JF-10
- JALECO-JF-11
- JALECO-JF-12
- JALECO-JF-13
- JALECO-JF-14
- JALECO-JF-15
- JALECO-JF-16
- JALECO-JF-17
- JALECO-JF-18
- JALECO-JF-19
- JALECO-JF-20
- JALECO-JF-21
- JALECO-JF-22
- JALECO-JF-23
- JALECO-JF-24
- JALECO-JF-25
- JALECO-JF-26
- JALECO-JF-27
- JALECO-JF-28
- JALECO-JF-29
- JALECO-JF-30
- JALECO-JF-31
- JALECO-JF-32
- JALECO-JF-33
- JALECO-JF-34
- JALECO-JF-35
- JALECO-JF-36
- JALECO-JF-37
- JALECO-JF-38
- JALECO-JF-39
- JALECO-JF-40
- JALECO-JF-41
- KONAMI-74*139/74
- KONAMI-CNROM
- KONAMI-NROM-128
- KONAMI-SLROM
- KONAMI-TLROM
- KONAMI-UNROM
- KONAMI-VRC-1
- KONAMI-VRC-2
- KONAMI-VRC-3
- KONAMI-VRC-4
- KONAMI-VRC-6
- KONAMI-VRC-7
- MLT-ACTION52
- MLT-CALTRON6IN1
- MLT-MAXI15
- NAMCOT-163
- NAMCOT-3301
- NAMCOT-3302
- NAMCOT-3303
- NAMCOT-3305
- NAMCOT-3311
- NAMCOT-3401
- NAMCOT-3405
- NAMCOT-3406
- NAMCOT-3407
- NAMCOT-3411
- NAMCOT-3413
- NAMCOT-3414
- NAMCOT-3415
- NAMCOT-3416
- NAMCOT-3417
- NAMCOT-3425
- NAMCOT-3433
- NAMCOT-3443
- NAMCOT-3446
- NAMCOT-3451
- NES-AMROM
- NES-AN1ROM
- NES-ANROM
- NES-AOROM
- NES-B4
- NES-BNROM
- NES-BTR
- NES-CNROM
- NES-CPROM
- NES-DE1ROM
- NES-DEROM
- NES-DRROM
- NES-EKROM
- NES-ELROM
- NES-ETROM
- NES-EVENT
- NES-EWROM
- NES-FJROM
- NES-FKROM
- NES-GNROM
- NES-HKROM
- NES-HROM
- NES-JLROM
- NES-JSROM
- NES-MHROM
- NES-NROM
- NES-NROM-128
- NES-NROM-256
- NES-NTBROM
- NES-PEEOROM
- NES-PNROM
- NES-QJ
- NES-RROM
- NES-RROM-128
- NES-SAROM
- NES-SBROM
- NES-SC1ROM
- NES-SCROM
- NES-SEROM
- NES-SF1ROM
- NES-SFROM
- NES-SGROM
- NES-SH1ROM
- NES-SHROM
- NES-SJROM
- NES-SKROM
- NES-SL1ROM
- NES-SL2ROM
- NES-SL3ROM
- NES-SLROM
- NES-SLRROM
- NES-SNROM
- NES-SOROM
- NES-SROM
- NES-STROM
- NES-SUROM
- NES-SXROM
- NES-TBROM
- NES-TEROM
- NES-TFROM
- NES-TGROM
- NES-TKROM
- NES-TKSROM
- NES-TL1ROM
- NES-TL2ROM
- NES-TLROM
- NES-TLSROM
- NES-TNROM
- NES-TQROM
- NES-TR1ROM
- NES-TSROM
- NES-TVROM
- NES-UN1ROM
- NES-UNROM
- NES-UOROM
- NES-WH
- NTDEC-N715062
- PAL-MH
- PAL-ZZ
- SACHEN-8259A
- SACHEN-8259B
- SACHEN-8259C
- SACHEN-8259D
- SACHEN-CNROM
- SETA-NROM-128
- SUNSOFT-1
- SUNSOFT-2
- SUNSOFT-3
- SUNSOFT-4
- SUNSOFT-5B
- SUNSOFT-FME-7
- SUNSOFT-NROM-256
- TAITO-74*139/74
- TAITO-74*161/161/32
- TAITO-CNROM
- TAITO-NROM-128
- TAITO-NROM-256
- TAITO-TC0190FMC
- TAITO-TC0190FMC+PAL16R4
- TAITO-UNROM
- TAITO-X1-005
- TAITO-X1-017
- TENGEN-800002
- TENGEN-800003
- TENGEN-800004
- TENGEN-800008
- TENGEN-800030
- TENGEN-800032
- TENGEN-800037
- TENGEN-800042
- UNL-22211
- UNL-603-5052
- UNL-8237
- UNL-A9746
- UNL-AX5705
- UNL-CC-21
- UNL-EDU2000
- UNL-H2288
- UNL-KOF97
- UNL-KS7032
- UNL-N625092
- UNL-SA-0036
- UNL-SA-0037
- UNL-SA-016-1M
- UNL-SA-72007
- UNL-SA-72008
- UNL-SA-NROM
- UNL-SACHEN-74LS374N
- UNL-SACHEN-8259A
- UNL-SACHEN-8259B
- UNL-SACHEN-8259C
- UNL-SACHEN-8259D
- UNL-SHERO
- UNL-SL1632
- UNL-SMB2J
- UNL-T-230
- UNL-TC-U01-1.5M
- UNL-TEK90
- UNL-TF1201
- VIRGIN-SNROM

#### iNES Mappers:

- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19,*21, 22,*23, 24,*25, 26, 27, 32, 33, 34, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 60, 61, 62, 63, 64, 65,
- 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
- 96, 97, 99, 103, 104, 105, 106, 107, 108, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 123, 126, 132, 133, 134,
- 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
- 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
- 163, 164, 165, 166, 167, 170, 171, 172, 173, 175, 176, 177,
- 178, 179, 180, 182, 183, 184,*185, 186, 187, 188, 189, 191,
- 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
- 204, 205, 206, 207, 208, 209, 211, 212, 213, 214, 215, 216,
- 217, 219, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
- 231, 232, 233, 234, 235, 236, 238, 240, 241, 242, 243, 244,
- 245, 246, 249, 250, 252, 254, 255

* only supported if PIN wiring info is available through a database or ROM set.

#### External Sound Chips:

- Konami VRC6
- Konami VRC7
- MMC5
- Namcot 163
- RP2C33
- Sunsoft 5B

#### Controllers:

- Arkanoid (1)
- Crazy Climber Sticks
- Doremikko Keyboard
- Exciting Boxing Bop Bag
- Family BASIC Keyboard
- Family Computer Robot / R.O.B.
- Family Trainer / Family Fun Fitness / Power Pad
- Hori Track (1)
- Hyper Shot
- Light Gun (1)
- Mahjong Controller
- Oeka Kids Tablet (1)
- Pachinko Controller (2)
- Party Tap
- Pokkun Moguraa
- Power Glove (1)
- Standard Pad
- Subor Keyboard + Mouse
- Top Rider Bike

(1) Using the mouse
(2) Using the mouse wheel

#### Other Peripherals/Systems:

- Bandai Karaoke Studio
- Barcode Battler
- Data Recorder
- Datach Joint ROM System
- Famicom Disk System
- Game Genie & Pro Action Rocky
- Turbo File
- VS System

#### Image File Formats:

- ROM images backed by XML descriptor (.zip)
- UNIF (.unf)
- iNES (.nes)
- FDS with/without headers (.fds)

#### Extras:

- Savestates / Saveslots
- PNG/JPEG/BMP File Screenshots
- Movie/AVI File Recording
- WAVE File Recording
- ZIP/RAR/7zip Archive Support
- On-the-fly IPS Patching
- Netplay
- NSF Player
- Video Filters including NTSC video emulation
- Real-time Rewinding
- Cheat Searching
- Databases of cartridge info
- File Launcher
- Palette Editor
- iNES File Header Editor

#### Recognized VS System Games:

Name | Dip Switch Info
--- | ---
Battle City | partial
Castlevania | full
Clu Clu Land | partial
Dr. Mario | full
Duck Hunt | full
Excitebike | full
Freedom Force | partial
Golf | full
Goonies | full
Gradius | full
Gumshoe | full
Hogan's Alley | full
Ice Climber | full
Lady Golf | full
Mach Rider | partial
Mach Rider - Fighting Course | partial
Mighty Bomb Jack | partial
Ninja Jajamaru Kun | partial
Pinball | partial
Platoon | partial
Raid on Bungeling Bay | partial
RBI Baseball | full
Sky Kid | full
Slalom | full
Soccer | full
Star Luster | partial
Stroke and Match Golf | full
Super Mario Bros | full
Super Xevious | partial
Tetris | partial
TKO Boxing | partial
Top Gun | full

#### Games with Sound Sample Support:

Game | File Archive Name | Number of Samples
--- | --- | ---
Family Trainer - Aerobics Studio | ftaerobi | 8
Moero!! Pro Yakyuu | moepro | 16
Moero!! Pro Yakyuu '88 - Ketteiban | moepro88 | 20
Moe Pro! '90 - Kandou Hen
Moe Pro! - Saikyou Hen
Shin Moero!! Pro Yakyuu
Moero!! Pro Tennis | mptennis | 19
Terao no Dosukoi Oozumou | terao | 6

Samples must be in MS Wave format and use indexed naming convention, i.e. 00.wav, 01.wav and so on.
The compression format may be zip, rar or 7zip. The archives must be placed in the directory specified
in the Paths Settings (defaulted to .\samples).

#### Mappers/Boards with DIP switches:

- 57, 60, 83, 90, 105, 150, 209, 211, 230, 233, 236
- UNIF Boards: 8157, BS-5, FK23C, StreetHeroes
- Family BASIC, Playbox BASIC, VS System

Back to Top

## System Requirements

Minimum
Processor | Pentium III +800 MHz or comparable AMD
Video | Direct3D 9.0 compatible graphic card
OS | Windows 98/Me/2000/XP (*)
Software | DirectX 9.0c or later

(*) Win98/Me users need to obtain the Unicode Layer DLL (unicows.dll) from Microsoft's site and place it in the same directory as Nestopia. It can be downloaded from here.

Recommended
Processor | Pentium 4 +1400 MHz or comparable AMD
Video | Direct3D 9.0 compatible graphic card
Sound | DirectSound 8.1 compatible sound card
OS | Windows XP
Software | DirectX 9.0c or later

Back to Top

## Troubleshooting

If you experience slow performance with Nestopia, here are a couple of things you can try to speed it up:

- Lower the screen resolution and/or pixel bit-depth (video dialog).
- Disable video filtering effects (video dialog).
- Change the NES screen memory location (video dialog)
- Enable triple-buffering (timing dialog).
- Enable auto-frame-skipping (timing dialog).
- Disable vsync (timing dialog).
- Disable the rewinder (timing dialog).
- Change the application priority to "above normal" or "high" (preferences dialog).
- Lower the sound frequency and/or sample bit-depth or disable sound output completely (sound dialog).
- If your video driver has an option for vsync, make sure it's set to be application-controlled.

If you have trouble running a particular game, possible reasons could be:

- It's a bad dump.
- The image comes with incorrect or insufficient emulation information.
- Does it work on the actual hardware? If not, it's not supposed to work on Nestopia either.
- It has been hacked solely for the purpose of making it run on another emulator.
- Wrong region setting, try switching to/from PAL.
- Proper controller(s) connected? For instance, it could be a keyboard-only program or a game that only responds to the secondary controller.
- Is the 'no sprite limit' option enabled? Try disabling it, some games might depend on this hardware limitation.
- The database may have an error in it. Try turning it off temporarily.
- It's unsupported by Nestopia.

Misc:

- If the gridlines are not drawn properly in the launcher dialog, follow this link.

Back to Top

## Credits

Author | Contribution
--- | ---
[yang] | Image file database
Alexander Roshal | UnRAR
Andrea Mazzoleni | ScaleX filters
Bootgod | Cartridges info
Brad Taylor | PPU and APU technical documents
CaH4e3 | Mapper info
Chris Covell | General info
Christophe Thibault | Kaillera
Derek Liauw Kie Fa | 2xSaI filter
Enri | Famicom peripherals info
FireBug | Mapper documents
Gilles Vollant | UnZIP library
Goroh | Various technical documents
hap | D7756C info
Hellsbane | Testing
Igor Pavlov | 7-Zip
Jean-loup Gailly | zlib
Jeremy Chadwick | NES technical document
John West | 65xx/85xx technical document
Kevin Horton | Mapper technical documents
Ki | CPU and APU info
Loopy | PPU info
MAME dev. team | VS System info
Marat Fayzullin | NES technical document
Mark Adler | zlib
Mark Knibbs | Various info
Marko Mäkelä | 65xx/85xx technical document
Matthew Conte | APU info
Maxim Stepin | hqx filters
NewRisingSun | NTSC info
Norix | Mapper, FDS sound and Famicom peripherals info
Pongbashi | Famicom, cartridges, and sound sample info
Quietust | PPU info
Richard Hoelscher | Famicom four-player adapter technical document
Shay Green (aka blargg) | nes_ntsc, APU and PPU info
The Mad Dumper | Mapper info
Xodnizel | Mapper info

## Translations

Author | Language
--- | ---
Benjamin Siskoo | French
Gubei Vadim | Russian
Martin | Polish
Nekokabu | Japanese
nhlay | Chinese (traditional)
Vecna | Italian
yoyo | Chinese (simplified)

## Ports

Author | Platform
--- | ---
Arbee | Linux
Daemoncollector | Mac OS X
Richard Bannister | Mac OS X (alt. license)

Back to Top

Nestopia is Copyright © 2003-2008 by Martin Freij.
NES is either a trademark or registered trademark of Nintendo of America Inc.
Famicom is either a trademark or registered trademark of Nintendo Co., LTD.
All other trademarks are property of their respective owners.
Nestopia is not affiliated with or endorsed by any of the companies mentioned.