- Edited
Nice! Mine are somewhere in limbo between PostNL and Deutsche Post. Thankfully, the OPi Lite has risen from the dead. I guess I must have shorted something and triggered a polyfuse.
In the meantime, I have implemented a few features:
- high-resolution screen modes up to 1920x1080 (
SCREEN 14
to20
) - filtering for modes that don't scale well (
CONFIG 3,1
) - zero-copy rendering to the framebuffer
- true color support (
PALETTE 2
) - SMP support, BG/sprite rendering now runs on the second CPU core
- RTC support (not tested with a battery yet)
- BG/sprite engine bindings for Lua
- a better Lua command line that prints return values automatically
- proper 16-bit, 48 kHz audio rendering
- loading and saving of various image file formats (PNG, JPG, BMP etc.)
- increased limits (subroutine, argument and loop stack sizes, synth timeout)
- test suite fixed, 100% pass!
There are a lot of fixes and improvements in the bare metal framework as well:
- (hopefully) SMP-safe libc implementation
- support for stack protector and Undefined Behavior Sanitizer
- memory layout rearranged with the heap at the end in order to be able to support boards with more RAM
- GDB debugger stub on the serial port
[If anybody is playing along at home, you will have to rebuild the toolchain using the updated crosstool-ng.config
for the reentrant syscalls to work.]
Most of this stuff (specifically the HQ audio and true color support) are available in the SDL version as well.
Unfortunately I'll have to do some real work some time as well, so things might go a little slower soon...