Changeset 267 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Device/IDE
- Timestamp:
- Feb 24, 2012, 8:34:41 PM (13 years ago)
- google:author:
- aitotat@gmail.com
- Location:
- trunk/XTIDE_Universal_BIOS/Src/Device/IDE
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeCommand.asm
r266 r267 19 19 call AccessDPT_GetDeviceControlByteToAL 20 20 or al, FLG_DEVCONTROL_SRST | FLG_DEVCONTROL_nIEN ; Set Reset bit 21 OUTPUT_AL_TO_IDE_CONTROL_BLOCK_REGISTER 21 OUTPUT_AL_TO_IDE_CONTROL_BLOCK_REGISTER DEVICE_CONTROL_REGISTER_out 22 22 mov ax, HSR0_RESET_WAIT_US 23 23 call Timer_DelayMicrosecondsFromAX … … 27 27 or al, FLG_DEVCONTROL_nIEN 28 28 and al, ~FLG_DEVCONTROL_SRST ; Clear reset bit 29 OUTPUT_AL_TO_IDE_CONTROL_BLOCK_REGISTER 29 OUTPUT_AL_TO_IDE_CONTROL_BLOCK_REGISTER DEVICE_CONTROL_REGISTER_out 30 30 mov ax, HSR1_RESET_WAIT_US 31 31 call Timer_DelayMicrosecondsFromAX … … 122 122 .DoNotSetInterruptInServiceFlag: 123 123 %endif 124 OUTPUT_AL_TO_IDE_CONTROL_BLOCK_REGISTER 124 OUTPUT_AL_TO_IDE_CONTROL_BLOCK_REGISTER DEVICE_CONTROL_REGISTER_out 125 125 126 126 ; Output Feature Number 127 127 mov al, [bp+IDEPACK.bFeatures] 128 OUTPUT_AL_TO_IDE_REGISTER 128 OUTPUT_AL_TO_IDE_REGISTER FEATURES_REGISTER_out 129 129 130 130 ; Output Sector Address High (only used by LBA48) … … 140 140 ; Output command 141 141 mov al, [bp+IDEPACK.bCommand] 142 OUTPUT_AL_TO_IDE_REGISTER 142 OUTPUT_AL_TO_IDE_REGISTER COMMAND_REGISTER_out 143 143 144 144 ; Wait until command completed … … 182 182 ; Select Master or Slave Drive 183 183 mov al, [bp+IDEPACK.bDrvAndHead] 184 OUTPUT_AL_TO_IDE_REGISTER 184 OUTPUT_AL_TO_IDE_REGISTER DRIVE_AND_HEAD_SELECT_REGISTER 185 185 mov bx, TIMEOUT_AND_STATUS_TO_WAIT(TIMEOUT_DRDY, FLG_STATUS_DRDY) 186 186 cmp BYTE [bp+IDEPACK.bCommand], COMMAND_IDENTIFY_DEVICE … … 204 204 ALIGN JUMP_ALIGN 205 205 IDEDEVICE%+OutputSectorCountAndAddress: 206 OUTPUT_AL_TO_IDE_REGISTER 206 OUTPUT_AL_TO_IDE_REGISTER SECTOR_COUNT_REGISTER 207 207 208 208 mov al, ah 209 OUTPUT_AL_TO_IDE_REGISTER 209 OUTPUT_AL_TO_IDE_REGISTER LBA_LOW_REGISTER 210 210 211 211 mov al, cl 212 OUTPUT_AL_TO_IDE_REGISTER 212 OUTPUT_AL_TO_IDE_REGISTER LBA_MIDDLE_REGISTER 213 213 214 214 mov al, ch 215 JUMP_TO_OUTPUT_AL_TO_IDE_REGISTER 215 JUMP_TO_OUTPUT_AL_TO_IDE_REGISTER LBA_HIGH_REGISTER -
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeError.asm
r266 r267 20 20 IDEDEVICE%+Error_GetBiosErrorCodeToAHfromPolledStatusRegisterInAL: 21 21 mov ah, al ; IDE Status Register to AH 22 INPUT_TO_AL_FROM_IDE_REGISTER ERROR_REGISTER_in 22 INPUT_TO_AL_FROM_IDE_REGISTER ERROR_REGISTER_in 23 24 %ifndef ASSEMBLE_SHARED_IDE_DEVICE_FUNCTIONS ; JR-IDE/ISA 25 jmp ContinueFromMemIdeError 26 %else 27 ContinueFromMemIdeError: 23 28 xchg al, ah ; Status Register now in AL, Error Register now in AH 24 29 … … 30 35 31 36 ; Fall to GetBiosErrorCodeToAHfromStatusAndErrorRegistersInAX 32 %ifndef ASSEMBLE_SHARED_IDE_DEVICE_FUNCTIONS ; JR-IDE/ISA 33 jmp GetBiosErrorCodeToAHfromStatusAndErrorRegistersInAX 34 %endif 37 35 38 36 39 ;-------------------------------------------------------------------- … … 46 49 ; BX 47 50 ;-------------------------------------------------------------------- 48 %ifdef ASSEMBLE_SHARED_IDE_DEVICE_FUNCTIONS49 51 ALIGN JUMP_ALIGN 50 52 GetBiosErrorCodeToAHfromStatusAndErrorRegistersInAX: -
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeWait.asm
r266 r267 9 9 ; Parameters: 10 10 ; DS:DI: Ptr to DPT (in RAMVARS segment) 11 ; SS:BP: Ptr to IDEPACK orPIOVARS11 ; SS:BP: Ptr to IDEPACK, PIOVARS or MEMPIOVARS 12 12 ; Returns: 13 13 ; AH: INT 13h Error Code
Note:
See TracChangeset
for help on using the changeset viewer.