begin work on new device module system
This commit is contained in:
parent
7b8871ffd9
commit
5769f6d470
11 changed files with 190 additions and 112 deletions
|
|
@ -92,7 +92,7 @@ let create code =
|
|||
Bytes.blit_string code 0 data 0x100 (String.length code);
|
||||
Machine { data; dev; stack = stack_create (); callstack = stack_create () }
|
||||
|
||||
let dispatch ?(trace = false) ?(breakpoints = []) (Machine m) (pc : int) =
|
||||
let dispatch ?(trace = false) (Machine m) (pc : int) =
|
||||
let pc = ref pc in
|
||||
|
||||
while true do
|
||||
|
|
@ -100,9 +100,7 @@ let dispatch ?(trace = false) ?(breakpoints = []) (Machine m) (pc : int) =
|
|||
|
||||
let op = Bytes.get_uint8 m.data !pc in
|
||||
let instr = Instr.of_int op in
|
||||
|
||||
let trace l = if trace then perform (Trace (!pc, instr, l)) in
|
||||
if List.mem !pc breakpoints then perform (Breakpoint !pc);
|
||||
|
||||
pc := (!pc + 1) land 0xffff;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue