Changeset 617 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Device
- Timestamp:
- Aug 10, 2021, 7:27:30 AM (3 years ago)
- Location:
- trunk/XTIDE_Universal_BIOS/Src/Device
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Device/Device.asm
r613 r617 164 164 165 165 ;-------------------------------------------------------------------- 166 ; Device_ReadLBAlowRegisterToAL 167 ; Returns LBA low register / Sector number register contents. 168 ; Note that this returns valid value only after transfer command (read/write/verify) 169 ; has stopped to an error. Do not call this otherwise. 170 ; Parameters: 171 ; DS:DI: Ptr to DPT (in RAMVARS segment) 172 ; Returns: 173 ; AL: Byte read from the device register 174 ; Corrupts registers: 175 ; BX, DX 176 ;-------------------------------------------------------------------- 177 ;%ifdef MODULE_SERIAL ; IDE + Serial 178 ;ALIGN JUMP_ALIGN 179 ;Device_ReadLBAlowRegisterToAL: 180 ; test BYTE [di+DPT.bFlagsHigh], FLGH_DPT_SERIAL_DEVICE 181 ;%ifdef USE_386 182 ; jz IdeCommand_ReadLBAlowRegisterToAL 183 ; jmp SerialCommand_ReadLBAlowRegisterToAL 184 ;%else 185 ; jnz SHORT .ReadFromSerialPort 186 ; jmp IdeCommand_ReadLBAlowRegisterToAL 187 188 ;ALIGN JUMP_ALIGN 189 ;.ReadFromSerialPort: 190 ; jmp SerialCommand_ReadLBAlowRegisterToAL 191 ;%endif 192 193 ;%else ; IDE only 194 Device_ReadLBAlowRegisterToAL EQU IdeCommand_ReadLBAlowRegisterToAL 195 ;%endif 196 ; TODO: For now we simply assume serial device do not produce verify errors 197 198 199 ;-------------------------------------------------------------------- 166 200 ; Device_SelectDrive 167 201 ; Parameters: -
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeCommand.asm
r612 r617 288 288 OUTPUT_AL_TO_IDE_REGISTER LBA_HIGH_REGISTER 289 289 ret 290 291 292 ;-------------------------------------------------------------------- 293 ; IdeCommand_ReadLBAlowRegisterToAL 294 ; Returns LBA low register / Sector number register contents. 295 ; Note that this returns valid value only after transfer command (read/write/verify) 296 ; has stopped to an error. Do not call this otherwise. 297 ; Parameters: 298 ; DS:DI: Ptr to DPT (in RAMVARS segment) 299 ; Returns: 300 ; AL: Byte read from the register 301 ; Corrupts registers: 302 ; BX, DX 303 ;-------------------------------------------------------------------- 304 ALIGN JUMP_ALIGN 305 IdeCommand_ReadLBAlowRegisterToAL: 306 ; HOB bit (defined in 48-bit address feature set) should be zero by default 307 ; so we get the correct value for CHS, LBA28 and LBA48 drives and commands 308 INPUT_TO_AL_FROM_IDE_REGISTER LBA_LOW_REGISTER 309 ret
Note:
See TracChangeset
for help on using the changeset viewer.