An NES Emulator and OpenAI Gym interface
Project description
nes-py is an NES emulator and OpenAI Gym interface for MacOS, Linux, and Windows based on the LaiNES emulator.
Installation
The preferred installation of nes-py
is from pip
:
pip install nes-py
Debian
Make sure you have the clang++
compiler installed:
sudo apt-get install clang
Windows
You'll need to install the Visual-Studio 14.0 tools for Windows installation. The Visual Studio Community package provides these tools for free.
Usage
To access the NES emulator from the command line use the following command.
nes_py -r <path_to_rom>
To print out documentation for the command line interface execute:
nes_py -h
Controls
Keyboard Key | NES Joypad |
---|---|
W | Up |
A | Left |
S | Down |
D | Right |
O | A |
P | B |
Enter | Start |
Space | Select |
Development
To design a custom environment using nes-py
, introduce new features, or fix
a bug, please refer to the Wiki.
There you will find instructions for:
- setting up the development environment
- designing environments based on the
NESEnv
class - reference material for the
NESEnv
API - documentation for the
nes_py.wrappers
module
Compatibility
nes-py implements the most common mappers, which should be enough for a good percentage of the games:
- NROM (Mapper 000)
- MMC1 / SxROM (Mapper 001)
- UxROM (Mapper 002)
- CNROM (Mapper 003)
- MMC3, MMC6 / TxROM (Mapper 004)
You can check the compatibility for each ROM in the following list
Disclaimer
This project is provided for educational purposes only. It is not affiliated with and has not been approved by Nintendo.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for nes_py-2.0.0-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d8cb4d1f4ab0b1a55984be23423877472a90b241fecf89c87c11c163b03b1f5 |
|
MD5 | 1bc0f5dee79e1c217e10f0b89c49b570 |
|
BLAKE2b-256 | f5223465bb6a48db9058169956146ac5fceea756c896fdf972676f2236143731 |