Verify Nintendo logo checksum.

Handle read errors when loading the cartridge.
This commit is contained in:
Fabien Freling 2015-02-23 15:43:37 +01:00
parent 840c00e30b
commit b0df091425
2 changed files with 46 additions and 16 deletions

View file

@ -1,4 +1,15 @@
(** Power up sequence *)
let power_up cartridge =
(** Nintendo logo scrolling *)
if not (Cartridge.check_nintendo_logo cartridge)
then print_endline "Invalid ROM."
else print_endline "Valid ROM."
let () =
if Array.length Sys.argv < 2
then print_endline "Please specify a ROM."
else Cartridge.read_cartridge Sys.argv.(1)
then print_endline "Please specify a ROM.";
let cartridge = Cartridge.read_cartridge Sys.argv.(1) in
match cartridge with
| None -> print_endline "Invalid ROM file."
| Some c -> power_up c