www.pudn.com > hpbios.rar > ADISK.INC
; []===========================================================[] ; ; NOTICE: THIS PROGRAM BELONGS TO AWARD SOFTWARE INTERNATIONAL(R) ; INC. IT IS CONSIDERED A TRADE SECRET AND IS NOT TO BE ; DIVULGED OR USED BY PARTIES WHO HAVE NOT RECEIVED ; WRITTEN AUTHORIZATION FROM THE OWNER. ; ; []===========================================================[] ; ;---------------------------------------------------------------------------- ;Rev Date Name Description ;---------------------------------------------------------------------------- ;R07 10/20/99 RCH Remove Floppy INT 13H code for legacy free platform ;R06 05/31/96 KVN Fixed return exact parameter (function 08) for CDROM ; (INT13X.ASM) ;[]-----------------------------------[] ; ; Award Software 386/486 BIOS ; Tables for ADISK.ASM ; Initial Revision 3-May-1990 ; ;[]-----------------------------------[] ifndef LEGACY_FREE_SUPPORT ;R07 EVEN ; TABLE FUNC_15_TO_18 LABEL WORD DW OFFSET DGROUP:DISK_IO_READ_DASD DW OFFSET DGROUP:DISK_IO_CHANGE_LINE ; read disk change line DW OFFSET DGROUP:DISK_IO_WRITE_DASD ; old set media DW OFFSET DGROUP:DISK_IO_SET_MEDIA ; new set media endif; LEGACY_FREE_SUPPORT ;R07 FDPARMS STRUC FD_SPECIFY_1 DB 0DFH ;00: 1st Specify byte FD_SPECIFY_2 DB 002H ;01: 2nd Specify byte FD_MOTOR_OFF DB 025H ;02: motor wait before turn off. FD_SEC_SIZE DB 002H ;03: 128 * 2^N bytes per sector FD_EOT DB 009H ;04: End of track FD_NORMAL_GAP DB 02AH ;05: GAP length FD_DTL DB 0FFH ;06: data length, if 03: = 0 FD_FORMAT_GAP DB 050H ;07: gap length for format FD_FILL DB 0F6H ;08: fill byte for format FD_HEAD_WAIT DB 00FH ;09: milliseconds for head settle time FD_MOTOR_ON DB 008H ;10: 1/8 of seconds for motor spin up. FD_LAST_CYL DB 027H ;11: # of last cylinder FD_XFER_RATE DB 080H ;12: Xfer rate, as sent to port. FDPARMS ENDS public HD5_PARMS ;R06 public HD_PARMS ;R06 public ED_PARMS ;R06 ;=========================================================================== ; Additions/changes for 2.88/1 mbs (perp) drive ; support. ;=========================================================================== FD_BIOS_PARMS LABEL BYTE ; 00 01 02 03 04 05 06 07 08 09 10 11 12 FDPARMS <0DFH,002H,025H,002H,009H,02AH,0FFH,050H,0F6H,00FH,008H,027H,080H> FDPARMS <0DFH,002H,025H,002H,009H,02AH,0FFH,050H,0F6H,00FH,008H,027H,040H> HD5_PARMS LABEL BYTE FDPARMS <0DFH,002H,025H,002H,00FH,01BH,0FFH,054H,0F6H,00FH,008H,04FH,000H> FDPARMS <0DFH,002H,025H,002H,009H,02AH,0FFH,050H,0F6H,00FH,008H,04FH,080H> IFDEF ENABLE_288_SUPPORT DD_PARMS LABEL BYTE FDPARMS <0DFH,002H,025H,002H,009H,02AH,0FFH,050H,0F6H,00FH,008H,04FH,080H> ;(is 1BH,2AH) HD_PARMS LABEL BYTE FDPARMS <0AFH,002H,025H,002H,012H,01BH,0FFH,06CH,0F6H,00FH,008H,04FH,000H> ED_PARMS LABEL BYTE FDPARMS <0AFH,002H,025H,002H,024H,01BH,0FFH,054H,0F6H,00FH,008H,04FH,0C0H> ;(is 6CH) ELSE ;not ENABLE_288_SUPPORT DD_PARMS LABEL BYTE FDPARMS <0DFH,002H,025H,002H,009H,02AH,0FFH,050H,0F6H,00FH,008H,04FH,080H> HD_PARMS LABEL BYTE FDPARMS <0AFH,002H,025H,002H,012H,01BH,0FFH,06CH,0F6H,00FH,008H,04FH,000H> ENDIF ;ENABLE_288_SUPPORT FD_1024_PARMS LABEL BYTE FDPARMS <0AFH,002H,025H,003H,008H,035H,0FFH,074H,0F6H,00FH,008H,04CH,000H> ;Added floppy 3 mode auto switch ;& Fixed can't format 1024 bytes/sec ;use 1024fmt.exe utility ifndef LEGACY_FREE_SUPPORT ;R07 ;Above: 1st row = low capacity media in LOW capacity 5 1/4" drive. ; 2nd row = low capacity media in HIGH capacity 5 1/4" drive. ; 3rd row = high capacity media in HIGH capacity 5 1/4" drive. ; 4th row = low capacity media in LOW capacity 3 1/2" drive. ; 5th row = low capacity media in HIGH/EXTENDED capacity 3 1/2" drive. ; 6th row = high capacity media in HIGH/EXTENDED capacity 3 1/2" drive. ; 7th row = extended capacity media in EXTENDED capacity 3 1/2" drive. EVEN ; TABLE DIX_DMA_TABLE LABEL BYTE ; duplicate dmacodes... DB 46H ; read operation. DB 4AH ; write operation DB 42H ; verify operation. EVEN ; TABLE DIGP_DRIVE_TABLE LABEL BYTE ; bit index: bit 2-1 = xfer rate, bit 0 = 40/80 track flag DB 04 ; 000b: 500 Kbs, 40 track = table 4-1 DB 04 ; 001b: 500 Kbs, 80 track = table 4-1 DB 02 ; 010b: 300 Kbs, 40 track = table 2-1 DB 02 ; 011b: 300 Kbs, 80 track = table 2-1 DB 01 ; 100b: 250 Kbs, 40 track = table 1 DB 04 ; 101b: 250 Kbs, 80 track = table 4-1 IFDEF ENABLE_288_SUPPORT DB LOCAL_FD_288 ; 110b: 1 Mbs, 40 track = table 5-1 DB LOCAL_FD_288 ; 111b: 1 Mbs, 80 track = table 5-1 ELSE ;not ENABLE_288_SUPPORT DB 04 ; 110b: 1 Mbs, 40 track = table 4-1 DB 04 ; 111b: 1 Mbs, 80 track = table 4-1 ENDIF ;ENABLE_288_SUPPORT ;Additions/changes for 2.88/1 mbs (perp) drive ;support. EVEN ; TABLE DIWD_LUT LABEL BYTE DB 000H ; 0: invalid DB 000H ; 1: invalid DB 070H ; 2: 300 kbs, d-step, determined DB 010H ; 3: 500 kbs, determined DB 090H ; 4: 250 kbs, determined DB 090H ; 250 kbs, single step, determined ;Fix up OASYS application read error ;when 720K media (special formatted) ;in 1.44M drive. EVEN ; TABLE FUMB_BIT_TABLE LABEL BYTE ; value index = bit 3 = +300 kbs/-250 kbs ; bit 2 = +double step ; bit 1 = +determined ; bit 0 = +80 track. ; DB 00H ; 0000 = 250, undetermined, 40 track. DB 07H ; 0001 = 250, undetermined, 80 track. DB 03H ; 0010 = 250, determined, 40 track DB 07H ; 0011 = 250, determined, 80 track DB 00H ; 0100 = 250, undetermined, 40 track DB 07H ; 0101 = 250, undetermined, 80 track DB 03H ; 0110 = 250, determined, 40 track. DB 07H ; 0111 = 250, determined, 80 track. DB 07H ; 1000 = 300, -dstep, undetermined. DB 07H ; 1001 = 300, -dstep, undetermined. DB 07H ; 1010 = 300, -dstep, determined. DB 07H ; 1011 = 300, -dstep, determined. DB 01H ; 1100 = 300, +dstep, undetermined. DB 01H ; 1101 = 300, +dstep, undetermined. DB 04H ; 1110 = 300, +dstep, determined. DB 04H ; 1111 = 300, +dstep, determined. EVEN ; TABLE GAM_TABLE LABEL BYTE DB 000H ; cmos bad or out of range. DB 093H ; cmos = type 1, 250 kbs DB 015H ; cmos = type 2, 500 kbs DB 097H ; cmos = type 3, 250 kbs ;=========================================================================== ; Additions/changes for 2.88/1 mbs (perp) drive ; support. ;=========================================================================== IFDEF ;FORCE_1MB DB 0D7H ; cmos = type 4, 1000 kbs ELSE ;not FORCE_1MB DB 017H ; cmos = type 4, 500 kbs ENDIF ;FORCE_1MB IFDEF ;ENABLE_288_SUPPORT DB 0D7H ; local = type 5, 1000 kbs ENDIF ;ENABLE_288_SUPPORT EVEN ; TABLE NUM_DRIVE_TABLES LABEL BYTE DB 1 ; CMOS type 0 DB 1 ; type 1 DB 2 ; type 2 DB 1 ; type 3 DB 2 ; type 4 (1.44) DB 3 ; LOCAL type 5 (2.88) endif; LEGACY_FREE_SUPPORT ;R07