AMI 286 and 386 BIOS new release Release notes BIOS Release Date : 9-25-1988 The new release of AMI 286 and 386 BIOS will have the following additional features and corrections over the AMI 286 and 386 BIOS released on 4-20-1988. new features Faster Video I/O... The Video input and output routines of interrupt 10 Hex are modified to make the video input and output faster by almost 25% over the previous release. Manufacturing Diagnostics option... Before going to boot the operating system, AMI BIOS goes through a process called the POST(power on self test). In the POST the BIOS performs diagnostic tests on the various hardware components in the system. This release of AMI BIOS has a special feature by which you can make the system go into an indefinite POST loop till it comes accross any FATAL errors with the system or you switch the power off. To get into this mode you will have to ground the keyboard controller pin 32 on your system board. Note:This feature requires customization in BIOS and the charges will be as per the licensing agreement. Easy Extended SETUP option for NEAT 286 and C&T 386 BIOS... With the Extended SETUP menu in 286 NEAT and C&T 386 BIOS, we have now added another option called the EASY SETUP. By using this setup option you can set up only a few necessasy parameters like DRAM wait states,clock sources and BIOS/Video shadow options which does not require much knowledge of the NEAT and C&T 386 chipsets. changes to accomodate Hardware Incompatibilities Additional Interrupt handlers for 386 Motherboards... In 386 BIOS we have added two dummy interrupt service routines for interrupt 0F Hex and 77 Hex doing only interrupt returns. This was necessary because at high speed some 386 motherboards generates these stray interrupt with no necessary reasons. Delayed CMOS status checking to get rid of CMOS CHECKSUM ERROR Message... In some motherboards at cold boot it takes more time for the CMOS to get power from the power source than it actually should. As a result the AMI BIOS gives CMOS CHECKSUM ERROR sometimes. To get rid of this problem we have introduced a little more delay in the BIOS between power on and checking the CMOS Status. Translating 80286 Loadall function call to work on 80386 to take care of problems related to using OS/2,RAMDRIVE and other Software programs... Some software programs like OS/2 and RAMDRIVE use 80286 loadall function calls. There is an incompatibility between the 80286 and 80386 loadall function calls. As a result, these programs generate traps when used in 80386 based motherboards. These traps sometimes makes the system malfunction. In the new release of AMI BIOS we have taken care of this problem by internally translating the 80286 Loadall function to 80386 format in the BIOS exception handler routines. However the translation process requires at least 100 bytes of RAM space. To make this 100 bytes of RAM space available to BIOS we have given the user two options:- - BIOS to use the BIOS stack area between address 0:300h to 0:400h. This might cause problem if any software tries to utilize this area for any other purpose. - BIOS to take out 1kb of memory from the top of the memory before the operating system gets control. Which means, in a system with 640kb of memory 639kb will be available to the operating system and user program. These options will be available only with the AMI 386 BIOS because such an approach is not necessary in 80286 based systems. The option can be selected through the CMOS SETUP program which will now ask one more question:- OS/2, RAMDRIVE, etc support (1/2)? Selecting option 1 will use the BIOS stack area at 0:300h and option 2 will reduce the available memory size by 1kb. Note: The RAM areas discussed above will only be used by the BIOS only if it is necessary i.e only if a software program like RAMDRIVE and OS/2 is used which requires a translation of the Loadall function call. So if you are not going to use these software programs you can always select option 1 and still use the area between 0:300h to 0:400h for some other purpose. It is better not to select option 2 if you are not going to use any software program that is not going to use the Loadall instruction because there is no point is loosing the 1kb space at the top of the memory. Problem related to Some EGA cards and AMI BIOS CMOS SETUP Program... Because of a bug in the print string routine of the BIOS in a leading EGA/VGA card manufacturer we had to get rid of the bip in the AMI BIOS CMOS SETUP program when in displays the WARNING message just before you go into setting the hard disk drive types. System speed problem while using some protected mode software programs... On some mother boards using Keyboard controller pins 23 or 24 for clock switching it was observed that it is not possible to keep the system at a desired speed while using software programs like OS/2,VDISK,Novell network etc. This problem was occuring because in the IBM BIOS Specification the status on pin 23 and 24 of the keyboard controller is always made 1 when a software tries to go to protected mode using BIOS INT 15h function. So if you desire to keep the status of these pins 0 to attain a certain system speed it is not possible to do so if you are using one of the above software programs. With the new AMI BIOS, we have used a technique to keep these two pin status unchanged. However this method will work only if the software program goes into the protected mode using BIOS INT 15h routines. If the software program directly writes onto the keyboard controller ports, which programs like RAMDRIVE do, then this problem will exist. general Corrections Increased Compatibility with 80386 Exception handlers 6 and 7 We have separated 80386 exception handlers 6 (invalid 80386 instruction) and 7 (invalid co-processor instruction) in this release. We have also made sure that proper action is taken for all such invalid instruction. CMOS SETUP program loosing time is taken care of... When you press <DEL> key to run SETUP program BIOS asks you the following question:- Want to Run SETUP Program(Y/N)? If there is a delay in answering this question, then the CMOS use to loose time if you go with the default value of the time displayed. This problem is taken care of in this release of the BIOS. Virtual to Real mode change method in 386 BIOS is changed... In previous release of AMI 386 BIOS changing between virtual and real mode was done through a facility called Shutdown. But the process use to clear the upper 16bit of the 32bit registers. In the new release we use 80386 instruction for comming back to real mode from virtual mode which keeps the upper 16bit of all the registers intact. The technique of checking the optional Video ROM at C000:0 is changed... We have found out that lot of video cards have some initialization codes at C000:0 which does not have the video BIOS interrupt routines. In such cases the method used in CMOS SETUP program to find out the display type will fail. This forced us to change the technique of detecting the presence of a video BIOS at C000:0. OS/2 Boot from 1.44MB floppy drives... In the previous release of AMI BIOS OS/2 does not boot from 1.44MB floppy drives. However it boots from all other types of Boot devices. This release will solve the booting problem from 1.44MB floppy drives. Problems related to color display in portable systems with LCD Display... Some portable systems are capable of supporting both monochrome and color modes. The display mode can be selected using the Mono/Color switch on the motherboard. If this switch is used to switch from mono to color mode there will be a CMOS Display configuration mismatch. In such cases the BIOS goes into 40X25 mode and displays a message "Display Configuration Mismatch". Some portable systems with color display are not capable of handling 40X25 color modes so the new release of AMI BIOS will enter into 80X25 mode if there is a Display Configuration Mismatch. Video SHADOW problem using EGA/VGA Display cards... Some VGA Display cards use to malfunction with AMI BIOS when the SHADOW RAM feature on the motherboard is used. This problem is taken care of in the new release. Other Modifications Modified error messages... To make room for enhancements to the BIOS we have reduced the length of certain error messages. The error messages as it will appear now is listed in appendix A at the end of this section. Default wait states for NEAT 286 and C&T 386 chipset based motherboards... The default wait states will now be 1 for NEAT 286 and C&T 386 BIOS. This change is done to make sure that system does not malfunction when a slow memory is used on the motherboard. However if you use faster memory and want to set it to 0 waitstate you can use the Simple or Advanced Extended SETUP program built into the AMI BIOS. Clock switching technique for NEAT 286 BIOS... The keyboard clock switching for NEAT 286 BIOS is changed such that switching clock will not affect the Bus speed. This change was necessary because a lot of NEAT 286 boards malfunction when the Bus speed is changed in real time. Appendix A List of New Error Messages... Fatal errors causing system halt 1. CH-2 timer error 2. INTR #1 error 3. INTR #2 error 4. KB CONTROLLER ERROR 5. CMOS INOPERATIONAL 6. 8042 GATE-A20 ERROR Non fatal errors reported 1. Keyboard error 2. KB/Interface error 3. CMOS battery state low 4. CMOS system options not set 5. CMOS checksum failure 6. CMOS memory size mismatch 7. CMOS time & date not set 8. CMOS display type mismatch 9. Display switch not proper 10. Keyboard is locked ... Unlock it 11. CACHE MEMORY BAD, DO NOT ENABLE CACHE ! 12. FDD controller failure 13. HDD controller failure 14. C: drive error 15. D: drive error 16. C: drive failure 17. D: drive failure