oboy/src/core/state.ml

23 lines
528 B
OCaml
Raw Permalink Normal View History

2019-05-12 11:56:31 +02:00
(* State of the world, contains all the required information at any point *)
type t = {
2019-05-15 14:03:53 +02:00
mutable cartridge : Cartridge.t option;
2019-07-14 19:11:40 +02:00
mutable memory : Memory.t option
2019-05-12 11:56:31 +02:00
}
(* Global reference *)
let state = ref {
2019-07-14 19:11:40 +02:00
cartridge = None;
memory = None
2019-05-12 11:56:31 +02:00
}
2019-05-15 14:03:53 +02:00
let load_cartridge file =
let cartridge = Cartridge.read_cartridge file in
match cartridge with
2019-07-14 19:11:40 +02:00
| Some c -> begin
let memory = Memory.init c in
!state.cartridge <- cartridge;
!state.memory <- Some memory;
Cartridge.print_info c
end; true
2019-05-15 14:03:53 +02:00
| None -> false