SchOS/boot/bios
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nexoniarz 8757846a9b boot: make the resolution prompt reachable from the serial console
The menu shipped working only for someone driving the emulated keyboard,
which is nobody. `make qemu` runs -serial mon:stdio, so the terminal the
developer is sitting in front of is the serial line -- and the menu read
INT 16h, which is the PS/2 keyboard. Keys went nowhere.

The prompt was invisible for a second reason: BIOS teletype writes to the
VGA text screen, and `make qemu` attaches virtio-gpu alongside stdvga and
shows that one, so the text landed on a display nobody was looking at.

So print16 now writes to both the screen and COM1, and the menu accepts a
key from either source. The transmitter wait is bounded, because a machine
with no serial port reads 0xFF from the status register forever and would
otherwise hang the loader on exactly the hardware that cannot say why.

Also: four seconds rather than two, which is not long when the prompt has
to be read first; the chosen digit is echoed, because a serial line has no
local echo and the menu otherwise looks like it ignored the key; and the
timeout says "keeping 800x600" instead of silently moving on.

Verified three ways: typing r then 2 over serial gives 1024x768, sendkey r
then 3 on the keyboard gives 1280x1024, and no key at all prints the
timeout and boots 800x600. bootcheck 108 [ok].

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-10 05:02:10 +02:00
..
bootasm.S boot: separate BIOS from UEFI 2026-08-09 16:00:03 +02:00
cdboot.S boot: separate BIOS from UEFI 2026-08-09 16:00:03 +02:00
stage2.S boot: make the resolution prompt reachable from the serial console 2026-08-10 05:02:10 +02:00
stage2main.c boot: separate BIOS from UEFI 2026-08-09 16:00:03 +02:00