A PHP terminal NES emulator
Switch branches/tags
Nothing to show
Clone or download
Latest commit 3678bda Nov 12, 2018
Failed to load latest commit information.
src Fix bug Nov 12, 2018
tests Initial commit Oct 14, 2018
.gitignore Add screen directory to .gitignore Oct 16, 2018
LICENSE Create LICENSE Oct 18, 2018
README.md Update README.md Oct 19, 2018
boot.php Fix error when ROM file not exists Oct 17, 2018
composer.json Initial commit Oct 14, 2018
composer.lock Initial commit Oct 14, 2018
demo.gif Update demo Oct 14, 2018


An NES emulator written in PHP


Based on bokuweb/flownes, gabrielrcouto/php-terminal-gameboy-emulator.

Blog entry: https://www.hasegawa-tomoki.com/blog/2018/10/16/php-terminal-nes-emulator/ (Japanese)


  • PHP >= 7.0
  • Composer
  • NES rom


$ git clone https://github.com/hasegawa-tomoki/php-terminal-nes-emulator.git
$ cd php-terminal-nes-emulator
$ composer install

No composer?


$ php boot.php your-rom-file.nes

Compatible with mapper 0 rom files.

If you want to see colorful pictures, run with '-cpng' option.

$ php boot.php some.nes -cpng

You can see beautiful screenshots in ./screen directory.


[A] [D]        [,] [.]
  [S]   [N] [M]



The purpose of this project was to study all the capabilities of PHP.

It does not have any commercial or profitable intentions.

The user is responsible to use this code and its content in the terms of the law.

The author is completely against piracy and respects all the copyrights, trademarks and patents of Nintendo.