Commit graph

12 commits

Author SHA1 Message Date
bunnie
9434bb5383 style_macro is how fonts are added to bao1x
By adding a resolver to a given glyph set, the glyph set is
automatically pulled into the image.

Glyph set is now co-located in the bao-video process, instead
of the loader.

The orignial argument for putting the font data in the loader
is that it's a large, static blob; by putting it in the loader,
updates can be more compact, and fonts don't need to be schlepped
over every time you have an application update.

This came with consequences. It made verifying the loader more
complicated (because its memory space is split between the graphics
manager and root keys). It also means we have to fix the partition
size for the loader at "fairly large" for fonts, even if we don't
need all of them in all of the configs.

With baochip, we have swap memory! Off-chip memory is cheap and
only the fonts actually used by the host get mapped into main memory.
This means we don't have as much of a trade-off in terms of
cost for fonts if we put them in off-chip swap storage. Also,
the updates are split between swap and main memory, and the roadmap
includes an item for swap to be individually loadable programs
so that if the video server doesn't need an update, it won't be
pulled into the update set.
2025-09-25 16:08:36 +08:00
bunnie
7724e38ca1 cleand up fontmap 2025-09-25 16:08:27 +08:00
bunnie
2d5039568c genearted artifacts corresponding to template update 2025-09-25 16:08:06 +08:00
bunnie
1255bf12d9 FLAG DAY: fix all names to harmonize around 'bao1x'
The code base had evolved through several code names, interim
names, company names and chip names that alternatively did or did
not exist.

Baochip is the definitive name of the company, and the Baochip1x
(full part number BAO1X2S4F-WA) is the definitivey part number of
the SoC. For convenience, the part number is shortened to 'bao1x'
in most feature flags and variable references.

This commit fixes all of the odd names and removes some unmaintained
early targets.
2025-09-18 21:25:51 +08:00
bunnie
0f7ad13c08 only set dirty bits for precursor-like targets
This was introducing a mysterious "line" artifact on text rendering
in new systems.

Probably need to do some real on-device testing of this change
because the automated tests won't catch a dirty bit error on
the LCD.
2025-05-23 10:52:55 +08:00
bunnie
e0ef852d06 fix routine so we're passing by reference, not by copy
this is just an "old code" problem, written before I fully understood
these subtleties
2025-02-28 16:32:32 +08:00
bunnie
8f48572b9c restrict font choices in baosec target
we have a smaller font map, so don't resolve glyphs to fonts
that we don't have.
2025-02-28 16:32:03 +08:00
bunnie
3d0d727094 fix bits vs bytes 2025-02-27 21:33:10 +08:00
bunnie
2a97d9a827 fix location of font offsets 2025-02-24 02:28:34 +08:00
bunnie
efb627bf4f remove slice size specifier from blitstr2
this makes the api portable
2025-02-21 17:46:28 +08:00
bunnie
f78d54a834 add configuration for doc build 2025-02-17 22:53:56 +08:00
bunnie
b788ed6633 move blitstr2 to its own library
this allows us to share font data between platforms without
replicating the code base
2025-02-17 18:24:39 +08:00