Skip to content
stormy232Public

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

49 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chip8

The Chip 8 is an interpreted language created by RCA engineer Joe Weisbecker in 1977.

It's Machine Specifications are as listed below:

  • Memory: CHIP-8 has direct access to up to 4 kilobytes of RAM
  • Display: 64 x 32 pixels (or 128 x 64 for SUPER-CHIP) monochrome, ie. black or white
  • A program counter, often called just “PC”, which points at the current instruction in memory
  • One 16-bit index register called “I” which is used to point at locations in memory
  • A stack for 16-bit addresses, which is used to call subroutines/functions and return from them
  • An 8-bit delay timer which is decremented at a rate of 60 Hz (60 times per second) until it reaches 0
  • An 8-bit sound timer which functions like the delay timer, but which also gives off a beeping sound as long as it’s not 0
  • 16 8-bit (one byte) general-purpose variable registers numbered 0 through F hexadecimal, ie. 0 through 15 in decimal, called V0 through VF
  • VF is also used as a flag register; many instructions will set it to either 1 or 0 based on some rule, for example using it as a carry flag

The Following Project was therefore created in attempt to gain an understanding over low level concepts such as Opcodes (similar to syscalls), stacks, dealing with memory directly, registers, etc...

4-flags ROM provided by Timendus (integral for testing of mathematical operations) Screenshot_20241020_184000 3-corax+ ROM provided by Timendus (integral for testing of opcodes) Screenshot_20241020_183935 Breakout: Screenshot_20241020_183902

Dependencies To Build: SDL2 (note currently on windows this program has only been tested with msys2 as of the moment) Therefore best to install dependencies from there if possible

Build Instuctions: Create build directory within root directory cd into it and run cmake

mkdir build && cd build && cmake ..

Run Make

make

How to Run Program:

./Chip8 [path_to_rom][width_of_window][height_of_window]

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages