add bootstrapping test script

This commit is contained in:
Lobo 2025-12-03 22:58:03 -03:00
parent d49bac83c3
commit c63860654c
2 changed files with 16 additions and 1 deletions

15
bootstrap.sh Normal file
View file

@ -0,0 +1,15 @@
#!/bin/sh
set -e
echo "======> Building seed Drifloon using uxnmin"
make -sC utils clean
make -sC utils drifloon.rom
echo "======> Building Drifloon using utils/drifloon.rom (seed)"
dune exec -- ./exe/uxnemu.exe utils/drifloon.rom < utils/drifloon.tal > drifloon-ocaml.rom
echo "======> Comparing ROMs (should be identical)"
cmp drifloon-ocaml.rom utils/drifloon.rom
echo "======> Building Drifloon using drifloon-ocaml.rom"
dune exec -- ./exe/uxnemu.exe drifloon-ocaml.rom < utils/drifloon.tal > drifloon-boot.rom
echo "======> Comparing ROMs (should be identical)"
cmp drifloon-ocaml.rom drifloon-boot.rom
echo "======> Done!"

View file

@ -18,7 +18,7 @@ let rec run m pc =
in in
try Machine.dispatch ~trace:debug m pc with try Machine.dispatch ~trace:debug m pc with
| effect Machine.Trace (pc, instr, args), k when debug -> | effect Machine.Trace (pc, instr, args), k when debug ->
Fmt.epr "PC = %04x | %6s : %a@." pc (Instr.to_string instr) Fmt.epr "PC = %04x | %6s %a@." pc (Instr.to_string instr)
(Fmt.list ~sep:(Fmt.any " ") (Fmt.fmt "%02x")) (Fmt.list ~sep:(Fmt.any " ") (Fmt.fmt "%02x"))
args; args;
Out_channel.flush stderr; Out_channel.flush stderr;