Rips out RAMFS, since that's ancient. Then, makes the primitive for resource load be "create a file object", rather than having fully_load be the primitive (and then implement fully_load on top of "create a file object"). That paves the way for the big kahuna here: changing the font loader and parser to operate on struct files, not on fully-loaded n_GFonts! Finally, once we're working on files, we can cache glyphs at a time, rather than whole fonts. So as a side effect, the overlay is now capable of rendering whole notifications without running out of RAM. Phew!!
Rips out RAMFS, since that's ancient. Then, makes the primitive for resource load be "create a file object", rather than having
fully_load
be the primitive (and then implementfully_load
on top of "create a file object"). That paves the way for the big kahuna here: changing the font loader and parser to operate onstruct file
s, not on fully-loadedn_GFont
s! Finally, once we're working onfile
s, we can cache glyphs at a time, rather than whole fonts. So as a side effect, the overlay is now capable of rendering whole notifications without running out of RAM. Phew!!