diff options
| author | gbc dev <gbc@localhost> | 2026-09-23 16:59:27 +0200 |
|---|---|---|
| committer | gbc dev <gbc@localhost> | 2026-09-23 16:59:27 +0200 |
| commit | b8fe8823c43dcd279d1376608b92303ce3455c2e (patch) | |
| tree | c2e41c86bd3128002671fefcd7c0501f78a327da /src | |
| parent | web: refresh the demo ROM story - gbos now serves IRC and HTTP (diff) | |
| download | sl0pboy-b8fe8823c43dcd279d1376608b92303ce3455c2e.tar.gz sl0pboy-b8fe8823c43dcd279d1376608b92303ce3455c2e.tar.xz sl0pboy-b8fe8823c43dcd279d1376608b92303ce3455c2e.zip | |
web: the switch builds itself a small network on arrival
An empty switch is a blank page. The lab now stands up a four-machine demo by
itself: one Game Boy runs ircd, one runs httpd, and two more use them - an irc
client that joins #gb and says hello, and a web client that wgets the server
and pings it. Cards carry a role badge so the shape is readable at a glance.
Nothing is faked: every step is a command typed into a real shell over the
link port, which is why you can take it over afterwards and keep typing. New
controls: "restart demo" and "empty the switch"; "+ plug in a Game Boy" still
works the same.
Booting four machines at real speed would be a minute of watching banners, so
each one is fast-forwarded (6 frames per tick) until it has a lease, then
drops back to real time for the part worth watching. Only one is ever boosted
at a time - the scenario is sequential - which keeps the total inside the
~12x-realtime budget a single thread has. Whole thing is ready in ~22s.
deploy.sh now also refreshes the gitignored web/roms/gbos.gb dev copy. That
copy had silently gone stale by two gbos releases, and a local demo run kept
reporting "ircd: not found" for a program that was plainly in the ROM - the
page was fine, the ROM behind it was from before ircd existed.
Verified against the live site: 4/4 leases, roles .2-.5, 60fps each, ircd logs
"<gbchat> hello from the other Game Boy", httpd logs "200 /", wget prints the
HTML and ping gets 4/4, no exceptions.
Diffstat (limited to 'src')
0 files changed, 0 insertions, 0 deletions
