VOGONS


Reply 20 of 33, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie

I just got another idea. I don't know if it will work, but I'll try it.

I'll take the wrong BIOS dump, which is only original BIOS available for RedFox/Ford Lian/Polaris BX-6AP2 Intel 440xx mobo variants, and I'll edit with MODBIN "BIOS Options", "Installed Option", "Chipsets Regs. Default" (I think this is the most important), "Auto Table (s)", "Speed Pin Option" and so on, according to working Lycky Star 6VABX2 VIA BX/Apollo Pro II BIOS.

If this gonna work, then I'll have perfectly compatible BX-6AP2 VIA BX/Apollo Pro II BIOS without PCI slot IRQ issues.

from СМ630 to Ryzen gen. 3
engineer's five pennies: this world goes south since everything's run by financiers and economists
this isn't voice chat, yet some people, overusing online communications, "talk" and "hear voices"

Reply 21 of 33, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie
analog_programmer wrote on 2023-10-27, 10:48:

I just got another idea. I don't know if it will work, but I'll try it.

I'll take the wrong BIOS dump, which is only original BIOS available for RedFox/Ford Lian/Polaris BX-6AP2 Intel 440xx mobo variants, and I'll edit with MODBIN "BIOS Options", "Installed Option", "Chipsets Regs. Default" (I think this is the most important), "Auto Table (s)", "Speed Pin Option" and so on, according to working Lycky Star 6VABX2 VIA BX/Apollo Pro II BIOS.

If this gonna work, then I'll have perfectly compatible BX-6AP2 VIA BX/Apollo Pro II BIOS without PCI slot IRQ issues.

Ok, obviously this idea will not work through MODBIN limited options for editing, but rather needs some serious hex-editing, maybe even disassembly and recompilation of some of the BIOS modules code. I've never done such a deep editing of BIOS dump file, so I think I'll just live with PnP-PCI-IRQ-broken modified BIOS from Lucky Star 6VABX2 mobo.

Here are the differences and editing options (magenta colored values) between BX-6AP2 Intel's BIOS (left) and 6VABX2 VIA's BIOS (right):

MODBIN chipset registers tables.jpg
Filename
MODBIN chipset registers tables.jpg
File size
139.77 KiB
Views
713 views
File license
Fair use/fair dealing exception
MODBIN auto table.jpg
Filename
MODBIN auto table.jpg
File size
86.47 KiB
Views
713 views
File license
Fair use/fair dealing exception
MODBIN keyboard option.jpg
Filename
MODBIN keyboard option.jpg
File size
130.69 KiB
Views
713 views
File license
Fair use/fair dealing exception
MODBIN power management.jpg
Filename
MODBIN power management.jpg
File size
85.91 KiB
Views
713 views
File license
Fair use/fair dealing exception
MODBIN PCI configuration.jpg
Filename
MODBIN PCI configuration.jpg
File size
93.42 KiB
Views
713 views
File license
Fair use/fair dealing exception

from СМ630 to Ryzen gen. 3
engineer's five pennies: this world goes south since everything's run by financiers and economists
this isn't voice chat, yet some people, overusing online communications, "talk" and "hear voices"

Reply 22 of 33, by Chkcpu

User metadata
Rank Member
Rank
Member
analog_programmer wrote on 2023-10-26, 05:31:

POST_CONF.JPG

On the second picture there is something that bothers me. I marked it in red rectangle. Why this "APCI controller" has IRQ assigned without bus number?

The ACPI controller is the hardware part of the ACPI interface between OS and motherboard.
It isn't a PCI device so it doesn't get a Device number. But it needs an Interrupt Request line to do its job and the PCI device listing of the BIOS shows which IRQ is used by ACPI. Good to know when there is an IRQ conflict. 😉

Jan

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

Reply 23 of 33, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie
Chkcpu wrote on 2023-10-27, 16:03:
The ACPI controller is the hardware part of the ACPI interface between OS and motherboard. It isn't a PCI device so it doesn't g […]
Show full quote
analog_programmer wrote on 2023-10-26, 05:31:

POST_CONF.JPG

On the second picture there is something that bothers me. I marked it in red rectangle. Why this "APCI controller" has IRQ assigned without bus number?

The ACPI controller is the hardware part of the ACPI interface between OS and motherboard.
It isn't a PCI device so it doesn't get a Device number. But it needs an Interrupt Request line to do its job and the PCI device listing of the BIOS shows which IRQ is used by ACPI. Good to know when there is an IRQ conflict. 😉

Jan

Thank you for this clarification. Glad to have you here as an BIOS expert. I'm not much into this matter, but it's always a pleasure and of use to learn something new from people with tons of experience.

Floppy drive refuses to read any disk with all the versions of modified 6VABX2 BIOSes I've made and tested. Contact cleaner on mobo's FD-connector didn't help. I'm thinking that there's something different between Winbond W83877 and W83877TF I/O chip revisions in the BIOS that's causing this floppy drive malfunction.

Anyway, a motherboard with non-working FDD controller and one defective PCI slot is much better than dead mobo for spare parts/scrapping 😀

from СМ630 to Ryzen gen. 3
engineer's five pennies: this world goes south since everything's run by financiers and economists
this isn't voice chat, yet some people, overusing online communications, "talk" and "hear voices"

Reply 24 of 33, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie

Some progress with BIOS modding:

Today I managed to fix PCI - IRQ routing table in the transplanted BIOS from 6VABX2 mobo with VIA chipset 😀

Here are pictures from POST with all the PCI slots populated (PCI1 - PCI VGA card, PCI2 - USB 2.0 card, PCI3 - NIC adapter, plus AGP VGA card just to fill all the slots that are related to IRQ auto-setting):

POST-OK.JPG
Filename
POST-OK.JPG
File size
54.65 KiB
Views
647 views
File comment
POST with all PCI slots populated
File license
Fair use/fair dealing exception
PCI-IRQ table.JPG
Filename
PCI-IRQ table.JPG
File size
74.67 KiB
Views
647 views
File comment
POST PCI-IRQ config table
File license
Fair use/fair dealing exception

Now PCI-IRQ PnP auto-setting seems fine to me.

Inspired by Jan, I found a way to edit the PCI IRQ routing table in Award BIOS-dump file:
1. Using DOSBox emulator for Linux I've extracted "original.tmp" (the main Award BIOS module) from the 6VABX2 VIA mobo BIOS in uncompressed form with MODBIN.EXE (just open the BIOS-dump file in MODBIN and the file is created in the same folder).
2. Then using hex-editor (Okteta) manually edited the "01 07 08 09 0B 0A 0C" (these are the PCI slot address numbers in hex) hex-string in extracted "original.tmp" to "01 07 09 0B 0D FF FF" according to hex-string in BX-6AP2 BIOS for Intel's chipset BX-6AP2 board ("01 07 09 0B 0D") (got the values through MODBIN). Found PCI-IRQ routing table after the string "$PIR" and copied the one from BX-6AP2 "original.tmp" BIOS module (also extracted this one uncompressed with MODBIN.EXE) over original 6VABX2's table + some FFs and saved new modded "original.tmp".
4. Compressed the new "original.tmp" BIOS module file with LHA.EXE in DOSBox.
5. Opened unmodified 6VABX2 BIOS dump in hex-editor, found the start of the compressed "original.tmp" part and replaced the module (copy-paste over) with freshly modded and compressed "original.tmp" (+ some FFs due to slightly smaller modded compressed "original.tmp"), corrected the BIOS checksum (that's for another topic) and saved the modded BIOS-dump file.
6. Just to be sure that the new modified BIOS file is not corrupted I opened it with MODBIN and everything was fine through the edit-menus.
7. Flashed the BIOS chip for 2534-th time 😀

MODBIN PCI configuration OK.jpg
Filename
MODBIN PCI configuration OK.jpg
File size
88.16 KiB
Views
608 views
File comment
MODBIN PCI tables
File license
Fair use/fair dealing exception

And now the only problem with this modded BIOS from 6VABX2 VIA mobo is the error with the floppy disk drive: "General failure reading drive A: / Abort, Retry, Fail?". I tried two healthy FD-drives and both gives the same error when accessed in pure DOS 7.10 (the one from Win98SE). I've no idea how to fix this...

P.S. I found some clue for this BIOS PCI-IRQ routnig table modding procedure in another BIOS-mods dedicated forum, but it was very brief and incomplete.

from СМ630 to Ryzen gen. 3
engineer's five pennies: this world goes south since everything's run by financiers and economists
this isn't voice chat, yet some people, overusing online communications, "talk" and "hear voices"

Reply 25 of 33, by Horun

User metadata
Rank l33t++
Rank
l33t++

Good work ! I wondered if you could do some bit swapping in original.bin and fix the PCI stuff. Maybe compairing the winbond datasheets might show any difference between the 877 (think the Lucky star has that one) and your 977 or maybe hint where to look in the bios for the floppy routine/routing and then try swapping that part from BX-6AP2 to the 6VABX2 bios......just a thought. Both are compatible with 82077 / 765 FDC and appear exactly same in functions just diff pinouts from a quick look over...

Hate posting a reply and then have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. Stuff: https://archive.org/details/@horun

Reply 26 of 33, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie

Yeah, Horun, I'm thinking exactly the same. I wish I'd knew which BIOS module and which part of it is responsible to initialize the I/O controller, so I could change some bits in it...

I'm not sure if Lucky Star 6VABX2 uses W877 I/O chip as its BIOS string suggests it's W977 (05/20/1999-692-596-W977-2A6LGL1EC-00) and for the BX-6AP2 the string is clearly for W977TF version (03/08/1999-i440BX-W977TF-2A69KF9CC-00). I think this is the problem causing FDD malfunction - some hardware difference between W977 and W977TF chips.

A couple of days ago I tried beta version BIOS (V1.7SL) for QDI P6V692BX/B8V (BrillianX 8V) - this mobo has W977TF I/O chip (06/20/2000-692/596-W977T-2A6LGQ19C-00; 02/02/99-692/596-W977TF-2A6LGQ19C-00), but POST process hangs at some point (don't remember at what POST-code it hangs). Maybe I should try some of the non-beta BIOS versions for this board, but I've not much spare time to experiment with this right now.

At least Award's PCI-IRQ routing tables BIOS v.4.51PG editing is not a problem to me anymore.

Edit: I'm attaching the last modified version of Lucky Star 6VABX2's BIOS-dump file adapted for BX-6AP2 with VIA chipset mobo: ACPI logo changed with CBROM; PCI-IRQ routing table changed manually with hex-editor; BIOS menus adaptations and tweaks made with MODBIN. Feel free to examine, compare and edit this BIOS with non-working FDD controller.

Attachments

from СМ630 to Ryzen gen. 3
engineer's five pennies: this world goes south since everything's run by financiers and economists
this isn't voice chat, yet some people, overusing online communications, "talk" and "hear voices"

Reply 27 of 33, by Horun

User metadata
Rank l33t++
Rank
l33t++

You are right, my mistake, was looking at a different boards bios string. Am wondering if you took 3 or 4 other Slot1 bios with same 997T but each with different chipset and did a 3-4 way compare in hex editor if it would show a big block of same code.
Did download the W83977 datasheets and the 977AF/AG, 977F/G and subsets read near identical to 977TF (same pinout, same register use, etc) on a quick look.
Any chance your board has a bad via or trace ? just some thoughts....

Hate posting a reply and then have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. Stuff: https://archive.org/details/@horun

Reply 28 of 33, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie
Horun wrote on 2023-11-03, 03:03:

You are right, my mistake, was looking at a different boards bios string. Am wondering if you took 3 or 4 other Slot1 bios with same 997T but each with different chipset and did a 3-4 way compare in hex editor if it would show a big block of same code.
Did download the W83977 datasheets and the 977AF/AG, 977F/G and subsets read near identical to 977TF (same pinout, same register use, etc) on a quick look.
Any chance your board has a bad via or trace ? just some thoughts....

Usually I preserve old hardware parts very well packed. This motherboard was in storage for many years in my basement (there temperature and humidity are relatively constant through all the seasons), inserted into anti-static bag in suitable box from another motherboard and put in a big cardbox with other well packed old PC-parts. What I remember for this mobo is that it was fully functional and I've used it with Windows XP (including the FD-drive) before the fatal BIOS update with Intel's chipset version. I'll try another FD-data cable and if this doesn't help, I'll make some inspection of the board with magnifying glass and USB-microscope.

To dig in those BIOSes with support for W977TF for similar hex-blocks is not bad idea, but I think it will cost a lots of time and effort, because there's no guarantee at which offset will be located I/O chip initialization procedure in different BIOS-dumps. Maybe I have to look with some disassembler into uncompressed "original.tmp" module, but I've no idea what tools will be of use (IDA, Ghidra... what BIOS plug-ins???). I've never done this before.

Could you share the sources for I/O chips datasheets, please?

from СМ630 to Ryzen gen. 3
engineer's five pennies: this world goes south since everything's run by financiers and economists
this isn't voice chat, yet some people, overusing online communications, "talk" and "hear voices"

Reply 29 of 33, by Horun

User metadata
Rank l33t++
Rank
l33t++

Yes was thinking of the original.tmp's. Someone here mentioned using IDA. Here are two datasheets:
https://datasheet.octopart.com/W83977G-A-Winb … sheet-61719.pdf
https://pdf1.alldatasheet.com/datasheet-pdf/v … 83977TF-AW.html

Hate posting a reply and then have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. Stuff: https://archive.org/details/@horun

Reply 30 of 33, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie
Horun wrote on 2023-11-03, 13:35:

Yes was thinking of the original.tmp's. Someone here mentioned using IDA. Here are two datasheets:
https://datasheet.octopart.com/W83977G-A-Winb … sheet-61719.pdf
https://pdf1.alldatasheet.com/datasheet-pdf/v … 83977TF-AW.html

Thank you! This weekend seems to me like a good time to dig into this stuff 😀

from СМ630 to Ryzen gen. 3
engineer's five pennies: this world goes south since everything's run by financiers and economists
this isn't voice chat, yet some people, overusing online communications, "talk" and "hear voices"

Reply 31 of 33, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie
Horun wrote on 2023-11-03, 13:35:

Yes was thinking of the original.tmp's. Someone here mentioned using IDA. Here are two datasheets:
https://datasheet.octopart.com/W83977G-A-Winb … sheet-61719.pdf
https://pdf1.alldatasheet.com/datasheet-pdf/v … 83977TF-AW.html

Ok, I've compared the data from this documents and it is clear that the two variants of these chips are not pin/signal compatible. FDC part is different between W877TF (on page 14 of this document) and W977G (on page 15 of this pdf) chips, but that's not my case. I have to compare W977 and W977TF chips.

Update: Just compared W83977TF to W83977ATF and there are no significant differences in pins/signals or functionalities and registers. Maybe I have to look at the board closer for any potential hardware problems related to non-working FD-controller.

Update 2: Last night I tested again the two 3.5" FD drives and the very same data cable with another mobo and they all work fine. I inspected the motherboard's I/O controller chip pins, PCB traces, nearby elements - nothing wrong with them. There's something incompatible in this BIOS that's giving me this problem with FDD "general error", but it's beyond my knowledge. I think I've to try to adapt some QDI P6V692BX/B8V (BrillianX 8V) non-beta BIOS...

from СМ630 to Ryzen gen. 3
engineer's five pennies: this world goes south since everything's run by financiers and economists
this isn't voice chat, yet some people, overusing online communications, "talk" and "hear voices"

Reply 32 of 33, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie

Ok, after reading some posts in this topic: Re: Bad Floppy Controller on ASRock 775i65G R3.0? I think that maybe the problem with FD-drive is due to partially burned W83977EF-AW chip. Besides that FDD-connector on the board has groove on its plastic part to prevent the cable direction from being reversed, some FDD-cables doesn't have the pad for that grove on their connectors. I have no recollection, but I think it's possible that I may have reversed the direction of such a cable at some time in the past (without noticing the first wire marked in red) and that was the cause for some internal damage of the I/O controller chip.

I found a brand new Winbond W83977EF-AW chips on well-known chineese online market site for about EUR 2 for piece. I wonder if it would be worth trying to replace the I/O chip, even though there are a lot of plastic parts around it (PCI slots are too close) and (de)soldering wouldn't be an easy task.

from СМ630 to Ryzen gen. 3
engineer's five pennies: this world goes south since everything's run by financiers and economists
this isn't voice chat, yet some people, overusing online communications, "talk" and "hear voices"

Reply 33 of 33, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie

Finally, all the mystery with this VIA-instead-of-intel-chipset solved.

On some now "forbidden" part of the internet I found link to this video. The mobo from this YT-video looks exactly the same compared to mine minus the sticker with label "BX-6AV2" (over the painted on the PCB "BX-6AP2" label). This led me to try some BIOSes for the FordLian/Polaris/RedFox BX-6AV2 motherboard version. I downloaded all the available BIOS dumps from theretroweb website for the model BX-6AV2, flashed the newest BIOS version 2.5 from FordLian mobo, but the motherboard still doesn't boot (instant hang at "C0,--" code). Next I tried the version 2.4 (also from FordLian mobo, but bin-file is mistakenly named as for RedFox) and yes, this time the board boots normally with its native BIOS. I tested the floppy drive - surprise, now it works too! Out of curiosity I tried the oldest available BIOS ver. 2.2 (this one is from RedFox board with very nice foxy boot mini-logo instead of standard "pollution" picture) and it work just fine too.

I don't know what's wrong with the newest BIOS-dump version 2.5 from FordLian/Polaris board, maybe the zipped bin-file is broken or maybe it's somoene's another BIOS-modding-mess, but for now I'll use version 2.4 which works fine.

So, it turned out that all the troubles with my BX-6AV2 board (including wrong mobo BIOS flashing many years ago) were due to someone in the factory has forgotten to stick a sticker (no pun intended) with the correct model (BX-6AV2) for this VIA-chipset version over the painted incorrect BX-6AP2 caption.

Mystery solved. One very nice Slot 1 motherboard revived. And I learned a lot for Award 4.5xx BIOS modding, last - how to change chipset init-table * 😀

Now I'm looking for healthy BIOS-dump version 2.5 (or newer if available) for FordLian/Polaris/RedFox BX-6AV2 mobo...

P.S. NSSI an HWINFO recognize the northbridge correctly as VIA VT68C692BX chip. The info on theretroweb's BX-6AV2 page is totally wrong and misleading: the chipset is not VIA VT82C693 (Apollo Pro+), but VIA VT82C692BX (Apollo Pro II / BX) and all of this motherboard variants (BX-6AV2, BX-6AP2 and ZX-6AP2) lack any integrated sound chips! And of course the newest BIOS version 2.5 from FordLian BX-6AV2 mobo is sc**wed up.

* - 'couse I'll forget this after some time: find the string "CHIPSET FEATURES SETUP" in uncompressed ORIGINAL.TMP, right after it there are some repetitive "02 xx xx xx xx xx 00" hex-patterns - the "xx" bytes sets the chipset registers

from СМ630 to Ryzen gen. 3
engineer's five pennies: this world goes south since everything's run by financiers and economists
this isn't voice chat, yet some people, overusing online communications, "talk" and "hear voices"