Changeset 421 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH9h_HInit.asm
- Timestamp:
- May 9, 2012, 7:12:53 PM (13 years ago)
- google:author:
- aitotat@gmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH9h_HInit.asm
r410 r421 99 99 ;;; SelectDrive 100 100 ; Try to select drive and wait until ready 101 call AccessDPT_GetDriveSelectByte ToAL101 call AccessDPT_GetDriveSelectByteForOldInt13hToAL 102 102 mov [bp+IDEPACK.bDrvAndHead], al 103 103 call Device_SelectDrive … … 109 109 110 110 ;;; InitializeDeviceParameters 111 ; Initialize CHS parameters if LBA is not used 112 test BYTE [di+DPT.bFlagsLow], FLG_DRVNHEAD_LBA 111 ; Initialize CHS parameters if LBA is not used and 112 ; user has specified P-CHS parameters 113 test BYTE [di+DPT.bFlagsLow], FLGL_DPT_ASSISTED_LBA 113 114 jnz SHORT .SkipInitializeDeviceParameters ; No need to initialize CHS parameters if LBA mode enabled 115 call AccessDPT_GetPointerToDRVPARAMStoCSBX 116 test BYTE [cs:bx+DRVPARAMS.wFlags], FLG_DRVPARAMS_USERCHS ; User specified P-CHS? 117 jz SHORT .SkipInitializeDeviceParameters 114 118 115 119 ; Initialize Logical Sectors per Track and Max Head number 116 mov ah, [di+DPT.bPchsHeads] 117 dec ah ; Max Head number 118 mov dl, [di+DPT.bPchsSectors] ; Sectors per Track 120 mov ax, [cs:bx+DRVPARAMS.wHeadsAndSectors] 121 dec ax ; Max Head number 122 xchg al, ah ; Heads now in AH 123 mov dx, ax ; Sectors per Track now in DL 119 124 mov al, COMMAND_INITIALIZE_DEVICE_PARAMETERS 120 125 mov bx, TIMEOUT_AND_STATUS_TO_WAIT(TIMEOUT_BSY, FLG_STATUS_BSY)
Note:
See TracChangeset
for help on using the changeset viewer.