N64/ Trusty CPU microcode bios update

Discussion about Modding the XBOX, including hardware and software hacks.
Post Reply
User avatar
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

Post by professor_jonny »

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.
Last edited by professor_jonny on Wed Apr 03, 2019 8:14 am, edited 1 time in total.
User avatar
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

Post by professor_jonny »

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.
correct.jpg
User avatar
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

Post by GhostlyGamer »

Necroing my account to say that this is freaking insane and you're awesome
Image
Image
User avatar
blighty
Posts: 189
Joined: Sun Jul 22, 2012 12:56 am
Location: England
Has thanked: 26 times
Been thanked: 8 times

Re: N64/ Trusty CPU microcode bios update

Post by blighty »

Excellent news!

which files should I be grabbing for my Trusty?
helpmeplease.jpg
helpmeplease2.jpg
User avatar
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

Post by professor_jonny »

defiantly the platform 10 codes as it is the socket 370 and micro mobilebga sockets we want to add support for.
arcam007
Posts: 13
Joined: Thu Jan 29, 2015 11:57 am
Has thanked: 2 times
Been thanked: 2 times

Re: N64/ Trusty CPU microcode bios update

Post by arcam007 »

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,
User avatar
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

Post by professor_jonny »

arcam007 wrote: Thu Apr 25, 2019 11:18 pm 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,
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.
Geeba
Posts: 539
Joined: Wed Jul 04, 2012 11:32 am
Location: UK
Has thanked: 63 times
Been thanked: 31 times

Re: N64/ Trusty CPU microcode bios update

Post by Geeba »

Impressive work there!!
arcam007
Posts: 13
Joined: Thu Jan 29, 2015 11:57 am
Has thanked: 2 times
Been thanked: 2 times

Re: N64/ Trusty CPU microcode bios update

Post by arcam007 »

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
TeleTubby666
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

Post by TeleTubby666 »

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
nin1
Posts: 19
Joined: Sun Jul 26, 2015 7:26 pm
Location: Sweden, Halmstad

Re: N64/ Trusty CPU microcode bios update

Post by nin1 »

1 Ghz Processor doesn´t need to be updated?
User avatar
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

Post by professor_jonny »

nin1 wrote: Tue Oct 08, 2019 10:06 pm 1 Ghz Processor doesn´t need to be updated?
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.
Post Reply