Changeset 618 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h
- Timestamp:
- Aug 31, 2021, 2:17:47 PM (3 years ago)
- Location:
- trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH23h_HFeatures.asm
r615 r618 106 106 ; Enable/disable advanced power management command can be used to scale 107 107 ; power consumption and performance. Drive supporting Enable APM might not 108 ; support Disable A MPso we set the drive to max performance if stand by108 ; support Disable APM so we set the drive to max performance if stand by 109 109 ; timer value is 0 (idle/standby disabled) 110 110 ; … … 126 126 test dl, dl 127 127 jnz SHORT .EnablePowerSave 128 dec dx 129 dec dx ; DL = FEh = Maximum performance 130 jmp AH23h_SetControllerFeatures 131 128 mov dl, 0FEh ; Maximum performance 129 SKIP2B f 130 132 131 ; TODO: We should add power management level to IDEVARS to be adjustable with xtidecfg 133 132 .EnablePowerSave: 134 133 mov dl, 0BFh ; For Toshiba 1.8" HDD: 80h...BFh = Mode 1 135 jmp AH23h_SetControllerFeatures136 %endif ; %ifdefMODULE_POWER_MANAGEMENT134 jmp SHORT AH23h_SetControllerFeatures 135 %endif ; MODULE_POWER_MANAGEMENT -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH4h_HVerify.asm
r617 r618 65 65 ; Parameters: 66 66 ; AH: INT 13h error code 67 ; CX: Number of sectors that was meant to we verified67 ; CX: Number of sectors that was meant to be verified 68 68 ; DS:DI: Ptr to DPT (in RAMVARS segment) 69 69 ; SS:BP: Ptr to IDEPACK … … 74 74 ALIGN JUMP_ALIGN 75 75 AH4h_CalculateNumberOfSuccessfullyVerifiedSectors: 76 xchg cx, ax ; Store error code to CL76 xchg cx, ax ; Store error code to CH 77 77 call Device_ReadLBAlowRegisterToAL 78 mov ah, [bp+IDEPACK.bLbaLow] 79 sub al, ah ; AL = sector address with verify failure - starting sector address 78 sub al, [bp+IDEPACK.bLbaLow] ; AL = sector address with verify failure - starting sector address 80 79 xor ah, ah 81 xchg cx, ax ; Number of successfully verified sectors in CX, error code in AH80 xchg cx, ax ; Number of successfully verified sectors in CX, error code in AH 82 81 stc 83 82 ret -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH9h_HInit.asm
r616 r618 204 204 mov dl, [cs:ROMVARS.bIdleTimeout] 205 205 push dx 206 push dx207 206 test dh, FLGH_DPT_APM_SUPPORTED 208 207 jz SHORT .NoAdvancedPowerManagementSupport … … 213 212 ; COMMAND_STAND_BY seemed to do the trick 214 213 pop dx 214 push dx 215 215 mov al, COMMAND_STAND_BY 216 216 mov bx, TIMEOUT_AND_STATUS_TO_WAIT(TIMEOUT_BSY, FLG_STATUS_BSY) -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/EBIOS/AH44h_ExtendedVerifySectors.asm
r617 r618 41 41 AH44h_HandlerForExtendedVerifySectors: 42 42 call Prepare_ByLoadingDapToESSIandVerifyingForTransfer 43 push WORD [es:si+DAP.wSectorCount] ; Store for successful lnumber of sectors transferred43 push WORD [es:si+DAP.wSectorCount] ; Store for successful number of sectors transferred 44 44 mov ah, [cs:bx+g_rgbVerifyCommandLookup] 45 45 mov bx, TIMEOUT_AND_STATUS_TO_WAIT(TIMEOUT_DRQ, FLG_STATUS_DRDY) -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Tools/Address.asm
r592 r618 39 39 mov bl, 3Fh ; Load sector number mask 40 40 and bl, cl ; Sector number now in BL 41 %ifndef USE_186 41 42 sub cl, bl ; Remove from cylinder number high 42 eROL_IM cl, 2 ; High bits to beginning 43 rol cl, 1 ; High bits to beginning 44 rol cl, 1 45 %else 46 shr cl, 6 47 %endif 43 48 mov bh, dh ; Copy Head number 44 49 xchg cl, ch ; Cylinder number now in CX
Note:
See TracChangeset
for help on using the changeset viewer.