craigthomas / Chip8Java

A Super Chip 8 emulator written in Java
MIT License
27 stars 2 forks source link

Implement Bitplane Selection #25

Closed craigthomas closed 1 month ago

craigthomas commented 2 months ago

The XO Chip instructions reference bitplanes when drawing to the screen. In the default implementation of the Chip8 specification, we assume there is only a single plane. The bitplane variable is a single byte value that encodes which bitplane should be active. There are only four choices:

For this issue, the bitplane selector should be created and should be instantiated as 1 when the emulator starts up. The bitplane selection instruction Fn01 should be implemented that will store the value of n to the bitplane selector variable. The drawing, scrolling, and clearing instructions will be updated to work on separate bitplanes in a different issue.