Changeset 158 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs
- Timestamp:
- May 2, 2011, 9:41:51 AM (14 years ago)
- google:author:
- aitotat
- Location:
- trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/AccessDPT.asm
r150 r158 34 34 AccessDPT_GetDeviceControlByteToAL: 35 35 xor al, al 36 test BYTE [di+DPT. wFlags], FLG_DPT_ENABLE_IRQ36 test BYTE [di+DPT.bFlagsLow], FLGL_DPT_ENABLE_IRQ 37 37 jnz SHORT .EnableDeviceIrq 38 38 or al, FLG_DEVCONTROL_nIEN ; Disable IRQ … … 52 52 ALIGN JUMP_ALIGN 53 53 AccessDPT_GetAddressingModeForWordLookToBX: 54 mov bl, [di+DPT. wFlags]55 and bx, BYTE MASK _DPT_ADDRESSING_MODE54 mov bl, [di+DPT.bFlagsLow] 55 and bx, BYTE MASKL_DPT_ADDRESSING_MODE 56 56 eSHR_IM bx, ADDRESSING_MODE_FIELD_POSITION-1 57 57 ret … … 72 72 AccessDPT_GetLCHSfromPCHS: 73 73 xchg ax, cx 74 mov cl, [di+DPT. wFlags]75 and cl, MASK _DPT_CHS_SHIFT_COUNT ; Load shift count74 mov cl, [di+DPT.bFlagsLow] 75 and cl, MASKL_DPT_CHS_SHIFT_COUNT ; Load shift count 76 76 mov bx, [di+DPT.wPchsCylinders] ; Load P-CHS cylinders 77 77 shr bx, cl ; Shift to L-CHS cylinders … … 115 115 eMOVZX bx, [di+DPT.bIdevarsOffset] ; CS:BX points to IDEVARS 116 116 add bx, BYTE IDEVARS.drvParamsMaster ; CS:BX points to Master Drive DRVPARAMS 117 test BYTE [di+DPT. wFlags], FLG_DPT_SLAVE117 test BYTE [di+DPT.bFlagsLow], FLGL_DPT_SLAVE 118 118 jz SHORT .ReturnPointerToDRVPARAMS 119 119 add bx, BYTE DRVPARAMS_size ; CS:BX points to Slave Drive DRVPARAMS -
trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/CreateDPT.asm
r150 r158 60 60 cmp [cs:bp+IDEVARS.bIRQ], ah ; Interrupts enabled? 61 61 jz SHORT .StoreFlags ; If not, do not set interrupt flag 62 or al, FLG _DPT_ENABLE_IRQ62 or al, FLGL_DPT_ENABLE_IRQ 63 63 .StoreFlags: 64 64 mov [di+DPT.wFlags], ax … … 172 172 cmp BYTE [es:si+ATA1.bBlckSize], 1 ; Max block size in sectors 173 173 jbe SHORT .BlockModeTransfersNotSupported 174 or WORD [di+DPT.wFlags], FLG_DPT_BLOCK_MODE_SUPPORTED174 or BYTE [di+DPT.bFlagsHigh], FLGH_DPT_BLOCK_MODE_SUPPORTED 175 175 .BlockModeTransfersNotSupported: 176 176 ; Fall to .StoreDeviceSpecificParameters -
trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/FindDPT.asm
r152 r158 98 98 ALIGN JUMP_ALIGN 99 99 IterateToSlaveAtPortCallback: 100 test BYTE [di+DPT. wFlags], FLG_DPT_SLAVE ; Clears CF100 test BYTE [di+DPT.bFlagsLow], FLGL_DPT_SLAVE ; Clears CF 101 101 jnz SHORT CompareBasePortAddress 102 102 ret ; Wrong DPT … … 104 104 ALIGN JUMP_ALIGN 105 105 IterateToMasterAtPortCallback: 106 test BYTE [di+DPT. wFlags], FLG_DPT_SLAVE106 test BYTE [di+DPT.bFlagsLow], FLGL_DPT_SLAVE 107 107 jnz SHORT ReturnWrongDPT ; Return if slave drive 108 108 … … 146 146 ALIGN JUMP_ALIGN 147 147 IterateToDptWithInterruptInServiceFlagSet: 148 test WORD [di+DPT.wFlags], FLG_DPT_INTERRUPT_IN_SERVICE148 test BYTE [di+DPT.bFlagsHigh], FLGH_DPT_INTERRUPT_IN_SERVICE 149 149 jz SHORT ReturnWrongDPT 150 150 stc ; Set CF since wanted DPT
Note:
See TracChangeset
for help on using the changeset viewer.