Changeset 589 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs
- Timestamp:
- May 22, 2016, 12:26:57 PM (9 years ago)
- Location:
- trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/AccessDPT.asm
r588 r589 62 62 63 63 jnz SHORT .EnableDeviceIrq 64 oral, FLG_DEVCONTROL_nIEN ; Disable IRQ64 mov al, FLG_DEVCONTROL_nIEN ; Disable IRQ 65 65 .EnableDeviceIrq: 66 66 %else -
trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/CompatibleDPT.asm
r568 r589 231 231 232 232 xor dl, dl ; Clear DL for checksum 233 push bp 234 mov bp, StoswThenAddALandAHtoDL 233 235 234 236 ; DPTE.wBasePort 235 237 mov ax, [si+DPT.wBasePort] 236 call StoswThenAddALandAHtoDL; Bytes 0 and 1238 call bp ; Bytes 0 and 1 237 239 238 240 ; DPTE.wControlBlockPort 239 241 eMOVZX bx, [si+DPT.bIdevarsOffset] 240 242 mov ax, [cs:bx+IDEVARS.wControlBlockPort] 241 call StoswThenAddALandAHtoDL; Bytes 2 and 3243 call bp ; Bytes 2 and 3 242 244 243 245 ; DPTE.bDrvnhead and DPTE.bBiosVendor … … 245 247 call AccessDPT_GetDriveSelectByteToAL 246 248 xchg si, di 247 call StoswThenAddALandAHtoDL; Bytes 4 and 5249 call bp ; Bytes 4 and 5 248 250 249 251 ; DPTE.bIRQ and DPTE.bBlockSize 250 252 mov al, [cs:bx+IDEVARS.bIRQ] ; No way to define that we might not use IRQ 251 mov ah, [si+DPT_ATA.bBlockSize] 252 cmp ah, 1253 j beSHORT .DoNotSetBlockModeFlag253 mov ah, [si+DPT_ATA.bBlockSize] ; DPT_ATA.bBlockSize must never be zero! 254 sahf ; Only block size = 1 sets CF 255 jc SHORT .DoNotSetBlockModeFlag 254 256 or cl, FLG_BLOCK_MODE_ENABLED 255 257 .DoNotSetBlockModeFlag: 256 call StoswThenAddALandAHtoDL; Bytes 6 and 7258 call bp ; Bytes 6 and 7 257 259 258 260 ; DPTE.bDmaChannelAndType and DPTE.bPioMode … … 266 268 sbb cl, -1 ; FLG_FAST_PIO_ENABLED (if .wControllerID > 0) 267 269 .DoNotSetFastPioFlag: 268 call StoswThenAddALandAHtoDL; Bytes 8 and 9270 call bp ; Bytes 8 and 9 269 271 %endif 270 272 … … 279 281 .NoChsTranslationOrBitShiftTranslationSet: 280 282 xchg ax, cx 281 call StoswThenAddALandAHtoDL ; Bytes 10 and 11 283 call bp ; Bytes 10 and 11 284 pop bp 282 285 283 286 ; DPTE.wReserved (must be zero)
Note:
See TracChangeset
for help on using the changeset viewer.