Skip to content

nwtnni/chip

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

chip

A terminal-based CHIP-8 emulator with ROM game files from Zophar's Domain.

Features

  • Adjustable CPU frequency
  • Address and opcode types
  • Bit-based pixel buffer
  • Basic stepping debugger with CPU and assembly view
  • Pause and reset functionality

Screenshots

Space Invaders Tetris

Usage

  1. Install Rust.
  2. Run cargo run --release --hz 500 rom/<FILE> from the project directory.
  3. Input keys are mapped as follows (diagram from here)

    Keyboard              CHIP-8 Input
╔═══╦═══╦═══╦═══╗      ╔═══╦═══╦═══╦═══╗
║ 1 ║ 2 ║ 3 ║ 4 ║      ║ 1 ║ 2 ║ 3 ║ C ║
╠═══╬═══╬═══╬═══╣      ╠═══╬═══╬═══╬═══╣
║ Q ║ W ║ E ║ R ║      ║ 4 ║ 5 ║ 6 ║ D ║
╠═══╬═══╬═══╬═══╣ ===> ╠═══╬═══╬═══╬═══╣
║ A ║ S ║ D ║ F ║      ║ 7 ║ 8 ║ 9 ║ E ║
╠═══╬═══╬═══╬═══╣      ╠═══╬═══╬═══╬═══╣
║ Z ║ X ║ C ║ V ║      ║ A ║ 0 ║ B ║ F ║
╚═══╩═══╩═══╩═══╝      ╚═══╩═══╩═══╩═══╝

      <ESC>       ===>       QUIT
        +         ===>     HZ += 10
        -         ===>     HZ -= 10
        n         ===>       STEP
        r         ===>       RESET
     <SPACE>      ===>       PAUSE

References

Releases

No releases published

Packages

No packages published

Languages