diff options
| author | user <user@clank> | 2026-07-17 14:19:02 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-07-17 14:19:02 +0200 |
| commit | 4bc5adf806a1f06ddfc456fa63ebebd3ae8e8a04 (patch) | |
| tree | 45fba46a96964744aba196faee3f876decbb08b8 /tools/gbjoin | |
| parent | cleanup: drop c/tcp.c (old userland-SLIP TCP client, superseded by kernel TCP... (diff) | |
| download | gbos-4bc5adf806a1f06ddfc456fa63ebebd3ae8e8a04.tar.gz gbos-4bc5adf806a1f06ddfc456fa63ebebd3ae8e8a04.tar.xz gbos-4bc5adf806a1f06ddfc456fa63ebebd3ae8e8a04.zip | |
tools: gbhub - many Game Boys on one network (DHCP pool + inter-GB routing)
A virtual switch/router/DHCP for N emulators. It leases each Game Boy a distinct
address (10.0.0.2, 10.0.0.3, ...), routes packets between them by destination IP,
floods broadcasts, and NATs external traffic out a TUN. No kernel changes are
needed: the GB just sends to a dst IP over its one link and the hub decides
GB<->GB vs GB<->internet.
sudo tools/gbhub 2 netd "ping 10.0.0.2"
Verified two Game Boys talking to each other:
[GB0] dhcp: leased 10.0.0.2 [GB1] dhcp: leased 10.0.0.3
[GB0] netd: up (10.0.0.2) [GB1] ping 10.0.0.2 -> 4/4 received
DHCP is keyed per connection (not MAC), so identical GBs still get unique IPs;
each emulator gets its own ROM copy so battery saves don't clash.
Diffstat (limited to 'tools/gbjoin')
0 files changed, 0 insertions, 0 deletions
