Unknown error type: [8] Undefined index: HTTP_ACCEPT_LANGUAGE Line: 9 File: /home/mesenca/domains/mesen.ca/public_html/__utilityClasses__/PageUtilities.php
Mesen - NES and Famicom Emulator

Mesen LogoMesen

NES and Famicom Emulator

About

Mesen is a high-accuracy NES and Famicom emulator and NSF player for Windows and Linux.

Features
  • High Accuracy: A lot of effort has gone into making Mesen as accurate as possible.
  • High Compatibility: Over 220 mappers supported (all licensed games supported)
  • NES, Famicom, Famicom Disk System, Dendy, VS System, NSF and NSFe emulation is supported.
  • General: Save States, Rewinding, Movie/Audio Recording, Overclocking, Cheat Codes.
  • Video: Numerous video filters, customizable palettes/overscan, support for HDNes' HD packs.
  • Audio: Stereo effects, per-channel volume and panning, equalizer, etc.
  • Misc: Netplay, 7z/zip support, IPS/BPS patch support, automatic updates, and more!

Downloads

VersionDateLink
0.9.3September 8, 2017Download
Older ReleasesGitHub

System Requirements

Windows

  • Windows Vista, 7, 8, 8.1 and 10 are supported
  • DirectX 11
  • .NET Framework 4.5+

Linux

  • glibc 2.24+
  • Mono 4.2.1+
  • SDL 2

Accuracy Tests

Test roms are programs created to test and validate some of the NES' behavior. They are used by emulators to ensure that the emulated console behaves as much as possible like a NES. While they are not perfect for assessing an emulator's overall accuracy, they still provide a decent estimate. The following tables list the majority of existing test roms and whether or not Mesen passes each test.
Audio
apu_mixer4/4 Pass
dmcPass
noisePass
squarePass
trianglePass
apu_phase_resetPass
apu_reset6/6 Pass
4015_clearedPass
4017_timingPass
4017_writtenPass
irq_flag_clearedPass
len_ctrs_enabledPass
works_immediatelyPass
apu_test8/8 Pass
1-len_ctrPass
2-len_tablePass
3-irq_flagPass
4-jitterPass
5-len_timingPass
6-irq_flag_timingPass
7-dmc_basicsPass
8-dmc_ratesPass
blargg_apu_2005_07_3011/11 Pass
01.len_ctrPass
02.len_tablePass
03.irq_flagPass
04.clock_jitterPass
05.len_timing_mode0Pass
06.len_timing_mode1Pass
07.irq_flag_timingPass
08.irq_timingPass
09.reset_timingPass
10.len_halt_timingPass
11.len_reload_timingPass
dmc_tests4/4 Pass
buffer_retainedPass
latencyPass
status_irqPass
statusPass
fadeout_and_triangle_testsPass
pal_apu_tests11/11 Pass
01.len_ctrPass
02.len_tablePass
03.irq_flagPass
04.clock_jitterPass
05.len_timing_mode0Pass
06.len_timing_mode1Pass
07.irq_flag_timingPass
08.irq_timingPass
09.reset_timingPass
10.len_halt_timingPass
11.len_reload_timingPass
square_timer_div2Pass
test_apu_211/11 Pass
test_1Pass
test_2Pass
test_3Pass
test_4Pass
test_5Pass
test_6Pass
test_7Pass
test_8Pass
test_9Pass
test_10Pass
test_11Pass
test_apu_envPass
test_apu_sweep2/2 Pass
sweep_cutoffPass
sweep_subPass
test_apu_timers4/4 Pass
dmc_pitchPass
noise_pitchPass
square_pitchPass
triangle_pitchPass
test_tri_lin_ctrPass
volume_testsPass
CPU
branch_timing_tests3/3 Pass
1.Branch_BasicsPass
2.Backward_BranchPass
3.Forward_BranchPass
cpu_dummy_readsPass
cpu_dummy_writes2/2 Pass
cpu_dummy_writes_oamPass
cpu_dummy_writes_ppumemPass
cpu_exec_space2/2 Pass
test_cpu_exec_space_apuPass
test_cpu_exec_space_ppuioPass
cpu_interrupts_v26/6 Pass
cpu_interruptsPass
1-cli_latencyPass
2-nmi_and_brkPass
3-nmi_and_irqPass
4-irq_and_dmaPass
5-branch_delays_irqPass
cpu_reset2/2 Pass
ram_after_resetPass
registersPass
cpu_timing_test6Pass
dma_sync_test2/2 Pass
dma_sync_testPass
dma_sync_test_oddPass
dmc_dma_during_read45/5 Pass
dma_2007_readPass
dma_2007_writePass
dma_4016_readPass
double_2007_readPass
read_write_2007Pass
dpcmletterboxPass
instr_misc5/5 Pass
instr_miscPass
01-abs_x_wrapPass
02-branch_wrapPass
03-dummy_readsPass
04-dummy_reads_apuPass
instr_test-v317/17 Pass
01-impliedPass
02-immediatePass
03-zero_pagePass
04-zp_xyPass
05-absolutePass
06-abs_xyPass
07-ind_xPass
08-ind_yPass
09-branchesPass
10-stackPass
11-jmp_jsrPass
12-rtsPass
13-rtiPass
14-brkPass
15-specialPass
all_instrsPass
official_onlyPass
instr_timing3/3 Pass
instr_timingPass
1-instr_timingPass
2-branch_timingPass
nestestPass
sprdma_and_dmc_dma2/2 Pass
sprdma_and_dmc_dmaPass
sprdma_and_dmc_dma_512Pass
Video
blargg_ppu_2005_09_15b5/5 Pass
palette_ramPass
power_up_palettePass
sprite_ramPass
vbl_clear_timePass
vram_accessPass
full_palette3/3 Pass
flowing_palettePass
full_palettePass
full_palette_smoothPass
misc_oam_tests5/5 Pass
oam_read_vbl_waitPass
oam_readPass
oam_stressPass
oamtest3Pass
read2004Pass
nmi_sync2/2 Pass
demo_ntscPass
demo_palPass
ppu_open_busPass
ppu_read_bufferPass
ppu_sprite_hit11/11 Pass
ppu_sprite_hitPass
01-basicsPass
02-alignmentPass
03-cornersPass
04-flipPass
05-left_clipPass
06-right_edgePass
07-screen_bottomPass
08-double_heightPass
09-timingPass
10-timing_orderPass
ppu_sprite_overflow6/6 Pass
ppu_sprite_overflowPass
01-basicsPass
02-detailsPass
03-timingPass
04-obscurePass
05-emulatorPass
ppu_vbl_nmi11/11 Pass
ppu_vbl_nmiPass
01-vbl_basicsPass
02-vbl_set_timePass
03-vbl_clear_timePass
04-nmi_controlPass
05-nmi_timingPass
06-suppressionPass
07-nmi_on_timingPass
08-nmi_off_timingPass
09-even_odd_framesPass
10-even_odd_timingPass
scanlinePass
Input Devices
allpadsPass
PaddleTest3Pass
read_joy34/4 Pass
count_errorsPass
count_errors_fastPass
test_buttonsPass
thorough_testPass
ruderPass
vaus-testPass
Mapper-specific tests
bntest3/3 Pass
bntest_aoromPass
bntest_hPass
bntest_vPass
FME73/3 Pass
fme7acktestPass
fme7ramtestPass
fme7ramtest_128kPass
holydiver24/24 Pass
M0_P32K_C8K_VPass
M1_P128KPass
M1_P128K_C128KPass
M1_P128K_C128K_S8KPass
M1_P128K_C128K_W8KPass
M1_P128K_C32KPass
M1_P128K_C32K_S8KPass
M1_P128K_C32K_W8KPass
M1_P512K_S32KPass
M1_P512K_S8KPass
M2_P128K_VPass
M3_P32K_C32K_HPass
M4_P128KPass
M4_P256K_C256KPass
M7_P128KPass
M9_P128K_C64KPass
M10_P128K_C64K_S8KPass
M10_P128K_C64K_W8KPass
M28_P512KPass
M34_P128K_HPass
M66_P64K_C16K_VPass
M78.3_P128K_C64KPass
M118_P128K_C64KPass
M180_P128K_HPass
HomebrewMappers9/9 Pass
31_test_16Pass
31_test_32Pass
31_test_64Pass
31_test_128Pass
31_test_256Pass
31_test_512Pass
31_test_1024Pass
GTROM CHR-RAM testPass
test28Pass
MMC37/7 Pass
1-clockingPass
2-detailsPass
3-A12_clockingPass
4-scanline_timingPass
5-MMC3Pass
6-MMC3_altPass
mmc3bigchrramPass
MMC52/2 Pass
mmc5exramPass
mmc5test_v2Pass
Submappers12/12 Pass
2_test_0Pass
2_test_1Pass
2_test_2Pass
3_test_0Pass
3_test_1Pass
3_test_2Pass
7_test_0Pass
7_test_1Pass
7_test_2Pass
34_test_1Pass
34_test_2Pass
seromPass
VRC2-49/9 Pass
vrctest21s1Pass
vrctest21s2Pass
vrctest22Pass
vrctest23s1Pass
vrctest23s2Pass
vrctest23s3Pass
vrctest25s1Pass
vrctest25s2Pass
vrctest25s3Pass
VRC62/2 Pass
vrc6test24Pass
vrc6test26Pass
Test results: 245 / 245 (100%)
Note that there are some caveats to using test roms - a higher result does not always mean better emulation or compatibility. These tests do not test every aspect of the NES, and some tests only validate some very specific edge cases in the hardware that games do not rely on. A high (or even perfect) rating on these tests does not imply that Mesen's emulation is perfect (it is not).

Note: Some tests are currently not included in this list because their behavior on real hardware needs to be validated.

Supported Mappers

Each mapper number represents a different cartridge type. Not all mappers are as important - some are used by hundreds of games, others are used by a single game. For example, mapper #4 is used by over 500 licensed games, while mapper #9 is used by a single game. Not all numbers from 0 to 255 have been assigned to specific cartridge models - some are still unused (gray).
0123456789101112131415
16171819202122232425262728293031
32333435363738394041424344454647
48495051525354555657585960616263
64656667686970717273747576777879
80818283848586878889909192939495
96979899100101102103104105106107108109110111
112113114115116117118119120121122123124125126127
128129130131132133134135136137138139140141142143
144145146147148149150151152153154155156157158159
160161162163164165166167168169170171172173174175
176177178179180181182183184185186187188189190191
192193194195196197198199200201202203204205206207
208209210211212213214215216217218219220221222223
224225226227228229230231232233234235236237238239
240241242243244245246247248249250251252253254255
01234567
89101112131415
1617181920212223
2425262728293031
3233343536373839
4041424344454647
4849505152535455
5657585960616263
6465666768697071
7273747576777879
8081828384858687
8889909192939495
96979899100101102103
104105106107108109110111
112113114115116117118119
120121122123124125126127
128129130131132133134135
136137138139140141142143
144145146147148149150151
152153154155156157158159
160161162163164165166167
168169170171172173174175
176177178179180181182183
184185186187188189190191
192193194195196197198199
200201202203204205206207
208209210211212213214215
216217218219220221222223
224225226227228229230231
232233234235236237238239
240241242243244245246247
248249250251252253254255
Legend
4 Supported mapper
0 Unsupported Mapper (Licensed games)
116 Unsupported Mapper (Bootlegs)
55 Unknown Mapper (no known games)
129 Unused Mapper

Stats
223 mappers supported
1 mapper unsupported (Bootlegs)

Contact

Email:
If you are having issues with the emulator, please post a bug report.