Changeset 266 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeCommand.asm
- Timestamp:
- Feb 24, 2012, 3:06:16 PM (13 years ago)
- google:author:
- aitotat@gmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeCommand.asm
r249 r266 56 56 mov [di+DPT.bIdevarsOffset], bp 57 57 mov BYTE [di+DPT_ATA.bSetBlock], 1 ; Block = 1 sector 58 %ifdef ASSEMBLE_SHARED_IDE_DEVICE_FUNCTIONS 58 59 call IdeDPT_StoreReversedAddressLinesFlagIfNecessary 60 %endif 59 61 60 62 ; Wait until drive motors have reached max speed … … 108 110 ; Output Device Control Byte to enable or disable interrupts 109 111 mov al, [bp+IDEPACK.bDeviceControl] 112 %ifdef ASSEMBLE_SHARED_IDE_DEVICE_FUNCTIONS ; JR-IDE/ISA 110 113 test al, FLG_DEVCONTROL_nIEN ; Interrupts disabled? 111 114 jnz SHORT .DoNotSetInterruptInServiceFlag … … 118 121 pop ds 119 122 .DoNotSetInterruptInServiceFlag: 123 %endif 120 124 OUTPUT_AL_TO_IDE_CONTROL_BLOCK_REGISTER DEVICE_CONTROL_REGISTER_out 121 125 … … 127 131 eMOVZX ax, BYTE [bp+IDEPACK.bLbaLowExt] 128 132 mov cx, [bp+IDEPACK.wLbaMiddleAndHighExt] 129 call OutputSectorCountAndAddress133 call IDEDEVICE%+OutputSectorCountAndAddress 130 134 131 135 ; Output Sector Address Low 132 136 mov ax, [bp+IDEPACK.wSectorCountAndLbaLow] 133 137 mov cx, [bp+IDEPACK.wLbaMiddleAndHigh] 134 call OutputSectorCountAndAddress138 call IDEDEVICE%+OutputSectorCountAndAddress 135 139 136 140 ; Output command … … 198 202 ; AL, BX, DX 199 203 ;-------------------------------------------------------------------- 200 %ifdef ASSEMBLE_SHARED_IDE_DEVICE_FUNCTIONS 201 ALIGN JUMP_ALIGN 202 OutputSectorCountAndAddress: 204 ALIGN JUMP_ALIGN 205 IDEDEVICE%+OutputSectorCountAndAddress: 203 206 OUTPUT_AL_TO_IDE_REGISTER SECTOR_COUNT_REGISTER 204 207 … … 211 214 mov al, ch 212 215 JUMP_TO_OUTPUT_AL_TO_IDE_REGISTER LBA_HIGH_REGISTER 213 %endif
Note:
See TracChangeset
for help on using the changeset viewer.