Commit Graph

121 Commits

Author SHA1 Message Date
profi200 42b4ad4ce1
Begin separating oaf into lib and FIRM. Removed unnecessary config.ini file. 2021-11-07 13:43:24 +01:00
HTV04 b4d1aa936e Re-implement checkSaveOverride
Based on #40
2021-11-06 22:59:21 +01:00
HTV04 826b426e74 Post-review changes 2021-11-06 22:59:21 +01:00
Harrison 07649c43b0 More finishing touches 2021-11-06 22:59:21 +01:00
Harrison 7cc20dd4b7 Finishing touches 2021-11-06 22:59:21 +01:00
Harrison 588eb08e20 Full gba_db.bin integration and other changes 2021-11-06 22:59:21 +01:00
Harrison 355971c9a2 Finally fixed builder script and gba_db.bin
The generated gba_db.bin now works with open_agb_firm!

With a ton of help from profi200, I finally figured out the issue. Turns out open_agb_firm uses a binary search algorithm to find the hash from the gba_db.bin file. After a ton of (probably unnecessary) trial and error, I fixed my script so that it sorts the entries in the way open_agb_firm expects, and boom, it works!
2021-11-06 22:59:21 +01:00
Harrison 2d26f51d56 Changed backlightRange to maxBacklight
See updated README for more details.
2021-11-06 22:59:21 +01:00
Harrison edaea5f274 Revert ZIP changes 2021-11-06 22:59:21 +01:00
Harrison 19d47d96e2 Added backlightRange option and changed how backlight limit works
Small commit, but a few big changes:
* Added an "Advanced" section to the config that contains options for advanced users, including a new option, "backlightRange."
  * The backlightRange option changes the backlight limits, and has three different modes (0-2): Recommended, Old 3DS, and New 3DS. The latter two are based on the min and max backlight limits for the normal 3DS mode. See the updated README for more information.
* Revamped how the backlight limit works, not only to work with the new backlightRange option, but also to improve how it works.
  * GFX_setBrightness no longer sets the limit for the backlight setting, completely removing its restrictions. The limit is now handled by open_agb_firm.c, and has a new "minimum" to prevent too low values. A fail-safe for the backlight option has also been implemented to prevent unintended side effects, such as the backlight being set to 0 when it's set to a value above the maximum limit.
* Updated README to reflect changes, among other changes.

Other changes:
* Replace 7Z files in gitignore with ZIP files.
2021-11-06 22:59:21 +01:00
Harrison 1b0cdbbf9d A ton of changes
* Updated gba_db.bin Builder to v2.1, adding some important fail-safes and fixing some nasty bugs.
* Updated Makefile to create releases as ZIPs instead of 7Zs and include the gba_db.bin file in releases.
* Updated gitignore to allow necessary files for gba_db.bin Builder to be added to the repo, among other changes.
* Moved script and necessary files to a new "tools" folder. The resources folder is now used for files that facilitate releases, such as "safe" versions of gba_db.bin.
* Made a few changes to open_agb_firm.c to prepare for full gba_db.bin integration.
* Updated README to reflect the new changes, among other changes.
2021-11-06 22:59:21 +01:00
Harrison e2b527b35b open_agb_firm gba_db.bin Builder v2.0 and other changes
open_agb_firm gba_db.bin Builder:
* Updated to v2.0
* No-Intro DAT support
* Additional entry support
* Entries added/skipped are now output
* Other optimizations

Other changes:
* Remove most overrides in `open_agb_firm.c` to prepare for gba_db.bin
* Add `resources/gba.dat` entry to gitignore
2021-11-06 22:59:21 +01:00
Harrison 918bc24d66 Fix save type detection bug
Fixed dumb mistake that caused the save type to always be returned as 15 OOPS

Also added/changed some comments
2021-11-06 22:59:21 +01:00
Harrison 984644d038 gba_db_builder Improvements
Also fix gba_db.bin
2021-11-06 22:59:21 +01:00
Harrison fc168fa560 Add gba_db_builder 2021-11-06 22:59:21 +01:00
Harrison f805992854 Add more exception entries 2021-11-06 22:59:21 +01:00
Harrison 01ef57523b Change brightness limit
Based on GodMode9's brightness limit, 107.

The previous limit was way too dark, especially in sunlight. Even though brightness control hasn't been added yet, I still think it's better to give users the option.
2021-11-06 22:59:21 +01:00
Harrison faa9b4517a Add more save type exception entries
Also remove "Confirmed" status from EEPROM types because they all vary between 4k/8k and 64k.
2021-11-06 22:59:21 +01:00
gecko 9bd3516d58
Add homebrew save type overrides (#40) 2021-11-05 18:00:41 +01:00
profi200 83215f5417
Added CODEC headset detection/selction reg and bit defines. 2021-11-05 17:53:41 +01:00
profi200 be6ef91834
Use performance monitor bit defines in start.s. 2021-11-05 00:02:57 +01:00
profi200 4a328d35fd
Merge branch 'kernel_experiments' of github.com:profi200/open_agb_firm into kernel_experiments 2021-11-04 15:51:41 +01:00
profi200 d7103833d5
Unorganized commit collecting many changes from the last months incoming. Yeah, i should have split this. 2021-11-04 15:47:59 +01:00
Harrison 1fcf024520
README improvements (#33) 2021-02-20 22:36:53 +01:00
profi200 49820dc108
Converted most I/O reg defines to structs for better optimization. 2021-02-17 16:43:36 +01:00
profi200 c2695988ba
Updated cfg9.h and everything relying on it based on recent findings/3dbrew. 2021-01-23 16:41:17 +01:00
profi200 260b39bc7d
Oops. 2021-01-20 14:18:00 +01:00
profi200 70ea6d11c3
Some cleanup and updates based on recent 3dbrew edits. 2021-01-20 13:56:26 +01:00
profi200 56289b36fb
Make scaling easier to configure at compile time. 2021-01-14 22:10:36 +01:00
profi200 cb00f0a424
Added 1:1 scaling support. 2021-01-10 17:46:38 +01:00
profi200 54387dad34
Use SELECT + Y for screenshots.
Bump copyright dates and add missing copyright notices.
2021-01-10 14:29:58 +01:00
profi200 9a561245f1
SELECT + Y for screenshots to make it harder to accidentally make them.
Include fatfs and inih licenses in release archive.
2021-01-03 02:02:55 +01:00
profi200 e63ec1404f
Small fixes/cleanup. 2020-12-24 12:40:39 +01:00
profi200 a719aa2864
Moved lots of code out of main.c/cleanup. 2020-12-19 22:30:43 +01:00
profi200 29413979fa
Fixed the oversaturation in the output by using a lower gamma. This is roughly tuned for launch day o3DS. If you want the previous colors back set inGamma to 2.2 and outGamma to 1.21.
Make path creation faster in case it already exists.
2020-12-03 18:23:13 +01:00
profi200 48def49f8b
Use relative paths where possible. 2020-11-29 22:52:13 +01:00
profi200 31bbcbfe25
Added some filter options to the config. 2020-11-28 17:18:58 +01:00
profi200 96eebb01db
Updated fatfs to R0.14. 2020-11-23 15:23:12 +01:00
profi200 dd68d381ac
Added basic config file support (thanks to benhoyt for his inih lib). 2020-11-23 02:45:47 +01:00
profi200 5f25739286
Enabled more debugging techniques by default in debug builds.
Added more Arm intrinsics.
ARM7 stub now waits for REG_VCOUNT == 126 (same as after BIOS intro).
Enable ROM mirroring for all 8 Mbit games instead of just Classic NES Series.
Other misc. changes.
2020-11-22 01:47:58 +01:00
profi200 5316c8938d
Avoid errors when the last ROM launch dir doesn't exist anymore.
Other small fixes.
2020-10-25 23:01:30 +01:00
profi200 c87769a06e
Added returning to the last dir a ROM was launched from on next boot. Fixes #21. 2020-10-25 22:00:44 +01:00
profi200 ffb32cca9c
Some small, unimportant changes. 2020-10-24 21:53:08 +02:00
profi200 dac935f66d
Made the file browser sorting a bit faster. 2020-10-24 21:53:08 +02:00
profi200 ac33d98ad5
Fixed file browser sorting. 2020-10-24 21:53:08 +02:00
profi200 1caafaf5b3
Port some of the changes from arm_intrinsic.h to arm.h. 2020-10-24 21:53:08 +02:00
profi200 179ea504d0
Added a basic screenshot feature dumping the GPU input texture by pressing Y. Fixes #19. 2020-10-24 21:53:08 +02:00
profi200 07f6f01d92
Added game database search code (and a debug menu for it).
Mimic ROM "open bus" (not 100% accurate) and ROM mirroring. Fixes #20.
Implemented some useful ARM instruction intrinsics.
2020-10-24 21:52:14 +02:00
profi200 8fdc74a3c4
Added a temporary workaround to prevent panics if booted from bootloaders with broken screen init. 2020-09-25 00:59:45 +02:00
profi200 ef79b4343d
Use anonymous structs instead of void for public kernel API. 2020-09-14 16:24:03 +02:00