summaryrefslogtreecommitdiff
path: root/chip8.h
blob: 1bfd1faa6b16cc790311e2b4bafa72fbf7f20b18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#pragma once

#include "util.h"

void init_vm();
void vm_step();
void load_rom();

typedef struct {
  u8* rom;

  u16 PC;

  u8 SP;
  u16 stack[16];

  u8 DT;
  u8 ST;
  
  u16 I;

  u8 Vx[16];

  u8 keyboard[16];

  u8 screen[0x3F*0x1F];
} chip8_vm;

extern chip8_vm vm;