|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
Reflow/layout, EPUB/CBZ parsing, the bounded unarchivers, the book model, rendering, the widget UI, and the memory hierarchy (apps/shared_libs/reflow, epub, comic, unarch, book, rabook_compile, and rabook_import; libs/ra8_gfx, ra8_widget, ra8_ui, ra8_box, ra8_display_pal, and ra8_mem). More...
Files | |
| file | ra8_box.h |
| Bounded, allocation-free box-model layout for e-reader chrome. | |
| file | ra8_c6link_mdl.h |
| Pull-based media download client over ESP-hosted CustomRpc. | |
| file | ra8_c6link_mdl_transfer.h |
| Transactional RA8-side coordinator for C6 media byte streams. | |
| file | ra8_mdl_http.h |
| Wire-neutral media HTTP request and response records. | |
| file | ra8_mdl_storage_ram.h |
| Caller-buffer transaction adapter for verified C6 media sources. | |
| file | ra8_display_pal.h |
| Display Platform Abstraction Layer for the RA8D2. | |
| file | ra8_display_pal_eink.h |
| E-ink backend (IT8951) for the display PAL. | |
| file | ra8_display_pal_lcd.h |
| LCD backend (ra8_glcdc) for the display PAL. | |
| file | ra8_display_pal_policy.h |
| Pluggable page-turn refresh-cadence policy for bistable (e-ink) panels. | |
| file | ra8_display_pal_internal.h |
| Internal vtable + handle types for the display PAL. | |
| file | ra8_epd_cal.h |
| Per-device e-paper panel calibration (VCOM) – record, storage seam, resolution policy. | |
| file | ra8_gfx.h |
| Software 2D graphics primitives layered on top of a caller-ownedframebuffer (DRW / D/AVE 2D / GLCDC ready). | |
| file | ra8_gfx_dither.h |
| Void-and-cluster blue-noise dithering: continuous-tone gray8 -> 16-level panel (#477). | |
| file | ra8_gfx_font.h |
| Bitmap font descriptor + bundled font handles for ra8_gfx. | |
| file | ra8_gfx_dither_mask_internal.h |
| Void-and-cluster blue-noise threshold mask for the e-ink dither (#477). | |
| file | ra8_gfx_internal.h |
| Module-private declarations shared across the ra8_gfx software rasteriser TUs. | |
| file | ra8_jpeg_sw.h |
| Pure-software baseline JPEG (ISO/IEC 10918-1 / ITU-T T.81) codec. | |
| file | ra8_jpeg_sw_encode_internal.h |
| Module-private declarations shared by the two encoder translation units of the software JPEG codec. | |
| file | ra8_jpeg_sw_internal.h |
| Module-private declarations shared across the software JPEGcodec translation units. | |
| file | ra8_arena.h |
| Init-time bump arena – carves per-tier slab backing, zero-heap. | |
| file | ra8_glyph_atlas.h |
| Fixed-RAM-budget glyph cache with LRU eviction (Layer 3, #147). | |
| file | ra8_keycache.h |
| The one reusable hash + pin + evict cache engine (#147, #345). | |
| file | ra8_slab.h |
| Fixed-cell slab allocator – O(1), zero-fragmentation, zero-heap. | |
| file | ra8_tile_cache.h |
| Fixed-RAM-budget image-tile cache with LRU eviction (Layer 3b, #147). | |
| file | ra8_vmem.h |
| Byte-range page cache with SLRU eviction (Layer 2, #147). | |
| file | ra8_vmem_stream.h |
| Read a page-cached object as a seekable byte stream (Layer 2 helper, #147/#151). | |
| file | ra8_vsource.h |
| Virtual-memory object sources – the page-cache storage seam (Layer 1, #147). | |
| file | ra8_ui.h |
| Bounded UI interaction core: hit-testing, screen stack, paging. | |
| file | ra8_widget.h |
| Zero-heap composable widget layer (dwm-style) over ra8_box + ra8_ui. | |
| file | ra8_widget_book.h |
| Book-card + book-grid leaf widget for the ra8_widget tree (#145 Phase 2). | |
| file | ra8_widget_keyboard.h |
| On-screen-keyboard leaf widget for the ra8_widget tree (#145 Phase 2). | |
| file | ra8_widget_nav_bar.h |
| Navigation-strip leaf widget for the ra8_widget tree model (#145 Phase 2). | |
| file | ra8_widget_progress_bar.h |
| Progress-bar leaf widget for the ra8_widget tree model (#145 Phase 2). | |
| file | ra8_widget_reflow_view.h |
| Reflowed-reading-body leaf widget for the ra8_widget tree (#145 Phase 2). | |
| file | ra8_widget_status_bar.h |
| Status-bar leaf widget for the ra8_widget tree model (#145 Phase 2). | |
| file | ra8_widget_toolbar.h |
| Toolbar leaf widget for the ra8_widget tree model (#145 Phase 2). | |
| file | ra8_widget_internal.h |
| Module-private paint helpers shared by the concrete leaf-widget TUs. | |
| file | ra8_fmt_stream.h |
| Caller-workspace I/O contracts for portable format-tool engines. | |
| file | ra8_fmt_stream_inspect.c |
| Callback-driven, caller-workspace JOF inspection and reporting. | |
| file | book.h |
| Flat, execute-in-place container for a build-time "compiled" e-book. | |
| file | book_chunked.h |
| Demand-paged chunk reader for the "RBKC" .rabook container. | |
| file | book_paged.h |
| Paged (demand-fetched) accessor mode for book over ra8_vmem (#163). | |
| file | book_stream.h |
| Strict, zero-allocation validation of a streamed RABOOK1 flat blob. | |
| file | book_internal.h |
| book DOM-walk helpers shared across the library's translation units. | |
| file | comic.h |
| Unified demand-paged reader for comic-book archives – CBZ (ZIP) and CBR (RAR). | |
| file | comic_tiles.h |
| Tile an oversized comic page through the JOF atlas + ra8_tile_cache so a CBZ/CBR page larger than the whole-decode arena opens and zooms (#344). | |
| file | ra8_rar.h |
| Clean-room, read-only RAR archive walker (RAR4 + RAR5 headers, STORE data). | |
| file | ra8_rar5.h |
| Clean-room RAR 5.0 ("method 50") decompressor – LZ + Huffman + filters. | |
| file | comic_internal.h |
| Cross-TU seams between the comic facade and its CBZ / CBR backends. | |
| file | ra8_rar5_internal.h |
| Cross-TU seam between the RAR5 entropy front-end and the LZ decoder. | |
| file | epub.h |
| EPUB (.epub) reader and chapter iterator for ra8-firmware. | |
| file | epub_entry.h |
| Iterative, bounded-RAM ZIP-entry extraction for the EPUB reader (#231). | |
| file | epub_fs.h |
| ra8_fs -> epub bridge: open a .epub straight off a filesystem. | |
| file | epub_img_tiles.h |
| Page a large in-EPUB image through ra8_tile_cache + a real reflow <img> loader off the streaming reader (#231). | |
| file | epub_miniz_alloc.h |
| Caller-owned bounded-arena allocator for miniz. | |
| file | epub_fs_internal.h |
| Test-access surface for the EPUB filesystem stream callback. | |
| file | epub_internal.h |
| Test-access surface for epub internal helpers (MC/DC). | |
| file | epub_xml_shim.c |
| Strict bounded container/OPF/NCX/nav XML consumers. | |
| file | epub_xml_shim_internal.h |
| Library-private contract for the bounded EPUB XML parser. | |
| file | epub_xml_toc.c |
| Bounded NCX and EPUB 3 nav table-of-contents consumers. | |
| file | jof.h |
| JOF band-tile atlas: the display-native normalized image format (#231, shared with the longstrip scroll #289 and codec policy #290). | |
| file | jof_audit.h |
| No-heap, backing-agnostic structural audit for JOF atlases. | |
| file | jof_produce.h |
| Import-time transcode producer: JPEG/PNG/WebP -> JOF band-tile atlas in bounded RAM (#231, #290 normalize-on-import). | |
| file | jof_audit.c |
| No-heap implementation of the backing-agnostic JOF audit. | |
| file | jof_internal.h |
| Module-private seams shared by the producer translation units. | |
| file | jof_png_internal.h |
| Module-private declarations shared by the two PNG decoder units. | |
| file | longstrip.h |
| Continuous vertical-scroll (longstrip / manhwa) reading mode over an JOF band-tile atlas (#289). | |
| file | mdl_format.h |
| Shared media artifact format contract for download and export paths. | |
| file | mdl_rabook_vfs.h |
| Strict no-heap RBKC validator and reader over named RA8 VFS mounts. | |
| file | mdl_storage_vfs.h |
| No-heap VFS storage binding for the media-download coordinator. | |
| file | ra8_rabook_comic.h |
| Streaming image-sequence builder for reader-native RABOOK comics. | |
| file | ra8_rabook_container.h |
| Zero-heap streaming writer for the chunked RBKC .rabook container. | |
| file | ra8_rabook_gray4.h |
| Grayscale image transcode stage (4-bpp / 8-bpp) for the on-device EPUB compiler (#149). | |
| file | ra8_rabook_pipeline.h |
| End-to-end EPUB -> RABOOK1 compile pipeline (#149). | |
| file | ra8_rabook_raster.h |
| Caller-arena raster normalizer for RABOOK image records. | |
| file | ra8_rabook_xml_shim.h |
| Bounded XHTML-to-RABOOK streaming builder. | |
| file | rabook_compile.h |
| Zero-heap builder that emits a RABOOK1 blob (the #149 compiler back-end). | |
| file | ra8_rabook_xml_shim.c |
| Strict streamed XHTML-to-RABOOK consumer. | |
| file | rabook_import.h |
| On-import EPUB -> .rabook compile-and-cache manager (#151). | |
| file | rabook_import_compiler.h |
| Production adapter binding the import seam to the real compiler (#151). | |
| file | ra8_img_arena.h |
| Heap-free scratch allocator hooks for the stb_image single-TU build. | |
| file | ra8_stbtt_alloc.h |
| Heap-free scratch allocator for stb_truetype (glyph rasterise). | |
| file | ra8_stbtt_guard.h |
| sfnt (TrueType/OpenType) table-directory bounds guard for stb_truetype. | |
| file | reflow.h |
| HTML / CSS reflow + paginate engine for the ra8d2 ereader. | |
| file | reflow_api.h |
| Reflow-engine public + internal function prototypes. | |
| file | reflow_cache.h |
| Import-time pagination cache for reflow (#79). | |
| file | reflow_css.h |
| Minimal content-CSS cascade for the reflow ereader engine (#111). | |
| file | reflow_image.h |
| Zero-heap raster image decode + scale + blit for reflow (#106). | |
| file | reflow_svg.h |
| Minimal SVG handling for the reflow ereader (#112). | |
| file | reflow_types.h |
| Reflow-engine data model: enums, structs, typedefs, and the handle. | |
| file | reflow_css_internal.h |
| Cross-TU surface for the split content-CSS cascade (#111). | |
| file | reflow_internal.h |
| Test-access surface for reflow internal helpers (MC/DC). | |
| file | reflow_layout_internal.h |
| Cross-TU shared declarations for the reflow layout engine. | |
| file | reflow_svg_internal.h |
| Cross-TU surface for the split minimal-SVG subset (#112). | |
| file | reflow_tokenize_internal.h |
| Test-access surface for reflow_tokenize.c internal helpers. | |
| file | unarch_gzip.h |
| Clean-room gzip member decoder (RFC 1952) over the miniz DEFLATE core. | |
| file | unarch_io.h |
| Shared seek+read seam and flat-memory backing for the unarchivers. | |
| file | unarch_tar.h |
| Clean-room, read-only streaming tar walker (POSIX ustar + pax + GNU). | |
| file | unarch_xz.h |
| Bounded, fail-closed XZ/LZMA2 decoding over the vendored xz-embedded. | |
| file | unarch_xz_pool.h |
| Caller-owned bump arena backing xz-embedded's allocator seam. | |
| file | xz_config.h |
| First-party porting header for the vendored xz-embedded decoder. | |
| file | ra8_webp.h |
| Zero-heap WebP (VP8 / VP8L) decode facade over the vendored libwebp. | |
| file | ra8_webp_arena.h |
| Heap-free scratch allocator hooks for the vendored libwebp decoder. | |
| file | xml.h |
| Bounded, caller-owned, no-heap XML pull reader. | |
| file | xml.c |
| Bounded no-heap XML pull-reader implementation. | |
| file | xml_decode.c |
| Bounded entity and UTF-8 decoding for the no-heap XML pull reader. | |
| file | xml_doctype.c |
| Bounded external-only DOCTYPE lexer for the no-heap XML reader. | |
| file | xml_internal.h |
| Private lexical seams shared by the bounded XML reader. | |
| file | zoom.h |
| Tap-to-zoom image viewer: viewport state machine + tiled magnifying render (#478). | |
| file | zoom_book.h |
| Bind a .rabook image-pool figure as a zoom source (#478). | |
| file | zoom_tiles.h |
| Bind a tiled gray8 atlas behind an ra8_tile_cache as a zoom source (#478). | |
Reflow/layout, EPUB/CBZ parsing, the bounded unarchivers, the book model, rendering, the widget UI, and the memory hierarchy (apps/shared_libs/reflow, epub, comic, unarch, book, rabook_compile, and rabook_import; libs/ra8_gfx, ra8_widget, ra8_ui, ra8_box, ra8_display_pal, and ra8_mem).