Skip to content

In progress multiplatform/portable NES emulator written in C++

License

Notifications You must be signed in to change notification settings

dani-maarouf/XeNES

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XeNES

Cross platform NES emulator. Works with Linux, Mac, Windows, Wine and more.

Input

NES Keyboard
A SPACE
B LCTRL
Up w
Down s
Left a
Right d
Start x
Select c

Usage

Linux:

Requires SDL2 development libraries to be installed

Run make to compile program

Use program by running ./XeNES ROM.nes

Mac:

Requires SDL2 development libraries to be installed (brew recommended)

Run make mac to compile program

Use program by running ./XeNES ROM.nes

Playable games

Super Mario Bros

Donkey Kong

Spelunker

Baseball

Defender II

Dig Dug 2

Ice Climber

Balloon Fight

Donkey Kong Jr.

Donkey Kong 3

Duck Hunt

10 Yard Fight

Excitebike

Galaga

Golf

Gyromite

Hogan's Alley

Ice Hockey

Ms. Pac Man

Pinball

Popeye

And most other NROM/mapper 0 games

Sample screenshots

alt text

alt text

alt text

alt text

alt text

Next steps

Add support for more mappers

Implement timestamp based system for performance

Automated testing by hashing pixel buffer of known good test ROM screens

Issues

APU DMC needs to be added

Synchronization method (opcode then PPU catch up) is inadequate for exact VBL timing behaviour

Unknown issue with odd/even frame timing

About

In progress multiplatform/portable NES emulator written in C++

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published