Changeset 588 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH9h_HInit.asm
- Timestamp:
- Jun 3, 2015, 12:30:54 PM (10 years ago)
- google:author:
- krille_n_@hotmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH9h_HInit.asm
r567 r588 234 234 235 235 236 %ifdef MODULE_8BIT_IDE 237 ;-------------------------------------------------------------------- 238 ; AH9h_Enable8bitModeForDevice8bitAta 239 ; Parameters: 240 ; DS:DI: Ptr to DPT (in RAMVARS segment) 241 ; SS:BP: Ptr to IDEPACK 242 ; Returns: 243 ; AH: Int 13h return status 244 ; CF: Clear if successful or device is not DEVICE_8BIT_ATA 245 ; Set if failed to set 8-bit mode for DEVICE_8BIT_ATA 246 ; Corrupts registers: 247 ; AL, BX, CX, DX, SI 248 ;-------------------------------------------------------------------- 249 AH9h_Enable8bitModeForDevice8bitAta: 250 cmp BYTE [di+DPT_ATA.bDevice], DEVICE_8BIT_ATA 251 %ifdef MODULE_8BIT_IDE_ADVANCED 252 jne SHORT IgnoreInvalidCommandError 253 jmp AH23h_Enable8bitPioMode 254 %else ; ~MODULE_8BIT_IDE_ADVANCED 255 je AH23h_Enable8bitPioMode 256 ; Fall to IgnoreInvalidCommandError 257 %endif ; MODULE_8BIT_IDE_ADVANCED 258 %endif ; MODULE_8BIT_IDE 259 260 261 %ifdef MODULE_8BIT_IDE_ADVANCED 262 ;-------------------------------------------------------------------- 263 ; AH9h_SetModeFromALtoXTCF 264 ; Parameters: 265 ; AL: XT-CF Mode to set 266 ; DS:DI: Ptr to DPT (in RAMVARS segment) 267 ; SS:BP: Ptr to IDEPACK 268 ; Returns: 269 ; AH: Int 13h return status 270 ; CF: Clear if successful or device is not XT-CF 271 ; Set if failed to set mode for XT-CF 272 ; Corrupts registers: 273 ; AL, BX, CX, DX, SI 274 ;-------------------------------------------------------------------- 275 AH9h_SetModeFromALtoXTCF: 276 call AccessDPT_IsThisDeviceXTCF 277 jnc AH1Eh_ChangeXTCFmodeBasedOnModeInAL 278 ; Fall to IgnoreInvalidCommandError 279 %endif ; MODULE_8BIT_IDE_ADVANCED 280 281 236 282 ;-------------------------------------------------------------------- 237 283 ; SetErrorFlagFromALwithErrorCodeInAH … … 259 305 .NoErrorFlagToSet: 260 306 ret 261 262 263 %ifdef MODULE_8BIT_IDE_ADVANCED264 ;--------------------------------------------------------------------265 ; AH9h_SetModeFromALtoXTCF266 ; Parameters:267 ; AL: XT-CF Mode to set268 ; DS:DI: Ptr to DPT (in RAMVARS segment)269 ; SS:BP: Ptr to IDEPACK270 ; Returns:271 ; AH: Int 13h return status272 ; CF: Clear if successful or device is not XT-CF273 ; Set if failed to set mode for XT-CF274 ; Corrupts registers:275 ; AL, BX, CX, DX, SI276 ;--------------------------------------------------------------------277 AH9h_SetModeFromALtoXTCF:278 call AccessDPT_IsThisDeviceXTCF279 jne SHORT IgnoreInvalidCommandError280 jmp AH1Eh_ChangeXTCFmodeBasedOnModeInAL281 %endif ; MODULE_8BIT_IDE_ADVANCED282 283 284 %ifdef MODULE_8BIT_IDE285 ;--------------------------------------------------------------------286 ; AH9h_Enable8bitModeForDevice8bitAta287 ; Parameters:288 ; DS:DI: Ptr to DPT (in RAMVARS segment)289 ; SS:BP: Ptr to IDEPACK290 ; Returns:291 ; AH: Int 13h return status292 ; CF: Clear if successful or device is not DEVICE_8BIT_ATA293 ; Set if failed to set 8-bit mode for DEVICE_8BIT_ATA294 ; Corrupts registers:295 ; AL, BX, CX, DX, SI296 ;--------------------------------------------------------------------297 AH9h_Enable8bitModeForDevice8bitAta:298 cmp BYTE [di+DPT_ATA.bDevice], DEVICE_8BIT_ATA299 jne SHORT IgnoreInvalidCommandError300 jmp AH23h_Enable8bitPioMode301 %endif ; MODULE_8BIT_IDE
Note:
See TracChangeset
for help on using the changeset viewer.