Commit Graph

104 Commits

Author SHA1 Message Date
profi200 0479586790
Added original AGB_FIRM scaling for now. Bilinear can still be enabled with a few code changes. 2020-07-24 21:36:30 +02:00
profi200 63a3af0cf8
Added better color correction thanks to Extrems and Game Boy Interface Standard Edition.
Fixed the right side of the input texture being filled with garbage causing issues with bilinear scaling (garbage pixel line at the right side).
2020-07-24 01:15:35 +02:00
profi200 592a7f28b3
Moved I2C LCD stuff to its own file and added register docs and defines. 2020-07-23 20:52:58 +02:00
profi200 0f46383f02
Corrected EEPROM save type size.
While the hardware supports 8k all games just use 4k.
2020-07-15 20:24:38 +02:00
profi200 1882ba8f06
Started work on better save detection. This will take quite a while to get right. 2020-07-15 18:48:21 +02:00
profi200 c57e89fc49
[Filebrowser] Bug fixes. 2020-07-15 18:45:54 +02:00
profi200 309f80f2a7
[Filebrowser] Added basic sorting. 2020-07-11 23:34:00 +02:00
profi200 8f7f10c519
[Filebrowser] Added filtering. 2020-07-11 23:09:01 +02:00
profi200 7c3e572fc5
Don't turn the backlight off on 2DS. 2020-07-04 15:12:08 +02:00
profi200 e34c042abe
Don't ignore power button held events. 2020-07-02 23:28:09 +02:00
profi200 6c4eb107a6
File browser crash fixes. 2020-07-02 23:19:36 +02:00
profi200 7879ce1597
Added a extremely basic and buggy file browser.
More documentation and bug fixes.
2020-07-01 23:55:27 +02:00
profi200 83a4258bc0
Added GPU command lists without dark filter (looks washed out and too bright. Not recommended.). 2020-06-23 15:18:40 +02:00
profi200 871671b1a4
Updated documentation.
Use fsQuickRead()/fsQuickWrite().
2020-06-20 18:00:43 +02:00
profi200 fd0ee01abb
Added more registers and documentation.
Added currently unused GBA reset code.
Other small changes.
2020-06-19 17:17:21 +02:00
profi200 c9cd1c6eea
Added override for Goomba Color. 2020-06-18 22:28:49 +02:00
profi200 28756c24df
Fixed some EEPROM save types. 2020-06-17 14:37:43 +02:00
profi200 837d30465e
Properly detect Classic NES Series games save type. Fixes #3. 2020-06-16 16:56:09 +02:00
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 4a2e8b0760
Whoops, why did i delete this? 2020-06-14 03:09:17 +02:00
profi200 bc03a06335
Save handling bug fixes. 2020-06-14 03:04:41 +02:00
profi200 ffee972238
Small bug fixes/improvements for previous commit. 2020-06-13 17:33:01 +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 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 d695e67a80
Small gfx code changes.
Added mGBA's "dark" filter.
2020-05-11 02:15:30 +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 dcc21c92ed
Move the timing window for frame rendering to reduze output lag. 2020-05-04 18:25:03 +02:00
profi200 7aeb539266
Added variable framerate code to sync GBA mode and LCD framerate. 2020-05-03 22:43:19 +02:00
profi200 bdcd068856
Added long overdue credits because without them i would still struggle to understand the GPU.
A few small changes. Nothing important.
2020-05-01 21:30:20 +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 6232c36bce
GPU scaling hype. 2020-04-30 01:34:27 +02:00
profi200 165d9de32a
Restart the LgyFb DMA channel in time. 2020-04-30 00:21:22 +02:00
profi200 8d89bccb63
Display transfer only the screen area where the frame is stored. 2020-04-29 19:54:21 +02:00
profi200 01ec92240b
Finally renders using the GPU but LgyFb tiled output is broken. 2020-04-29 18:50:52 +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 75142aabd8
Brainfart. 2020-04-20 14:27:11 +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