VOGONS


Fried BIOS :-(

Topic actions

Reply 20 of 83, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie
konc wrote on 2024-10-16, 09:25:

Try plain http://, not https://

The browser automatically switches to non-SSL protocol, when receive a response from http site. There's another problem, if Jan's site is up and running.

The attachment nope.jpg is no longer available

P.S. Ok, I just tried to disable "HTTPS-Only Mode" in browser's settings and finally Jan's site is loading again. I don't like this option to be switched off, but it seems like in the latest versions of the browser something is wrong with it.

The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
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 83, by Cyanopsis

User metadata
Rank Newbie
Rank
Newbie
kmeaw wrote on 2024-10-16, 00:23:

IRQ routing table in your original_backup.bin (09/15/1998-VP3-586B-8661-2A5LEQ19C-00) is different from M1_V13SL.BIN (09/15/1998-VP3-586B-8661-2A5LEQ1AC-00).
Chipset register auto-configuration tables are identical. M1_V13SL.BIN also contains an option ROM for a SCSI controller and a full-screen boot logo, which your backup doesn't.
Both images boot fine in an emulator.

Could you compare original_backup with something from the board that has the same part number? https://theretroweb.com/motherboards/s/qdi-p5 … advance-ii#bios Is it similar or completely different?

kmeaw wrote on 2024-10-16, 00:23:

The only issue I see with cross-flashing either of those images is that there is a possibility that some of your PCI slots won't be able to deliver interrupts correctly - that would depend on the actual PCI circuitry of your board.

Could the black screen/dead computer actually be a problem with the PCI slot with the firmware that I'm having trouble with? My only option for video output right now is a S3 Virge PCI even though the board also has AGP.

kmeaw wrote on 2024-10-16, 00:23:

The warning you get from AWDFLASH is simply a check against the current BIOS ID it reads from your flash chip - it doesn't perform any probing other than that to determine if the image to be flashed is compatible. It's just a string comparison operation, not an actual motherboard check.

Got it!

I've found something interesting here: https://www.wimsbios.com/biosupdates/qdi/2A5LEQ19#gsc.tab=0 The part number ending with 19C (my current working bios) is associated with my mobo P5MVP3, but there's no bios downloads on this page. That's the only reference to these two being related at all that I can find.

I will reflash once again, trying both the 3.0SL Beta and the unofficial patched bios from Steunerbrink.

Reply 22 of 83, by Cyanopsis

User metadata
Rank Newbie
Rank
Newbie

Some new findings: The eeprom on my mobo is a SST29EE010 (8x128K). Whereas the board here https://theretroweb.com/motherboards/s/qdi-p5 … -a3-advance-iii and this ebay listing here https://www.ebay.com/itm/176508348545 are SST29EE020 (8x256K). The firmware is twice the size for my board (P5MVP3) than the one with corresponding part number (P5V380). Could that explain why I can't flash the correct bios? I don't know how storage works on eeproms, but I didn't get any errors compiling on my programmer. Maybe someone replaced the bios with another one and concluded that the computer still worked, although with a bios from a similar but not exact mobo.

Reply 23 of 83, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie

Cyanopsis, there's no way to flash 256kb BIOS image on 1Mbit EEPROM chip, you need 2Mbit EEPROM like SST29EE020. Probably your programmer loads and writes to 1Mbit EEPROM (SST29EE010) only half of the 256kb BIOS image. I've never tried to write a 256kb BIOS dumps on 1Mbit EEPROMs with my T48, so I'm just guessing what's happening.

Get a 2Mib EEPROM, flash V3.0SL Beta or V2.oSL BIOS for QDI P5MVP3/A3 (Advance III), change the improper 1Mbit SST29EE010 chip and your mobo will POST if it's really Advance III model.

The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
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 83, by Cyanopsis

User metadata
Rank Newbie
Rank
Newbie
analog_programmer wrote on 2024-10-16, 12:05:

Cyanopsis, there's no way to flash 256kb BIOS image on 1Mbit EEPROM chip, you need 2Mbit EEPROM like SST29EE020. Probably your programmer loads and writes to 1Mbit EEPROM (SST29EE010) only half of the 256kb BIOS image. I've never tried to write a 256kb BIOS dumps on 1Mbit EEPROMs with my T48, so I'm just guessing what's happening.

Get a 2Mib EEPROM, flash V3.0SL Beta or V2.oSL BIOS for QDI P5MVP3/A3 (Advance III), change the improper 1Mbit SST29EE010 chip and your mobo will POST if it's really Advance III model.

I hope this is the answer! I would have guessed either the award flash.exe program or the T48 programmer would object to the upload, but it certainly answers my problems with this.

The board is definately the right one. Here's my own picture:

The attachment P5MVP3.jpg is no longer available

Reply 25 of 83, by Cyanopsis

User metadata
Rank Newbie
Rank
Newbie

Does anybody know where I can get a sst29ee020-120-4c-ph in the EU? Or somebody in here that is willing to sell a couple? Or if there's a common and widely available replacement that works? I'm struggling to find anything closer than China 🙁

Reply 26 of 83, by kmeaw

User metadata
Rank Member
Rank
Member

The EEPROM detection subroutine (that can be found in 07/12/2000 2A5LEQ1AC, Advance III's BIOS v3.0SL, awardext.rom at 0x141A) supports the following flash chips (in this order): AMD 29F002T, ATMEL 29C020, ATMEL 29LV020, ATMEL 49F002T, BMI 29F002T, PMC PM29F002C, MOSEL V29C51002T, IMT 29F002T, SST 29EE020, SST 29LE020, Winbond 29C020, Intel 28F020, Intel 28F002T, CSI CAT28F002T, MXIC 28F002TTC, MXIC 28F2000TPC.
You can choose any chip of those.

Reply 27 of 83, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie
Cyanopsis wrote on 2024-10-16, 16:31:

Does anybody know where I can get a sst29ee020-120-4c-ph in the EU? Or somebody in here that is willing to sell a couple? Or if there's a common and widely available replacement that works? I'm struggling to find anything closer than China 🙁

I buy old EEPROM chips from chinese AE, but only from sellers which have feedback with pictures from buyers.

kmeaw wrote on 2024-10-16, 17:12:

The EEPROM detection subroutine (that can be found in 07/12/2000 2A5LEQ1AC, Advance III's BIOS v3.0SL, awardext.rom at 0x141A) supports the following flash chips (in this order): AMD 29F002T, ATMEL 29C020, ATMEL 29LV020, ATMEL 49F002T, BMI 29F002T, PMC PM29F002C, MOSEL V29C51002T, IMT 29F002T, SST 29EE020, SST 29LE020, Winbond 29C020, Intel 28F020, Intel 28F002T, CSI CAT28F002T, MXIC 28F002TTC, MXIC 28F2000TPC.
You can choose any chip of those.

Wow! I didn't knew that this info could be read from BIOS dump. Are those supported EEPROMs described by their chip-ID (hex values) somewhere in the BIOS?

The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
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 28 of 83, by kmeaw

User metadata
Rank Member
Rank
Member
analog_programmer wrote on 2024-10-16, 17:34:

Wow! I didn't knew that this info could be read from BIOS dump. Are those supported EEPROMs described by their chip-ID (hex values) somewhere in the BIOS?

It depends. Some (like late 6.00PG) have a plain table of {manufacturer ID, device ID, flash operation vtable} but this one has just a bunch of conditional branches.

Reply 29 of 83, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie
kmeaw wrote on 2024-10-16, 18:26:

It depends. Some (like late 6.00PG) have a plain table of {manufacturer ID, device ID, flash operation vtable} but this one has just a bunch of conditional branches.

Thanks for the picture, kmeaw! This is what I thought for.

I see the conditional checks for half of EEPROM chip's ID. Let's take as example check for AT29C020 which chip ID is: "1F DA". I see on the picture conditional check for "DA" (for "c020" part of chip's model), but where is the check for "1F" (for "AT29" part of chip's series)?

The attachment cond_st_chk.jpg is no longer available

So, you're using some disassembly software. Could you share which one it is?

The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
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 30 of 83, by kmeaw

User metadata
Rank Member
Rank
Member
analog_programmer wrote on 2024-10-16, 19:10:

where is the check for "1F" (for At29 part of chip's model)?

A few lines above at 0x1593: cmp al,0x1f.

00001575  E83201            call 0x16aa ; ask the flash to give us 4 bytes of ID and store them in EAX (low byte in AL, next in AH)
...
00001593 3C1F cmp al,0x1f ; is the first byte ATMEL (0x1F)?
00001595 7515 jnz 0x15ac ; no, it's not, jump to the next manufacturer
; yes, it's ATMEL. Now we are checking the next byte (AH)
00001597 BF0200 mov di,0x2 ; let's assume we have a "family 2" chip
0000159A 80FCDA cmp ah,0xda ; is the next byte 0xDA? (ATMEL 29C020)
0000159D 7447 jz 0x15e6 ; yes, it is, jump to the end of this function
; no, it's not, let's have another try for ATMEL chips
0000159F 80FCBA cmp ah,0xba ; is the next byte 0xBA? (ATMEL 29LV020)
000015A2 7442 jz 0x15e6 ; yes, it is, ...
; no, it's not, and we have exhaused all supported "family 2" possibilities
000015A4 BF0300 mov di,0x3 ; assume we have a "family 3" chip
000015A7 80FC08 cmp ah,0x8 ; is the next byte 0x08? (ATMEL 49F002T)
000015AA 743A jz 0x15e6 ; yes, it is, ...
; no, it's not, and now we have no more alternatives for ATMEL. Let's try another manufacturer.
...
; we have no more supported JEDEC series 1 chips, set CF and exit
000015E4 F9 stc
000015E5 C3 ret
; we have found a supported chip, the family number is stored in AL
; clear CF and exit
000015E6 F8 clc
000015E7 C3 ret

Once the function returns, we either have a flash family stored in DI or the CF set if a supported chip wasn't detected.

analog_programmer wrote on 2024-10-16, 19:10:

So, you're using some disassembly software. Could you share which one it is?

It's ndisasm from the Netwide Assembler package. The file in the top-left corner (...ml_b30a.asm) is generated by ndisasm -o 0xe0000 -b 16 ml_b30a.bin > ml_b30a.asm, the other one (...awardext.asm) by ndisasm -b 16 awardext.bin > awardext.asm. BIN files are extracted by CBROM. 0xe0000 is 0x100000 minus the size of ml_b30a.bin (0x20000).

Last edited by kmeaw on 2024-10-16, 19:33. Edited 1 time in total.

Reply 31 of 83, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie
kmeaw wrote on 2024-10-16, 19:26:

A few lines above at 0x1593: cmp al,0x1f.

Thanks, I missed it. So, first check is for chip series, then nested checks for exact chip's model.

Maybe I have to think about corrective glasses soon 👓 😁

kmeaw wrote on 2024-10-16, 19:26:

It's ndisasm from the Netwide Assembler package. The file in the top-left corner (...ml_b30a.asm) is generated by ndisasm -o 0xe0000 -b 16 ml_b30a.bin > ml_b30a.asm, the other one (...awardext.asm) by ndisasm -b 16 awardext.bin > awardext.asm. BIN files are extracted by CBROM. 0xe0000 is 0x100000 minus the size of ml_b30a.bin (0x20000).

Thank you very much for this info! I still have no working disassembler for BIOS modules. I'll try this disassembler from the Netwide Assembler package - found it on github.

The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
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 83, by Cyanopsis

User metadata
Rank Newbie
Rank
Newbie
kmeaw wrote on 2024-10-16, 17:12:

The EEPROM detection subroutine (that can be found in 07/12/2000 2A5LEQ1AC, Advance III's BIOS v3.0SL, awardext.rom at 0x141A) supports the following flash chips (in this order): AMD 29F002T, ATMEL 29C020, ATMEL 29LV020, ATMEL 49F002T, BMI 29F002T, PMC PM29F002C, MOSEL V29C51002T, IMT 29F002T, SST 29EE020, SST 29LE020, Winbond 29C020, Intel 28F020, Intel 28F002T, CSI CAT28F002T, MXIC 28F002TTC, MXIC 28F2000TPC.
You can choose any chip of those.

Thank you so much! After some searching, I found a reliable retro seller in the Netherlands (https://www.heinpragt.nl/) and I bought a couple of Winbond W29C020-90 and Intel P28F020-120, just to be safe. Fingers crossed!

Reply 33 of 83, by Cyanopsis

User metadata
Rank Newbie
Rank
Newbie

Update: New EEPROM arrived and I flashed the latest bios version on an Intel P28F020-120. Success!! Someone must have replaced the chip with another one at some point and flashed a similar but not correct bios. Anyway, still have some issues:

1. When booting, my machine now says "Unknown Flash Type". Does it check for some sort of ID of the EEPROM, because that is obviously different than the original SST chip. It doesn't seem to affect anything as far as I can see.

2. I cannot save bios settings to CMOS. I had this problem also on the faulty bios, but I just assumed it was because it wasn't for my motherboard. When I cut power to the PSU and plug it back in, everything is back to default. No date and time, nothing. I have cleared CMOS by switching jumpers according to the manual. I have also resoldered battery holder joints just in case and of course replaced the battery. Is there a way to test the battery holder and internal traces with a multimeter? Any other suggestions?

Reply 34 of 83, by kmeaw

User metadata
Rank Member
Rank
Member

"Unknown Flash Type" causes BIOS to fail on writing ESCD data into the flash - it is used as a non-volatile storage for resource allocation data, to avoid non-deterministic reallocation on each reboot. Usually it doesn't affect anything - it could be a problem if you are running a non-PnP-compliant OS (such as DOS) and you have hardcoded something like I/O ports, IRQ numbers by expecting them to stay the same across reboots instead of using auto-configuration utilities (such as unisound).

Your BIOS has the code to support Intel 28F020 having the identifier of "89 BD" - it is the same value you get with your EEPROM programmer's check ID function?

Reply 35 of 83, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie

Cyanopsis, you wrote that you've bought a couple of Winbond W29C020 and Intel P28F020 EEPROMs. Try another chip, W29C020 was widely used for socket 7 and slot 1 era motherboards, use T48 to program the EEPROM and select the exact chip vendor and model. "Intel" may sound better, but I've never seen s.7 mobo with Intel's EEPROM.

The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
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 36 of 83, by Cyanopsis

User metadata
Rank Newbie
Rank
Newbie

We're making progress!
@kmeaw: Intel - 89BD, Winbond - DA45.
@analog_programmer: Good call! I flashed the Winbond eeprom and now ESCD is updating!

So now there's only the issue of saving settings to CMOS, which is still present. Any clues?

Reply 37 of 83, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie

I think ESCD (non-)PnP configuration data must be stored in EEPROM chip for this board, so if this is true there's no reason BIOS settings to not be saved in working EEPROM. Check CMOS battery voltage. Try to reset BIOS settings by "clear CMOS" jumper JCC on position 1-2 and then put it back to normal 2-3. I have no other ideas.

EDIT: I was wrong. Only ESCD configuration is stored in EEPROM.

Last edited by analog_programmer on 2024-10-21, 17:58. Edited 1 time in total.

The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
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 38 of 83, by Cyanopsis

User metadata
Rank Newbie
Rank
Newbie

You mean there's no actual CMOS chip or RTC clock to store these settings? They are saved in EEPROM?

Reply 39 of 83, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie

Yes, this is super socket 7 motherboard i.e. one the latest socket 7 boards, so I think ESCD and CMOS settings are stored/written in the EEPROM chip.

EDIT: kmeaw is right:

kmeaw wrote on 2024-10-21, 17:38:

Late socket 7 boards don't have a dedicated RTC chip - on this board there is a peripheral controller (VIA VT82C586B) which is capable of providing RTC and CMOS memory functions (see page 26 of the datasheet, it describes the corresponding registers and page 12 for RTC pin functions).

Last edited by analog_programmer on 2024-10-21, 17:56. Edited 1 time in total.

The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
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.