VOGONS


Reply 40 of 386, by DenizOezmen

User metadata
Rank Member
Rank
Member
BootROMError8046 wrote on 2021-06-19, 20:00:

Actually someone else ran a ppro on this board!

Maybe with a different modified BIOS? By a quick check, the P3B-F BIOS uses tons of MSRs that are specific to Pentium II and above. I'm not sure if the calls are protected against being used on older CPUs. (Found an article that seems to talk about it here, too.)

BootROMError8046 wrote on 2021-06-19, 20:00:

Also, the software doesn't support the 60kb microcode file as it's not 2kb, and checking the cpuids of each pii and piii will be really exhausting. Do you have a list of the microcodes to download? Thanks in advance!

Right, you'll need the single files. Here are the ones I used to build the modified BIOS.

[Edit: Removed attachment; downloads in first post contain source microcode files for each mod.]

Last edited by DenizOezmen on 2022-06-25, 13:05. Edited 1 time in total.

Reply 41 of 386, by BootROMError8046

User metadata
Rank Newbie
Rank
Newbie
DenizOezmen wrote on 2021-06-19, 20:13:
Maybe with a different modified BIOS? By a quick check, the P3B-F BIOS uses tons of MSRs that are specific to Pentium II and abo […]
Show full quote
BootROMError8046 wrote on 2021-06-19, 20:00:

Actually someone else ran a ppro on this board!

Maybe with a different modified BIOS? By a quick check, the P3B-F BIOS uses tons of MSRs that are specific to Pentium II and above. I'm not sure if the calls are protected against being used on older CPUs. (Found an article that seems to talk about it here, too.)

BootROMError8046 wrote on 2021-06-19, 20:00:

Also, the software doesn't support the 60kb microcode file as it's not 2kb, and checking the cpuids of each pii and piii will be really exhausting. Do you have a list of the microcodes to download? Thanks in advance!

Right, you'll need the single files. Here are the ones I used to build the modified BIOS.

Thanks again for your help, really appreciate it! The pii is essentially a ppro with mmx so I hope those MSRs won't be an issue.

Reply 42 of 386, by BootROMError8046

User metadata
Rank Newbie
Rank
Newbie
DenizOezmen wrote on 2021-06-19, 20:13:
Maybe with a different modified BIOS? By a quick check, the P3B-F BIOS uses tons of MSRs that are specific to Pentium II and abo […]
Show full quote
BootROMError8046 wrote on 2021-06-19, 20:00:

Actually someone else ran a ppro on this board!

Maybe with a different modified BIOS? By a quick check, the P3B-F BIOS uses tons of MSRs that are specific to Pentium II and above. I'm not sure if the calls are protected against being used on older CPUs. (Found an article that seems to talk about it here, too.)

BootROMError8046 wrote on 2021-06-19, 20:00:

Also, the software doesn't support the 60kb microcode file as it's not 2kb, and checking the cpuids of each pii and piii will be really exhausting. Do you have a list of the microcodes to download? Thanks in advance!

Right, you'll need the single files. Here are the ones I used to build the modified BIOS.

Well, it doesn't work unfortunately. But I found an old Russian article about running a ppro in a 440bx board, so I'll have a read. Really appreciate your help bud/maam!!

Reply 43 of 386, by DenizOezmen

User metadata
Rank Member
Rank
Member
BootROMError8046 wrote on 2021-06-19, 21:11:

Well, it doesn't work unfortunately. But I found an old Russian article about running a ppro in a 440bx board, so I'll have a read. Really appreciate your help bud/maam!!

Good Luck, I hope you find more information!

I found at least three MSR uses in the P3B-F BIOS that are seemingly not adequately protected:

  • 0x174d: related to determining the CPU type for display
  • 0xc2f5: check whether "-ECC" suffix should be displayed at boot
  • 0xc375: reaction to "CPU Level 2 Cache" setup option

There might be a fourth one (check for L2 address range support at 0x19f0), but I'm not sure if that one gets triggered.

There might still be other problems ...

Reply 44 of 386, by BootROMError8046

User metadata
Rank Newbie
Rank
Newbie
DenizOezmen wrote on 2021-06-19, 21:34:
Good Luck, I hope you find more information! […]
Show full quote
BootROMError8046 wrote on 2021-06-19, 21:11:

Well, it doesn't work unfortunately. But I found an old Russian article about running a ppro in a 440bx board, so I'll have a read. Really appreciate your help bud/maam!!

Good Luck, I hope you find more information!

I found at least three MSR uses in the P3B-F BIOS that are seemingly not adequately protected:

  • 0x174d: related to determining the CPU type for display
  • 0xc2f5: check whether "-ECC" suffix should be displayed at boot
  • 0xc375: reaction to "CPU Level 2 Cache" setup option

There might be a fourth one (check for L2 address range support at 0x19f0), but I'm not sure if that one gets triggered.

There might still be other problems ...

Alright, so I found some information, but unfortunately I'm not an expert in this stuff so that's where I'll offer you some money if you'll help me (and if you want haha), cause running a ppro machine is a dream of mine for several years 😀

So there's a need to skip some problematic code with a proper condition. If you want take a look here, I translated a portion of that Russian article I mentioned: https://pastebin.com/GSWcLwU0

Again, I'll understand if you won't do this, but I have nothing to lose from asking. 😀

Reply 45 of 386, by BootROMError8046

User metadata
Rank Newbie
Rank
Newbie

Aight, a breakthrough (kind of): I managed to get properly- modified bioses for the asus p3b-f and for the asus p3v133 from the slotket's creator and he said he usually ships one bios per slotket. I'll upload the bioses here since I want this kind of stuff to be open source and available for free for everyone. if you want take a look and inspect the code and maybe port the patch to other boards (or at least teach me how to do so if you can/want so I'll do it instead).
Maybe you can even add your own patches to the bioses and create the ultimate, definitive bioses!! 😁

Attachments

  • Filename
    bioses.zip
    File size
    310.1 KiB
    Downloads
    81 downloads
    File comment
    P3V133 and P3B-F pentium pro-compatible bioses
    File license
    Public domain

Reply 46 of 386, by DenizOezmen

User metadata
Rank Member
Rank
Member
BootROMError8046 wrote on 2021-06-20, 05:10:

Aight, a breakthrough (kind of): I managed to get properly- modified bioses for the asus p3b-f and for the asus p3v133 from the slotket's creator and he said he usually ships one bios per slotket.

Ah, glad you got a working BIOS. (I had already begun to write the patch code, but testing would have been a bit of a pain.)

BootROMError8046 wrote on 2021-06-20, 05:10:

Maybe you can even add your own patches to the bioses and create the ultimate, definitive bioses!! 😁

Well, you already have that (for the P3B-F, at least). 😉 The modified BIOS you uploaded is obviously based on my modification uploaded here in the first post. Funny to see a patch of the patch code. 😀

BootROMError8046 wrote on 2021-06-20, 05:10:

if you want take a look and inspect the code and maybe port the patch to other boards (or at least teach me how to do so if you can/want so I'll do it instead).

I could try and do a write-up of the steps used for creating the BIOSes in the first post, but that would be a bit mechanical. The interesting part happens in a disassembler and a hex editor. It's basically all about replacing jumps and calls to redirect them to the patch code.

Reply 47 of 386, by BootROMError8046

User metadata
Rank Newbie
Rank
Newbie
DenizOezmen wrote on 2021-06-20, 07:59:
Ah, glad you got a working BIOS. (I had already begun to write the patch code, but testing would have been a bit of a pain.) […]
Show full quote
BootROMError8046 wrote on 2021-06-20, 05:10:

Aight, a breakthrough (kind of): I managed to get properly- modified bioses for the asus p3b-f and for the asus p3v133 from the slotket's creator and he said he usually ships one bios per slotket.

Ah, glad you got a working BIOS. (I had already begun to write the patch code, but testing would have been a bit of a pain.)

BootROMError8046 wrote on 2021-06-20, 05:10:

Maybe you can even add your own patches to the bioses and create the ultimate, definitive bioses!! 😁

Well, you already have that (for the P3B-F, at least). 😉 The modified BIOS you uploaded is obviously based on my modification uploaded here in the first post. Funny to see a patch of the patch code. 😀

BootROMError8046 wrote on 2021-06-20, 05:10:

if you want take a look and inspect the code and maybe port the patch to other boards (or at least teach me how to do so if you can/want so I'll do it instead).

I could try and do a write-up of the steps used for creating the BIOSes in the first post, but that would be a bit mechanical. The interesting part happens in a disassembler and a hex editor. It's basically all about replacing jumps and calls to redirect them to the patch code.

Please do that!! This knowledge must not be behind a paywall and should be open source and available to everyone. If it's too much work I have no problem helping with documentation (after you'd teach me how to add the custom code at least 😁). I know how to mess around with IDA Pro so that's a starting point I think.

Reply 48 of 386, by BootROMError8046

User metadata
Rank Newbie
Rank
Newbie

Hi DenizOezmen, I've seen and read your DM and would love to discuss further about documenting everything, but I cannot send DMs because I've not participated in enough discussions. May you provide me with your email address?

Reply 49 of 386, by DenizOezmen

User metadata
Rank Member
Rank
Member
BootROMError8046 wrote on 2021-06-21, 05:29:

Hi DenizOezmen, I've seen and read your DM and would love to discuss further about documenting everything, but I cannot send DMs because I've not participated in enough discussions. May you provide me with your email address?

Sure, sorry. I'll send you another DM.

Reply 50 of 386, by AlexZ

User metadata
Rank Member
Rank
Member

I flashed the latest modified BIOS on my Asus CUBX and it's working. My motivation was to unlock undervolt choices as out of box the board allows only to set higher voltage. My ECS board allows it and I wanted to have the same capability on CUBX.

As for entering advanced setup on cold boot - I see that happening when computer is turned off with the little switch on PSU instead of power button. I do that frequently when testing boards as I just use a screwdriver instead of power button, but turning it off using PSU is quicker. When I turned it off using power button it didn't enter advanced BIOS setup next time. The original BIOS exhibited the same issue.

Pentium III 900E, ECS P6BXT-A+, 384MB RAM, NVIDIA GeForce FX 5600 128MB, Voodoo 2 12MB, 80GB HDD, Yamaha SM718 ISA, 19" AOC 9GlrA
Athlon 64 3400+, MSI K8T Neo V, 1GB RAM, NVIDIA GeForce 7600GT 512MB, 250GB HDD, Sound Blaster Audigy 2 ZS

Reply 51 of 386, by AlexZ

User metadata
Rank Member
Rank
Member

For some reason the CUBX Bios allows voltage only up to 1.7V for a 1.5V Celeron 600. For Celeron 700 up to 1.9V is possible. It would be helpful if slightly higher range was possible - up to +0.3V instead of +0.2V.

Pentium III 900E, ECS P6BXT-A+, 384MB RAM, NVIDIA GeForce FX 5600 128MB, Voodoo 2 12MB, 80GB HDD, Yamaha SM718 ISA, 19" AOC 9GlrA
Athlon 64 3400+, MSI K8T Neo V, 1GB RAM, NVIDIA GeForce 7600GT 512MB, 250GB HDD, Sound Blaster Audigy 2 ZS

Reply 52 of 386, by DenizOezmen

User metadata
Rank Member
Rank
Member
AlexZ wrote on 2021-09-12, 16:35:

For some reason the CUBX Bios allows voltage only up to 1.7V for a 1.5V Celeron 600. For Celeron 700 up to 1.9V is possible. It would be helpful if slightly higher range was possible - up to +0.3V instead of +0.2V.

Hmm, yes. I rebalanced the voltage tables a bit to enable the full undervolting range for cD0 Coppermine-T cores. The upper limit for 1.5V nominal voltage got lost in the process. I'll fix this.

Edit: Here's a version of the CUBX BIOS that restores ASUS's original upper limits for the following core voltages:

  • 1.55 V: upper limit is 1.85 V
  • 1.50 V: upper limit is 1.80 V

When editing, I remembered why I lowered these limits, specifically the limit for 1.50 V cores: The BIOS does not differentiate between core types when populating the voltage list -- could be implemented, but isn't. This means that the menu will also offer 1.80 V for a 1.50 V Tualatin core, which is beyond its absolute maximum rating of 1.75 V. I'll probably not upload the modification to the first post in this state.

[Edit: Removed attachment; BIOS in first post now sets voltage limit according to core]

Last edited by DenizOezmen on 2022-06-25, 13:04. Edited 2 times in total.

Reply 53 of 386, by AlexZ

User metadata
Rank Member
Rank
Member
DenizOezmen wrote on 2021-09-12, 18:29:
Edit: Here's a version of the CUBX BIOS that restores ASUS's original upper limits for the following core voltages: […]
Show full quote

Edit: Here's a version of the CUBX BIOS that restores ASUS's original upper limits for the following core voltages:

  • 1.55 V: upper limit is 1.85 V
  • 1.50 V: upper limit is 1.80 V

This version does fix the upper voltage limit, but also introduces a bug in CPU Speed in Advanced setup. For Celeron 600 I get "B[Manual]B" with options Manual/133Mhz/200Mhz. The version in initial post doesn't exhibit this bug and shows "[Manual]" with options Manual/600Mhz/900Mhz.

Pentium III 900E, ECS P6BXT-A+, 384MB RAM, NVIDIA GeForce FX 5600 128MB, Voodoo 2 12MB, 80GB HDD, Yamaha SM718 ISA, 19" AOC 9GlrA
Athlon 64 3400+, MSI K8T Neo V, 1GB RAM, NVIDIA GeForce 7600GT 512MB, 250GB HDD, Sound Blaster Audigy 2 ZS

Reply 54 of 386, by DenizOezmen

User metadata
Rank Member
Rank
Member
AlexZ wrote on 2021-09-19, 09:10:

This version does fix the upper voltage limit, but also introduces a bug in CPU Speed in Advanced setup. For Celeron 600 I get "B[Manual]B" with options Manual/133Mhz/200Mhz. The version in initial post doesn't exhibit this bug and shows "[Manual]" with options Manual/600Mhz/900Mhz.

Right, I missed one offset. (Sorry, I don't have the board at hand to test the modifications.) There's a new version attached to the post above; hopefully, that one works.

Reply 55 of 386, by AlexZ

User metadata
Rank Member
Rank
Member
DenizOezmen wrote on 2021-09-19, 14:40:

Right, I missed one offset. (Sorry, I don't have the board at hand to test the modifications.) There's a new version attached to the post above; hopefully, that one works.

I confirm the latest version looks ok. Menu items are displayed correctly and voltage is applied as well (verified in Hwinfo).

I also tested the original 1008cu004 Asus BIOS and your BIOS and they both share a bug when they don't reflect the selected voltage in BIOS sensor screen, which is very confusing. However Hwinfo confirmed voltage gets applied.

Pentium III 900E, ECS P6BXT-A+, 384MB RAM, NVIDIA GeForce FX 5600 128MB, Voodoo 2 12MB, 80GB HDD, Yamaha SM718 ISA, 19" AOC 9GlrA
Athlon 64 3400+, MSI K8T Neo V, 1GB RAM, NVIDIA GeForce 7600GT 512MB, 250GB HDD, Sound Blaster Audigy 2 ZS

Reply 56 of 386, by DenizOezmen

User metadata
Rank Member
Rank
Member
AlexZ wrote on 2021-10-09, 11:44:

I confirm the latest version looks ok. Menu items are displayed correctly and voltage is applied as well (verified in Hwinfo).

Thanks!

AlexZ wrote on 2021-10-09, 11:44:

I also tested the original 1008cu004 Asus BIOS and your BIOS and they both share a bug when they don't reflect the selected voltage in BIOS sensor screen, which is very confusing. However Hwinfo confirmed voltage gets applied.

I think the sensor screen is also telling the truth. This seems to be a common behaviour shared between ASUS BIOSes of this period. From what I've observed on the P3V4X, the user-selected voltage does not get applied (during POST) until after the point where you can enter setup. Before that point, the processor is still supplied with whatever voltage was used before, i.e.

  • the processor's default voltage in case of a cold boot or
  • the voltage applied during the previous boot in case of a warm boot.

So, if you enter setup after a soft reboot (assuming the last boot went into OS), you should see the selected voltage reflected in the HW monitor screen. I agree that it is pretty confusing.

Reply 57 of 386, by gn0me

User metadata
Rank Newbie
Rank
Newbie

Hi, I haven't gotten my P3B-F in the mail yet so cannot test, but does this have additional dividers included for running the CPU @ 133 MHz FSB while keeping the AGP and PCI busses within spec?

1990-1997 DOS/W95: micron millennium mme/p200mmx/64mb/matrox millennium II 6mb/orchid righteous 3d 4mb/sb16 & dream blaster s2

Reply 58 of 386, by DenizOezmen

User metadata
Rank Member
Rank
Member

Hi,

I might be mistaken, but as far as I know, the dividers are a hardware property of the chipset and cannot be overridden by BIOS.

Only the AGP bus should be affected at 133 MHz, however, since the BX chipset has a 1/4 divider for PCI. If the board operates in jumperfree mode, you will find a "133.0/33.25" entry in the bus frequency menu. (Alternatively, this setting can also be chosen via the DIP switch.)

Reply 59 of 386, by gn0me

User metadata
Rank Newbie
Rank
Newbie
DenizOezmen wrote on 2021-11-20, 20:01:

Hi,

I might be mistaken, but as far as I know, the dividers are a hardware property of the chipset and cannot be overridden by BIOS.

Only the AGP bus should be affected at 133 MHz, however, since the BX chipset has a 1/4 divider for PCI. If the board operates in jumperfree mode, you will find a "133.0/33.25" entry in the bus frequency menu. (Alternatively, this setting can also be chosen via the DIP switch.)

Cool, thanks for the clarification!

It's been awhile since I've dealt with AGP gear, does overdriving the AGP bus have the effect of utilizing more of the available performance from a 4x GPU (by spec all AGP devices are backwards compatible by 1 generation, 8>4, 4>2, 2>1)

1990-1997 DOS/W95: micron millennium mme/p200mmx/64mb/matrox millennium II 6mb/orchid righteous 3d 4mb/sb16 & dream blaster s2