Changeset 364 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Boot
- Timestamp:
- Mar 27, 2012, 4:21:58 PM (13 years ago)
- google:author:
- aitotat@gmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuInfo.asm
r363 r364 17 17 ; ES:BX: Ptr to BOOTMENUINFO (if successful) 18 18 ; Corrupts registers: 19 ; AX, CX, DX, DI19 ; AX, BX, CX, DX, DI 20 20 ;-------------------------------------------------------------------- 21 21 BootMenuInfo_CreateForHardDisk: 22 22 call BootMenuInfo_ConvertDPTtoBX ; ES:BX now points to new BOOTMENUINFO 23 push ds ; Preserve RAMVARS...24 push si ; ...and SI25 26 push es ; ES to be copied to DS27 28 %ifdef MODULE_ADVANCED_ATA29 ; Copy DPT_ADVANCED_ATA to BOOTMENUINFO to keep DPTs small.30 ; DPT_ADVANCED_ATA has variables that are only needed during initialization.31 mov ax, [di+DPT_ADVANCED_ATA.wIdeBasePort]32 mov [es:bx+BOOTMENUINFO.wIdeBasePort], ax33 mov dx, [di+DPT_ADVANCED_ATA.wMinPioActiveTimeNs]34 mov [es:bx+BOOTMENUINFO.wMinPioActiveTimeNs], dx35 36 mov ax, [di+DPT_ADVANCED_ATA.wMinPioRecoveryTimeNs]37 mov cx, [di+DPT_ADVANCED_ATA.wControllerID]38 mov dx, [di+DPT_ADVANCED_ATA.wControllerBasePort]39 pop ds ; ES copied to DS40 mov [bx+BOOTMENUINFO.wMinPioRecoveryTimeNs], ax41 mov [bx+BOOTMENUINFO.wControllerID], cx42 mov [bx+BOOTMENUINFO.wControllerBasePort], dx43 44 %else45 pop ds ; ES copied to DS46 %endif47 23 48 24 ; Store Drive Name 25 push ds ; Preserve RAMVARS 26 push si 27 28 push es ; ES copied to DS 29 pop ds 30 49 31 add si, BYTE ATA1.strModel ; DS:SI now points drive name 50 32 lea di, [bx+BOOTMENUINFO.szDrvName] ; ES:DI now points to name destination … … 60 42 pop si 61 43 pop ds 44 62 45 ret 63 46 … … 72 55 ; CX 73 56 ;-------------------------------------------------------------------- 57 ALIGN JUMP_ALIGN 74 58 BootMenuInfo_GetTotalSectorCount: 75 59 test BYTE [di+DPT.bFlagsLow], FLG_DRVNHEAD_LBA … … 117 101 xchg ax, bx 118 102 pop ax 119 ret 103 ret
Note:
See TracChangeset
for help on using the changeset viewer.