From 6450173e19d93547f4e67a345df0b8c262ad6efc Mon Sep 17 00:00:00 2001 From: user Date: Sat, 18 Jul 2026 22:11:07 +0200 Subject: demo: boot through the CGB BIOS + double-speed ROM in the README gif spawn --bios shows the real power-on show (logo drop + splash) before gbos boots; gbdemo resolves a bare --bios to the emulator's bundled boot ROM by absolute path (the tmux pane cwd is wherever the user is). The screen-synced waitfor absorbs the extra ~4s - only the first prompt timeout got a bump. Regenerated with the double-speed kernel: same demo, boots and scrolls visibly snappier. --- demo/gbos-demo.gif | Bin 350160 -> 330712 bytes demo/readme.gbd | 7 ++++--- tools/gbdemo | 6 ++++++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/demo/gbos-demo.gif b/demo/gbos-demo.gif index 754477d..c5208f7 100644 Binary files a/demo/gbos-demo.gif and b/demo/gbos-demo.gif differ diff --git a/demo/readme.gbd b/demo/readme.gbd index 1f2c09f..21a9667 100644 --- a/demo/readme.gbd +++ b/demo/readme.gbd @@ -7,11 +7,12 @@ # Every waitfor syncs on REAL screen text (the terminal's WRAM shadow), so # boot, DHCP and IRC-server timing can vary without breaking the choreography. -spawn --chrome +# --bios: boot through the real CGB boot ROM (logo drop + chime + splash) +spawn --chrome --bios record /tmp/gbos-demo.gbv 2 -# cold boot: kernel dmesg, netd grabs a DHCP lease, then the shell prompt -waitfor "/# " 60 +# BIOS animation (~4s), then cold boot: dmesg, DHCP lease, shell prompt +waitfor "/# " 90 wait 2 slowtype uname -a diff --git a/tools/gbdemo b/tools/gbdemo index e2b8e13..956c9f3 100755 --- a/tools/gbdemo +++ b/tools/gbdemo @@ -130,6 +130,12 @@ def hub_type(payload: bytes): def v_spawn(args): nohub = "--nohub" in args # offline: no link (script smoke-tests) args = [a for a in args if a != "--nohub"] + # bare --bios: resolve the emulator's default boot ROM to an absolute path + # (the tmux pane's cwd is wherever the user happens to be) + if "--bios" in args: + i = args.index("--bios") + if i + 1 >= len(args) or args[i + 1].startswith("-"): + args.insert(i + 1, os.path.join(GBC, "bios/gbc_bios.bin")) if not nohub and not os.path.exists(HUB): die("no hub at %s - start it first: sudo tools/gbhub --daemon" % HUB) rom = "/tmp/gbdemo_%d.gb" % os.getpid() # private copy: no .sav clashes -- cgit v1.3.1-sl0p