oboy/src/cpu.ml

27 lines
431 B
OCaml

(** http://bgb.bircd.org/pandocs.htm#cpuregistersandflags *)
type registers = {
a : char; (* accumulator *)
b : char;
c : char;
d : char;
e : char;
h : char;
l : char;
sp : int; (* stack pointer *)
pc : int; (* program counter *)
}
type flags = {
z : bool; (* zero *)
n : bool; (* substraction *)
h : bool; (* half-carry *)
cy : bool; (* carry *)
}
type t = {
reg : registers;
flags : flags;
}