HI I have been playing around with the my Xbox and the bios and have realised none of the bioses are optimised specifically for Trusty and N64 modded motherboards with updated Microcodes to patch Eratta.
Eratta is basically bugs contained with in the processor that causes it to operate outside of what it is expected, this could be any thing up to lockups and crashes.
To give you an indication on what the microcode does below is a link to the intel Pentium 3 microcode Eratta that explains what these microcodes potentially fix:
ftp://ftp.jameco.com/Archive/Current-Te ... 196509.pdf
The retail bios images contain two Microcodes to support the two revisions of the stock coppermine processor with CPUID 686 and 68A for platform ID 10.
So I replaced the Microcodes with CPUID 6B1 and 6B4 suitable for the Intel pentium 3 Tualatin processor and tested it out and it seems to boot and run as expected.
So the process is rather easy all you have to do is unpack your chosen bios with XBtool or EVtool so you get a uncompressed kernel image that you can open it with a hex editor.
Once you have your Kernel image and your new and old Microcodes you can then open it with HxD for example and select all of the contents of the old microcode and search for the hex string and replace it with the new microcode, you can then repeat the process patching in the other microcode to support all variants of the Tualatin processor.
You can then repack the bios and test flash it to a spare bank on your modchip.
NOTE: I don't recommend you flash it directly to your TSOP or main bios after editing it just in case something goes wrong so you can recover if need be.
Of note I tried to add all four Microcodes to support all processors but the Xbox would only frag I suspect the bios I tested must be referenced top down or bottom up or something and the resulting kernel image would change in size by 4Kb causing addressing issues.
You can verify the microcode is active by running Linux and checking the microcode revision.
N64/ Trusty CPU microcode bios update
- professor_jonny
- Posts: 1296
- Joined: Thu Jul 05, 2012 5:41 am
- Location: New Zealand
- Has thanked: 66 times
- Been thanked: 196 times
N64/ Trusty CPU microcode bios update
Last edited by professor_jonny on Wed Apr 03, 2019 8:14 am, edited 1 time in total.
- professor_jonny
- Posts: 1296
- Joined: Thu Jul 05, 2012 5:41 am
- Location: New Zealand
- Has thanked: 66 times
- Been thanked: 196 times
Re: N64/ Trusty CPU microcode bios update
As a check after the Kenel is patched you can run MC extractor and verify the Microcodes afterwards are correct and only the two updated ones are installed and are not corrupt.
You can find MC extractor below:
https://github.com/platomav/MCExtractor/releases
The resultant kernel image after patching should be identical in size as all Microcodes for the P6 micro architecture are all 2kb
you can find the updated Microcodes here:
https://github.com/platomav/CPUMicrocod ... ster/Intel
if your bios is patched correctly the output to MC extractor will be like the below image but with the updated microcodes.
You can find MC extractor below:
https://github.com/platomav/MCExtractor/releases
The resultant kernel image after patching should be identical in size as all Microcodes for the P6 micro architecture are all 2kb
you can find the updated Microcodes here:
https://github.com/platomav/CPUMicrocod ... ster/Intel
if your bios is patched correctly the output to MC extractor will be like the below image but with the updated microcodes.
- GhostlyGamer
- Posts: 356
- Joined: Sun Jul 15, 2012 5:34 am
- Location: Seattle USA
- Has thanked: 16 times
- Been thanked: 15 times
Re: N64/ Trusty CPU microcode bios update
Necroing my account to say that this is freaking insane and you're awesome
![Image](http://i.imgur.com/VoYltAK.gif)
![Image](http://i0.kym-cdn.com/photos/images/newsfeed/000/661/143/b57.jpg)
- professor_jonny
- Posts: 1296
- Joined: Thu Jul 05, 2012 5:41 am
- Location: New Zealand
- Has thanked: 66 times
- Been thanked: 196 times
Re: N64/ Trusty CPU microcode bios update
defiantly the platform 10 codes as it is the socket 370 and micro mobilebga sockets we want to add support for.
Re: N64/ Trusty CPU microcode bios update
Hi professor_jonny,
Thank you for your work but where can i download modded bios ? I have Two modded XBOX from "N64 Freaks" : one with cpu @1ghz and another one with cpu @1,4ghz.
Thanks in advance,
Thank you for your work but where can i download modded bios ? I have Two modded XBOX from "N64 Freaks" : one with cpu @1ghz and another one with cpu @1,4ghz.
Thanks in advance,
- professor_jonny
- Posts: 1296
- Joined: Thu Jul 05, 2012 5:41 am
- Location: New Zealand
- Has thanked: 66 times
- Been thanked: 196 times
Re: N64/ Trusty CPU microcode bios update
Sorry you won't find pre modded ones yet as it is relatively a new thing and I'm not wiling to distribute such material, I suggest you mod your own (it really is quite easy), or in due time someone may create a pack to download.
I'm not 100% sure but I believe the 1GHZ chip may not require updated microcodes as it may be covered by the stock ones, I have not really looked into that as I don't have one of these boards but they are the same formfactor and core so likely it won't need updating.
Last edited by professor_jonny on Wed May 01, 2019 1:21 am, edited 1 time in total.
Re: N64/ Trusty CPU microcode bios update
Finally i do it ! Thx a lot Professor 8)
Here is my setup:
Model: XBOX 1.0 CPU@1,4Ghz + 128Mo RAM
Modder: N64 Freaks
Modchip: Xecuter3
BIOS* : (512) x2_5035_67.bin
I update the microcode with the content of these files :
New microcode to update with the bios "(512) x2_5035_67.bin":
- cpu006B1_plat10_ver0000001C_2001-02-15_PRD_6506E1CF.bin
- cpu006B4_plat10_ver00000001_2002-01-10_PRD_58213E6A.bin
Old microcode inside the original bios:
- cpu0068A_plat10_ver00000001_2000-11-02_PRD_80FC9E3B.bin
- cpu00686_plat10_ver00000008_2000-05-05_PRD_EA2B7B61.bin
Step of the upgrade:
1- Unpack the bios with the tools "XBtool.exe" (press "unpack" button)
You get a folder with 3 files: 2bl.img, remainder.img, xboxkrnl.img
2- In the tool "HxD" open these files in several "tabs":
- xboxkrnl.img
- cpu006B1_plat10_ver0000001C_2001-02-15_PRD_6506E1CF.bin
- cpu006B4_plat10_ver00000001_2002-01-10_PRD_58213E6A.bin
- cpu0068A_plat10_ver00000001_2000-11-02_PRD_80FC9E3B.bin
- cpu00686_plat10_ver00000008_2000-05-05_PRD_EA2B7B61.bin
3- Modify the content of the bios from "HxD":
a - copy (ctrl-c) the content of the "tab" "cpu0068A_plat10_ver00000001_2000-11-02_PRD_80FC9E3B.bin"
b - from the "tab" "xboxkrnl.img" apply the content to find with ctrl-f / ctrl-v (select HEX value)
At this point microcode to update is highlighted
c - copy (ctrl-c) the content of the "tab" "cpu006B1_plat10_ver0000001C_2001-02-15_PRD_6506E1CF.bin"
d - from the "tab" "xboxkrnl.img" apply the new microcode in the highlighted zone with ctrl-v
repeat the operation for the microcode "cpu00686_plat10_ver00000008_2000-05-05_PRD_EA2B7B61.bin" to update with the new "microcode cpu006B4_plat10_ver00000001_2002-01-10_PRD_58213E6A.bin" in the "xboxkrnl.img"
e- test the modification under CMD with the tools "MCE.exe"
Use the command : MCE.exe xboxkrnl.img
-> CPU microcode BEFORE modification :
https://ibb.co/cyC8Qtm
-> CPU microcode AFTER modification :
https://ibb.co/7tssy2p
f- Repack the bios with the tools "XBtool.exe" (press "pack" button)
g- Flash your modded bios 8)
Thanks a lot for the professor
PS: It works for me with these BIOS:
- (256) iND-BiOS.5004.67.bin - Flash Test OK on Xecuter 3
- (256) iND-BiOS.5003.67.bin - Flash Test OK on Xecuter 3
- (512) x2_5035_67.bin - Flash Test OK on Xecuter 3 + TSOP (XBOX 1.0)
- (1024) x3_3294.bin - Flash Test OK on Xecuter 3
Here is my setup:
Model: XBOX 1.0 CPU@1,4Ghz + 128Mo RAM
Modder: N64 Freaks
Modchip: Xecuter3
BIOS* : (512) x2_5035_67.bin
I update the microcode with the content of these files :
New microcode to update with the bios "(512) x2_5035_67.bin":
- cpu006B1_plat10_ver0000001C_2001-02-15_PRD_6506E1CF.bin
- cpu006B4_plat10_ver00000001_2002-01-10_PRD_58213E6A.bin
Old microcode inside the original bios:
- cpu0068A_plat10_ver00000001_2000-11-02_PRD_80FC9E3B.bin
- cpu00686_plat10_ver00000008_2000-05-05_PRD_EA2B7B61.bin
Step of the upgrade:
1- Unpack the bios with the tools "XBtool.exe" (press "unpack" button)
You get a folder with 3 files: 2bl.img, remainder.img, xboxkrnl.img
2- In the tool "HxD" open these files in several "tabs":
- xboxkrnl.img
- cpu006B1_plat10_ver0000001C_2001-02-15_PRD_6506E1CF.bin
- cpu006B4_plat10_ver00000001_2002-01-10_PRD_58213E6A.bin
- cpu0068A_plat10_ver00000001_2000-11-02_PRD_80FC9E3B.bin
- cpu00686_plat10_ver00000008_2000-05-05_PRD_EA2B7B61.bin
3- Modify the content of the bios from "HxD":
a - copy (ctrl-c) the content of the "tab" "cpu0068A_plat10_ver00000001_2000-11-02_PRD_80FC9E3B.bin"
b - from the "tab" "xboxkrnl.img" apply the content to find with ctrl-f / ctrl-v (select HEX value)
At this point microcode to update is highlighted
c - copy (ctrl-c) the content of the "tab" "cpu006B1_plat10_ver0000001C_2001-02-15_PRD_6506E1CF.bin"
d - from the "tab" "xboxkrnl.img" apply the new microcode in the highlighted zone with ctrl-v
repeat the operation for the microcode "cpu00686_plat10_ver00000008_2000-05-05_PRD_EA2B7B61.bin" to update with the new "microcode cpu006B4_plat10_ver00000001_2002-01-10_PRD_58213E6A.bin" in the "xboxkrnl.img"
e- test the modification under CMD with the tools "MCE.exe"
Use the command : MCE.exe xboxkrnl.img
-> CPU microcode BEFORE modification :
https://ibb.co/cyC8Qtm
-> CPU microcode AFTER modification :
https://ibb.co/7tssy2p
f- Repack the bios with the tools "XBtool.exe" (press "pack" button)
g- Flash your modded bios 8)
Thanks a lot for the professor
PS: It works for me with these BIOS:
- (256) iND-BiOS.5004.67.bin - Flash Test OK on Xecuter 3
- (256) iND-BiOS.5003.67.bin - Flash Test OK on Xecuter 3
- (512) x2_5035_67.bin - Flash Test OK on Xecuter 3 + TSOP (XBOX 1.0)
- (1024) x3_3294.bin - Flash Test OK on Xecuter 3
-
- Posts: 5
- Joined: Wed Nov 25, 2015 2:11 pm
- Has thanked: 1 time
- Been thanked: 2 times
Re: N64/ Trusty CPU microcode bios update
Patched them into the X2 5035 Bios successully.
A have attached them here (Vanilla, VGA-Mod and Force480p Mod) if you want to use them.
Also, they are hex-edited to load the x2config.ini from C. If the files are not found on C, the BIOS will attempt to load from E as usual. Loading the config file from drive F will not work any more!
The files are set to read the HDD's parition table (offset 0x1b04 set to "0")
http://dl.go4up.com/dl/c06aa566862e0e
Hope someone can make use of it
A have attached them here (Vanilla, VGA-Mod and Force480p Mod) if you want to use them.
Also, they are hex-edited to load the x2config.ini from C. If the files are not found on C, the BIOS will attempt to load from E as usual. Loading the config file from drive F will not work any more!
The files are set to read the HDD's parition table (offset 0x1b04 set to "0")
http://dl.go4up.com/dl/c06aa566862e0e
Hope someone can make use of it
- professor_jonny
- Posts: 1296
- Joined: Thu Jul 05, 2012 5:41 am
- Location: New Zealand
- Has thanked: 66 times
- Been thanked: 196 times
Re: N64/ Trusty CPU microcode bios update
I don't believe so as it is the same formfactor but I do not have a 1 GHZ to actually check the processor info from Linux to confirm.
I believe the chip they use is a BGA 495 (KC80526GY001256) or (KP80526GY001256) which both I believe are covered by the 68A microcode.