6 Commits
Author SHA1 Message Date
Andreas T Jonsson 23af71339a feat(pi): CRT offload to Core 2, 4:3 letterboxing, and peripheral status logging
Pi 3 bare-metal improvements:
- Offload CRT filter to Core 2 via CRT_FILTER_EXTERNAL compile flag.
  Core 1 queues frames; Core 2 worker (RenderThread) processes
  asynchronously with 1-frame latency. Trampoline pattern in crt.c/h.
- Add 4:3 letterboxed scaling on Core 2 render thread.
  HW framebuffer created once at physical display resolution
  (CBcmFrameBuffer auto-detect); largest centered 4:3 rect computed,
  black bars cleared once, nearest-neighbor scale into target rect.
- Raise KERNEL_MAX_SIZE to 0x1400000 (20 MB) across Circle Config.mk,
  kernel Makefile, and package-rpi.sh to accommodate ~19 MB .bss.
- Add vxt_peripheral_print_status() in src/vxt/peripheral.c that logs
  CPU type (8088/V20), frequency, installed peripherals, IO map ranges,
  and memory map ranges. Called from retro_load_game() in core.c.

Refs: docs/STATUS.md
2026-05-27 14:25:50 +02:00
Andreas T Jonsson bdb8512cfa Pi 3 bare-metal bring-up: fix boot blockers and add packaging
Fix four critical issues preventing VirtualXT from booting on Raspberry Pi 3B+:

1. vfs_file_load was a stub returning NULL - implement real VFS-backed
   loader using peripheral arena allocator

2. setup_machine_from_ini never wired disk.file_api - refactor to two
   passes (instantiate + wire APIs, then configure)

3. Missing vfs_tell in Circle kernel - null pointer crash when disk
   mount tried to get file size

4. Libretro VFS seek returns position, but disk module expects POSIX
   0/-1 - add adapter in disk_file_seek

Also:
- Add NO_DEFAULT_DISK and NO_SAMPLES build flags for baremetal size
- Replace GLABIOS.ROM with vxtbios.bin in raspberrypi.ini
- Add package-rpi.sh packaging script with cmdline.txt LOGFILE support
- Raise KERNEL_MAX_SIZE to 17 MB for Circle sysinit
- Clean up kernel error handling (halt() instead of error_halt)
- Update STATUS.md with known bugs and recent changes
2026-05-27 10:12:53 +02:00
Andreas T Jonsson 620364d68e Add Raspberry Pi baremetal build target (make rpi) with Circle kernel 2026-04-30 16:55:30 +02:00
Andreas T Jonsson cfe1746a17 code reset 2026-03-27 17:03:43 +01:00
Andreas T Jonsson 74173a5859 Update copyright year to 2026 2026-01-05 19:58:20 +01:00
Andreas T Jonsson 37a1bce70f Added Odin codebase 2025-02-13 12:49:35 +01:00