diff --git a/src/cpu.ml b/src/cpu.ml index 9cfc9a7..b51ee60 100644 --- a/src/cpu.ml +++ b/src/cpu.ml @@ -189,24 +189,22 @@ let run cpu (mem: Memory.map) = | '\x20' -> let n = read_pc_byte cpu mem in let s = Bit.signed_byte n in let inst = sprintf "JR \tNZ, 0x%02X (%d)" n s in - if cpu.flag.z = false then ( + if cpu.flag.z = false then begin inc_pc cpu (s - 2); (* we read 2 bytes from PC, opcode and n *) inst, 12 - ) else ( + end else inst, 8 - ) | '\xC9' -> let inst = sprintf "RET" in cpu.reg.pc <- pop_stack cpu mem; inst, 16 | '\xC0' -> let inst = sprintf "RET \tNZ" in - if cpu.flag.z = false then ( + if cpu.flag.z = false then begin cpu.reg.pc <- pop_stack cpu mem; inst, 20 - ) else ( + end else inst, 8 - ) @@ -250,12 +248,11 @@ let run cpu (mem: Memory.map) = | '\x28' -> let n = read_pc_byte cpu mem in let inst = sprintf "JR \tZ, 0x%02X" n in - if cpu.flag.z = true then ( + if cpu.flag.z = true then begin inc_pc cpu (n - 1); inst, 12 - ) else ( + end else inst, 8 - ) | '\x34' -> let inst = sprintf "INC \t(HL)" in let hl = merge_bytes cpu.reg.l cpu.reg.h in diff --git a/src/memory.ml b/src/memory.ml index c21d961..23ebfd8 100644 --- a/src/memory.ml +++ b/src/memory.ml @@ -99,11 +99,11 @@ let update_timers mem cycles = if should_inc_div then ignore (inc mem.map gDIV); let should_inc_tima = Timer.update mem.tima cycles in - if should_inc_tima then ( + if should_inc_tima then begin let overflow = inc mem.map gTIMA in - if overflow then ( + if overflow then begin let tma = get mem.map gTMA in set mem.map gTIMA tma (* TODO: INT 50 - Timer interupt *) - ) - ) + end + end diff --git a/src/oboy.ml b/src/oboy.ml index 8f85de2..f333dbd 100644 --- a/src/oboy.ml +++ b/src/oboy.ml @@ -16,7 +16,7 @@ let rec run (cpu: Cpu.t) (mem: Memory.t) (screen: Screen.t) = printf "start %f\n" start; let rec run_for cpu (mem: Memory.t) cycles_remaining = - if cycles_remaining > 0 then ( + if cycles_remaining > 0 then begin printf "\n"; let inst, cycles = Cpu.run cpu mem.map in printf "[Instruction] %s\n" inst; @@ -24,7 +24,7 @@ let rec run (cpu: Cpu.t) (mem: Memory.t) (screen: Screen.t) = Memory.update_timers mem cycles; run_for cpu mem (cycles_remaining - cycles) - ) + end in run_for cpu mem cycles_per_frame; @@ -59,11 +59,11 @@ let power_up cartridge = let () = - if Array.length Sys.argv < 2 then ( + if Array.length Sys.argv < 2 then begin prerr_endline "Please specify a ROM."; eprintf "Usage: %s path/to/rom\n" Sys.argv.(0); exit 1; - ); + end; let cartridge = Cartridge.read_cartridge Sys.argv.(1) in match cartridge with