Changeset 32 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h
- Timestamp:
- Aug 6, 2010, 7:11:04 AM (14 years ago)
- google:author:
- aitotat
- Location:
- trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH0h_HReset.asm
r28 r32 2 2 ; Project name : IDE BIOS 3 3 ; Created date : 27.9.2007 4 ; Last update : 29.7.20104 ; Last update : 3.8.2010 5 5 ; Author : Tomi Tilli 6 6 ; Description : Int 13h function AH=0h, Disk Controller Reset. 7 8 RETRIES_IF_RESET_FAILS EQU 39 TIMEOUT_BEFORE_RESET_RETRY EQU 5 ; System timer ticks10 7 11 8 ; Section containing code … … 82 79 call GetDriveNumberForForeignBiosesToDL 83 80 xor ah, ah ; Disk Controller Reset 84 pushf ; Push flags to simulate INT 85 cli ; Disable interrupts since INT does that 86 call FAR [RAMVARS.fpOldI13h] 87 sti ; Make sure interrupts are enabled again (some BIOSes fails to enable it) 81 call Int13h_CallPreviousInt13hHandler 88 82 jmp SHORT BackupErrorCodeFromTheRequestedDriveToBH 89 83 -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH8h_HParams.asm
r28 r32 2 2 ; Project name : IDE BIOS 3 3 ; Created date : 27.9.2007 4 ; Last update : 12.4.20104 ; Last update : 3.8.2010 5 5 ; Author : Tomi Tilli 6 6 ; Description : Int 13h function AH=8h, Read Disk Drive Parameters. … … 32 32 ALIGN JUMP_ALIGN 33 33 AH8h_HandlerForReadDiskDriveParameters: 34 call RamVars_IsDriveHandledByThisBIOS 35 jnc SHORT .GetDriveParametersForForeignHardDiskInDL 36 34 37 push bx 35 38 call AH8h_GetDriveParameters 36 39 pop bx 40 jmp Int13h_ReturnWithoutSwappingDrives 41 42 ALIGN JUMP_ALIGN 43 .GetDriveParametersForForeignHardDiskInDL: 44 call Int13h_CallPreviousInt13hHandler 45 call RamVars_GetCountOfKnownDrivesToDL 37 46 jmp Int13h_ReturnWithoutSwappingDrives 38 47 … … 97 106 ; BX: Number of L-CHS cylinders available (1...1024) 98 107 ; DX: Number of L-CHS heads (1...256) 108 ; DS: RAMVARS segment 99 109 ; Returns: 100 110 ; CH: Maximum cylinder number, bits 7...0 … … 111 121 dec dx ; Head count to max head number 112 122 mov dh, dl ; Max head number to DH 113 push ax114 call RamVars_GetDriveCounts ; Hard disk count to CX115 pop ax116 mov dl, cl ; Hard disk count to DL117 123 mov ch, bl ; Cylinder bits 7...0 to CH 118 124 mov cl, bh ; Cylinder bits 9...8 to CL 119 125 eROR_IM cl, 2 ; Cylinder bits 9...8 to CL bits 7...6 120 126 or cl, al ; Sectors per track to CL bits 5...0 121 ret127 jmp RamVars_GetCountOfKnownDrivesToDL -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Common/HCapacity.asm
r3 r32 2 2 ; Project name : IDE BIOS 3 3 ; Created date : 16.3.2010 4 ; Last update : 12.4.20104 ; Last update : 3.8.2010 5 5 ; Author : Tomi Tilli 6 6 ; Description : Functions for hard disk capacity calculations. … … 26 26 HCapacity_GetSectorCountFromForeignAH08h: 27 27 mov ah, 08h ; Get Drive Parameters 28 int INTV_DISK_FUNC28 call Int13h_CallPreviousInt13hHandler 29 29 jmp SHORT HCapacity_ConvertAH08hReturnValuesToSectorCount 30 30
Note:
See TracChangeset
for help on using the changeset viewer.