CTR_Redshift - hardware-based blue light filter for old3DS and 2DS

Discussion in '3DS - Homebrew Development and Emulators' started by MarcusD, Jan 9, 2018.

  1. MarcusD
    OP

    MarcusD WOODMILLS!

    Member
    9
    Oct 16, 2015
    Austria
    Austro-Hungarian Monarchy
    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 :P 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! :D

    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.

    You can download the cia or the 3dsx by right clicking them then selecting the "Save as" context menu option. The source code is available here, and is licensed under the GNU GPLv3 open-source license.

    Also, there are no screenshots... just see it yourself B-)
     
    Last edited by MarcusD, Jan 9, 2018
  2. ctrninja

    ctrninja Official GBAtemp cutie.

    Member
    4
    Jan 12, 2017
    Japan
    ARM11 Userland
    Omg yes, Thank you Sono-chan for another amazing homebrew :yay3ds:
     
    smileyhead likes this.
  3. VinsCool

    VinsCool Neges Singula

    Member
    24
    GBAtemp Patron
    VinsCool is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Jan 7, 2014
    Canada
    Another World
    Oh hey, that may be really useful in dark rooms.
    Got any pictures of this in action?
     
  4. MarcusD
    OP

    MarcusD WOODMILLS!

    Member
    9
    Oct 16, 2015
    Austria
    Austro-Hungarian Monarchy
     
  5. VinsCool

    VinsCool Neges Singula

    Member
    24
    GBAtemp Patron
    VinsCool is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Jan 7, 2014
    Canada
    Another World
    That implies I actually use my 3ds :cry:

    Joking around, Nice work, I'd try that... someday.
     
    MarcusD likes this.
  6. MarcusD
    OP

    MarcusD WOODMILLS!

    Member
    9
    Oct 16, 2015
    Austria
    Austro-Hungarian Monarchy
    it produces the same results as f.lux or any other program like this, except the colors look horrible on the 3DS's screen... and even worse on the 2DS
     
    VinsCool likes this.
  7. ctrninja

    ctrninja Official GBAtemp cutie.

    Member
    4
    Jan 12, 2017
    Japan
    ARM11 Userland
    OMFG IT WORKS WITH 3D + CHANGING THE BRIGHTNESS AND IT DOESNT GO OFF, THANK YOU SONO FOR THIS AMAZING PIECE OF HOMEBREW... I CAN LIVE NOW WITHOUT CHRONIC EYE PAIN AT NIGHT DJHJKSHGJKDHGJDHFJKG.
     
    TCJJ, smileyhead and MarcusD like this.
  8. smileyhead

    smileyhead Press Start whenever!

    Member
    13
    Aug 31, 2015
    Hungary
    Hungary
    Sonomi-chan saves the day (again).
     
    MarcusD likes this.
  9. XAIXER

    XAIXER Supreme Kaiser

    Member
    2
    Mar 11, 2016
    Canada
    The Ends of Eternity
    New3DS support coming?
     
  10. MarcusD
    OP

    MarcusD WOODMILLS!

    Member
    9
    Oct 16, 2015
    Austria
    Austro-Hungarian Monarchy
    did you even try? it obviously works on new3DS! the 3DS is a backwards-compatiblity masterpiece and hell, it obviously works on the new3DS
     
    Lyrin and smileyhead like this.
  11. XAIXER

    XAIXER Supreme Kaiser

    Member
    2
    Mar 11, 2016
    Canada
    The Ends of Eternity
    I'll try it out. Now I feel kinda dumb :P
     
  12. trecko1234

    trecko1234 GBAtemp Regular

    Member
    2
    Aug 10, 2013
    United States
    @LiquidFenrir this might be something you may be interested in, seeing as you have been attempting to integrate brightness control into luma.
     
  13. dAVID_

    dAVID_ Carpinter's Apprentice

    Member
    5
    Oct 23, 2016
    Mexico
    great for all-nighters when using a 3ds. good job. :)
     
  14. Robz8

    Robz8 Coolest of TWL

    Member
    15
    Oct 1, 2010
    United States
    I think what he was trying to do, is change the backlight, iirc.
     
  15. trecko1234

    trecko1234 GBAtemp Regular

    Member
    2
    Aug 10, 2013
    United States
    This tool also can change the backlight brightness below the lowest default value.
     
  16. Robz8

    Robz8 Coolest of TWL

    Member
    15
    Oct 1, 2010
    United States
    Nope, I tried changing the brightness and/or setting colortemp to 1000K, and although they work, the backlight is unaffected, as I can still see some gray/blue color from the backlight.
     
    Last edited by Robz8, Jan 10, 2018
  17. XAIXER

    XAIXER Supreme Kaiser

    Member
    2
    Mar 11, 2016
    Canada
    The Ends of Eternity
    Should the top screen look red when changing the temp?
     
  18. MarcusD
    OP

    MarcusD WOODMILLS!

    Member
    9
    Oct 16, 2015
    Austria
    Austro-Hungarian Monarchy
    I know the post is hard to read, but it says that pressing B will apply to the top screen, and pressing A will apply to the bottom screen. You have to press both the A and B buttons to apply to both screens.
     
  19. proflayton123

    proflayton123 Sakura思い

    Member
    10
    Jan 11, 2016
    Japan
    日本
    Is is perm or have to be done each re-boot? Made a NAND backup before just in case :P either way very nice.
     
  20. South Cape

    South Cape Member

    Newcomer
    2
    Jun 27, 2010
    Japan

    Anything above firmware 11.4, I believe, can't affect the brightness below factory setting. But I'm on 11.3 and can confirm that, in fact, yes you can lower the brightness setting below factory if you have the correct firmware.
     
    Last edited by South Cape, Jan 10, 2018
    Robz8 likes this.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice