Hardware N3DS XL IPS - HWCAL0.DAt and HWCAL1.DAt files

grubgrub

Well-Known Member
Member
Joined
Jun 14, 2015
Messages
333
Trophies
0
Age
44
XP
1,551
Country
New Zealand
How to inject the donor HWCAL0/1 block settings to the original configsave.bin.

After replacing the HWCAL0.dat and HWCAL1.dat in the 1:/ro/sys directory with copies from the donor n3DSXL,
0. GodMode9 (v1.9.1 or newer) → [1:] SYSNAND CTRNAND/data/<ID0>/sysdata/00010017/00000000 Copy to 0:/gm9/out.​
  • This backup is a safety step in case of mistakes. Rename this 0:/gm9/out/00000000configsave_(original).bin.
  1. 1:/data/<ID0>/sysdata/00010017/00000000 → Mount as DISA image.
  2. [D:] DISA/DIFF IMAGE/partitionA.binCopy to 0:/gm9/out.
  3. [0:] SD CARD ()/gm9/out → hold (R)-shoulder and press (X) on partitionA.bin → rename this to partitionA_(original).bin.
  4. [1:] SYSNAND CTRNAND → hold (R)-shoulder and press (X) on data folder → rename this to data2.
  5. Press (START) to exit. Once you see the 'Select a language.' screen in new user setup, turn off the 3DS system.
    • This will create a fresh configsave.bin with the donor's IPS HWCAL0/1 settings.
  6. Repeat steps 1–3, but this time rename the partitionA.binpartitionA_(donor).bin.
  7. Turn off the 3DS, remove its SD card, and mount the card to a computer.
  8. Download and install the HxD hex editor program. Open the the two (2) files side-by-side.
  9. On the partitionA_(donor).bin, highlight and copy the portion containing HWCAL0/1.
    • [ New 3DS | New 3DS XL | New 2DS XL ?? ]
      • Offset(h): A9F0
      • Block(h): A9F0-AFFF
      • Length(h): 610
    • [ Old 3DS | Old 3DS XL | Old 2DS ]
      • Offset(h): AB30
      • Block(h): AB30-AFFF
      • Length(h): 4D0
  10. Switch over the view tab to partitionA_(original).bin, and paste this portion at that exact location / area.
  11. FileSave as...sdmc:/gm9/outpartitionA_(edited).binSave.
  12. Exit HxD program, unmount the SD card, reinsert the card back to the 3DS, and return to GodMode9.
  13. [1:] SYSNAND CTRNAND → press (X) to delete the (dummy) data folder.
  14. Hold (R)-shoulder and press (X) on data2 rename back to data.
  15. 1:/data/<ID0>/sysdata/00010017/00000000 → Mount as DISA image.
  16. You should now see D:/partitionA.bin. Back out with (B) button.
  17. [0:] SD CARD ()/gm9/out → press (Y) on partitionA_(edited).bin to add this to [CLIPBOARD].
    • If a selection mistake has occurred, press (SELECT) to reset.
  18. Back out with (B) button. Go back into [D:] DISA/DIFF IMAGE.
  19. Press (A) on partitionA.bin → Inject data @offset|00000000| → <A> yes → button combo → <A> yes.
  20. Back out with (B) button. While under [root], hold (R)-shoulder and press (X) to unmount the configsave.bin.
    • [D:] DISA/DIFF IMAGE should no longer be visible.
  21. 1:/data/<ID0>/sysdata/00010017/00000000 → Calculate CMAC <A>yes<A> yes → button combo → <A> yes.
    • If you try to boot HOME Menu before correcting the CMAC, the 3DS firmware will erase the configsave.bin.



I did a motherboard swap with a new 3ds xl i purchased online that was not working.
The donor motherboard was Top IPS and Bottom TN.
After the motherboard swap, the 3ds turned on, but the top screen was dim and blurry (like both left and right images are displayed) when the 3ds slider is activated.
When the 3ds slider is fully down, the screen looks good.

3D activated
3D activated 1.jpg




3D Deactivated
3D deactivated 1.jpg


I found the HWCAL0.dat and HWCAL1.dat files for the dual TN.
And followed the steps above.

However, there is no change to the top screen.

Not too sure what else to do.

Any other suggestions?

Thanks!
 

AwsOs

New Member
Newbie
Joined
Oct 1, 2022
Messages
2
Trophies
0
Age
28
Location
Middle East
XP
12
Country
Saudi Arabia
Shout out to @Alcahest from GM9 Discord channel for giving me files from his perfectly working IPS\TN Japanese N3DSXL. After applying them everything is almost perfect, calibration files sure does have effect. I also tested and found that battery trick does nothing... Basically just:

1. Replace your current files(after backup them) with correct ones in [1:] SYSNAND CTRNAND/ro/sys
2. Revert to default in Settings -> Other Settings -> Super Stable 3D -> Super Stable 3D Calibration -> Revert to Default Settings - this will force the console to read the new files
3. Play some games for 30min in extreme 3d (slider way up) as this also improve 3D quality after recalibration (yes it's tested and it's effective)

You can add extra step just to see that the system indeed read these files and move you current files on your SD as a backup. Then boot your console without files and go to Settings and Revert to Default Settings the Super Stable 3D.

PS. If someone else is willing to give me his IPS files for me to test the results with them will be very interesting to see if there are different calibration options. :)
A question.

I own an new 3Ds (non XL) is it ok to get files from a 3Ds XL since it is the same resolution, but it could be calibrated differently.
 

carbncl

New Member
Newbie
Joined
Jan 21, 2023
Messages
2
Trophies
0
Age
45
XP
62
Country
France
TL;DR: Necro bumping this thread as I've found something that could help some people.
You can adjust 3D calibration manually, even outside of the range that the console settings app offers.
:!: Disclaimer:
Be aware that this is unsafe and could lead to issues, blame yourself, not me :) And backup backup before attempting anything.

Basically I had the same issue as OP, terrible unstable 3D.
As I've noticed that going to console settings and manual calibrating 3D to max 1.0 value was improving the situation, I thought it would be mis-calibrated, especially as the console main board had been swapped by its former owner. I was convinced that if I could push that calibration setting further my problem would be solved.
Found some HWCAL files that supposed to match my console but applying them didn't make any positive change.

So I've did that stupid little experiment:
1. Reset the super stable 3D calibration in console settings.
2. Backup settings partitionA.bin using Godmode9 as explained by TurdPooCharger in this thread
3. Set the super stable 3D calibration in console settings to its max 1.0 value
4. repeat 2. Backup settings partitionA.bin

Diffing these two binary files revealed one particularly interesting byte at A9F2 increasing from 95 to B5 (+32 in decimal)
Assuming this was that 1.0 settings value that I wanted to push further, I've edited this partitionA.bin value to D5
(Simple hex maths: 0x95 (0.0 setting) + 0x20 (+32) = 0xB5 (1.0 setting) + 0x20 (+32) = 0xD5 (should be 2.0 setting))
And... it worked, poof issue gone, super stable 3D working. :nds: I guess I've been very lucky there :yaynds:

Be careful if you try something similar to at least backup you config save partitionA.bin first.

Going again in the 3D manual calibration shows 0, but as soon as I change the value with the slider the issue is back. So you shouldn't touch this setting once set manually this way.
 
Last edited by carbncl,

VinzisAngry

New Member
Newbie
Joined
Feb 18, 2023
Messages
1
Trophies
0
Age
38
XP
23
Country
France
Hi, i'm messing up with a N3DSXL that i swapped TN for IPS and 3D is working but it can't calibrate correctly and is going wrong. As i read i need a HWCAL0.DAt and HWCAL1.DAt files from IPS system to make it work. Can some one with IPS share his files? It's upper IPS and bottom TN.


Thanks! :)


Edit: I have a essential.exefs with the correct screens, but how to extract 2 files and replace them in this console?

Edit 2: i get the files from essential.exefs but the console i get it from was having a little ghosting and mine also got it. Can someone without ghosting with upper IPS and lower TN share this file to see if it work: gm9\out\essential.exefs
I'm sorry to dig up this topic after such a long time... But I've just switched screen too and my 3D is atrocious, would you still have access to those Top IPS/Bottom TN hwcal files ? Thanks a lot !
 

Sparrrow88

New Member
Newbie
Joined
May 31, 2023
Messages
2
Trophies
0
Age
36
XP
33
Country
United Kingdom
So I'm always a little late to the party.

Just finished a top screen swap on a "new" 3ds xl, Screen was from Aliexpress.

Seller was unable to confirm if the panel was IPS or TN type before purchase, turns out it an IPS screen

Now the 3d image is doubled and now i'm here reading this thread,

Is there a way to obtain the necessary files without having my own device that was native with top IPS and bottom TN ?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    AncientBoi @ AncientBoi: lol, Okies. Family graveyard is that way 👉