aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--demo/gbos-demo.gifbin350160 -> 330712 bytes
-rw-r--r--demo/readme.gbd7
-rwxr-xr-xtools/gbdemo6
3 files changed, 10 insertions, 3 deletions
diff --git a/demo/gbos-demo.gif b/demo/gbos-demo.gif
index 754477d..c5208f7 100644
--- a/demo/gbos-demo.gif
+++ b/demo/gbos-demo.gif
Binary files 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