Qi 600 BIOS Revision Summary (Rev 1.1.11)

Release Date Changes
1.02.07 17/2/89 Reset all write protect bits on soft reset (cures problem with AMODE LOCK and SECURITY.SYS). Check Revision of 451 chip, if less than 3 (451-A revision) then disable Fast Cycles, else enable Fast Cycles in VGA and Chipset. Set I/O to 16-bit - this should provide optimum performance with the 451A part.

Added flush into the software invalid interrupt routine. This is just a temp fix, may be removed at a later date. Put here in case a cache upset caused invalid code to be executed.

Set VGA Memory Cycles to 8-bit for modes 0Dh-12h, 16-bit for all other modes - this provides optimum performance for windows and other Graphics programs on the 451, no action is performed on the 451A or later as the best performance is available using 16-bit Fast memory and I/O cycles.

SPLIT RAM disabling in now supported by the Split RAM use bit in extended CMOS address 700h bit 1 set by the reference diskette.

If a ROM was found in the address 0C0000-0C8000h then the default video mode was reset. This resulted in the machine booting in 40 column mode if some non-video cards were placed in this area. This code has now been removed.

Problems with resetting the machine while running the ROM BIOS from RAM corrected by ensuring ROM enabled at start of POS.

Sequence of video initialisation changed to better support 8514/A.

New Bitmap Qi logo included.

Support structure for Encryption included.

Changed the fast reset to a CR0 reset. Fast reset not working properly for some unknown reason. This will be reversed when/if we/chips find the answer.
1.02.08 7/3/89 Correction to split memory control logic to prevent 'Memory Size Error' on soft reboot.
1.02.09 8/3/89 Support provided for Rev E memory options(1MB base with 2MB & 4MB RAM card) - Rev E detection is by test of Extended CMOS address 7FFh.

Reset all write protect bits on soft reset (cures problems with AMODE LOCK & SECURITY.SYS). Check Revision of 451 chip, if less than 3 (451-a revision) then disable Fast Cycles, else enable Fast Cycles in VGA and Chipset.

Set I/O to 16-bit - this should provide optimum performance with the 451A part.

Set VGA Memory Cycles to 8-bit for modes 0Dh012h, 16-bit for all other modes - this provides optimum performance for Windows and other graphics programs on the 451, no action is performed on the 451A or later as the best performance is available using 16-bit Fast memory and I/O cycles.

Incorporation of Phoenix V1.02.01 8/3/89 sources.

Main fix is to WD1006V-MCR + IBM OS/2 code - OS/2 now installs correctly on 300 and 600 series.

Correction to Adapter ROM initialisation sequence - V1.02.01 release did not initialise non-video ROM's in the range C0000h-C7FFFh.

Printer time-outs increased for higher speed machines.

Chipset initialisation modified so that NDP generates ready whether fitted or not - fixes problems with SCO XENIX.
1.02.10 21/3/89 Int. 15h function 89h modified to write BH int. mask to Master PIC and BL int. mask to Slave PIC during protected mode entry. Cures problems with Novell Netware and Soft Bytes 386.

Underline position for Mode 7 corrected - Corrected WORD /h bug on monochrome systems (Italic & Underline characters now appear with underline instead of normal attributes).

Return EGA information sub function 10 returns AL unmodified - corrects Video identification problems with Display Write 4.

IRQ 5 enabled 'by POST, Phoenix data area moved from 4B0h-4BFh to 4D0h-4DFh, Timer ISR explicitly clears carry & enables ints. on return.

These fixes correct problems with IBM WORM drive unit.
1.02.11 25/4/89 POS[3] - port 105h on each card now has bit 7 explicitly set by POST - corrects problems with cards which would generate an NMI if this bit was set to 0.

POS[0] - port 102h bit 0 (card enable) is now set to the value held in CMOS rather than explicitly - this allows cards with suitable ADF's to be disabled.

Mode switch 16 or 8 bit memory logic ensures all cards out of set-up mode before setting VGA into set-up mode, ensures no clash with cards left in set-up mode.

Weitek Co-processor detection code would leave FS with invalid limit and access rights. We now use ES instead and ensure that access rights are preserved. This corrects problem with QEMM and Qi 600.

When the 451 chip is set to 16-bit I/O interface OS/2 does not correctly save/restore the DOS compatibility box. 451 parts are now set to 8-bit I/O 451A's and 452's are still set to 16-bit). To ensure correct operation of 8-bit I/O with 387 fitted on 280 Chipset the NDP Present bit must be set to 0 (Bit 4 of Register 8Eh).

Added Cache enable disable functions for VX FT Server.

Changed signon.

Changed Software Delay routines to allow for faster 386 & 486 machines (delay doubles on 386, quadruples on 486).

5MB 280 Chipset now set to Page Mode - corrects problems with RAM corruption on some 5MB machines (Incorrect C&T Spec.).

ABIOS Request Block Sizes corrected for Hard Disk and Floppy - corrects problems with MS-OS/2.

Video ROM search modified to initialise card POS registers to 0 before searching for ROM, ALSO modified to miss cards with ID's in the range 6000-6FFFh (temp. fix for SPECIALIX card, note that Video or RAM cards which have ID's in this range will not be initialised until after that card such as the SPECIALIX card which do not reset POS settings on reset will not crash the system when enabled.
1.02.12 30/4/89 Further modifications to video search code to avoid crashing cards - in this case National Instruments IEEE GPIB card. Now only cards with ID's above 7000h are enabled & tested.

VGA code modified so that it does not use/modify Int. 42h & 6Dh vectors (as with AT card implementation). Corrects problems with software which uses reserved 6Xh int. vectors (DECNET DOS).

Cylinder-1 variants of CDC/MiniScribe/Seagate drive types for Defect Cylinder support included as Types 37, 39, 47 (old type +1).

Switch to protect mode now only sets protect mode bit rather than clearing down rest of Machine Status Word.

i486 detection code now uses Intel approved method of testing settability of AM bit in CR0.

Initial support for 1MB RAM daughter card on Qi 300.

Inclusion of Encryption support.

Bug Fix for 280 Chipset DMA Controller, if 16MB RAM found then size of RAM in CMOS (found and expected) is set to 16MB-128K to prevent crashes due to DMA not operating correctly in the top 128K of a 16MB system (82C322 Memory Controller bug).

100MB CDC Drive type 35 added to tables - with defect map.

Drive parameter initialisation routine corrected to wait for only one interrupt from Hard Disk Controller. Corrects problems with VM/386.

Inclusion of Phoenix bug fix for OS/2 on ESDI - change read transfer count from 40h to 50h.
1.02.13 3/8/89 Screen now cleared on VX FT Server before security box displayed.

Pointing device presence bit now correctly set - was being set id CMOS bit set, now only set if actually present. Corrects problems with Windows.

Qi 300 build now uses CR0 to get out of protected mode, this cures the ACAD cursor problem as port 92 method causes reset of the 387 as well.

Qi 600/VX FT now uses switch 6 to specify whether paging is enabled or disabled in memory config. Cures lots of UNIX/XENIX problems with parity errors.

VX FT - Cache enable bits inverted to comply with B3 stepping of the 486.
1.02.14 22/9/89
1.02.15 11/12/89 Changed sync polarities for dual sync Sony to both positive and also changed horizontal sync position to move the picture to centre of screen.
1.02.16 7/2/90 Added the code for second processor start-up in VX FT models.
1.02.17 14/2/90 Added Imprimis 66.5MB drive as type 40. Removed RLL Toshiba.
1.02.21 6/2/91 Added dual boot facility added to all MCA machines. This is mainly to cater for Western Digital Ethernet remote boot.

Init. 128 bits of memory before we read it, this stops NMI parity errors on 486 hypercache systems. Hypertec memory board in particular.

Corrected dual processor start-up for prom card.

Deleted VX FT checking on keycard logon time-out on machines other than VX FT.
1.02.22 17/12/91 Moved extended memory detect/configure code to before video initialisation to prevent video slots being disabled.
1.02.23I 6/9/92 OS/2 Keyboard fixes (extra calls to WFIBE in KEYBRD.ASM)

IBM SCSI card fixes (move Apricot extended CMOS info from 500 to 300h and change ABIOS DMA table entry from FFFF to 0005)
1-02-23 30/4/93 IBM SCSI - Moved Apricot extended CMOS information from 0500 to 0300H, and changed ABIOS DMA table entry from 0FFFF to 00005H.

OS/2 Remote Access Service - implemented new 'SERIAL.ASM' from Phoenix.

OS/2 'Mad' or, as IBM refer to it, 'Wild' mouse - include an extra call to 'wfibe' (Wait for input buffer empty) in 'KEYBRD.ASM'.

Relocated Petrel / ESDI BIOS from 0E000:08000H to 0E000:0C000H to make room for a larger BIOS.

 



9595 Main Page