VOGONS


Reply 40 of 44, by Beerfloat

User metadata
Rank Newbie
Rank
Newbie
jakethompson1 wrote on Yesterday, 03:47:
Unfortunately, between D3 and D4 a ton is going on. This is where the BIOS turns on the RAM, initializes the chipset, and switch […]
Show full quote
Beerfloat wrote on Yesterday, 02:09:

Any chance this kind of replacing K6-problematic instructions with NOPs and adjusting the checksum would work on something like the G7-ZG AMI BIOS for the TMC PCI54PV?

It boots with Pentium MMX but both K6-2 and K6-3 on Evergreen and Powerleap interposers just hang (with BIOS POST card code D2D3).

Unfortunately, between D3 and D4 a ton is going on. This is where the BIOS turns on the RAM, initializes the chipset, and switches to executing the BIOS from shadow RAM rather than ROM. The compressed portion at 5000h also appears to be something that amideco can't handle (but since you don't see D4, I'm not sure it ever executes anyway). There are a few 0f 30s in the uncompressed part, but they look like false positives and not actual wrmsr instructions. So it's difficult without knowing where it gets stuck. Rather than straightforward like Award, perhaps something in the CPU detection code was set and doesn't break right away, only causing failure between D3 and D4.
edit: there is MHz detection code between D3 and D4. Perhaps it runs too fast and there is overflow or divide by zero--you could experiment with as slow bus speed and multiplier as possible.

Beerfloat wrote on Yesterday, 02:09:

Same question for the Spring Circle SF586 VIP3A-ZS1 AWARD 4.50PG BIOS, really.

I am less concerned about CPU detection and setting all registers correctly than about simply getting it to boot. Can always run k6init after.

That one is quite similar to jheronimus' one.
At offset 17F3Eh there is 0F 30 (wrmsr). Change it to 90 90 (nop nop) and I expect you'd have to change the checksum at 1FFFFh to 22h.

Really appreciate the quick and thorough response jakethompson1. I will be trying that on the SF586 BIOS.
With the original checksum at 1FFFFh looking like F7h, and you saying new checksum likely 22h, let me see if my small brain can figure out how these checksums work!

Reply 41 of 44, by Beerfloat

User metadata
Rank Newbie
Rank
Newbie

Is it possible the checksum should be 16h (22 decimal)? I'm a little confused.

Anyhow, Jan had previously put out a version of the SF586 VIP3A-ZS1 BIOS with Y2K and > 2GB drive display bug fixes for Babasha, so I took that .bin instead and nooped the wrmsr.
And hopefully checksummed it right.

Will try and flash this evening *fingers crossed*

Reply 42 of 44, by Chkcpu

User metadata
Rank Oldbie
Rank
Oldbie
Beerfloat wrote on Yesterday, 06:25:
Is it possible the checksum should be 16h (22 decimal)? I'm a little confused. […]
Show full quote

Is it possible the checksum should be 16h (22 decimal)? I'm a little confused.

Anyhow, Jan had previously put out a version of the SF586 VIP3A-ZS1 BIOS with Y2K and > 2GB drive display bug fixes for Babasha, so I took that .bin instead and nooped the wrmsr.
And hopefully checksummed it right.

Will try and flash this evening *fingers crossed*

Hi Beerfloat,

Yes, you checksummed this “no_wrmsr” BIOS correctly. 😀

Looking at the code just before the WRMSR instruction you NOPped, this was a write to MSR 02h. Valid on the Pentium but invalid on K6(-2/-III), so there is a good chance this fixes the K6-2 hang.

Cheers, Jan

CPU Identification utility
The Unofficial K6-2+ / K6-III+ page

Reply 43 of 44, by Beerfloat

User metadata
Rank Newbie
Rank
Newbie
Chkcpu wrote on Yesterday, 09:26:
Hi Beerfloat, […]
Show full quote

Hi Beerfloat,

Yes, you checksummed this “no_wrmsr” BIOS correctly. 😀

Looking at the code just before the WRMSR instruction you NOPped, this was a write to MSR 02h. Valid on the Pentium but invalid on K6(-2/-III), so there is a good chance this fixes the K6-2 hang.

Cheers, Jan

Thank you BIOS sensei!

It most certainly did fix it, and the K6-3 too.
Ok, there's still a lot of testing to be done, like for instance k6init, and maxing the board's cache to 2MB, and optimizing the BIOS settings and more, but...
It basically seems to work quite well right out of the gate. No crashes or freezes or weird behavior observed so far.

Both chips are detected the same by the BIOS. And it got the brand right, at least.

Massive thanks to you Jan for your BIOS modding guide (not to mention everything else you do). And to jakethompson1 for this super clever little fix!

Reply 44 of 44, by Beerfloat

User metadata
Rank Newbie
Rank
Newbie

And a few more results. I've never seen a VLB system perform quite like this tbh.