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/00000000 → configsave_(original).bin.
- 1:/data/<ID0>/sysdata/00010017/00000000 → Mount as DISA image.
- [D:] DISA/DIFF IMAGE/partitionA.bin → Copy to 0:/gm9/out.
- [0:] SD CARD ()/gm9/out → hold (R)-shoulder and press (X) on partitionA.bin → rename this to partitionA_(original).bin.
- [1:] SYSNAND CTRNAND → hold (R)-shoulder and press (X) on data folder → rename this to data2.
- 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.
- Repeat steps 1–3, but this time rename the partitionA.bin → partitionA_(donor).bin.
- Turn off the 3DS, remove its SD card, and mount the card to a computer.
- Download and install the HxD hex editor program. Open the the two (2) files side-by-side.
- 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
- Switch over the view tab to partitionA_(original).bin, and paste this portion at that exact location / area.
- File → Save as... → sdmc:/gm9/out → partitionA_(edited).bin → Save.
- Exit HxD program, unmount the SD card, reinsert the card back to the 3DS, and return to GodMode9.
- [1:] SYSNAND CTRNAND → press (X) to delete the (dummy) data folder.
- Hold (R)-shoulder and press (X) on data2 → rename back to data.
- 1:/data/<ID0>/sysdata/00010017/00000000 → Mount as DISA image.
- You should now see D:/partitionA.bin. Back out with (B) button.
- [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.
- Back out with (B) button. Go back into [D:] DISA/DIFF IMAGE.
- Press (A) on partitionA.bin → Inject data @offset → |00000000| → <A> yes → button combo → <A> yes.
- 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.
- 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.
A question.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.![]()
A9F2 increasing from 95 to B5 (+32 in decimal)D5
I guess I've been very lucky there 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 !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
Do you have these files? I didn't find it anywhere !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
View attachment 320532
3D Deactivated
View attachment 320534
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!
YO what is all of this for ?? dont you just swap the 2 hwcal files and turn the 3ds on. thats what i didHow 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/00000000 → configsave_(original).bin.
- 1:/data/<ID0>/sysdata/00010017/00000000 → Mount as DISA image.
- [D:] DISA/DIFF IMAGE/partitionA.bin → Copy to 0:/gm9/out.
- [0:] SD CARD ()/gm9/out → hold (R)-shoulder and press (X) on partitionA.bin → rename this to partitionA_(original).bin.
- [1:] SYSNAND CTRNAND → hold (R)-shoulder and press (X) on data folder → rename this to data2.
- 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.
- Repeat steps 1–3, but this time rename the partitionA.bin → partitionA_(donor).bin.
- Turn off the 3DS, remove its SD card, and mount the card to a computer.
- Download and install the HxD hex editor program. Open the the two (2) files side-by-side.
- 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
- Switch over the view tab to partitionA_(original).bin, and paste this portion at that exact location / area.
- File → Save as... → sdmc:/gm9/out → partitionA_(edited).bin → Save.
- Exit HxD program, unmount the SD card, reinsert the card back to the 3DS, and return to GodMode9.
- [1:] SYSNAND CTRNAND → press (X) to delete the (dummy) data folder.
- Hold (R)-shoulder and press (X) on data2 → rename back to data.
- 1:/data/<ID0>/sysdata/00010017/00000000 → Mount as DISA image.
- You should now see D:/partitionA.bin. Back out with (B) button.
- [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.
- Back out with (B) button. Go back into [D:] DISA/DIFF IMAGE.
- Press (A) on partitionA.bin → Inject data @offset → |00000000| → <A> yes → button combo → <A> yes.
- 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.
- 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.

Hi there, I know this is a big ask but could you please share the Japanese N3dsxl hwcal files you have that is perfectly working? I've tried everything and I still have ghosting issues. Thanks!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.![]()