aboutsummaryrefslogtreecommitdiffstats
path: root/core.3118071 (unfollow)
Commit message (Collapse)AuthorFilesLines
8 daysserial: headless mode tying serial port to stdio for OS debugginggbc dev1-0/+0
- --headless: no rendering/TUI; serial TX -> stdout, RX <- stdin (nonblocking) - generalize serial: serial_out_fd/serial_in_fd on the GB; internal-clock transfer now shifts in a real RX byte (from stdin) instead of always 0xFF - paced to native speed by default, --uncapped for turbo; pipes/scripts cleanly - README: document headless serial console
9 daysgbctl: 'hud' kills any existing HUD pane before spawning (no double-HUD)gbc dev1-0/+0
gbctl hud now scans tmux for panes started with gbhud.py and kills them before spawning, so there's never more than one HUD (fixes the double-spawn flicker). Added 'gbctl hud --kill' to just tear the HUD down.
9 daysfix(control): ignore SIGPIPE so a vanishing client can't kill the emulatorgbc dev1-0/+0
A client that connects and closes before reading (e.g. the HUD's liveness probe) made the greeting write() raise SIGPIPE, terminating the whole emulator - this was behind much of the 'it keeps dying' this session. Also: gbhud now re-resolves the live instance from the registry on every reconnect (skipping stale sockets by test-connecting), so the HUD follows respawns, and its box rendering is ANSI-width-correct.
9 daystools: live debug HUD (gbhud.py) + 'gbctl hud'gbc dev1-0/+0
Reads WRAM over the control socket, resolves addresses from pokeyellow.sym, and pretty-prints game state (location, player pos/facing, movement+collision debug, player name/money/badges, party nicknames/levels/HP bars) refreshing ~5Hz. 'gbctl hud' spawns it in a tmux split bound to the live instance.