Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/obsfx/console8
Yet another CHIP-8 emulator but works on your terminal.
https://github.com/obsfx/console8
chip-8 chip8 chip8-emulator command-line-app command-line-interface command-line-tool emulator javascript nodejs terminal tool
Last synced: 2 months ago
JSON representation
Yet another CHIP-8 emulator but works on your terminal.
- Host: GitHub
- URL: https://github.com/obsfx/console8
- Owner: obsfx
- License: gpl-3.0
- Created: 2020-02-25T13:36:04.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-06T02:46:45.000Z (almost 2 years ago)
- Last Synced: 2024-10-02T08:51:06.870Z (3 months ago)
- Topics: chip-8, chip8, chip8-emulator, command-line-app, command-line-interface, command-line-tool, emulator, javascript, nodejs, terminal, tool
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/console8
- Size: 1.31 MB
- Stars: 13
- Watchers: 3
- Forks: 1
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![](https://raw.githubusercontent.com/obsfx/console8/master/media/logo.png)
# console8 [![npm version](https://badge.fury.io/js/console8.svg)](https://badge.fury.io/js/console8)
`console8` is *yet another chip8 emulator* but works on your **command line**. `console8` simply uses your command line to render the graphics and does not require any GUI.
# installation
```
npm install -g console8
````console8` uses `iohook` package to handle the keyboard events so you may have to install with `sudo` and -`-unsafe-perm=true` for post installation and execute with `sudo` to get necessary permissions from your system.
# how to use
![](https://raw.githubusercontent.com/obsfx/console8/master/media/1.gif)
You can simply use by passing `--rom` argument with the path of the rom file.
```
console8 --rom=./roms/wipeoff.rom
```You can customize the display color and character by using this additional arguments;
```
--color= (optional, default: white)
available colors: white, red, green, yellow, blue, magenta, cyan--speed= (optional, default: 450)
--rendering_char= (optional, default: █)
```You can also see all available arguments by using --help argument;
```
console8 --help
```###### wall
![](https://raw.githubusercontent.com/obsfx/console8/master/media/2.gif)
###### ufo
![](https://raw.githubusercontent.com/obsfx/console8/master/media/3.gif)
###### wipeoff with custom rendering character
![](https://raw.githubusercontent.com/obsfx/console8/master/media/4.gif)
# a warning
`console8` is an *experimental learning project* so some roms can be **buggy**.
# compatibility
I have tested on **Ubuntu 19.10** / **Lubuntu 19.10** / **Windows 10 x64**. I am not sure about macOS compatibility.
# for rom files
Rom files are not included with npm installation but you can find some of them in this github repository;
`badlogic / chip8` https://github.com/badlogic/chip8/tree/master/roms
# cool resources
I learned tons of things from these great resources. If you are interested in emulators and if you want to learn how they work, you may want to check them out;
#### *Guides*
`BUILDING A CHIP-8 EMULATOR [C++] `https://austinmorlan.com/posts/chip8_emulator/
`How to write an emulator (CHIP-8 interpreter)` http://www.multigesture.net/articles/how-to-write-an-emulator-chip-8-interpreter/
#### *CHIP-8 References*
`Cowgod's Chip-8 Technical Reference v1.0` http://devernay.free.fr/hacks/chip8/C8TECH10.HTM
`Chip 8 instruction set` http://devernay.free.fr/hacks/chip8/chip8def.htm
#### *Source Reading*
`JamesGriffin / CHIP-8-Emulator` https://github.com/JamesGriffin/CHIP-8-Emulator