{"id":15315607,"url":"https://github.com/obsfx/console8","last_synced_at":"2025-04-15T02:18:20.134Z","repository":{"id":42924703,"uuid":"243007822","full_name":"obsfx/console8","owner":"obsfx","description":"Yet another CHIP-8 emulator but works on your terminal.","archived":false,"fork":false,"pushed_at":"2023-01-06T02:46:45.000Z","size":1376,"stargazers_count":13,"open_issues_count":7,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-28T14:05:17.273Z","etag":null,"topics":["chip-8","chip8","chip8-emulator","command-line-app","command-line-interface","command-line-tool","emulator","javascript","nodejs","terminal","tool"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/console8","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/obsfx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-25T13:36:04.000Z","updated_at":"2024-10-01T15:23:41.000Z","dependencies_parsed_at":"2023-02-05T03:35:10.649Z","dependency_job_id":null,"html_url":"https://github.com/obsfx/console8","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obsfx%2Fconsole8","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obsfx%2Fconsole8/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obsfx%2Fconsole8/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obsfx%2Fconsole8/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/obsfx","download_url":"https://codeload.github.com/obsfx/console8/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248681494,"owners_count":21144700,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chip-8","chip8","chip8-emulator","command-line-app","command-line-interface","command-line-tool","emulator","javascript","nodejs","terminal","tool"],"created_at":"2024-10-01T08:51:12.866Z","updated_at":"2025-04-15T02:18:20.117Z","avatar_url":"https://github.com/obsfx.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](https://raw.githubusercontent.com/obsfx/console8/master/media/logo.png)\n\n# console8 [![npm version](https://badge.fury.io/js/console8.svg)](https://badge.fury.io/js/console8)\n\n`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. \n\n\n\n# installation\n\n```\nnpm install -g console8\n```\n\n`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.\n\n# how to use\n\n![](https://raw.githubusercontent.com/obsfx/console8/master/media/1.gif)\n\nYou can simply use by passing `--rom` argument with the path of the rom file.\n\n```\nconsole8 --rom=./roms/wipeoff.rom\n```\n\nYou can customize the display color and character by using this additional arguments;\n\n```\n--color=\u003crendering color of ON bits\u003e (optional, default: white)\navailable colors: white, red, green, yellow, blue, magenta, cyan\n\n--speed=\u003cspeed of cycle execution, 1000 / speed\u003e (optional, default: 450)\n\n--rendering_char=\u003cascii char that represents ON bits\u003e (optional, default: █)\n```\n\nYou can also see all available arguments by using --help argument;\n\n```\nconsole8 --help\n```\n\n\n\n###### wall\n\n![](https://raw.githubusercontent.com/obsfx/console8/master/media/2.gif)\n\n###### ufo\n\n![](https://raw.githubusercontent.com/obsfx/console8/master/media/3.gif)\n\n###### wipeoff with custom rendering character\n\n![](https://raw.githubusercontent.com/obsfx/console8/master/media/4.gif)\n\n\n\n# a warning\n\n`console8` is an *experimental learning project* so some roms can be **buggy**.\n\n\n\n# compatibility\n\nI have tested on **Ubuntu 19.10** / **Lubuntu 19.10** / **Windows 10 x64**. I am not sure about macOS compatibility.\n\n\n\n# for rom files\n\nRom files are not included with npm installation but you can find some of them in this github repository;\n\n`badlogic / chip8`  https://github.com/badlogic/chip8/tree/master/roms\n\n\n\n# cool resources\n\nI 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;\n\n\n\n#### *Guides*\n\n`BUILDING A CHIP-8 EMULATOR [C++] `https://austinmorlan.com/posts/chip8_emulator/\n\n`How to write an emulator (CHIP-8 interpreter)` http://www.multigesture.net/articles/how-to-write-an-emulator-chip-8-interpreter/\n\n\n\n#### *CHIP-8 References*\n\n`Cowgod's Chip-8 Technical Reference v1.0` http://devernay.free.fr/hacks/chip8/C8TECH10.HTM\n\n`Chip 8 instruction set` http://devernay.free.fr/hacks/chip8/chip8def.htm\n\n\n\n#### *Source Reading*\n\n`JamesGriffin / CHIP-8-Emulator` https://github.com/JamesGriffin/CHIP-8-Emulator\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobsfx%2Fconsole8","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fobsfx%2Fconsole8","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobsfx%2Fconsole8/lists"}