Biosutil V1.1 InfoMatrix Bios utilities for the AT BIOS. Brad Gibson Copyright (C) 1990 by Secret Software A division of InfoMatrix InfoMatrix 1515 Hogansville Rd #83 Lagrange, GA 30240 InfoMatrix BBS:404-845-1714 ______________________________________________________________ NOTE The use of all trademarks, copyrights or other protected names or symbols in this document are for reference only, and contain no inference. ______________________________________________________________ Biosutil is Copyrighted (C) 1990 by Secret Software, a division of InfoMatrix, it is not in the public domain and it is not free. This is a shareware product, registration is $12.00 and should be mailed to the address above if you find the program useful. It is not crippled in any way, and we're not going to send you anything if you register it, but if you use it and want shareware to continue, then send the registration. We will offer technical support and guidance to all users who call us with a registration number. ______________________________________________________________ INFOMATRIX WILL NOT ACCEPT LIABILITY FOR ANY DAMAGE DONE TO HARDWARE OR SOFTWARE AS A RESULT OF THE USE OF OR INABILITY TO USE THIS PROGRAM OR INFORMATION IN THIS DOCUMENT, NEITHER WILL WE BE HELD LIABLE FOR DAMAGE THAT OCCURS INCIDENTAL TO THE USE OF OR INABILITY TO USE THIS PROGRAM, OR THE INFORMATION IN THIS DOCUMENT. Many of the changes and modifications suggested are very technically detailed, and working at that level always entails a certain amount of risk. We have tried to make this as error-free and safe as possible, but anything you do to your own computer is your own responsibility. ______________________________________________________________ What the BIOS utilities will do: These BIOS utilities will perform three functions critical to the duplication or modification of the AT BIOS: 1.) Copy the BIOS from ROM to a file. (BIOS.FIL) 2.) Re-calculate and update the checksum of a modified BIOS. 3.) Prep the file for burning to new EPROMS. It will also allow you to view the built-in drive table parameters in your BIOS once you have copied the BIOS to a file, and you may also add your own custom drives to the file's drive table before burning the new BIOS EPROM. Why would you want to do this? Let's state for the record that WE DO NOT INTEND FOR THIS PROGRAM TO BE USED TO MAKE BOOTLEG BIOS COPIES!!! To do so would be illegal and unethical. So why would you want to use this software? Well, we have found that the old AT's still have a lot of life left in them and that they can be brought into the modern world through the addition of a few nifty mods which we will discuss in detail later, the most important of which is a bigger hard drive. The original AT had a full-high 30 MB clunker in it and the new 40 - 80 MB drives, and even the SCSI's and ESDI's would make an AT faster and a lot more useful. One big problem you run into is that the old AT BIOS does not support the new, large drives in their setup drive tables. Those numbers are easy to add to the 'BIOS.FIL' file that Biosutil creates for you. You may then re-calculate and update the checksum, prep the files for EPROM and burn new, more capable BIOS chips very inexpensively! Of course there are alternatives to this: you can just buy new BIOS chips from somebody like AMI (they make VERY nice ones.) or you can use something like Ontrack's Disk Manager to format the drive and use the config.sys driver, but God be with you if you have to boot from a floppy and forget to include the driver! The portion of the drive partitioned above 32 MB will be inaccessable until you boot with the driver. We think this way is much more economical, and was much more fun for us. You can also make BIOS copies. In case your BIOS PROMS ever crap out someday, you can just pop the copies in and be back in business. A brief rundown on the AT BIOS: The AT BIOS is a unique little beastie, with a couple of cute tricks and traps set for the intrepid BIOS-buster. First off the basic structure of the bios is very strange. The BIOS inhabits two 32K PROMS in your AT motherboard, component reference designators U27 and U47. The total size of the BIOS is 64K, but it is dispersed among the two PROMS in a staggered arrangement where U27 contains the EVEN addresses and U47 contains the ODD addresses. You can see this if you run DEBUG then type D F000:0000. You will see something like this "CCOOPPRR. IIBBMM 11998844" which is the copyright notice, and can be seen intact in the even set as well as the odd set. The next item of interest is the ROM checksum. The last byte of the BIOS is a checksum value of all the bytes added together MODULUS 100H (which means that if you add all the bytes plus the checksum the result will be evenly divisible by 256. The tech manual said "MOD 100h" but we figured it out anyway). The problem this causes is that the checksum is wrong if you have modified some part of the BIOS and not the checksum. The second sub-test of the first POST (Power On Self Test) test is a ROM checksum check, and if the checksum is wrong is sends an HLT (halt) instruction to the processor without so much as a fare-thee-well to the user. Now here are some facts that Big (blue) Brother does not want you to know about your AT: * There is a "speed bump" in the BIOS that detects whether the processor is running faster than they intended for it to (as in somebody installed a speedup kit...) and it will actually shut down the processor if it's running faster than the BIOS says it can. Naughty computer! * There was a field replacement unit for the full-high AFH controller in the AT that was actually an upgrade, but it was only being installed when the service reps had complaints about the old ones not working so well. * There is an "AT UPGRADE" BIOS that has never been released. With it you could install a few parts, and run the machine much faster. It eliminated the "speed bump", provided for bus settle time at the higher clock rate, included drive table entries for some of the more popular large drives, allowed booting from drive B, and other features that an AT sure could use. This 'turbo at' required the use of the newer floppy/hard drive controller mentioned above in order to work properly. This upgrade deal was supposed to come out right before the PS/2 hit the market, but apparently somebody thought that the upgraded AT's might sink the new products (like the AT technology (ISA) and EISA clones are going to). * There is an new "ADVANCED DIAGNOSTICS" that was not released at the same time the upgrade kit wasn't released. It helped handle all the improvements. How to use Biosutil: Ah, here's the fun part. In order to use this program to create your very own BIOS chips you are going to need an EPROM programmer ("EPROM burner" to you streetwise hacker types), and some EPROMS (32Kx8 28 pin dip, the part number is usually 27256 or 27C256 or some variant of that). The EPROMS are pretty easy to find. The EPROM burner can be had from lots of computer suppliers, for example JDR microdevices has one for about $130.00, if you don't have access to one. I will make the next statement one time: THIS PROGRAM HAS ONLY BEEN TESTED WITH THE AUTHENTIC AT BIOS's, IT MIGHT WORK ON OTHER BRANDS, AND IT MIGHT NOT. EITHER WAY INFOMATRIX WILL NOT BE LIABLE FOR ANYTHING YOU DO WITH THIS PROGRAM, OR ANYTHING IT DOES TO YOUR COMPUTER. USE IT AT YOUR OWN RISK. The first step in the process is to copy the bios from the existing ROM into a file. The first part of the program will create a file called "BIOS.FIL", which will contain the BIOS data. This is the file you can play with if you like. The only really useful and safe changes you can make to the BIOS is to add drive parameters to the fixed disk tables. The Biosutil Menu has two options that will allow you to view the drive tables for the BIOS file you have created and then add another drive type with your custom parameters (if whoever wrote your BIOS hasn't used them all). The second phase of the process is the updating of the BIOS checksum IF you modified the BIOS! If you didn't, you may skip this step. IF you did modify the BIOS, this step should properly update the BIOS checksum. Here is where some incompatability problems may arise. I have run this on several kinds of BIOS, and the fact is that not everyone uses the same process for the checksum. For that matter, some developers may not use the checksum at all. The AMI BIOS that I ran came out wrong, and a couple of other kinds. I know for a fact that it works on the genuine AT BIOS, beyond that your on your own. Hey, they're Eproms, you know? experiment and figure out how to make it work if this program doesn't get it right! Finally the third section will create the split files for you, which will be the actual data that is burned into the EPROM's. Depending on your EPROM programmer, you may have to convert the files to another format. We have included a formatter that will creat Intel Hex object format files, which are very popular for EPROM programmers. Most of them will use this or straight binary (the raw files). In summary, remember that you may modify the BIOS file, or just use it to make copies of the BIOS ROM. That is a simple process of letting Biosutil run through all three of it's copying processes sequentially, then formatting the EVEN.FIL and ODD.FIL for your eprom programmer, and burning the chips. I hope this program is of some use to somebody, as much hard work, blood, sweat, and failed attempts to copy the BIOS went into it's creation. Once again, don't use the program to make illegal copies of your BIOS, but rather as a tool to help you upgrade your machine, or safegaurd against a PROM deteriorating. The IBM technical reference manual was invaluable in doing the research for this program, and contains the entire BIOS code for the AT, if you get the right one. You should try to get a copy of it for your BIOS if you intend to make extensive changes to your BIOS. Special note for monochrome users: starting the program with "BIOSUTIL MONO" will disable the annoying color effects on monochrome monitors. Biosutil V1.1 InfoMatrix Bios utilities for the AT BIOS. Brad Gibson Copyright (C) 1990 by Secret Software A division of InfoMatrix InfoMatrix 1515 Hogansville Rd #83 Lagrange, GA 30240 InfoMatrix BBS:404-845-1714