oboy/src/core/state.ml

23 lines
528 B
OCaml

(* State of the world, contains all the required information at any point *)
type t = {
mutable cartridge : Cartridge.t option;
mutable memory : Memory.t option
}
(* Global reference *)
let state = ref {
cartridge = None;
memory = None
}
let load_cartridge file =
let cartridge = Cartridge.read_cartridge file in
match cartridge with
| Some c -> begin
let memory = Memory.init c in
!state.cartridge <- cartridge;
!state.memory <- Some memory;
Cartridge.print_info c
end; true
| None -> false