mirror of
https://github.com/IllusionMan1212/chip-m8.git
synced 2026-10-24 02:12:34 +00:00
32 lines
873 B
C
32 lines
873 B
C
#include <stdint.h>
|
|
|
|
struct Chip8 {
|
|
uint8_t V[16];
|
|
uint16_t I;
|
|
uint16_t PC = 0x200;
|
|
uint16_t SP;
|
|
uint16_t stack[16];
|
|
uint8_t memory[4096];
|
|
|
|
uint32_t pixels[64 * 32];
|
|
bool draw;
|
|
};
|
|
|
|
static const uint8_t font[80] = {
|
|
0xF0, 0x90, 0x90, 0x90, 0xF0, // 0
|
|
0x20, 0x60, 0x20, 0x20, 0x70, // 1
|
|
0xF0, 0x10, 0xF0, 0x80, 0xF0, // 2
|
|
0xF0, 0x10, 0xF0, 0x10, 0xF0, // 3
|
|
0x90, 0x90, 0xF0, 0x10, 0x10, // 4
|
|
0xF0, 0x80, 0xF0, 0x10, 0xF0, // 5
|
|
0xF0, 0x80, 0xF0, 0x90, 0xF0, // 6
|
|
0xF0, 0x10, 0x20, 0x40, 0x40, // 7
|
|
0xF0, 0x90, 0xF0, 0x90, 0xF0, // 8
|
|
0xF0, 0x90, 0xF0, 0x10, 0xF0, // 9
|
|
0xF0, 0x90, 0xF0, 0x90, 0x90, // A
|
|
0xE0, 0x90, 0xE0, 0x90, 0xE0, // B
|
|
0xF0, 0x80, 0x80, 0x80, 0xF0, // C
|
|
0xE0, 0x90, 0x90, 0x90, 0xE0, // D
|
|
0xF0, 0x80, 0xF0, 0x80, 0xF0, // E
|
|
0xF0, 0x80, 0xF0, 0x80, 0x80 // F
|
|
}; |