Changeset 530 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers
- Timestamp:
- Mar 28, 2013, 1:36:23 PM (12 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
r526 r530 58 58 .SkipEddConfigurationParameters: 59 59 mov [si+EDRIVE_INFO.wSize], cx 60 mov WORD [si+EDRIVE_INFO.wFlags], FLG_DMA_BOUNDARY_ERRORS_HANDLED_BY_BIOS | FLG_CHS_INFORMATION_IS_VALID60 mov WORD [si+EDRIVE_INFO.wFlags], FLG_DMA_BOUNDARY_ERRORS_HANDLED_BY_BIOS 61 61 62 62 ; Store total sector count 63 63 mov [si+EDRIVE_INFO.qwTotalSectors], ax 64 xor ax, ax ; Return with success65 64 mov [si+EDRIVE_INFO.qwTotalSectors+2], dx 66 65 mov [si+EDRIVE_INFO.qwTotalSectors+4], bx 67 mov [si+EDRIVE_INFO.qwTotalSectors+6], ax ; Always zero 66 xor cx, cx 67 mov [si+EDRIVE_INFO.qwTotalSectors+6], cx ; Always zero 68 68 mov WORD [si+EDRIVE_INFO.wSectorSize], 512 69 69 70 ; Store P-CHS 70 ; Store P-CHS. Based on phoenix specification this is returned only if 71 ; total sector count is 15,482,880 or less. 72 sub ax, 4001h 73 sbb dx, 0ECh 74 sbb bx, cx ; Zero 75 jnc SHORT .ReturnWithSuccess ; More than EC4000h 76 or WORD [si+EDRIVE_INFO.wFlags], FLG_CHS_INFORMATION_IS_VALID 77 71 78 eMOVZX dx, BYTE [es:di+DPT.bPchsHeads] 72 xor ax, ax ; Also a return code73 79 mov [si+EDRIVE_INFO.dwHeads], dx 74 mov [si+EDRIVE_INFO.dwHeads+2], ax80 mov [si+EDRIVE_INFO.dwHeads+2], cx 75 81 76 82 mov dl, [es:di+DPT.bPchsSectorsPerTrack] 77 83 mov [si+EDRIVE_INFO.dwSectorsPerTrack], dx 78 mov [si+EDRIVE_INFO.dwSectorsPerTrack+2], ax84 mov [si+EDRIVE_INFO.dwSectorsPerTrack+2], cx 79 85 80 86 mov dx, [es:di+DPT.wPchsCylinders] 81 87 mov [si+EDRIVE_INFO.dwCylinders], dx 82 mov [si+EDRIVE_INFO.dwCylinders+2], ax88 mov [si+EDRIVE_INFO.dwCylinders+2], cx 83 89 90 .ReturnWithSuccess: 91 xor ax, ax 84 92 .ReturnWithError: 85 93 jmp Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH
Note:
See TracChangeset
for help on using the changeset viewer.