In April of 2001, I completed a major (in my humble opinion) hardware mod. I ditched my BIOS chip and replaced it with my own self-programmed version.

(Disclaimer: by “programmed” I don’t mean that I coded it myself. I simply mean burning the EEPROM chip with the publicly available compiled JEDEC code from the motherboard vendor. More on this later.)

Why would I do such a thing, you ask? Read on…


My dual Celeron system works great. No big complaints, with the exception of an APM problem, but that’s a separate mod. Now to get a bigger hard drive…


So I bought a Maxtor 40GB hard drive. What I learned (after the fact, of course) was that my BIOS had an upper IDE size limit of 8.4GB, which is known as the Int13h (interrupt 13 hex) interface. According to, this interface can only address up to 8.4GB of a drive’s geometry.

What ever was I to do?


The obvious step was to flash my BIOS chip with an update from EPoX. What I found was that the latest update (May, 1999) still didn’t allow for large drives.


Maxtor’s solution to this dilemma is to fake out inferior BIOSes by self-limiting the cylinder count (with a particular jumper setting on the drive). The Int13h BIOS then sees the drive but not all operating systems will cooperate. I got a fairly unanimous agreement with some BeUserTalk people that BeOS would not like it.

What ever was I to do?


I noticed that EPoX manufactured my motherboard model with two different BIOS chips. The one I have (the Int13h version) is a 1 Megabit part. This has nothing to do with on-board cache. This is strictly the physical sector size of the EEPROM (Electrically Erasable Programmable Read Only Memory) that contains the BIOS boot code. The second version of the KP6 contains a 2 Megabit BIOS chip. EPoX’s BIOS update page contained a fix for large drives above 36GB.

Now the question was, “will a 2 Megabit BIOS chip work in my board, or are the two motherboard versions different?” I emailed EPoX and they responded with an order form for a replacement BIOS EEPROM, 2 Megabit version. For a cool $15, plus $9.95 shipping, I could have a new one.

Yeah right! I’m a geek, dangit, I can do this myself!


With the following handy part numbers from EPoX, I went on a search for my own BIOS EEPROM!


I perused all the local computer shops. MicroCenter, Fry’s, CompUSA… all dead ends. I convinced one little shop owner to rummage through his old boards, but all he could find were 1Mb chips. I was quickly realizing that any board older than, say, 6 months was going to have a 1Mb chip.

What ever was I to do?


Well, it helps that I’m a EE with a lot of access to electronic parts, of which include EEPROMs. I called up a vendor I do a lot of business with Avnet Electronics, and had a sample of a 2Mb EEPROM shipped, part number AT49F002NT. I should have gone this route from the beginning. It was too easy.

new EEPROM, closeup


Now here’s where it gets interesting. This sample EEPROM would come from the factory blank. No BIOS code. Therefore, I couldn’t just replace my existing BIOS chip with this one and boot up the machine to flash the same BIOS chip. Again, I’m lucky to have the tools at hand. My company has a BP Microsystems programmer for just such an occasion. In theory, with the latest update from EPoX (which is a binary file), I could program my sample part directly. However, I wasn’t too sure if EPoX’s BIOS update would include the boot block of the EEPROM, which is kinda important. My luck, the DOS flashing utility just programmed the incremental updates into the remaining EEPROM sectors.

What ever was I to do?


Well, I took a look at the EEPROM’s datasheet. It specifies the part as 2 Megabits, or 256K x 8 bits, which is exactly 262,144 bytes. The binary file update from EPoX is exactly 262,144 bytes. So it was a pretty safe bet that these BIOS update utilities simply re-flash the entire BIOS EEPROM. Therefore, I proceeded with programming my sample with the binary update.


I then swapped BIOS chips. Turned on the rig. Award BIOS version 6 came up! It worked! I now see a 40GB drive in my system. Yay! And I didn’t pay a dime. Here’s the newly inserted EEPROM BIOS chip:

new EEPROM BIOS chip

Join the Conversation


  1. I have a problem with a dead BIOS resulted from a bad flash. Basically the software it erased the BIOS but failed crc check.

    I was wondering if you can help me to reprogramm the BIOS chip on your programmer. I have the proper BIOS image on a floppy disk…

    Thank you!

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.