rust8/chip8/
constants.rs

1pub const INSTRUCTION_SIZE: usize = 2;
2pub const DEFAULT_PROGRAM_ADDRESS: usize = 0x200;
3pub const UNPROTECTED_MEMORY_START: usize = 0x200;
4pub const FONT_SPRITE_MEMORY_LOCATION: usize = 0x000;
5pub const FONT_SPRITE_SIZE: usize = 5;
6pub const STACK_SIZE: usize = 24;
7pub const MEMORY_SIZE: usize = 4096;
8
9pub const SCREEN_WIDTH: usize = 64;
10pub const SCREEN_HEIGHT: usize = 32;
11
12pub const FONT_SPRITES: [[u8; 5]; 16] = [
13    [0xF0, 0x90, 0x90, 0x90, 0xF0], // 0
14    [0x20, 0x60, 0x20, 0x20, 0x70], // 1
15    [0xF0, 0x10, 0xF0, 0x80, 0xF0], // 2
16    [0xF0, 0x10, 0xF0, 0x10, 0xF0], // 3
17    [0x90, 0x90, 0xF0, 0x10, 0x10], // 4
18    [0xF0, 0x80, 0xF0, 0x10, 0xF0], // 5
19    [0xF0, 0x80, 0xF0, 0x90, 0xF0], // 6
20    [0xF0, 0x10, 0x20, 0x40, 0x40], // 7
21    [0xF0, 0x90, 0xF0, 0x90, 0xF0], // 8
22    [0xF0, 0x90, 0xF0, 0x10, 0xF0], // 9
23    [0xF0, 0x90, 0xF0, 0x90, 0x90], // A
24    [0xE0, 0x90, 0xE0, 0x90, 0xE0], // B
25    [0xF0, 0x80, 0x80, 0x80, 0xF0], // C
26    [0xE0, 0x90, 0x90, 0x90, 0xE0], // D
27    [0xF0, 0x80, 0xF0, 0x80, 0xF0], // E
28    [0xF0, 0x80, 0xF0, 0x80, 0x80], // F
29];