crystal_nes
Version, currently master branch1 version
- master branchlatestJul 21, 2020
github.com/hoffi/crystal_nes
A NES Emulator written in Crystal
1 stars
0 dependents
License: BSD-3-Clause
Installation
# Add this to your shard.yml
dependencies:
crystal_nes:
github: hoffi/crystal_nes
branch: mastermaster is a branch, not a release, so this tracks it rather than pinning a version.
Then run:
shards installshard.yml
- Crystal
0.32.1- License
- BSD-3-Clause
- Author
- hoffi
- Target
crystal_nesfrom main.cr
Dependencies
Runtime Dependencies
README
CrystalNES
A NES Emulator written in Crystal
Current status

- [x] Complete CPU
- [x] Controller
- [ ] PPU
- [x] Basic background rendering
- [x] Sprite rendering
- [ ] Correct timings
- [ ] APU
- [ ] Mappers
- [x] Mapper 0 / NROM
- [ ] Mapper 1 / SxROM
- [ ] Mapper 2 / UxROM
- [ ] Mapper 3 / CNROM
- [ ] GUI
- [x] PPU output
- [x] CPU Flags and Register values
- [ ] Disassembler
- [ ] Debugger
Usage
raylib needs to be installed on the system.
crystal run main.cr -- path/to/rom.nes
Key mappings
| Key | NES Function |
|---|---|
| A | Select |
| S | Start |
| Y/Z | A |
| X | B |
| Up | Up |
| Right | Right |
| Left | Left |
| Down | Down |
| R | Reset |
| Space | Play/Pause |
References
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This branch
- Branch
master- Seen
- Jul 21, 2020
- Crystal
0.32.1- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/hoffi/crystal_nes
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 14, 2026
- Synced
- Aug 14, 2026
- Versions
- 1