Commit Graph

77 Commits

Author SHA1 Message Date
profi200 cd99d80e42
Detect homebrew and force SRAM save type.
Bug fixes.
2020-06-15 18:59:09 +02:00
profi200 a852083583
Fixed swi in ARM7 stub. Fixes #5. 2020-06-15 02:17:09 +02:00
profi200 9002291e8a
Basic save type detection based on code from GBARunner2 (thanks Gericom).
Note: Some EEPROM types are definitely broken right now.
2020-06-13 16:13:58 +02:00
profi200 aecbee03e7
Split CFG11 and PDN into separate headers. Also (nearly) completed them.
Reimplemented filesystem access for ARM11.
Moved ROM loading to ARM11.
2020-06-13 00:49:30 +02:00
profi200 4316ad5c85
Bump color quality. Also removes output dithering. 2020-06-08 13:58:14 +02:00
profi200 2e8f7d92a5
Automatically enumerate IPC cmds.
Actually power off bottom screen backlight instead of dimming it to basically off.
2020-06-07 19:50:26 +02:00
profi200 1a93fd579d
Forgot to rename the GPIO IRQs in previous commit. 2020-06-06 14:56:00 +02:00
profi200 cdeec87351
Lots of small changes related to recent findings.
Some cleanup.
2020-06-06 00:25:10 +02:00
profi200 391bc4d05d
Moved lgy.h to include/hardware.
Define size symbols instead of calculating asm stub size at runtime.
Workaround poor optimization when passing GbaRtc struct by value.
2020-05-31 18:18:26 +02:00
profi200 efefa7b3db
Moved save type selection to ARM11. Save size is now auto calculated. 2020-05-30 15:20:29 +02:00
profi200 237fb25c19
Implemented basic error checking/error messages.
Use single buffering for the console.
Now turns off bottom screen backlight.
2020-05-29 15:54:19 +02:00
profi200 d0194dca50
Lots of small (functionality unrelated) improvements.
The GBA cart emu RTC is now set properly (with the exception of day of week).
2020-05-26 18:44:47 +02:00
profi200 206472e29f
Use Arm terminology for cache functions. 2020-05-22 01:54:29 +02:00
profi200 89a5688155
Assembly code cleanup. 2020-05-22 01:00:38 +02:00
profi200 f2168be00e
Lots of functionality unrelated code cleanup. 2020-05-20 23:25:40 +02:00
profi200 70f518b92f
Moved some GX/LCD regs to their own headers + more reg/bit definitions. 2020-05-17 20:15:43 +02:00
profi200 63f03cd824
Force LgyFb to insert 16 pixels of padding horizontally. Makes tiled output finally work. 2020-05-14 16:27:11 +02:00
profi200 31da2d7f62
Actually make more __asm__ volatile. 2020-05-11 15:51:59 +02:00
profi200 7222e77e8c
GCC's LTO is getting clever.
Fixed defines in gfx.h.
2020-05-11 15:18:38 +02:00
profi200 51115a9785
Added Circle-Pad controls. Costs about 30 µs frame time.
Note: No calibration support yet. If your Circle-Pad is in bad shape or came out of the factory with drift this will certainly break.
2020-05-05 23:27:34 +02:00
profi200 9ff4bbf2fd
Get rid of GPU init cmd list. We only need a single write. 2020-04-30 09:16:48 +02:00
profi200 3fc02d32ef
Added broken GPU rendering. 2020-04-29 18:19:55 +02:00
profi200 93abc0958f
Added VRAM allocator (thanks to libctru).
Overhaul of gfx.c.
2020-04-24 20:22:10 +02:00
profi200 461572c326
Initial GPU work.
README update.
2020-04-20 14:22:26 +02:00
profi200 3c79369710
Rewrite ARM7 stub.
Some small ARM9 code cleanup.
2020-04-19 15:24:30 +02:00
profi200 602ec58777
Fixed screen init once and for all.
Some gfx code cleanup.

Note: The screen init fix requires the same changes in other homebrew FIRMs to work properly. Particularly waiting for MCU events.
2020-04-17 15:50:42 +02:00
profi200 c3b57bda29
Initial commit. 2020-04-15 23:50:52 +02:00