Jump to content
HWBOT Community Forums

Socket 462 BIOS workshop


Antinomy
 Share

Recommended Posts

Posted (edited)

So i tested a few more cpus. My current conclusions about BCRC are:

  • if the cpu has a minor revision of 2 or 11, then it is reported as multi locked
  • if the cpu has a minor revision of 12 or 15, then it is reported as multi unlocked
  • minor revision 11 is reported as Thorton w/ 512K, all other minors are reported as Barton
  • Stepping is just a guess and mostly AQYFA or unknown

Now, i added Antinomy's cpus to my list and sorted them by minor revision and week.

  • Revision 2 has two ranges with a gap in them: 0337 - 0349 (?) and 0405 - 0411 (locked)
  • Revision 11 was made from 0342 to 0512 (locked)
  • Revision 12 also has two ranges with gap: 0327 - 0332 (unlocked) and 0403 - 0407 (locked)
  • Revision 15 seems to be the oldest: 0318 - 0319 (unlocked)

So i believe the timeline of the revisions is:

15 -> 12 -> 2 -> 12/2 -> 11

On german Hardwareluxx forums there is a user which states that AMD changed something inside the cpu die which makes them clock a lot better. That's why the mobiles from 0351 onwards clock so much better than older Bartons. I believe that it's the change to minor revision 11 which is to "blame" for this, although we need more cpus/data to prove this.

We also need more cpus to see of the gap in revision 12 and 2 is real...

Edited by Tzk
Link to comment
Share on other sites

Posted (edited)

I've been going through some of my CPUs. I forgot to note the reported core by BCRC for some of the first entries in the table, so take them with a grain of salt.

The lookup table for those cores is not 100% correct anyway. Some of my Thoroughbreds are missing, hopefully I will find where they are :D

Model OPN Batch Core CPUID Rev Unlocked   Code Name Site.Major.Minor Multiplier type Possible Marker
Athlon XP 1700+ AXDA1700DLT3C AIUGA 0245SPIW Thoroughbred-A 0680 A0 yes 2308 Thoroughbred 1.0.4 Unknown Unknown
Athlon XP 1700+ AXDA1700DLT3C AIRGA 0319WPMW Thoroughbred-A 0680 A0 yes 2318 Thoroughbred 1.0.14 Locked MIAGA
Athlon XP 1700+ AXDA1700DLT3C RIRGA 0233VPMW Thoroughbred-A 0680 A0 yes 2318 Thoroughbred 1.0.14 Locked MIAGA
Athlon XP 1700+ AXDA1700DLT3C JIUHB 0320MPMW Thoroughbred-B 0681 B0 yes 2334 Thoroughbred 1.1.14 Unlocked AIUHB/JIUHB
Athlon XP 1700+ AXDA1700DLT3C JIUHB 0323RPMW Thoroughbred-B 0681 B0 yes 2334 Thoroughbred 1.1.14 Unlocked AIUHB/JIUHB
Athlon XP 1700+ AXDA1700DUT3C JIUHB 0312XPFW Thoroughbred-B 0681 B0 yes 2334 Thoroughbred 1.1.14 Unlocked AIUHB/JIUHB
Athlon XP 1700+ AXDA1700DUT3C JIUCB 0251TPXW Thoroughbred-B 0681 B0 yes 2326 Thoroughbred 1.1.6 Unknown Unknown
Athlon XP 1800+ AXDA1800DLT3C JIUHB 0310MPMW Thoroughbred-B 0681 B0 yes 2334 Thoroughbred 1.1.14 Unlocked AIUHB/JIUHB
Athlon XP 1800+ AXDA1800DLT3C JIUHB 0333VPMW Thoroughbred-B 0681 B0 yes 2334 Thoroughbred 1.1.14 Unlocked AIUHB/JIUHB
Athlon XP 2000+ AXDC2000DUT3C AQZFA 0343UPMW Thorton 06A0 A2 no 2306 {empty} 1.0.2 Locked AQYFA
Athlon XP 2000+ AXDC2000DUT3C AQXEA 0324UPMW Thorton 06A0 A2 yes 2316 Thorton 1.0.12 Unlocked Unknown
Athlon XP 2000+ AXDA2000DUT3C KIXJB 0415EPMW Thoroughbred-B 0681 B0 no 2333 Thoroughbred 1.1.13 Undetermined JIXIB/AIXJB
Athlon XP 2000+ AXDA2000DKV3C JIUHB 0338MPM Thoroughbred-A 0680 A0 yes 2308 Thoroughbred 1.0.4 Unknown Unknown
Athlon XP 2100+ AXDA2100DUT3C AIUHB 0302WPDW Thoroughbred-B 0681 B0 yes 2334 Thoroughbred 1.1.14 Unlocked AIUHB/JIUHB
Athlon XP 2100+ AXDA2100DUT3C JIUHB 0308VPMW Thoroughbred-B 0681 B0 yes 2334 Thoroughbred 1.1.14 Unlocked AIUHB/JIUHB
Athlon XP 2200+ AXDA2200DUV3C AIUCB 0240RPFW Thoroughbred-B 0681 B0 yes 2326 Thoroughbred 1.1.6 Unknown Unknown
Athlon XP 2400+ AXDC2400DKV3C AQXFA 0348MPMW Thorton 06A0 A2 no 2306 {empty} 1.0.2 Locked AQYFA
Athlon XP 2400+ AXDA2400DKV3C AIXHB 0328SPGW Thoroughbred-B 0681 B0 yes 2334 Thoroughbred 1.1.14 Unlocked AIUHB/JIUHB
Athlon XP 2400+ AXDA2400DKV3C AIUGB 0244MPM Thoroughbred-B 0681 B0 yes 2322   1.1.2 Unknown Unknown
Athlon XP 2500+ AXDA2500DKV4D AQYFA 0350SPGW Barton 06A0 A2 no 2315 Thorton w/512K 1.0.11 Locked AQYFA

What I've seen so far:

  • Reticle site is always 1 - it's either a mistake in the tweaker or these bits started to be meaningful from K8 and up
  • Major mask revision is always the same as the stepping (read from CPUID) and the only core that has 1 instead of 0 is Thoroughbred B (as in "the 2nd revision of T-Bred core")
  • Minor revision is the interesting one
  • BCRC displays Barton if minor revision is 12 and Thorton w/512K when it is 11.

Note that the CPU in red is FAKE Thoroughbred-B, in reality it's T-Bred A instead with L3, L5 and L12 bridges manipulated and has fake markings.

Up to the "Unlocked" column are values either written on the cpu or detected from other tools. Unlocked column is based on testing.

Rest of the columns are from BCRC and the tweaker.

I will also check what Palomino reports, but that MSR is invalid on Thunderbird core, so maybe it's the same on Palominos.

 

PS: Maybe we should use some shared google sheet, since you can't really format the tables here.

Edited by I.nfraR.ed
  • Thanks 3
Link to comment
Share on other sites

  • Crew
Posted (edited)
On 7/6/2021 at 4:06 AM, I.nfraR.ed said:

Reticle site is always 1 - it's either a mistake in the tweaker

Nope, I've cross-checked all my CPUs with tweaker and CPUMSR, they both show always 1.

On 7/6/2021 at 4:06 AM, I.nfraR.ed said:

the only core that has 1 instead of 0 is Thoroughbred B (as in "the 2nd revision of T-Bred core")

Now that is interesting. So the major revision is the same thing as core revision (stepping in terms of CPUID) and minor revision is the suffix for it. So it's like Thoroughbred-B.14 or rev. B0.14...
Another interesting thing is that minor revision is not an absolute build number.
So we can see 0.14 and 1.2 meaning that minor revision works only together with major. It's only important for Thoroughbreds and maybe Palomino because Bartons are all same major revision.

Edited by Antinomy
Link to comment
Share on other sites

Posted (edited)

True.

I was expecting minor revision to be higher for newer CPUs, but it seems there's no such correlation.

There's also no correlation between the minor revision, the PCB revision and the gold letter in the corner.

Common versions for Barton are 2, 11, 12, 15 and as @Tzkpreviously wrote, 12 and 15 are reported as unlocked, while 2 and 11 are reported as locked. This doesn't 100% correspond to reality, since it depends on the production week, too. One of my 2s are unlocked and one 12 is locked. Overall the detection success rate seems to be high.

I will re-check those 2 CPUs to make sure it's not an error on my side.

Thoroughbred B has revisions 2, 6, 13, 14. 2 and 6 are reported as "Unknown", 13 is reported as "Undetermined" and 14 as "Unlocked".

In reality, 13 seems to be the only one that is locked.

2 and 6 seem to be from 2002, others are 2003 and 2004. There's one 14 from 2002.

I have one Applebred B0 (Thoroughbred-B) which is 14 and is locked, produced in week 0347.

All Thoroughbred-B Semprons I have are 13 and are locked. Also later production weeks, which "guarantees" a super locked CPU.

 

11 is B in HEX, 12 is C, 13 is D, 14 is E, 15 is F. I guess the highest possible is 15 (F).

According to the documentation, it's bits 3-0 (4 bits), so 1111 = F is the highest.

 

Edit:

For Applebred/Thoroughbred the following seems to be valid (with one exception again, which I have to recheck)

xxxHB (e.g. JIUHB) is 14

xxxCB (e.g. JIUCB) is 6

xxxJB (e.g. KIXJB) is 13

xxxX(e.g. MCXB) is 13

xxxGB (e.g. AIUGB) is 2

I'm sure BCRC is guessing the "Crystal Marker" based on the minor revision and codename.

The theory is that this minor revision is something like a range of letters. Same applies to the major revision, which is indicated from the last letter, e.g. JIUHB, where B = 1 for "Thoroughbred-B". In case of a Barton, we have A = 0 there, e.g. IQYHA.

I'm kind of sure about last letter now. The minor revision is probably "encoding" for more than one letter.

 

This timeline with steppings might help us reconstruct the lookup table:

https://www.cpu-world.com/info/AMD/amd_stepping_K7.html

https://www.cpu-world.com/info/AMD/K7_stepping_codes.html

Edited by I.nfraR.ed
  • Like 1
  • Thanks 2
Link to comment
Share on other sites

  • 1 month later...

I managed to add BIOS options to a AMI BIOS. My ASRock NF2 BIOS mod now has more DRAM settings.

pic1.thumb.jpg.659d71259655fb631282d3d6df56130d.jpg

I would like to share a few words about AMI BIOS modding and my main problems I had.

1.0   AMI BIOS

pic2.JPG.c93c4f1b729b9e5c01d91c09e05209d9.JPG

AMI BIOS modules are divided into module IDs:

pic3.thumb.png.d04fd00d9c0bef1d181401f743641e92.png

The modules we want to mod is 1B (System module) and 21 (language module).

 

2.0   Language module

The first bytes of the language module should be the same as in most AMI BIOSes. Offset 08h and 09h indicate the start of the first address to the lables. This is also the start where the counter begins. Addresses are written down in little endian (offset 06F6 --> F606).

Special note to the (red) offset 14h and 15h. This bytes are crucial. Wrong  values will cause a crash in AMIBCP. I have no clue what they mean.

pic4.1.jpg.4c0fac5b120e0475fe2d84e097102578.jpg

pic5.jpg.730a7a09d83fb2401cd9965760c82a60.jpg

The last address follows with the first lable F606. No further addresses can be added here. To solve this problem I added 200h free space between the last address and the fist lable. Then I had to correct ALL (!) addresses by +0002 (little endian, +200h offsets). Then I was able to add a lot of new lables! I filled the whole 200h with addresses.

Important! I also had to change offset 14h and 15h by +0002!

Now, lets have a look at our new lables in AMIBCP:

pic6.jpg.75cf2183ff3276c31371caab09120bf5.jpg

Looks fine now. Lable tokens are important fo find the BIOS strings and menu in the System module.

 

3.0   Edit System module.

pic7.thumb.JPG.759175bb8e6e3f5fac01e54f92553530.JPG

The 1b module consists of several parts. The part that I need is called here: SETSVR_CSEG (sometimes other names). You can easily find it with this sequence:

pic8.JPG.a66768f250f7677d97a94bc02a1812d7.JPG

There is a tool (ami_1b_utilz)  to split the 1B module to its parts. Many thanks here to Antinomy!

Now you have to search for the lable tokens. This can help to decrypt the BIOS menu and the BIOS items.

Here is some help to find it easier. BIOS items (begins with 01 ….) should look like:

pic9.jpg.54ca09b2b740f2d1ec6d00b9dec59172.jpg

 

pica.jpg.5ea44593301b9abbdce2f033a1041c75.jpg

(pics from Polygon)

BIOS menu code should look something like this:

picb.jpg.b6662e9d5fda6900556404e319ed6ca2.jpg

My second problem was to find empy space for my code. There is usable space before the code starts and some space in between. AMI BCP finds this new added code, but the BIOS (after a flash) showed an empty screen with no items. My conclusion is that AMBCP and probably some boards will find this new added code, but my board is not able to use the code from the empty spaces (maybe not addressable area?). To solve this problem, I deleted unimportant and unused BIOS options and moved some code to create empty space for my new option. Well, this worked. My BIOS mod works finally! One sidenote: Moving menus in AMIBCP can cause problems. It seems like AMIBCP moves also the menu in the BIOS code.

The BIOS mod now sets correct CMOS values.

The next part should be to create a PCI option rom, that changes all BIOS settings in the System part. As far as I know, AMI BIOS is not able to add a ISA option rom.  So, exchanging existing LAN boot rom to our modded option rom is the way to go.

LAN and LAN Boot has to be enable in BIOS!

 

edit:

There are still some points to improve in this BIOS (hidden RAID menu, more settings...). If I find the motivation to do so, I will improve the BIOS mod.

 

ami_1b_utilz.zip K7NF2_DB2_R2.zip K7NF2_DB3_R2.zip K7NF2_DBA_R2.zip

Edited by digitalbath
  • Like 3
  • Thanks 3
Link to comment
Share on other sites

I want to help you guys. I have something like 4 nf7's, AN7, asus NF2 board and one burned DFI Infinity (don't know what is burned).  I also have lots of Socket A cpu's (40-50pcs). Do you want me to check some things on these boards/CPUs? I know that you also have a lot of gear to play with, but just wanted to let you know that there are some more people interested in this "vintage" motherboards/platforms. Thanks for your work.

  • Like 1
Link to comment
Share on other sites

  • Crew
2 hours ago, ludek said:

Do you want me to check some things on these boards/CPUs?

Try setting 5-6x multi and pus FSB to the max. Try 1M stability and push over 250. Check different CPUs, BIOS, memory, anything that helps get over 250. That's one of the main goals. You are welcome to the Discord channel (link in the first post) for details.

Edited by Antinomy
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...