summaryrefslogtreecommitdiff
path: root/src/vcpu.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vcpu.h')
-rw-r--r--src/vcpu.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/vcpu.h b/src/vcpu.h
index 7eed76f..c85744d 100644
--- a/src/vcpu.h
+++ b/src/vcpu.h
@@ -1,6 +1,26 @@
#pragma once
typedef struct VCPU_State {
+ // Program Counter (16 bits but only 12 bits used (4096 memory addresses))
+ unsigned short PC;
+
+ // Index register (16 bits but only 12 bits used (4096 memory addresses))
+ unsigned short I;
+
+ // Stack register (16 bits)
+ unsigned short S;
+
+ // General purpose registers (8 bits each)
+ // Note last one often used as a flag register
+ unsigned char V[16];
+
+ // Delay timer (8 bits)
+ unsigned char DT;
+
+ // Sound timer (8 bits)
+ unsigned char ST;
+
+ // Intruction (opcode + decoded fields)
short opcode;
char X;
char Y;