Changeset 324 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/EBIOS
- Timestamp:
- Mar 11, 2012, 6:45:03 PM (13 years ago)
- google:author:
- aitotat@gmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/EBIOS/AH48h_GetExtendedDriveParameters.asm
r294 r324 45 45 mov WORD [si+EDRIVE_INFO.wFlags], FLG_DMA_BOUNDARY_ERRORS_HANDLED_BY_BIOS 46 46 47 push ds ; Move CS to DS to avoid segment overrides 48 push cs 49 pop ds 50 51 ; Limit LBA if necessary 52 test BYTE [di+DRVPARAMS.wFlags], FLG_DRVPARAMS_USERLBA 53 jz SHORT .StoreTotalSectorsFromBXDXAX 54 test bx, bx 55 jnz SHORT .LimitTotalSectors 56 cmp dx, [di+DRVPARAMS.dwMaximumLBA+2] 57 jb SHORT .StoreTotalSectorsFromBXDXAX ; Real size less than max 58 ja SHORT .LimitTotalSectors 59 cmp ax, [di+DRVPARAMS.dwMaximumLBA] 60 jbe SHORT .StoreTotalSectorsFromBXDXAX ; Real size less than max 61 62 .LimitTotalSectors: 63 xor bx, bx 64 mov ax, [di+DRVPARAMS.dwMaximumLBA] 65 mov dx, [di+DRVPARAMS.dwMaximumLBA+2] 66 67 .StoreTotalSectorsFromBXDXAX: 68 pop ds ; Restore DS from the change above 47 ; Store total sector count 69 48 mov [si+EDRIVE_INFO.qwTotalSectors], ax 70 49 xor ax, ax ; Return with success
Note:
See TracChangeset
for help on using the changeset viewer.