Robert Allan James
ab96ac0970
starkernel: item 4.3.1 -- framebuffer orientation test, found and fixed a real color-swap bug
...
Adds fb_draw_orientation_test() (framebuffer.c/.h): fills the four raster
corners RED/GREEN/BLUE/YELLOW via fb_fill_rect. Wired into kernel_main.c
calling fb_init() directly -- console_fb_init()/vt100_init() removed from
the boot path, since vt100.c/console.c are superseded by the Console
drawing-fabric redesign (FABRIC.md ss27) and should not be exercised even
incidentally.
The diagnostic caught a real, pre-existing bug on its first run: framebuffer.c's
pack_pixel() had its FB_PIXEL_RGBX32/FB_PIXEL_BGRX32 branches swapped relative
to UEFI GOP's own byte-order naming convention, producing a clean R<->B channel
swap (G unaffected). Spatial placement was already correct -- no flip/rotation.
Fixed by swapping pack_pixel's two return bodies to match framebuffer.h's
already-correct doc comments; kernel_main.c's GOP-format switch needed no change.
Also item 4.3.2 -- QEMU screenshot capability. scripts/qemu_screenshot.sh
already existed (monitor socket + socat + HMP screendump), just unwired and
unused this session. Redirected its PNG output to a new top-level fb/
directory (tracked in git, not logs/, not a gitignored temp dir) and added a
python3+PIL fallback for PPM->PNG conversion since imagemagick isn't
installed here. Left as a standalone script for now, not wired into a
Makefile target.
FABRIC.md items 4.3.1 and 4.3.2 marked done with acceptance evidence.
2026-08-07 11:38:33 -04:00
..
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-02 05:11:24 -04:00
2026-08-02 05:11:24 -04:00
2026-08-02 05:11:24 -04:00
2026-08-02 06:59:48 -04:00
2026-08-02 06:59:48 -04:00
2026-08-02 06:59:48 -04:00
2026-08-02 08:05:28 -04:00
2026-08-02 08:05:28 -04:00
2026-08-02 08:05:28 -04:00
2026-08-02 08:05:28 -04:00
2026-08-02 08:05:28 -04:00
2026-08-02 09:11:07 -04:00
2026-08-02 09:11:07 -04:00
2026-08-02 09:11:07 -04:00
2026-08-02 09:11:07 -04:00
2026-08-02 09:11:07 -04:00
2026-08-02 09:11:07 -04:00
2026-08-02 09:11:07 -04:00
2026-08-02 10:07:18 -04:00
2026-08-02 10:07:18 -04:00
2026-08-02 10:07:18 -04:00
2026-08-02 10:07:18 -04:00
2026-08-02 10:07:18 -04:00
2026-08-02 11:44:23 -04:00
2026-08-02 11:44:23 -04:00
2026-08-02 11:44:23 -04:00
2026-08-02 14:49:52 -04:00
2026-08-02 14:49:52 -04:00
2026-08-02 14:49:52 -04:00
2026-08-02 14:49:52 -04:00
2026-08-02 14:49:52 -04:00
2026-08-02 14:49:52 -04:00
2026-08-02 14:49:52 -04:00
2026-08-02 14:49:52 -04:00
2026-08-02 21:52:35 -04:00
2026-08-02 21:52:35 -04:00
2026-08-02 21:52:35 -04:00
2026-08-03 12:47:21 -04:00
2026-08-03 12:47:21 -04:00
2026-08-03 12:47:21 -04:00
2026-08-03 12:52:34 -04:00
2026-08-03 18:23:37 -04:00
2026-08-03 18:23:37 -04:00
2026-08-03 18:23:37 -04:00
2026-08-03 18:30:25 -04:00
2026-08-03 18:47:29 -04:00
2026-08-03 19:48:56 -04:00
2026-08-03 22:14:52 -04:00
2026-08-04 00:01:48 -04:00
2026-08-04 00:01:48 -04:00
2026-08-04 00:01:48 -04:00
2026-08-04 00:01:48 -04:00
2026-08-04 07:28:30 -04:00
2026-08-04 07:28:30 -04:00
2026-08-04 07:28:30 -04:00
2026-08-04 00:21:23 -04:00
2026-08-04 00:21:23 -04:00
2026-08-04 00:21:23 -04:00
2026-08-04 00:21:23 -04:00
2026-08-04 00:21:23 -04:00
2026-08-04 13:15:50 -04:00
2026-08-04 13:15:50 -04:00
2026-08-04 13:15:50 -04:00
2026-08-04 13:15:50 -04:00
2026-08-04 13:54:22 -04:00
2026-08-04 13:54:22 -04:00
2026-08-04 13:54:22 -04:00
2026-08-04 14:55:30 -04:00
2026-08-04 14:55:30 -04:00
2026-08-04 14:55:30 -04:00
2026-08-04 15:15:59 -04:00
2026-08-04 15:15:59 -04:00
2026-08-04 15:15:59 -04:00
2026-08-04 16:48:13 -04:00
2026-08-04 16:48:13 -04:00
2026-08-04 16:48:13 -04:00
2026-08-04 17:06:14 -04:00
2026-08-04 17:06:14 -04:00
2026-08-04 17:06:14 -04:00
2026-08-04 17:16:46 -04:00
2026-08-04 17:16:46 -04:00
2026-08-04 17:16:46 -04:00
2026-08-04 17:28:38 -04:00
2026-08-04 17:28:38 -04:00
2026-08-04 17:28:38 -04:00
2026-08-04 17:36:23 -04:00
2026-08-04 17:36:23 -04:00
2026-08-04 17:36:23 -04:00
2026-08-04 18:09:34 -04:00
2026-08-04 18:09:34 -04:00
2026-08-04 18:09:34 -04:00
2026-08-04 19:50:34 -04:00
2026-08-04 19:50:34 -04:00
2026-08-04 19:50:34 -04:00
2026-08-05 13:37:10 -04:00
2026-08-05 13:37:10 -04:00
2026-08-05 13:37:10 -04:00
2026-08-05 15:12:30 -04:00
2026-08-05 15:12:30 -04:00
2026-08-05 15:12:30 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-07 01:50:45 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-01 07:49:56 -04:00
2026-08-07 11:38:33 -04:00
2026-08-07 11:38:33 -04:00
2026-08-07 11:38:33 -04:00
2026-08-01 07:49:56 -04:00