smb-vanilla-port
A C and C++ decompilation of the NES games "Super Mario Bros" and "Super Mario Bros: The Lost Levels"
:video_game: NES Emulator written in Haskell
git clone https://github.com/dbousamra/hnes.gitdbousamra/hnesWelcome to hnes. hnes is a NES emulator written in Haskell.
The following mappers are supported:
Lots of games run, but more don't. You can see which roms are compatible here: http://tuxnes.sourceforge.net/nesmapper.txt The best games seem to be MMC3, so that is a priority.
Mappers are basically custom memory modules that exist on the cartridges themselves, that allow referencing more memory than the NES originally shipped with. Sometimes they even do computation. A very clever idea, but a nightmare to emulate, since each mapper has to be emulated as well
| Nintendo | Emulator |
|---|---|
| Up, Down, Left, Right | Arrow Keys |
| Start | Enter |
| Select | Space |
| A | Z |
| B | X |
Get Stack for building Haskell projects.
Windows instructions:
$ stack exec -- pacman -Sy mingw-w64-x86_64-pkg-config mingw-w64-x86_64-SDL2
$ stack build
OS X instructions:
$ brew install sdl2
$ stack build
Ubuntu Linux instructions:
$ sudo apt-get install libsdl2-dev
$ stack build
FreeBSD instructions:
$ pkg install sdl2
$ stack build
To run:
stack exec -- hnes roms/tests/cpu/nestest/nestest.nes
There's a small test suite that is used to check for CPU and PPU accuracy. They use test roms rather than hand coding tests.
Just run stack test:
There are so many, where do I even begin.
more like this
A C and C++ decompilation of the NES games "Super Mario Bros" and "Super Mario Bros: The Lost Levels"
search projects, people, and tags