The NES is a home console created by Nintendo®and released in the USA in 1985.
We are building an emulator and debugger for this system to make it easier to develop homebrew for this awesome classic system.
Below you can find links to our tools, as well as a series of articles that explain details of this system. The emulator is developed alongside the articles, so you can see it taking shape as well.
Specs:
Attribute | Value |
---|---|
Developer | Nintendo |
Release Date | October 1985 |
CPU | Ricoh 2A03, a MOS 6502 Compatible |
Graphics | The “PPU”, a custom chip |
Resolution | 256 x 240 px |
Source: https://en.wikipedia.org/wiki/Nintendo_Entertainment_System
Chiplab Links:
Component | Link |
---|---|
CPU (6502) | 6502 Chiplab |
While developing an emulator for a complex system, it is useful to have programs that test a single feature. I have written several small programs to help verify functionality of my emulator. These are provided here both in binary form (.nes), and source (.asm). See source code comments for more details.
Roms are generally listed from simplest to most complex under each category.
Test rom source is licensed under the BSD 4-clause license.
Description | Binary | Source Code |
---|---|---|
NesTest.Bin (6502 CPU test) | nestest.prg.bin | Documentation |
Infinite loop, test rom loading. | run.6502.nes | run.6502.asm |
Controller test | controller.nes | controller.asm |
Description | Binary | Source Code |
---|---|---|
Fill Palette, no video interrupts | palette_fill_novblank.nes | palette_fill_novblank.asm |
Fill Palette using video interrupt | palette_fill.nes | palette_fill.asm |
Draw sprite, using OAMADDR/OAMDATA | sprite.nes | sprite.asm |
Draw sprite, using OAMDMA | sprite_dma.nes | sprite_dma.asm |
Description | Binary | Source Code |
---|---|---|
Constant Square(Pulse1), A440 | apu_pulse1.nes | apu_pulse1.asm |