Bios Mods -The Best BIOS Update and Modification Source

Full Version: BIOS programmer with microcontroller
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi!

I'm making a BIOS programmer because my BIOS upgrade failed and I don't want to buy a programmed chip. Since I managed to read from an SST49LF040 it should be no problem to write to it.

However, I'm not sure what to write. The BIOS file for my Asus P5VD2-X board from the asus site - 5VD2X308.ZIP - contains the file 0308.BIN (524288 bytes) which is an lha archive which contains the file 0308.bin (131072). The SST49LF040 is a 4 Mbit (512kbyte) chip, so writing the 128k 0308.bin seems wrong. But the 512k 0308.bin begins with '!?-lh5-' and I doubt '!?' is the code to jump to some routine which starts the bios. Possibly the entry point is somewhere else, and I could just try it.

Can you tell me what to burn?

Another problem is, that my original bios chip was an SST49LF040B (probably broken) and the replacement I got is an SST49LF040 which has the ID and flash/register selection bit on different bits coded into the 32 bit address of the LPC protocol. Someone said it would still work, but I can't imagine how. What do you think? Anyone have an SST49LF040B (or Winbond W39V040B) for me?

Thanks, Bernhard

images:
http://darsie.dyndns.org/bernhard/img/bi...llery.html

datasheets:
SST40LF040B,
http://www.datasheetcatalog.com/datashee...F040.shtml
SST49LF004A,
http://www.datasheetcatalog.com/datashee...004A.shtml
Hey darsie,

I commend you on your construction of the bios programmer! As for the bios image, you are reading too far into it. The award BIOS platform uses lha compression so that the bios can fit the chip. The 128K image you see is the main ROM, but many other components are in the image besides that. The correct image to flash is the 0308.BIN with 512KB in size. As for the chips, if it flashes, fits the socket, and boots you're good to go, if not, better find another chip. But I'm pretty sure that you don't need a separate chip. Just take the chip that no longer boots, and overwrite it by flashing the 512KB image.

Hope this helps,
TheWiz
whohoo! Nice work darsie!! Would you be so kind providing the construction plan for this writer? May be nice to build it by my own!

As you found out by yourself the !? is to start the main ROM-modules who do the rest... Smile
(05-20-2010, 04:54 PM)MrTangoWhisky Wrote: [ -> ]whohoo! Nice work darsie!! Would you be so kind providing the construction plan for this writer? May be nice to build it by my own!

I will, but it's not done yet. The hardware part is rather complete, though. Connections from LAD[3..0], LFRAME,LCLK go to the ATMega 168 PORTC. RST is on port D as there were no free pins left on port C. The lclk signal is the tricky part. It needs an edge slew rate of 1 V/ns minimum. Routing it through 2 inverters with Schmitt trigger of a 74HC14D works here, although a faster inverter (74LVX14) might be more reliable. The lead from the inverter to the BIOS chip should be as short as possible to get fast edges. I have 100 nF SMD capacitors as close as possible at each Vdd pin to ground (one directly at the pins of the PLCC socket), and a 10 uF (IIRC) electrolytic near one of the Vdd pins. There's also a 100 nF SMD cap at the inverters Vdd pin (http://darsie.dyndns.org/bernhard/img/bi..._4771.html) to ground so it quickly get's the energy to switch lclk. Couple more caps whereever they might help. Probably not all of them necessary but I put them there while it didn't work and hoped it would help.

The diodes are voltage regulators so I can connect a 5 V parallel port to the ATMega168 while it's running at 3.3 V. The BIOS chip requires 3-3.6 V. This way I can program the uC and use it without switching power supplies and removing/inserting the BIOS chip every time.

Communication with the uC is via a MAX232 chip and the PC's serial port. I use Linux and minicom.

I'll publish more details when it's finished.

Quote:As you found out by yourself the !? is to start the main ROM-modules who do the rest... Smile

Ahh, I wasn't sure. Ok, that makes sense then.

Bernhard
I also have some schematics for an eeprom programmer , which il be bribing my electronics teacher to put together as my soldering is less than ideal! Tongue