Changeset 568 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Device
- Timestamp:
- Dec 21, 2014, 5:37:53 PM (10 years ago)
- google:author:
- krille_n_@hotmail.com
- Location:
- trunk/XTIDE_Universal_BIOS/Src/Device
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Device/Device.asm
r526 r568 47 47 %ifdef MODULE_SERIAL ; IDE + Serial 48 48 Device_FinalizeDPT: 49 ; needs to check IDEVARS vs. checking the DPT as the serial bit in the DPT is set in the Finalize routine 50 CMP_USING_IDEVARS_IN_CSBP_AND_JUMP_IF DEVICE_SERIAL_PORT, .FinalizeDptForSerialPortDevice 49 ; Needs to check IDEVARS vs. checking the DPT as the serial bit in the DPT is set in the Finalize routine 50 cmp BYTE [cs:bp+IDEVARS.bDevice], DEVICE_SERIAL_PORT 51 %ifdef USE_386 52 jne IdeDPT_Finalize 53 jmp SerialDPT_Finalize 54 %else 55 je SHORT .FinalizeDptForSerialPortDevice 51 56 jmp IdeDPT_Finalize 52 57 .FinalizeDptForSerialPortDevice: 53 58 jmp SerialDPT_Finalize 59 %endif 54 60 55 61 %else ; IDE … … 94 100 %ifdef MODULE_SERIAL ; IDE + Serial 95 101 Device_IdentifyToBufferInESSIwithDriveSelectByteInBH: 96 CMP_USING_IDEVARS_IN_CSBP_AND_JUMP_IF DEVICE_SERIAL_PORT, .IdentifyDriveFromSerialPort 102 cmp BYTE [cs:bp+IDEVARS.bDevice], DEVICE_SERIAL_PORT 103 %ifdef USE_386 104 jne IdeCommand_IdentifyDeviceToBufferInESSIwithDriveSelectByteInBH 105 jmp SerialCommand_IdentifyDeviceToBufferInESSIwithDriveSelectByteInBH 106 %else 107 je SHORT .IdentifyDriveFromSerialPort 97 108 jmp IdeCommand_IdentifyDeviceToBufferInESSIwithDriveSelectByteInBH 98 109 .IdentifyDriveFromSerialPort: 99 110 jmp SerialCommand_IdentifyDeviceToBufferInESSIwithDriveSelectByteInBH 111 %endif 100 112 101 113 %else ; IDE … … 122 134 ALIGN JUMP_ALIGN 123 135 Device_OutputCommandWithParameters: 124 TEST_USING_DPT_AND_JUMP_IF_SERIAL_DEVICE .OutputCommandToSerialPort 136 test BYTE [di+DPT.bFlagsHigh], FLGH_DPT_SERIAL_DEVICE 137 %ifdef USE_386 138 jz IdeCommand_OutputWithParameters 139 jmp SerialCommand_OutputWithParameters 140 %else 141 jnz SHORT .OutputCommandToSerialPort 125 142 jmp IdeCommand_OutputWithParameters 126 143 … … 128 145 .OutputCommandToSerialPort: 129 146 jmp SerialCommand_OutputWithParameters 147 %endif 130 148 131 149 %else ; IDE … … 147 165 %ifdef MODULE_SERIAL ; IDE + Serial 148 166 Device_SelectDrive: 149 TEST_USING_DPT_AND_JUMP_IF_SERIAL_DEVICE ReturnSuccessForSerialPort 167 test BYTE [di+DPT.bFlagsHigh], FLGH_DPT_SERIAL_DEVICE 168 %ifndef USE_386 169 jnz SHORT ReturnSuccessForSerialPort 150 170 jmp IdeCommand_SelectDrive 171 %else 172 jz IdeCommand_SelectDrive 173 ; Fall to ReturnSuccessForSerialPort 174 %endif 151 175 152 176 %else ; IDE -
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeTransfer.asm
r567 r568 189 189 mov cl, [bp+PIOVARS.bSectorsLeft] ; CH is already zero 190 190 push cx 191 %ifdef USE_186192 push CheckErrorsAfterTransferringLastBlock193 jmp [bp+PIOVARS.fnXfer] ; Transfer possibly partial block194 %else195 191 call [bp+PIOVARS.fnXfer] ; Transfer possibly partial block 196 192 jmp SHORT CheckErrorsAfterTransferringLastBlock 197 %endif198 193 199 194 … … 241 236 242 237 ; Convert ES:SI to physical address 243 %ifdef USE_186 238 %ifdef USE_386 239 240 mov dx, es 241 xor ax, ax 242 shld ax, dx, 4 243 shl dx, 4 244 add si, dx 245 adc al, ah 246 mov es, ax 247 248 %elifdef USE_186 244 249 ; Bytes EU Cycles(286) 245 250 mov ax, es ; 2 2
Note:
See TracChangeset
for help on using the changeset viewer.