Verify Nintendo logo checksum.
Handle read errors when loading the cartridge.
This commit is contained in:
parent
840c00e30b
commit
b0df091425
2 changed files with 46 additions and 16 deletions
15
src/oboy.ml
15
src/oboy.ml
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue