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