|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
Directories | |
| inc | |
| src | |
Viewable page-turn comic reader. It brings up external SDRAM and the 1024x600 GLCDC panel through ra8_display_pal, puts the RGB565 framebuffer in SDRAM, and draws into it with ra8_gfx. A baked multi-page CBZ is opened once with comic_open and each page is decoded on demand and aspect-fit into the content region between a top status bar and a bottom progress bar.
Discrete tap zones only – right third forward, left third back, centre-top toggles the chrome bands. There is deliberately no swipe, drag or pinch: the emulator's GT911 model reports contacts, not gestures, so a gesture-driven reader could not be driven off-target at all. Taps route through the real ra8_touch -> I3C -> GT911 path, so no emulator change is needed to drive it.
After the first render the app folds an FNV-1a-32 over the whole panel framebuffer and prints it, so the headless gate can assert a fixed page-1 render without a panel attached. hil.conf pins the banner.
inc/comic_pages_fixture.h is generated by scripts/gen/gen_comic_fixture.py: a pure-ASCII byte array holding one CBZ of near-panel grayscale PNG pages. Every page carries a distinct paper tint, panel layout and a huge 7-segment page number, so a page turn on the panel is unmistakable. Flat-shaded art DEFLATEs to a few hundred bytes a page, which keeps the whole archive small enough to bake into MRAM.