Changeset 592 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/DrvDetectInfo.asm
- Timestamp:
- Jun 25, 2018, 10:29:27 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/DrvDetectInfo.asm
r591 r592 46 46 47 47 add si, BYTE ATA1.strModel ; DS:SI now points drive name (Clears CF) 48 %ifndef CHECK_FOR_UNUSED_ENTRYPOINTS 48 49 %if DRVDETECTINFO.szDrvName = 0 49 50 mov di, bx 50 51 %else 51 52 lea di, [bx+DRVDETECTINFO.szDrvName] ; ES:DI now points to name destination 53 %endif 52 54 %endif 53 55 mov cx, MAX_HARD_DISK_NAME_LENGTH / 2 ; Max number of WORDs allowed … … 78 80 ;-------------------------------------------------------------------- 79 81 DriveDetectInfo_ConvertDPTtoBX: 82 %ifndef CHECK_FOR_UNUSED_ENTRYPOINTS 80 83 %if DPT_DRVDETECTINFO_SIZE_MULTIPLIER = 2 81 84 %if BOOTVARS.rgDrvDetectInfo & 1 ; Should never be odd but better safe than sorry 82 lea ax, [di-RAMVARS_size]83 eSHL_IM ax, 184 add ax, BOOTVARS.rgDrvDetectInfo85 lea bx, [di-RAMVARS_size] 86 eSHL_IM bx, 1 87 add bx, BOOTVARS.rgDrvDetectInfo 85 88 %else 86 lea ax, [di-RAMVARS_size+(BOOTVARS.rgDrvDetectInfo/2)] 87 ; eSHL_IM ax, 1 ; *FIXME* For some reason this will cause NASM to crap itself. 88 shl ax, 1 ; So this will have to suffice for now. 89 lea bx, [di-RAMVARS_size+(BOOTVARS.rgDrvDetectInfo/2)] 90 eSHL_IM bx, 1 89 91 %endif 92 %else 93 %ifdef USE_186 94 lea bx, [di-RAMVARS_size] 95 imul bx, DPT_DRVDETECTINFO_SIZE_MULTIPLIER 96 add bx, BOOTVARS.rgDrvDetectInfo 90 97 %else 91 98 lea ax, [di-RAMVARS_size] ; subtract off base of DPTs … … 93 100 mul bl 94 101 add ax, BOOTVARS.rgDrvDetectInfo ; add base of DRVDETECTINFO 102 xchg bx, ax 95 103 %endif 96 xchg bx, ax 104 %endif 105 %endif 97 106 ret
Note:
See TracChangeset
for help on using the changeset viewer.