VOGONS


DIY Bios Modding guide Jan Steunebrink k6-2+/3+ 128gb

Topic actions

Reply 320 of 340, by evanboonie

User metadata
Rank Newbie
Rank
Newbie
Sphere478 wrote on 2025-10-28, 02:52:

You may be able to boge wire attach a breakout for pci still though if you tap into enough of the legs, pins, and traces.

I'm starting to feel this isn't the best thread for this, so any further updates will likely happen in a new one. But I at least wanted to let you know I finished mapping out all of the "XD Expansion" and PCI pins. All of the necessary signals for PCI can be pulled off of the 82C558M. I think I'll try designing up some PCBs soon to tap PCI off and take them to a power-only riser that can connect a PCI card to the... PCI card...

https://docs.google.com/spreadsheets/d/e/2PAC … i50g2X5/pubhtml

Reply 321 of 340, by aleodan

User metadata
Rank Newbie
Rank
Newbie

I am now stucked with the BIOS porting. There are two main problems:

1. Bios contain 2 x $PIR tables somehow, because one of them is altered by AWDBEDIT and the same is shown in MODBIN6, but the other one is found in decompressed system bios when searching for "$PIR" string.
2. It seems that some PCI configuration must be altered beyond the routing table to make ported bios work with PCI slots; it just doesn't matter what routing table I am uing, all the PCI card freeze, all the integrated work.

Please, Jan, can you make a suggestion to help me, or I should just quit porting and throw away this expensive mainboard ?! I am tired now of hacking for two weeks and I hate this mainboard ...

Reply 322 of 340, by Chkcpu

User metadata
Rank Oldbie
Rank
Oldbie

Hi aleodan,

I’m sorry to test your patience, but I get many BIOS help requests and the time I can spend on this hobby is limited. 😉

I’ve been looking further into your BIOS issue and yes, there are 2 different PCI routing tables in the BIOS.
1.) The table behind the $PIR marker is the PCI IRQ Routing Table. This table is used by the PCI BIOS interface, and it is the table you found in AMIBCP. The contents of this table mainly depend on the chipset and BIOS PnP implementation and shouldn’t need any change when porting a BIOS to a board with the same chipset and number of PCI slots.
2.) The second table is the PCI slots table and describes how the PCI slots are wired to the chipset, specifically which slot is connected to which IDsel line. This is usually the table that needs to be changed to match the actual connections on the motherboard. This is the table that is displayed by Modbin6.

The attachment modb6-48_000.png is no longer available

Unfortunately, Modbin cannot edit this table. Maybe AWDBEDIT can, otherwise this has to be done manually with a hexeditor.
In the Award BIOS v4.5xPG and v6.00, the location of this table can be found by looking at offset 1FE90h of the decompressed original.bin file. There is a BBh marker there for Modbin, and the word behind this marker is the 16-bit offset in the F000h segment where the PCI slots table is located.
In your BST1ME16 BIOS this word is B555h, so this table is at offset 1B555h in original.bin. Just before this table, at offset 1B541h, you see a table that shows how IntA, IntB, InC, and IntD are wired to the PCI slots.

The attachment PCI-slots table.png is no longer available

Now we need to know how the PCI slots and Int lines are wired on your M755 V7.1 board.
A useful DOS tool to get this info is this PCI Bus sniffer.

The attachment pcisnif071b.zip is no longer available

Please run it with the AMI BIOS installed and let the program create a log-file (F2-key). I hope this file will tell us what to change. Also put a PCI card in one of the slots and tell me what card it is, and which slot it was in, so I can correlate this with the logged data.

I hope this helps you further.
Cheers, Jan

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

Reply 323 of 340, by aleodan

User metadata
Rank Newbie
Rank
Newbie

Thank you for response!
I already had found the second table by comparation between bios altered with Award bios Editor and the unaltered one.

I also ran some other PCI tool to figure out device numbers and IRQ's, then tried a new unsuccessfull combination:

The attachment Invalid.png is no longer available

This time the bios doesn't boot at all, perhaps because I altered LPC bridge position. I thought that "IRQ#" column from Awdbedit really means "Device number"...

So I ran your tool and here is the report:

The attachment PCISNIF.LOG is no longer available

Then I modified the $PIR table from Award bios to look the same as in Ami bios:

The attachment $PIR.png is no longer available

Now the question remain: I should alter the $PIR table in Award bios or not ? I re-calculated the PCI DEV/FUN codes from PCCI tool and they match with Ami bios but not with Award Bios table.
I also observed that the Award bios table has no checksum. I read a lot of documents and it seems that $PIR have a checksum at offset 31h. I placed the CCh checksum there.

Reply 324 of 340, by aleodan

User metadata
Rank Newbie
Rank
Newbie

Sorry, at the offset 31 decimal = 1fh.

Reply 325 of 340, by aleodan

User metadata
Rank Newbie
Rank
Newbie

In the PCI slot 1 have Nvidia Quadro NVS physically wired to INT#A and in the PCI slot 2 I have NEC USB 2.0 controller which occupies INT#A, INT#B, INT#C of the physical slot.

Reply 326 of 340, by aleodan

User metadata
Rank Newbie
Rank
Newbie

I forgot to mention that the board seemns to have an unused device in logical Slot 5 which is undetected but with device number 15=0Fh.

Reply 327 of 340, by aleodan

User metadata
Rank Newbie
Rank
Newbie

Yesterday I tried to re-install Windows XP again on the second hard drive but it freezes every time at "detecting devices" with 34 minutes remaining !
It is very strange that all DOS applications I tried (I din't test games) worked perfectly with any version of (un)altered Award bios. Only Windowses do not work (tried Win 98 and ME).

Reply 328 of 340, by aleodan

User metadata
Rank Newbie
Rank
Newbie

Well, it seems that Award bios uses a non-standard notation for devices ID called IRQ# in Awdbedit, with device ID non-shifted to the left with 3 position, like standard $PIR table, but only for on-board devices. The PCI slots have a standard code with device ID << 3:

Slot1: 08h (AMI) = 01h (AWD)
Slot2: 10h (AMI) = 02h (AWD)
Slot3: 48h (AMI) = 48h in $PIR and 09h in second table (AWD)
Slot4: 58h (AMI) = 58h in $PIR and 0Bh in second table (AWD)
Slot:5: 78h (AMI) = 0Fh (AWD)

Or maybe just the $PIR table of the Award bios is inconsistent and wrong, because it doesn't have any checksum on offset 1Fh from the begining.
I just did this modifications, but something must be wrong because the computer boots, but PCITOOL report wrong $PIR table and Windows freezes.

Reply 329 of 340, by aleodan

User metadata
Rank Newbie
Rank
Newbie

Well, I get the $PIR table correct, it must be adapted to the peculiarities of the Award BIOS (for example the checksum must be always zero because it is calculated at the decompression into RAM), but it doesn't mater.
I get multiple combinations correct, but realy-really useless: it doesn't really matter what is in the $PIR table, neither the first, neither the second one. It is another issue. Must be something different in the chipset initialization section (and really is, because the result is faster) that freezes windows when booting. I had modified a lot of settings in the chipset configuration registers but with no success.

Amazing, but I could also run games with the PCI video card in DOS, they work very fast with no problem. Only Windows cannot be installed at all.

Of course, under DOS and windows 98 a batch file which initialize new chipset features could be used with AMI bios, even if it is very incomode, but under windows XP installation such batch cannot be used directliy and complicate things very much. I will see in the future. There is not much to choose from the internet regarding these old boards: they are old, broken or with bad bios and expensive. Some can be rapaired (I always thought that hardware repair is a lot easier than bios tweaking). Maybe some ideas will come in the future, I will keep the board for now...

Many thanks for your good intentions !

Reply 330 of 340, by PC@LIVE

User metadata
Rank Oldbie
Rank
Oldbie

Ciao Jan
Excuse me, I just wanted to let you know that I put two BIOS files, in my MB test and troubleshooting page, they are in txt format, but in reality they are bins, one is from the MB PINE PT-2068.1 and the other from the ISA WD90C00 video card.

AMD 286-16 287-10 4MB
AMD 386SX-33 4MB
AMD 386DX-40 Intel 387 8MB
Cyrix 486DLC-40 IIT387-40 8MB
486DX2-66 +many others
P60 48MB
iDX4-100 32MB
AMD 5X86-133 16MB VLB CL5429 2MB
AMD K62+ 550 SOYO 5EMA+ +many others
AST Pentium Pro 200 MHz L2 256KB

Reply 331 of 340, by Chkcpu

User metadata
Rank Oldbie
Rank
Oldbie
PC@LIVE wrote on 2025-11-20, 12:00:

Ciao Jan
Excuse me, I just wanted to let you know that I put two BIOS files, in my MB test and troubleshooting page, they are in txt format, but in reality they are bins, one is from the MB PINE PT-2068.1 and the other from the ISA WD90C00 video card.

Ciao Elio,

Thanks for letting me know about these BIOS files.
The WD20D90 video card BIOS looks fine and has a correct checksum.

The PINE PT-2068.1 / PowerTech MB457 BIOS however is corrupted. This BIOS is a shadow RAM copy and it has checksum errors.
Using programs like NSSI to copy these 486 BIOSes will mostly get you a changed shadow RAM version, because these BIOSes aways copy themselves to shadow RAM and store data there like Harddisk tables.
So you have to use your EPROM programmer to get a correct ROM copy.

When able, put this new BIOS copy on your MB test and troubleshooting page, and I will check it for you so we can send it to TRW.

Cheers, Jan

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

Reply 332 of 340, by PC@LIVE

User metadata
Rank Oldbie
Rank
Oldbie
Chkcpu wrote on 2025-11-20, 19:16:
Ciao Elio, […]
Show full quote
PC@LIVE wrote on 2025-11-20, 12:00:

Ciao Jan
Excuse me, I just wanted to let you know that I put two BIOS files, in my MB test and troubleshooting page, they are in txt format, but in reality they are bins, one is from the MB PINE PT-2068.1 and the other from the ISA WD90C00 video card.

Ciao Elio,

Thanks for letting me know about these BIOS files.
The WD20D90 video card BIOS looks fine and has a correct checksum.

The PINE PT-2068.1 / PowerTech MB457 BIOS however is corrupted. This BIOS is a shadow RAM copy and it has checksum errors.
Using programs like NSSI to copy these 486 BIOSes will mostly get you a changed shadow RAM version, because these BIOSes aways copy themselves to shadow RAM and store data there like Harddisk tables.
So you have to use your EPROM programmer to get a correct ROM copy.

When able, put this new BIOS copy on your MB test and troubleshooting page, and I will check it for you so we can send it to TRW.

Cheers, Jan

Ciao Jan

I didn't know this thing about NSSI, however I can save it with the BIOS AWARD file, which was included in the updated ACORP BIOS, later I should extract the AMI BIOS of the MB 486 4FLUD-1.0, but I wouldn't know which program to use.

Then I should, this week or next, try to start a 486 PCI (Terminator), if it works I can save the BIOS, also of this motherboard.

Greetings

AMD 286-16 287-10 4MB
AMD 386SX-33 4MB
AMD 386DX-40 Intel 387 8MB
Cyrix 486DLC-40 IIT387-40 8MB
486DX2-66 +many others
P60 48MB
iDX4-100 32MB
AMD 5X86-133 16MB VLB CL5429 2MB
AMD K62+ 550 SOYO 5EMA+ +many others
AST Pentium Pro 200 MHz L2 256KB

Reply 333 of 340, by PC@LIVE

User metadata
Rank Oldbie
Rank
Oldbie

Unfortunately with the AWDFLASH program that I used both on ACORP and ZIDA, it can't save the BIOS, I think it depends on the version of the BIOS AWARD, which on the MB PINE is v4.50G, so before that of the S.7, is there a previous program of AWDFLASH that can work? The BIOS chip is a DIP28, so it is not possible to remove and read it, on the nanoUSB Programmer.

AMD 286-16 287-10 4MB
AMD 386SX-33 4MB
AMD 386DX-40 Intel 387 8MB
Cyrix 486DLC-40 IIT387-40 8MB
486DX2-66 +many others
P60 48MB
iDX4-100 32MB
AMD 5X86-133 16MB VLB CL5429 2MB
AMD K62+ 550 SOYO 5EMA+ +many others
AST Pentium Pro 200 MHz L2 256KB

Reply 334 of 340, by aleodan

User metadata
Rank Newbie
Rank
Newbie

Sorry to disturb you again.

I think the BIOS porting had failed due to different ACPI tables !
They are used only in Windows, which explains why any PCI card do not work. It must be there something related to the interrupt mapping that needs to be altered in ACPI as well.

Jan, can you look at the ACPI tables or tell me how to edit them ? I don't think the table from AMI bios can be just inserted directly into AWD bios.

Reply 335 of 340, by PC@LIVE

User metadata
Rank Oldbie
Rank
Oldbie
Chkcpu wrote on 2025-11-20, 19:16:
Ciao Elio, […]
Show full quote
PC@LIVE wrote on 2025-11-20, 12:00:

Ciao Jan
Excuse me, I just wanted to let you know that I put two BIOS files, in my MB test and troubleshooting page, they are in txt format, but in reality they are bins, one is from the MB PINE PT-2068.1 and the other from the ISA WD90C00 video card.

Ciao Elio,

Thanks for letting me know about these BIOS files.
The WD20D90 video card BIOS looks fine and has a correct checksum.

The PINE PT-2068.1 / PowerTech MB457 BIOS however is corrupted. ….

When able, put this new BIOS copy on your MB test and troubleshooting page, and I will check it for you so we can send it to TRW.

Cheers, Jan

Ciao Jan, excuse me but I noticed now that you can send the copy of the BIOS to TRW, I wanted to ask you if you can also send the manual files, because there is nothing in the documentation.
Maybe someone would need them for the correct setting of the jumpers, unfortunately I can't access, if you can do it for me.
Thank you Regards

AMD 286-16 287-10 4MB
AMD 386SX-33 4MB
AMD 386DX-40 Intel 387 8MB
Cyrix 486DLC-40 IIT387-40 8MB
486DX2-66 +many others
P60 48MB
iDX4-100 32MB
AMD 5X86-133 16MB VLB CL5429 2MB
AMD K62+ 550 SOYO 5EMA+ +many others
AST Pentium Pro 200 MHz L2 256KB

Reply 336 of 340, by myne

User metadata
Rank Oldbie
Rank
Oldbie
Chkcpu wrote on 2025-11-18, 16:41:

2.) The second table is the PCI slots table and describes how the PCI slots are wired to the chipset, specifically which slot is connected to which IDsel line. This is usually the table that needs to be changed to match the actual connections on the motherboard. This is the table that is displayed by Modbin6.

Wouldn't the only consequence be the physical order not matching the list?

Ie the physical slots might be
3
1
2
4

In other words, a minor inconvenience during build

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 337 of 340, by aleodan

User metadata
Rank Newbie
Rank
Newbie
myne wrote on 2025-11-23, 07:01:
Wouldn't the only consequence be the physical order not matching the list? […]
Show full quote
Chkcpu wrote on 2025-11-18, 16:41:

2.) The second table is the PCI slots table and describes how the PCI slots are wired to the chipset, specifically which slot is connected to which IDsel line. This is usually the table that needs to be changed to match the actual connections on the motherboard. This is the table that is displayed by Modbin6.

Wouldn't the only consequence be the physical order not matching the list?

Ie the physical slots might be
3
1
2
4

In other words, a minor inconvenience during build

It doesn't really matter. I tried almot 40 combinations, they have no effect. In DOS all IRQs get recognized and work even with original BIOS without any mod. In Windows, any PCI card freezes.
I looked into the ACPI tables, disassembled them with "iasl.exe". There are memory range addresses there, maybe they need to be changed. But the ACPI table extracted from AMI bios is not recognized as standard, so I cannot take it as a model.

So I quit. It was too much useless effort. I prefer to loose just the money instead money + time + energy ...
Right now I am on the course of buying a used board witz ZX chipset. This SiS630 board will go to junk if the ZX will work !
Retro computing had becomed a very expensive hobby these days !

Reply 338 of 340, by Chkcpu

User metadata
Rank Oldbie
Rank
Oldbie
aleodan wrote on 2025-11-23, 10:25:
It doesn't really matter. I tried almot 40 combinations, they have no effect. In DOS all IRQs get recognized and work even with […]
Show full quote
myne wrote on 2025-11-23, 07:01:
Wouldn't the only consequence be the physical order not matching the list? […]
Show full quote
Chkcpu wrote on 2025-11-18, 16:41:

2.) The second table is the PCI slots table and describes how the PCI slots are wired to the chipset, specifically which slot is connected to which IDsel line. This is usually the table that needs to be changed to match the actual connections on the motherboard. This is the table that is displayed by Modbin6.

Wouldn't the only consequence be the physical order not matching the list?

Ie the physical slots might be
3
1
2
4

In other words, a minor inconvenience during build

It doesn't really matter. I tried almot 40 combinations, they have no effect. In DOS all IRQs get recognized and work even with original BIOS without any mod. In Windows, any PCI card freezes.
I looked into the ACPI tables, disassembled them with "iasl.exe". There are memory range addresses there, maybe they need to be changed. But the ACPI table extracted from AMI bios is not recognized as standard, so I cannot take it as a model.

So I quit. It was too much useless effort. I prefer to loose just the money instead money + time + energy ...
Right now I am on the course of buying a used board witz ZX chipset. This SiS630 board will go to junk if the ZX will work !
Retro computing had becomed a very expensive hobby these days !

Hi aleodan,

I’m sorry to hear that the BIOS porting is still unsuccessful.
But don’t junk the board yet. It is working, so you can always sell it. 😉

About ACPI as possible cause, did you try installing WinXP without ACPI?
On BIOSes from 1999 or 2000, the ACPI support is usually incompatible with the ACPI v2.0 that Win2K requires.
The same goes for WinXP, however XP will install but complains later about the ACPI incompatibility. To avoid these issues, I usually force Win2K/XP to install as Standard PC on all PCs with 2000 or earlier BIOSes to avoid ACPI and IRQ steering problems.

Early during install, you get the option to press F6 for installation of a third party diskdriver. At this point you have to press F5. (That's right, when it tells you to press F6, you press F5). This will allow you to choose "Standard PC" (standard APM only) or "ACPI".
Another way is to press F7 instead of F5 at that point. Win2K/XP will then install as "Standard PC" without further questions.
Works great here on various Socket 7 and Slot 1 PCs, especially if you use PCI cards with IRQ sharing problems like the Hauppauge Win TV card.

Note that WinXP in ACPI mode takes complete control over the IRQ Steering and doesn't allow it to be disabled. On systems with one CPU, WinXP will assign one IRQ to all PCI devices! Microsoft argues that WinXP is designed to control multiple CPUs and PCI- busses and this is the way to do it. And if they keep a tight control on the device driver compatibility for WinXP, this will work without problems. The same goes for Win2000.

To round off our earlier discussion, here are some remarks about your observations.
- The PCISNIF log on the AMI BIOS shows device nbrs 9 and 11 (0Bh) for the two PCI slots. This is the same as programmed in the Award BIOS, so no PCI addressing problem here.
- In the AMI BIOS the PCISNIF log shows the connection of the PCI slot INTA#, INTB#, INTC#, and INTD# pins to the IRQ Router in the chipset as 1,2,3,4 for DEV 9 (PCI slot 1) and 4,1, 2,3 for DEV 11 (PCI slot 2). The Award BIOS however has 2,3,4,1 and 3,4,1,2 for these PCI slots respectively. This may be a problem because this BIOS programming has to match the traces on the board.

To elaborate a bit, this is what I found about the IRQ steering and sharing issue.
In the ISA/VLB days, there were never enough IRQ lines. Because the ISA-bus doesn't support IRQ sharing, there was always a fight over the 4 to 5 available "free" IRQs.
The PCI bus is a big improvement because it supports IRQ sharing. However there are some constraints:
- There are 4 INT lines on the PCI-bus: INTA#, INTB#, INTC#, and INTD#. But a single function PCI card has to connect to INTA# by definition
- The AGP-slot usually connects to INTA# as well, but the other SiS630 integrated devices are nicely distributed on this board. The Audio device connects to INTB#, the Ethernet device to INTC# and the onboard USB Controller uses the INTD# line twice.
- The IRQ Router, that connects the 4 AGP/PCI INT lines to a physical IRQ line, can only select one of the 4 to 5 free IRQs for each INT line.
- All drivers of PCI devices on the same INT line must support IRQ sharing.

The motherboard manufacturers are helping us here by connecting the INTA# pin of each PCI slot to a different INT input of the IRQ Router. But on boards with 5 or 6 AGP+PCI devices and only 4 inputs on the IRQ Router there are bound to be some combinations, as you can see in the below IRQS-FIG picture of the Abit KA7-100 board with 6! PCI slots.
On your SiS630 board, there are only 2 PCI slots but quite a number of PCI devices are integrated in the chipset, so there will be some combinations too.

The attachment irqs-fig.gif is no longer available

About the missing checksum byte in the $PIR table, I found the same when I decompressed the AMI BIOS modules. So you were right that this checksum is calculated and inserted in the table at run-time.

Thanks for sharing all your BIOS porting attempts and findings. I learned a lot of new details about this stuff as well. 😉

Cheers, Jan

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

Reply 339 of 340, by aleodan

User metadata
Rank Newbie
Rank
Newbie

Thank you for response ! You are right, that's the story of IRQ sharing, but it was not the real issue with my porting attempt.

I also learned a lot during this attempt, but in the end I was unsuscessfull, so I already extracted my new replaced capacitors on the board and junk it. I never sell them, trere is no one to buy them here (romanians are generally only interested in iphone stuff and gaming laptops, they do not have any kind of desktop computers, except me) and international selling is too troublesome. As I said, I din't want to spend more time with this mainboard, I should never buy it because is was PCCHIPS, so that BIOS was bad and the PCB was bad, withhout thermal reliefs around the grounded pads, a lot of discrete components like resistors and transistors instead of ICs. I was tempted because it was new ...

I tried the combinations you suggested, together with a lot more of them, by using some other BIOS examples. It must be the initialization code that was differnt and I do not want to mess with it.
Some chipset registers could be altered in Awdbedit, but not the essential ones. And if the ZX works, it will be better, more quality, better BIOS, more memory throughput, more PCI slots, ISA and AGP too.

I will remain on this forum, I lerned a lot of stuff here, for example how to patch Windows 9x with JHRobotics patcher so it can run inside virtual machines on new processors, drivers and other stuff. And I like reading about the old retro stuff just to relax 😀