oboy/src/cpu.ml

27 lines
431 B
OCaml
Raw Normal View History

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