Homebrew ARM9Loader -- Technical Details and Discussion

  • Thread starter Thread starter Selver
  • Start date Start date
  • Views Views 579,379
  • Replies Replies 4,025
  • Likes Likes 42
Backlight bitches.

bilis and mid-kid get all of the props for this one

65py13b.jpg
About 20 mintes ago in another thread I said al9h would not be worth the trouble until the screen was functional and there was a decent settings/recovery menu. You're just about there.

I guess I will be downgrading to 2.1 in the next couple of weeks.
 
About 20 mintes ago in another thread I said al9h would not be worth the trouble until the screen was functional and there was a decent settings/recovery menu. You're just about there.

I guess I will be downgrading to 2.1 in the next couple of weeks.
The n3ds unbrick script will be updated soon to have more error checking, so that should help if you have one :)
 
Wait... is that all that was needed for the display to work on an a9lh boot? Turn on the backlight?
first they had to turn on the lcd. that was achieved yesterday. it worked, but you couldnt see anything. today they turned on the backlight.
 
ehh, actually the way it's set up right now we might need to rework it a bit... (framebuffer is set to the gateway values I think)
There's 2 sets of values for the screens that D9 uses...
See this section in draw.h

The raw .bin brahma payload is built with the bootsrap flag.

Code:
#ifdef EXEC_GATEWAY
    #define TOP_SCREEN0 (u8*)(*(u32*)((uint32_t)0x080FFFC0 + 4 * (*(u32*)0x080FFFD8 & 1)))
    #define BOT_SCREEN0 (u8*)(*(u32*)((uint32_t)0x080FFFD0 + 4 * (*(u32*)0x080FFFDC & 1)))
    #define TOP_SCREEN1 TOP_SCREEN0
    #define BOT_SCREEN1 BOT_SCREEN0
#elif defined(EXEC_BOOTSTRAP)
    #define TOP_SCREEN0 (u8*)(0x20000000)
    #define TOP_SCREEN1 (u8*)(0x20046500)
    #define BOT_SCREEN0 (u8*)(0x2008CA00)
    #define BOT_SCREEN1 (u8*)(0x200C4E00)
#else
    #error "Unknown execution method"
#endif
 
  • Like
Reactions: peteruk
There's 2 sets of values for the screens that D9 uses...
See this section in draw.h

The raw .bin brahma payload is built with the bootsrap flag.

Code:
#ifdef EXEC_GATEWAY
    #define TOP_SCREEN0 (u8*)(*(u32*)((uint32_t)0x080FFFC0 + 4 * (*(u32*)0x080FFFD8 & 1)))
    #define BOT_SCREEN0 (u8*)(*(u32*)((uint32_t)0x080FFFD0 + 4 * (*(u32*)0x080FFFDC & 1)))
    #define TOP_SCREEN1 TOP_SCREEN0
    #define BOT_SCREEN1 BOT_SCREEN0
#elif defined(EXEC_BOOTSTRAP)
    #define TOP_SCREEN0 (u8*)(0x20000000)
    #define TOP_SCREEN1 (u8*)(0x20046500)
    #define BOT_SCREEN0 (u8*)(0x2008CA00)
    #define BOT_SCREEN1 (u8*)(0x200C4E00)
#else
    #error "Unknown execution method"
#endif
Yes Ik, I was just saying that all of the current payloads probably won't work with the bootstrap branch since it uses a different framebuffer address
 
Do we need to install the 3dsx again in order to have the screen init, or will just an updated payload on the SD card will suffice?
 
Do we need to install the 3dsx again in order to have the screen init, or will just an updated payload on the SD card will suffice?

I'd GUESS new payload should be enough, since I believe all the 3dsx itself does is redirect the bootloader to point at the payload...
 

Site & Scene News

Popular threads in this forum