VOGONS


Reply 20 of 48, by Gmlb256

User metadata
Rank l33t
Rank
l33t
Nathan_A wrote on 2021-08-26, 22:21:

hey're K6-III 450/AHX 2.4v CPUs according to the imprint on the heat spreader. No idea if that's actually accurate given how many incredibly weird counterfeiting operations there are out there in the world for things like this, but the card definitely gets to POST.

These CPUs have different suffixes depending how they are rated for voltage and temperature. For the K6-III/450 there are versions that are rated for 2.2v instead of 2.4v and has the AFX suffix.

Nathan_A wrote on 2021-08-26, 22:21:

I was able to get the non-plus K6-III to run at 400 Mhz and 450 Mhz at both 2.4v and undervolted to 2.2v because the thing gets HOT! and the cooler on it is pitiful at the moment.

That's why I prefer to use the K6plus instead of the K6-III as they ran cooler.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce3 Ti 200 64 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 22 of 48, by Chkcpu

User metadata
Rank Member
Rank
Member

Hi Nathan_A,
Good to hear the original K6-III works. This definitely points to a BIOS issue when using the K6-2+/-III+!

During the detailed analysis of the OPC_620 BIOS, I found not only the general speedtable for Pentium/C6/K5/K6 CPUs, but also 2 extra tables specifically for the Cyrix 686MX/MII and K6-CXT/K6-III respectively. The Cyrix table is fine, as it supports the 4.0x multiplier of the MII, but the K6-2CXT/K6-III table goes up to a multiplier of 5.5x, but doesn't know the 6.0x multiplier. This explains the weird CPU speed indication when you ran the K6-III at 6x66/6x75!

Anyhow, the patched OPC_620 BIOS is ready and you can download it from my site at http://www.steunebrink.info/bios/OPC620J1.zip
I've packed a PATCH.TXT file in the zip that documents the changes I've made.
The new OPC620J1.BIN BIOS image of course has the same 128KB size as the original. I'm curious how replacing the BIOS works in this setup.

So, let us know how this new BIOS works. It should recognize the K6plus and POST normally and also indicate the correct speed on the original K6-III.
I will keep my fingers crossed. 😉

Jan

Edit: updated the link to my website.

Last edited by Chkcpu on 2023-07-10, 20:49. Edited 1 time in total.

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

Reply 23 of 48, by feipoa

User metadata
Rank l33t++
Rank
l33t++
Chkcpu wrote on 2021-08-24, 17:08:
Gmlb256 wrote on 2021-08-24, 14:53:

Didn't know that you were here at VOGONS!

I joined recently.
After helping people via e-mail and visiting here as guest for many years, it was high time I joined the VOGONS community and make my contributions directly. ;)

Ah, finally! Welcome to the forum! You generously patched up my Azza PT-5IT and Biostar MB-8500TTD some years (decade?) ago for MII 4x and K6+ support. I have run across some subtle detection mistakes in chkcpu16 over the years but didn't want bother you with another e-mail. Now I can just PM you when I come across the errors again.

Plan your life wisely, you'll be dead before you know it.

Reply 24 of 48, by Nathan_A

User metadata
Rank Newbie
Rank
Newbie
Chkcpu wrote on 2021-08-27, 09:54:
Hi Nathan_A, Good to hear the original K6-III works. This definitely points to a BIOS issue when using the K6-2+/-III+! […]
Show full quote

Hi Nathan_A,
Good to hear the original K6-III works. This definitely points to a BIOS issue when using the K6-2+/-III+!

During the detailed analysis of the OPC_620 BIOS, I found not only the general speedtable for Pentium/C6/K5/K6 CPUs, but also 2 extra tables specifically for the Cyrix 686MX/MII and K6-CXT/K6-III respectively. The Cyrix table is fine, as it supports the 4.0x multiplier of the MII, but the K6-2CXT/K6-III table goes up to a multiplier of 5.5x, but doesn't know the 6.0x multiplier. This explains the weird CPU speed indication when you ran the K6-III at 6x66/6x75!

Anyhow, the patched OPC_620 BIOS is ready and you can download it from my site at http://web.inter.nl.net/hcc/J.Steunebrink/OPC620J1.zip
I've packed a PATCH.TXT file in the zip that documents the changes I've made.
The new OPC620J1.BIN BIOS image of course has the same 128KB size as the original. I'm curious how replacing the BIOS works in this setup.

So, let us know how this new BIOS works. It should recognize the K6plus and POST normally and also indicate the correct speed on the original K6-III.
I will keep my fingers crossed. 😉

Jan.

This is awesome! 😀 I'll give it a try as soon as possible. I'll see if I can take some screenshots of the process along the way since it's quite the esoteric process. Currently it involves 5 different computers: the OPC card, the Mac that it's in, my wife's OS X Macbook, my NAS, and my primary Linux workstation. Mostly due to compatibility problems for authentication and TCP/IP support across various versions of AppleShare, making sure that nothing is going to strip the "resource forks" off of things that need to be moved around and edited between machines, and the fact that things need to be moved around at all because of a limitation in Apple's old ResEdit tool that doesn't let you bulk extract or replace resources in a file greater than 32k (so I have to use a modern resource fork editor on OS X to do the work). Originally it took me about 5 minutes to figure out how the whole, "BIOS & CMOS are stored in the resource fork" thing worked, and then it took me about 5 hours to actually sort out a repeatable workflow for how to get things from the internet to the right machines to do the work of actually getting the right data extracted, then updating it, repackaging the program, and getting it back to the place where I could test it. 😀

Reply 25 of 48, by Nathan_A

User metadata
Rank Newbie
Rank
Newbie

Well... I have good news, better news, and bad news.

First, the good news. I was able to find a MUCH easier path for patching and testing that only requires my Linux workstation and the host Mac w/ the OrangePC 620 by getting around the limitations of ResEdit by using a program called Resourcerer instead.

Second, the better news. I was able to easily get the OrangePCi application patched with Jan's updated BIOS, and with the K6-III/450AHX (non-plus) installed and set to 75x2 (which resolves to 75x6) the card boots and the CPU speed is correctly reported as 450 Mhz! 🥳

Lastly, the bad news. I tried both of the K6-III+/450ACZ chips that I have. Same 75x2 (i.e. 75x6) speed for 450 Mhz with voltage set to 2.1v. Neither of them worked. The OrangePCi application just hangs on initializing like it used to before. So, either we're not quite there yet, or these CPUs are faulty. Anybody have to good way for me to test them? Perhaps I could send them to another forum member who's got the right rig setup already to test them if anybody is amenable?

Beyond lastly, I've attached a screenshot from ResEdit of what's in the "resource fork" of the OrangePCi application that launches and controls the PC Compatibility card. What you can see are the BIOSes for the four different variants of cards that this version of the Application is designed to control:

file.php?mode=view&id=117831

  • 0 - "MR BIOS VIA 496" is for the OrangePC 420 and 440 which were 486/5x86 class cards.
  • 1 - "S3 Video BIOS" is the VGA BIOS for the S3 Trio64 used on the 420 and 440.
  • 2 - "BIOS Extension" I'm not sure what this is exactly. Based on its position in the list I assume its for the 420 and 440 cards though. Maybe the "PnP BIOS"?
  • 16 - "MR BIOS VIA 580" is for the OrangePC 530, 540, and 550 which is an earlier Socket 7 series of cards.
  • 17 - "S3 Video BIOS" is the VGA BIOS for the S3 Trio64V+ used on the 530 and I think the 540 too.
  • 18 - "S3 ViRGE/GX Video BIOS" is the VGA BIOS for the S3 ViRGE/GX on the 550.
  • 32 - "Award SiS 5598" is the BIOS for the OrangePC 620 we're hacking on here right now.
  • 33 - "BIOS Extension 32K" I'm not sure about either, but I also assume it's for the 620 based on its ID. Maybe also a "PnP BIOS" extension?
  • 48 - "Award VIA MVP" is for the OrangePC PCfx! and 660 cards which are the highest end cards that Orange Micro made (the 660 in particular)
  • 49 - "Riva 128" is the VGA BIOS for the NVIDIA Riva 128 used on the PCfx! and 660 cards.

In a separate window in the screenshot you can see the different default CMOSes that are for each major category of system BIOS from the above list: VIA 496, VIA 580, SiS 5598, and VIA MVP. When you first launch the OrancePCi application one of those CMOSes gets copied into a "Preferences" file in the Mac's System Folder, and when you load into the BIOS Setup screen as the PC card boots (just like you would on a normal PC, by holding <DEL> or whatever) to make changes, those changes are written to the CMOS entry in the preferences file to be used by subsequent PC card launches. So, when you want to reset the CMOS you delete that preferences file to get back to the defaults that Orange Micro chose and encoded into the OrangePCi control application.

It occurs to me that it's possible that those default encoded CMOSes could be somehow contributing to the K6-III+ not working despite the patched BIOS. I should be able to figure out which CMOS entry in the resource fork is the one used by the 620 card that I have and post its contents here. Though having never dug around in a CMOS dump before, I have no idea what I'd be looking for in there.

The way that I go about patching the OrangePCi application with the updated BIOS image is pretty straight forward:

  1. Make a copy of OrangePCi
  2. Open the OrangePCi copy in Resourcerer
  3. Locate and open the BIOS resource category and the BIOS image in question, i.e. the "Award SiS 5598" entry in Resourcerer's editor
  4. Open the patched BIOS from Jan in HexEdit (a Mac hex editor)
  5. Copy all the content from the file opened in HexEdit
  6. Paste over the original BIOS image content that's open in Resourcerer's editor
  7. Sanity check the beginning and end of the new BIOS image content and lengths
  8. Delete the OrangePCi preferences file in the System Folder if there is one and then Launch the patched OrangePCi copy... 🥳

Here are two different videos (https://photos.app.goo.gl/Qsh5QekqUCrrnsKH6) attempting to boot the card. The shorter video is with the K6-III+ installed. You see that the underlying card never gets even far enough to engage the relay switch which clicks over from passing the Mac's video through the card to using the VGA output of the OrangePC 620 (it's a mechanism very, very similar to how the early 3Dfx cards work via an external VGA passthrough cable arrangement). The longer video is using the K6-III (non-plus) where you can see that the new patched BIOS does in fact properly identify the CPU speed.

Note: the PC hangs before getting to post with the patched BIOS, but this doesn't happen all the time, and it also happens randomly with the non-patched BIOS. It's some kind of instability with the card, the control application, and the host Mac. It's not particular to the patched BIOS, it just so happened to incidentally occur the time I was recording. I think it might have something to do with the amount of power draw being demanded by the OrangePC card as it seems to happen less often when undervolting the CPU or when using a CPU that's less power hungry (WinChip or Pentium MMX).

Attachments

Reply 26 of 48, by Nathan_A

User metadata
Rank Newbie
Rank
Newbie

Oh, there's one other thing that's kind of weird with this card. It maxes out at 128MB of RAM. Even if I put a 256MB DIMM in, the BIOS memory test only marches through the first 128MB and boots as normal. Both the 128MB and 256MB DIMMs I have are populated on both sides with DRAM chips, so it doesn't immediately seem like its a topology/density issue. Maybe it's some limitation of the SiS 5598 chipset that it can only address 128MB per bank?

Reply 27 of 48, by debs3759

User metadata
Rank Oldbie
Rank
Oldbie

If a motherboard and CPU I want to use are incompatible with each other, my solution is simple (but expensive). I buy the best CPU that the motherboard supports (unless I already have the same in another system) and a decent motherboard that does support the CPU and can be overclocked. Two systems for the price of 3 (I only buy high end for each platform now, I have far too many budget and mainstream parts) 😀

See my graphics card database at www.gpuzoo.com
Constantly being worked on. Feel free to message me with any corrections or details of cards you would like me to research and add.

Reply 28 of 48, by Chkcpu

User metadata
Rank Member
Rank
Member

Wow Nathan_A, this BIOS replacement procedure makes an ordinary BIOS flash look trivial! 😉

I’ve looked at your videos and they clearly show the issue when the K6-III+ is installed. But luckily the patched BIOS works when the K6-III (non-plus) is in the card.

I’ve checked the patched code again but I don’t see any errors. I’ve used this code successfully in dozens of patched BIOSes. Anyway, the K6plus code deviates from the original code, which the non-plus CPUs still uses, further down POST step 0Eh. This is way beyond the point were the VGA BIOS is called and after the initial BIOS logo and “Award Modular BIOS” line is displayed. So if there would be an error in my patch, you should at least see something on the screen before the POST would halt.

So at this point I can think of only 2 issues:
1) The 2.1V Vcore setting is not providing the correct voltage. You can test this issue by temporarily running the K6-III+ at 2.2V, after testing that the K6-III (non-plus) ran okay at this setting. You may have to underclock the K6-III to 400MHz (6x66) to get this 2.4V CPU working at 2.2V.
2) The K6-III+ CPUs are defective. I think this is the most probable cause, because the x3 multiplier trick didn’t work either. If you are willing to send them oversees, I can test them for you. I have 2 Socket 7 rigs here, both running a K6-III+. But finding a local tester may be a better solution.

Jan.

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

Reply 29 of 48, by Chkcpu

User metadata
Rank Member
Rank
Member

One additional tip; on boards with the SiS 5582 chipset I often had boot problems with K6 CPUs with on-die L2 cache, K6-2+/K6-III+/K6-III non-plus, that would go away when the "System BIOS Cacheable" option in the BIOS (CHIPSET FEATURES SETUP menu) was Disabled.
As the SiS 5598 is basically a 5582 with GPU, it may help in your case as well.

Cheers, Jan.

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

Reply 30 of 48, by Nathan_A

User metadata
Rank Newbie
Rank
Newbie

I'll try both of those tweaks to see if it breathes any life into the "plus" CPUs. If it weren't for the shipping cost overseas, I'd happily send them and have you keep one for the trouble if they work.

Let me see what I can do about local testing. I can also probably scrounge up a K6-2+ for considerably less than these 3+'s cost, which theoretically should be similar enough.

Reply 31 of 48, by Nathan_A

User metadata
Rank Newbie
Rank
Newbie
Chkcpu wrote on 2021-08-28, 16:10:
Wow Nathan_A, this BIOS replacement procedure makes an ordinary BIOS flash look trivial! ;) […]
Show full quote

Wow Nathan_A, this BIOS replacement procedure makes an ordinary BIOS flash look trivial! 😉

I’ve looked at your videos and they clearly show the issue when the K6-III+ is installed. But luckily the patched BIOS works when the K6-III (non-plus) is in the card.

I’ve checked the patched code again but I don’t see any errors. I’ve used this code successfully in dozens of patched BIOSes. Anyway, the K6plus code deviates from the original code, which the non-plus CPUs still uses, further down POST step 0Eh. This is way beyond the point were the VGA BIOS is called and after the initial BIOS logo and “Award Modular BIOS” line is displayed. So if there would be an error in my patch, you should at least see something on the screen before the POST would halt.

So at this point I can think of only 2 issues:
1) The 2.1V Vcore setting is not providing the correct voltage. You can test this issue by temporarily running the K6-III+ at 2.2V, after testing that the K6-III (non-plus) ran okay at this setting. You may have to underclock the K6-III to 400MHz (6x66) to get this 2.4V CPU working at 2.2V.
2) The K6-III+ CPUs are defective. I think this is the most probable cause, because the x3 multiplier trick didn’t work either. If you are willing to send them oversees, I can test them for you. I have 2 Socket 7 rigs here, both running a K6-III+. But finding a local tester may be a better solution.

Jan.

So, I don't think the problem is the CPUs. I haven't been able to separately test them, so it's still possible there's something wrong with them. However, I was able to locate an industrial supplier that had a 2.0v K6-III+/500ACZ available, so I snagged it. It produces the same "Initializing..." and then communications error as the other K6-III+ CPUs that I have. It seems incredibly unlikely that I'd end up with three different K6-III+CPUs from three different purchasing sources and that they'd all be burnt out.

Given what you said above with respect to how far the machine should be getting just on basic low-level legacy capabilities, I'm wondering if the control software is doing its own CPU check or something for "supported" CPUs somehow via the PCI bridge that it uses to communicate with the card. I'm going to try to get a debugger wired up to the application and see if it's possible to trace what's failing. The "OrangePCi" application is also used for the 660 and PCfx! versions of the 600-series cards, and the PCfx! one was specifically crippled to disallow users replacing the WinChip CPU, ostensibly to keep them from cannibalizing sales of the mostly otherwise identical 660 model.

I really need to track down a viable Super 7 machine to verify these CPUs too, so that I'm not chasing my tail from both ends at the same time.

EDIT: I also renamed the thread title to be more descriptive of the actual discussion.

Reply 32 of 48, by dr.zeissler

User metadata
Rank l33t
Rank
l33t

Interesting, I never got mine to recognize my K6 CPU correctly. I think I switched it correctly but I only get 256Mhz K6, don't know why. I'll have a look. Beside that I never got access to the drives. CDROM is not recognized.

Retro-Gamer 😀 ...on different machines

Reply 33 of 48, by Nathan_A

User metadata
Rank Newbie
Rank
Newbie
dr.zeissler wrote on 2021-09-08, 14:20:

Interesting, I never got mine to recognize my K6 CPU correctly. I think I switched it correctly but I only get 256Mhz K6, don't know why. I'll have a look. Beside that I never got access to the drives. CDROM is not recognized.

Jan's (@chkcpu) modified BIOS for the 620 (posted to this thread) fixes the speed table issue so that the K6's report the correct speed.

Which model of card do you have? The 620, 660, or PCfx!?

Reply 35 of 48, by Nathan_A

User metadata
Rank Newbie
Rank
Newbie
dr.zeissler wrote on 2021-09-08, 15:23:

620 in a G3-Desktop. Never got access to the cd/dvd so no installing on win9x.

Honestly, I haven't tried accessing the CD-ROM drive yet. I've been able to do everything I need to do through a combination of floppy disks and shared drives. I'll try that today.

Reply 36 of 48, by dr.zeissler

User metadata
Rank l33t
Rank
l33t

Thx, I can mount the drive, I got the drive-letter but if I want to access it I always get an error and the drive is not accessed. I have to try again and make a screenshot.

Retro-Gamer 😀 ...on different machines

Reply 37 of 48, by Nathan_A

User metadata
Rank Newbie
Rank
Newbie

The K6-2+ and K6-III+ have different CPUIDs than their non-plus ancestors, so I'm now trying to dig into the launch process that the OrangePCi application does to bring up the card to see if it's doing something like looking for supported CPUIDs for a given model card before allowing execution to advance. It's a colossal pain in the neck via MacsBug, so I'm going to try "The Debugger" next.

Reply 38 of 48, by lunarApple

User metadata
Rank Newbie
Rank
Newbie
Chkcpu wrote on 2021-08-27, 09:54:
Hi Nathan_A, Good to hear the original K6-III works. This definitely points to a BIOS issue when using the K6-2+/-III+! […]
Show full quote

Hi Nathan_A,
Good to hear the original K6-III works. This definitely points to a BIOS issue when using the K6-2+/-III+!

During the detailed analysis of the OPC_620 BIOS, I found not only the general speedtable for Pentium/C6/K5/K6 CPUs, but also 2 extra tables specifically for the Cyrix 686MX/MII and K6-CXT/K6-III respectively. The Cyrix table is fine, as it supports the 4.0x multiplier of the MII, but the K6-2CXT/K6-III table goes up to a multiplier of 5.5x, but doesn't know the 6.0x multiplier. This explains the weird CPU speed indication when you ran the K6-III at 6x66/6x75!

Anyhow, the patched OPC_620 BIOS is ready and you can download it from my site at http://web.inter.nl.net/hcc/J.Steunebrink/OPC620J1.zip
I've packed a PATCH.TXT file in the zip that documents the changes I've made.
The new OPC620J1.BIN BIOS image of course has the same 128KB size as the original. I'm curious how replacing the BIOS works in this setup.

So, let us know how this new BIOS works. It should recognize the K6plus and POST normally and also indicate the correct speed on the original K6-III.
I will keep my fingers crossed. 😉

Jan.

Hi I just started playing with the OrangePC 620 card + a K6-2/450AFX and am running into a little bit of a problem. I seem to be maxed out at 5.5x at 66mhz (363Mhz). With 5.5x at 83.3mhz the graphics become glitchy. I am not sure what the dip switch settings are for a 6.0x or 6.5x multiplier, or if that is an option with the stock BIOS. I was going to try to pull the one from your site. However your site appears down.
Do you or anyone else have a copy of the modded BIOS? Also what DIP switch settings do I use for 6x or 6.5x?

Reply 39 of 48, by Chkcpu

User metadata
Rank Member
Rank
Member

Hi lunarApple,

A multiplier of 6.5x or higher does not exist on any Socket 7 CPU, but all K6-2CXT models, like your K6-2/450, and all K6-III, K6-2+, and K6-III+ CPUs do support the 6.0x multiplier.
Just set the multiplier at 2.0x and you will get 6.0x. This works because the 2.0x setting on these CPUs is internally remapped to 6.0x. 😉

However, the stock BIOS for the OPC620 card doesn’t support the 6.0x multiplier, so you will need to install my patch J.1 version for that.
Sorry that the old direct link to this OPC620J1 BIOS is broken. I had to move my website to a new domain. The new link to this patched BIOS is: http://www.steunebrink.info/bios/OPC620J1.zip

Cheers, Jan

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