Cache the BIOS Font for `bfont_` use with G1
To avoid clashing with the limitation that reading the BIOS font clashes with other G1 bus access (as would be used for G1DMA), a possible workaround would be to have optional caching of the font. For between 3-10kb you could selectively cache the ANSI, ISO-8859-1, or JISX-0201 sets, and for more the custom characters, wide fonts, etc.
Since the layout is a simple bitmap, it could also likely be possible to pre-process the data into a smaller format (even a simple per-line 12-bit word dictionary compression would be probably be worthwhile), and/or one that makes drawing with it faster.
This should reduce possible issues from this: https://dcemulation.org/phpBB/viewtopic.php?t=106946 or these https://github.com/KallistiOS/KallistiOS/pull/736 https://github.com/KallistiOS/KallistiOS/pull/763
Of course, eventually we can devise better mechanisms for resource sharing, but even once we do this would likely still be a useful option to (for instance) reduce the time the g1 bus is locked for reading font data or avoid it altogether just to never have g1dma blocked.
Putting this idea here as RFC.
Great Idea! I'll ponder this and create an implementation. I dont see many using the Biosfont for production releases but anything that can not take away from CD speed is a good thing.