A simple CHIP-8 emulator written in Python.
Project description
chipmul8
CHIP-8 is an interpreted programming language, developed by Joseph Weisbecker. It was initially used on the COSMAC VIP and Telmac 1800 8-bit microcomputers in the mid-1970s. CHIP-8 programs are run on a CHIP-8 virtual machine. It was made to allow video games to be more easily programmed for these computers. CHIP-8
This project aims to replicate the CHIP-8 interpreter using Python, in the hopes that we can play Pong as it ran on the CHIP-8 virtual machine in the 1970's.
Installation
Developer Installation
- Download / clone the repo
- In the root of the repository run:
make bootstrap- This will create a virtual environment and install the required dependencies for the project.
Execution
-
Run the
chipmul8command while providing a path to a chip8 rom:$ chipmul8 /path/to/rom/pong.c8 -
The '--invert_colors' switch can also be provided to invert the color palette of the display
$ chipmul8 /path/to/rom/pong.c8 --invert_colors
References
The primary reference for this project was Cowgod's Chip-8 Technical Reference v1.0 This technical reference is incredibly detailed, the emulator would not have taken shape without it.
For testing corax89's test roms were hugely helpful.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chipmul8-0.2.0.tar.gz.
File metadata
- Download URL: chipmul8-0.2.0.tar.gz
- Upload date:
- Size: 99.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b644525ce8f287f54ecd4053f08b495e41f7360521ef5e9cc0acc11f83babad
|
|
| MD5 |
3fcf7419b9987e8b3d58c71ae81a9e9c
|
|
| BLAKE2b-256 |
5186ab7073c7111da378091cd0fc4492c257517c91ac8a30539fc9a6ec6b3f2c
|
File details
Details for the file chipmul8-0.2.0-py3-none-any.whl.
File metadata
- Download URL: chipmul8-0.2.0-py3-none-any.whl
- Upload date:
- Size: 9.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
808189c136ff01cb00169dbe4f127b8f8e80563ee6319a5ee2ed3a7b68bf9421
|
|
| MD5 |
8ae362b92d056069509686b1aa7fa435
|
|
| BLAKE2b-256 |
83fad766a8c85f73379fed1fb14fee8abffdb3514b43b169c4c241544d923394
|