Changeset 545 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeIO.asm
- Timestamp:
- Apr 19, 2013, 11:44:35 AM (12 years ago)
- google:author:
- aitotat@gmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeIO.asm
r536 r545 52 52 ;-------------------------------------------------------------------- 53 53 IdeIO_InputToALfromIdeRegisterInDL: 54 xor dh, dh ; IDE Register index now in DX 55 mov bx, dx ; and BX 54 xor dh, dh ; IDE Register index now in DX... 56 55 mov al, [di+DPT_ATA.bDevice] 57 56 cmp al, DEVICE_8BIT_XTIDE_REV2 58 57 jb SHORT .InputToALfromRegisterInDX ; Standard IDE controllers and XTIDE rev 1 58 mov bx, dx ; ...and BX for A0<->A3 swap and for memory mapped I/O 59 59 60 60 %ifdef MODULE_8BIT_IDE_ADVANCED … … 109 109 ; At this point remaining controllers (JRIDE, XTCF and ADP50L) all have a control 110 110 ; block offset of 8 or (8<<1) so we add 8 here and do the SHL 1 later if needed. 111 add dx, 8111 add dx, BYTE 8 112 112 cmp bl, DEVICE_8BIT_JRIDE_ISA 113 113 jb SHORT IdeIO_OutputALtoIdeRegisterInDL.ShlRegisterIndexInDXandOutputAL ; All XT-CF modes … … 127 127 ; a small trick since we only access Device Control Register at 128 128 ; offset 6h: Always clear A3 and set A0. 129 mov bh, dh ; Zero BH129 call AccessDPT_GetIdevarsToCSBX 130 130 add dx, [cs:bx+IDEVARS.wControlBlockPort] 131 131 xor dl, 1001b ; Clear A3, Set A0 … … 134 134 135 135 .OutputALtoControlBlockRegisterInDX: 136 call AccessDPT_GetIdevarsToCSBX ; *FIXME* Why is this call here but not in the above block?136 call AccessDPT_GetIdevarsToCSBX 137 137 add dx, [cs:bx+IDEVARS.wControlBlockPort] 138 138 out dx, al
Note:
See TracChangeset
for help on using the changeset viewer.