- Joined
- Jan 25, 2024
- Messages
- 12,748
- Points
- 38
- Age
- 39
- Location
- USA
- Website
- gameparadise.org
- Credits
- 217,062
Remember the homebrew I did almost a year ago which used the power saving mode on a new3DS to make the screen more red? Yeah, me neither It had many problems, almost everything got rid of the effect, and it only worked on new3DS in power saving mode because the old3DS lacks the required hardware. Also, the flicker caused me headaches, so I stopped the project there.
Well, now I fully reverse-engineered a GPU register which controls this, and thus I recreated the old design based on the new color lookup table mechanism, and it works!
Note: due to the characteristics of the ULCD screen, the colors will look absolutely horrible. This is not fault of the code, and thus it's not fixable. The results may differ between different models and screen types.
Note: the example demo application doesn't work in old3DS extended mode because the firmlaunch does a screeninit, resulting in the color lookup table being reset.
Note: the code is based on Redshift. The code and the example demo application is just a platform-specific wrapper around it.
Note: the example demo application uses the same TitleID as my debugger applications, so installing this will overwrite those. You have been warned!
Note: the source code isn't meant to be compiled on its own, it's just provided for education purposes. You need to alter it slightly in order to be compiled in an application.
Once you downloaded the example application, you can select which section you want to alter with the LEFT and RIGHT buttons, adjust the values using the UP and DOWN buttons (fine adjustments can be made while hoding the R or L buttons), and applying those settings to the screens with the A (bottom screen) and the B (top screen) buttons. Pressing X or Y will reset the config values to their default state, and pressing A and B will also reset the colors on the screens.
Download has been removed due to violating GPL. Sorry for the inconvenience.
You may find community-hosted mirrors on the internet.
Well, now I fully reverse-engineered a GPU register which controls this, and thus I recreated the old design based on the new color lookup table mechanism, and it works!
Note: due to the characteristics of the ULCD screen, the colors will look absolutely horrible. This is not fault of the code, and thus it's not fixable. The results may differ between different models and screen types.
Note: the example demo application doesn't work in old3DS extended mode because the firmlaunch does a screeninit, resulting in the color lookup table being reset.
Note: the code is based on Redshift. The code and the example demo application is just a platform-specific wrapper around it.
Note: the example demo application uses the same TitleID as my debugger applications, so installing this will overwrite those. You have been warned!
Note: the source code isn't meant to be compiled on its own, it's just provided for education purposes. You need to alter it slightly in order to be compiled in an application.
Once you downloaded the example application, you can select which section you want to alter with the LEFT and RIGHT buttons, adjust the values using the UP and DOWN buttons (fine adjustments can be made while hoding the R or L buttons), and applying those settings to the screens with the A (bottom screen) and the B (top screen) buttons. Pressing X or Y will reset the config values to their default state, and pressing A and B will also reset the colors on the screens.
Download has been removed due to violating GPL. Sorry for the inconvenience.
You may find community-hosted mirrors on the internet.