Name | fragile-nes-py JSON |
Version |
10.0.1
JSON |
| download |
home_page | None |
Summary | An NES Emulator and OpenAI Gym interface |
upload_time | 2024-09-02 21:33:14 |
maintainer | None |
docs_url | None |
author | None |
requires_python | None |
license | MIT |
keywords |
nes
emulator
openai-gym
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
|
coveralls test coverage |
No coveralls.
|
<p align="center">
<img
src="https://user-images.githubusercontent.com/2184469/42918029-a8364c66-8ad1-11e8-8147-2653091ccd38.png"
width="50%"
/>
</p>
[![build-status][]][ci-server]
[![PackageVersion][pypi-version]][pypi-home]
[![PythonVersion][python-version]][python-home]
[![Stable][pypi-status]][pypi-home]
[![Format][pypi-format]][pypi-home]
[![License][pypi-license]](LICENSE)
[build-status]: https://app.travis-ci.com/Kautenja/nes-py.svg?branch=master
[ci-server]: https://app.travis-ci.com/Kautenja/nes-py
[pypi-version]: https://badge.fury.io/py/nes-py.svg
[pypi-license]: https://img.shields.io/pypi/l/nes-py.svg
[pypi-status]: https://img.shields.io/pypi/status/nes-py.svg
[pypi-format]: https://img.shields.io/pypi/format/nes-py.svg
[pypi-home]: https://badge.fury.io/py/nes-py
[python-version]: https://img.shields.io/pypi/pyversions/nes-py.svg
[python-home]: https://python.org
nes-py is an NES emulator and OpenAI Gym interface for MacOS, Linux, and
Windows based on the [SimpleNES](https://github.com/amhndu/SimpleNES) emulator.
<table align="center">
<tr>
<td>
<img
width="256"
alt="Bomberman II"
src="https://user-images.githubusercontent.com/2184469/84821320-8c52e780-afe0-11ea-820a-662d0e54fc90.png"
/>
</td>
<td>
<img
width="256"
alt="Castelvania II"
src="https://user-images.githubusercontent.com/2184469/84821323-8ceb7e00-afe0-11ea-89f1-56d379ae4286.png"
/>
</td>
<td>
<img
width="256"
alt="Excitebike"
src="https://user-images.githubusercontent.com/2184469/84821325-8d841480-afe0-11ea-9ae2-599b83af6f65.png"
/>
</td>
</tr>
<tr>
<td>
<img
width="256"
alt="Super Mario Bros."
src="https://user-images.githubusercontent.com/2184469/84821327-8d841480-afe0-11ea-8172-d564aca35b5e.png"
/>
</td>
<td>
<img
width="256"
alt="The Legend of Zelda"
src="https://user-images.githubusercontent.com/2184469/84821329-8d841480-afe0-11ea-9a57-c9daca04ed3b.png"
/>
</td>
<td>
<img
width="256"
alt="Tetris"
src="https://user-images.githubusercontent.com/2184469/84822244-fc15a200-afe1-11ea-81de-2323845d7537.png"
/>
</td>
</tr>
<tr>
<td>
<img
width="256"
alt="Contra"
src="https://user-images.githubusercontent.com/2184469/84822247-fcae3880-afe1-11ea-901d-1ef5e8378989.png"
/>
</td>
<td>
<img
width="256"
alt="Mega Man II"
src="https://user-images.githubusercontent.com/2184469/84822249-fcae3880-afe1-11ea-8271-9e898933e571.png"
/>
</td>
<td>
<img
width="256"
alt="Bubble Bobble"
src="https://user-images.githubusercontent.com/2184469/84822551-79411700-afe2-11ea-9ed6-947d78f29e8f.png"
/>
</td>
</tr>
</table>
# Installation
The preferred installation of `nes-py` is from `pip`:
```shell
pip install nes-py
```
## Debian
Make sure you have the `clang++` compiler installed:
```shell
sudo apt-get install clang
```
## Windows
You'll need to install the Visual-Studio 17.0 tools for Windows installation.
The [Visual Studio Community](https://visualstudio.microsoft.com/downloads/)
package provides these tools for free.
# Usage
To access the NES emulator from the command line use the following command.
```shell
nes_py -r <path_to_rom>
```
To print out documentation for the command line interface execute:
```shell
nes_py -h
```
## Controls
| Keyboard Key | NES Joypad |
|:-------------|:--------------|
| W | Up |
| A | Left |
| S | Down |
| D | Right |
| O | A |
| P | B |
| Enter | Start |
| Space | Select |
## Parallelism Caveats
both the `threading` and `multiprocessing` packages are supported by
`nes-py` with some caveats related to rendering:
1. rendering **is not** supported from instances of `threading.Thread`
2. rendering **is** supported from instances of `multiprocessing.Process`,
but `nes-py` must be imported within the process that executes the render
call
# Development
To design a custom environment using `nes-py`, introduce new features, or fix
a bug, please refer to the [Wiki](https://github.com/Kautenja/nes-py/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
# Cartridge Mapper Compatibility
0. NROM
1. MMC1 / SxROM
2. UxROM
3. CNROM
You can check the compatibility for each ROM in the following
[list](https://github.com/Kautenja/nes-py/blob/master/nesmapper.txt)
# Disclaimer
**This project is provided for educational purposes only. It is not
affiliated with and has not been approved by Nintendo.**
"controller.cpp", "cpu.cpp", "emulator.cpp", "lib_nes_env.cpp", "main_bus.cpp", "picture_bus.cpp", "ppu.cpp"
Raw data
{
"_id": null,
"home_page": null,
"name": "fragile-nes-py",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "NES, Emulator, OpenAI-Gym",
"author": null,
"author_email": "Christian Kauten <kautencreations@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/97/b9/78063307823d5e8bd9fdb6b31c38c84e481ee4cf8353c4e64a07f38f28e3/fragile_nes_py-10.0.1.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n<img\n src=\"https://user-images.githubusercontent.com/2184469/42918029-a8364c66-8ad1-11e8-8147-2653091ccd38.png\"\n width=\"50%\"\n/>\n</p>\n\n[![build-status][]][ci-server]\n[![PackageVersion][pypi-version]][pypi-home]\n[![PythonVersion][python-version]][python-home]\n[![Stable][pypi-status]][pypi-home]\n[![Format][pypi-format]][pypi-home]\n[![License][pypi-license]](LICENSE)\n\n[build-status]: https://app.travis-ci.com/Kautenja/nes-py.svg?branch=master\n[ci-server]: https://app.travis-ci.com/Kautenja/nes-py\n[pypi-version]: https://badge.fury.io/py/nes-py.svg\n[pypi-license]: https://img.shields.io/pypi/l/nes-py.svg\n[pypi-status]: https://img.shields.io/pypi/status/nes-py.svg\n[pypi-format]: https://img.shields.io/pypi/format/nes-py.svg\n[pypi-home]: https://badge.fury.io/py/nes-py\n[python-version]: https://img.shields.io/pypi/pyversions/nes-py.svg\n[python-home]: https://python.org\n\nnes-py is an NES emulator and OpenAI Gym interface for MacOS, Linux, and\nWindows based on the [SimpleNES](https://github.com/amhndu/SimpleNES) emulator.\n\n<table align=\"center\">\n <tr>\n <td>\n <img\n width=\"256\"\n alt=\"Bomberman II\"\n src=\"https://user-images.githubusercontent.com/2184469/84821320-8c52e780-afe0-11ea-820a-662d0e54fc90.png\"\n />\n </td>\n <td>\n <img\n width=\"256\"\n alt=\"Castelvania II\"\n src=\"https://user-images.githubusercontent.com/2184469/84821323-8ceb7e00-afe0-11ea-89f1-56d379ae4286.png\"\n />\n </td>\n <td>\n <img\n width=\"256\"\n alt=\"Excitebike\"\n src=\"https://user-images.githubusercontent.com/2184469/84821325-8d841480-afe0-11ea-9ae2-599b83af6f65.png\"\n />\n </td>\n </tr>\n <tr>\n <td>\n <img\n width=\"256\"\n alt=\"Super Mario Bros.\"\n src=\"https://user-images.githubusercontent.com/2184469/84821327-8d841480-afe0-11ea-8172-d564aca35b5e.png\"\n />\n </td>\n <td>\n <img\n width=\"256\"\n alt=\"The Legend of Zelda\"\n src=\"https://user-images.githubusercontent.com/2184469/84821329-8d841480-afe0-11ea-9a57-c9daca04ed3b.png\"\n />\n </td>\n <td>\n <img\n width=\"256\"\n alt=\"Tetris\"\n src=\"https://user-images.githubusercontent.com/2184469/84822244-fc15a200-afe1-11ea-81de-2323845d7537.png\"\n />\n </td>\n </tr>\n <tr>\n <td>\n <img\n width=\"256\"\n alt=\"Contra\"\n src=\"https://user-images.githubusercontent.com/2184469/84822247-fcae3880-afe1-11ea-901d-1ef5e8378989.png\"\n />\n </td>\n <td>\n <img\n width=\"256\"\n alt=\"Mega Man II\"\n src=\"https://user-images.githubusercontent.com/2184469/84822249-fcae3880-afe1-11ea-8271-9e898933e571.png\"\n />\n </td>\n <td>\n <img\n width=\"256\"\n alt=\"Bubble Bobble\"\n src=\"https://user-images.githubusercontent.com/2184469/84822551-79411700-afe2-11ea-9ed6-947d78f29e8f.png\"\n />\n </td>\n </tr>\n</table>\n\n# Installation\n\nThe preferred installation of `nes-py` is from `pip`:\n\n```shell\npip install nes-py\n```\n\n## Debian\n\nMake sure you have the `clang++` compiler installed:\n\n```shell\nsudo apt-get install clang\n```\n\n## Windows\n\nYou'll need to install the Visual-Studio 17.0 tools for Windows installation.\nThe [Visual Studio Community](https://visualstudio.microsoft.com/downloads/)\npackage provides these tools for free.\n\n# Usage\n\nTo access the NES emulator from the command line use the following command.\n\n```shell\nnes_py -r <path_to_rom>\n```\n\nTo print out documentation for the command line interface execute:\n\n```shell\nnes_py -h\n```\n\n## Controls\n\n| Keyboard Key | NES Joypad |\n|:-------------|:--------------|\n| W | Up |\n| A | Left |\n| S | Down |\n| D | Right |\n| O | A |\n| P | B |\n| Enter | Start |\n| Space | Select |\n\n## Parallelism Caveats\n\nboth the `threading` and `multiprocessing` packages are supported by\n`nes-py` with some caveats related to rendering:\n\n1. rendering **is not** supported from instances of `threading.Thread`\n2. rendering **is** supported from instances of `multiprocessing.Process`,\n but `nes-py` must be imported within the process that executes the render\n call\n\n# Development\n\nTo design a custom environment using `nes-py`, introduce new features, or fix\na bug, please refer to the [Wiki](https://github.com/Kautenja/nes-py/wiki).\nThere you will find instructions for:\n\n- setting up the development environment\n- designing environments based on the `NESEnv` class\n- reference material for the `NESEnv` API\n- documentation for the `nes_py.wrappers` module\n\n# Cartridge Mapper Compatibility\n\n0. NROM\n1. MMC1 / SxROM\n2. UxROM\n3. CNROM\n\nYou can check the compatibility for each ROM in the following\n[list](https://github.com/Kautenja/nes-py/blob/master/nesmapper.txt)\n\n# Disclaimer\n\n**This project is provided for educational purposes only. It is not\naffiliated with and has not been approved by Nintendo.**\n\n\n\"controller.cpp\", \"cpu.cpp\", \"emulator.cpp\", \"lib_nes_env.cpp\", \"main_bus.cpp\", \"picture_bus.cpp\", \"ppu.cpp\"\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "An NES Emulator and OpenAI Gym interface",
"version": "10.0.1",
"project_urls": {
"Homepage": "https://github.com/FragileTech/nes-py"
},
"split_keywords": [
"nes",
" emulator",
" openai-gym"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "97b978063307823d5e8bd9fdb6b31c38c84e481ee4cf8353c4e64a07f38f28e3",
"md5": "143b9113634b20014098b57880163723",
"sha256": "fcbf9f3abedf8837c1e541a4fe0f29b5355d47635d788c4ab4d9b33c4fc10a1a"
},
"downloads": -1,
"filename": "fragile_nes_py-10.0.1.tar.gz",
"has_sig": false,
"md5_digest": "143b9113634b20014098b57880163723",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 41511,
"upload_time": "2024-09-02T21:33:14",
"upload_time_iso_8601": "2024-09-02T21:33:14.241241Z",
"url": "https://files.pythonhosted.org/packages/97/b9/78063307823d5e8bd9fdb6b31c38c84e481ee4cf8353c4e64a07f38f28e3/fragile_nes_py-10.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-02 21:33:14",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "FragileTech",
"github_project": "nes-py",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "fragile-nes-py"
}