IMPORTANT: This will break out of tree targets but hopefully this is the last time. As long as targets stick to named definitions (`.num = ...`) from now on...
Retro-Go now supports U+0001 to U+FFFF which should cover almost all languages!
Fonts will need to be updated to add the missing glyphs, only basic has some latin glyphs right now. This will be done when tooling from #168 is merged in.
Note: The only documentation I have read to write the parser is wikipedia, so I'm sure that I'm missing many things. Also I have no idea how parse errors are supposed to be handled...
This is untested because I don't have one. All my knowledge comes from reading the datasheet.
Maybe I broke all extenders with this new code, in fact...
If RG_I2C_GPIO_DRIVER is defined, rg_i2c_gpio_init() will be called very early in rg_system_init
That is because input, display, audio, everything really, could depend on it.
* Added VMU config files
* Update config.h for VMU
* Adjust battery limits
* Small amendments to full battery voltage
* Update README.md
* Update config.h for dev build
* Just a small update to Null Nano battery to match VMU
rg_gui's behavior hasn't been improved yet. This commit only makes it possible to preemptively define the safe area in `config.h`.
Ideally future me should also add a type for margins, I just didn't know where to put it right now....
I've converted the basic font to a prop font.
It will now be easier to convert to the new font system from PR#168 because there's just one type to convert.
Every open tab would be rescanned every time something happened through the webui. This can be very slow and memory-intensive.
Now tabs are de-initialized when the webui deems that something might have changed and only the current tab is reloaded.
Currently in a theme the background files are named `background_<tab name>.png`. The problem is that sometimes retro-go adds new tabs, which causes themes to have missing backgrounds.
So I added a fallback. Theme can now provide a file named `background.png` that will be used when a tab-specific background isn't found. This also enables themes to provide a single background file if they don't want per-tab ones.
I refactored spc700.c:
- Replaced jump table by a switch. I'm aware that they're essentially the same thing (given our range), but the generated code is ~9KB less, so...
- Removed unnecessary inlining
Doesn't seem to have any performance impact, if anything it is marginally faster...
Possible improvements:
- Grouping identical instructions will reduce size further, but it might break the switch optimizations
- Finalizing the loop inside the function will certainly improve performance