Boot chain. Started as a 16-bit MBR sector that set VGA mode 3 and printed “Hello, Amethyst!” via BIOS teletype. Added protected mode (A20 gate, GDT, CR0.PE, far jump to [BITS 32], direct 0xB8000 VGA writes replacing BIOS calls), then long mode (PAE paging, identity-mapped first 1GB, EFER.LME). Later split the monolithic boot.asm into stage1.asm (real→protected→long mode handoff) + kernel.asm (%included, everything from protected mode on) — that was “Cleaned codebase”; “Organized src/” was purely a file move (src/boot/kernel.asm → src/kernel/kernel.asm), no logic change.
Shell core. echo came first, then run — decodes a hex-byte string into a scratch buffer and calls into it directly, no sandboxing, on purpose. “Added more commands” was one big commit landing nine at once: clear, help, reboot, halt, mem, peek, poke, cpuid, uptime, shutdown.
ACPI. “Improved shutdown” was misleadingly named — it’s where real ACPI support landed: RSDP scanning, RSDT/XSDT parsing with checksum validation, a brute-force table scan fallback, _S5 AML decoding, and the acpi command to probe/display it all. This is what makes shutdown actually power off real hardware instead of just halting.
UI/UX. color added named presets (red/green/blue/yellow/white) plus raw hex attribute bytes, with input validation and a usage message. Arrow-key navigation added cursor movement, word-jump (Ctrl+arrow), selection, insert/delete-at-cursor, and full input-line redraw logic — the single largest diff in the history (~343 lines). Then PS/2 mouse cursor support, scrolling, and scrollback.
Later additions. date/time, sysinfo (cpu/ram/gpu/general, using the BIOS memory map stage1 captures in real mode), draw. “Doubled stage1 budget; Fixed bugs” doubled KERNEL_SECTORS 16→32 (and the matching -boot-load-size/times padding) to make room for growth, and in the same commit reworked help to print aligned two-column output with per-command descriptions (command_descriptions table) and tightened color’s argument validation.
Infra. Hybrid BIOS+UEFI boot support: uefi.asm linked as a PE32+ EFI app, packed into a FAT ESP image, combined with the BIOS MBR into one hybrid ISO, plus a raw .img for USB writes and three separate QEMU run scripts for each boot path.
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.