This commit looks a lot bigger than it really is, I noticed a couple spots where with these issues so I ran a regex to find all possible occurrences and switched all that could be, after manually ensuring it was actually correct
Using sizeof on the buffer (as long as the buffer is a char *array*, not a pointer!!) greatly reduces the chance of something having the wrong size because of a later change to the buffer, notably a couple snprintfs were missed in the UTF_BUFFER_BYTESIZE change
Fix height of ラ character
I accidentally made it 1px too tall before
Add Cyrillic to default font
Make Я more like latin R
Right after I commit, looking at my screenshot I notice I forgot to tweak the Я to be more angled like this font's latin R...
Improve the default font's Kana
derp fix
Properly handle invalid UTF-8
Fix conversion PBMs with non-byte aligned rows
Rename font extension to .frf
For Font RiFf
Re-add PBM font support
Default converting to CP-437 and try guess size
Revert "Default converting to CP-437 and try guess size"
Reverts 2c9a47d224b28cbb51a3ee335fd9970265201b72 as I think the old behaviour works better given PBM font support being kept
Re-add mapping file for CP-437
Automatically use mapping file with same name as image
ex. for "font_6x10.pbm" it will use "font_6x10.txt" in the same directory
- completely moved MCU interrupt handling outside of the critical section
- refactored a bit of the PXI code and command names
- merge the I2C read and write cmds to be one
- remove SET_VMODE cmd, now it's always initialized to BGR565 on boot and to RGB565 on firmlaunch
- atomic-ize more stuff
- properly performs gpu/backlight reset
- nukes vram so the initrd had to be moved to arm9 memory, and have its size (at least temporarily) limited to 256k
- reset LEDs on boot
- add code to set the notification LED
- add a PXI command to verify the NVRAM is actually online
- notify the ARM9 about the shell state through the HID thing
- added initial SCU twiddling
- added very untested and unusable SMP code
- fixed race condition that happened on boot
- added initial MMU code (just super basic identity mapping, no caching set up or anything)
- enabled some of the fancier ARMv6 features
- reorganized ARM11 files into their own folders
- possibly more stuff I'm forgetting about
- moved I2C code to the ARM11 (with an ugly hack that MUST be fixed)
- reworked the PXI protocol to have lower latencies and remove any potential async support
This commit adds an edited README.md to be built into GM9 as user guide.
The scrubbed parts include refs to the GM9 banner, unused MarkDown and
the whole "How to build this / developer info" block.
Links have been replaced with their corresponding anchor text, when
replacing them could be done without altering the sentences' original
meaning.
Certain parts have been further altered, such as the "License"
paragraph, which now includes the full link to GM9's "license.txt".
BPS standardization edits.
* Clean up headers.
* Move crc32.c to /crypto/.
* Rename beat.c to bps.c and move it to /system/ with the rest of the non-3DS file formats.
Allocate memory for Source and Target files when possible.
Last-minute BPS improvements.
* BPS fails more gracefully on error, freeing memory and showing a more detailed message.
* BPM no longer deletes the folder it patches to - that should be up to the user.
* BPM is scanned before patching to figure out the total output file size for a more accurate progress bar.
Add IPS support.