Changeset 258 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH15h_HSize.asm
- Timestamp:
- Feb 22, 2012, 7:01:53 PM (13 years ago)
- google:author:
- gregli@hotmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH15h_HSize.asm
r257 r258 15 15 ; Returns with INTPACK: 16 16 ; If succesfull: 17 ; AH: 3 (Hard disk accessible) 17 ; AH: Hard Disk: 3 (Hard disk accessible) 18 ; Floppy: 1 (Floppy disk, without change detection) 18 19 ; CX:DX: Total number of sectors 19 20 ; CF: 0 … … 25 26 ALIGN JUMP_ALIGN 26 27 AH15h_HandlerForReadDiskDriveSize: 28 %ifdef MODULE_SERIAL_FLOPPY 29 mov cl, 1 ; 1 = floppy disk, no change detection 30 31 test dl,dl ; DO NOT store the sector count if this is a 32 jns .FloppyDrive ; floppy disk, some OS's depend on this not 33 ; happening for floppies in order to boot. 34 %endif 35 27 36 call AH15h_GetSectorCountToBXDXAX 28 mov [bp+IDEPACK.intpack+INTPACK.cx], dx ; HIWORD to CX29 mov [bp+IDEPACK.intpack+INTPACK.dx], ax ; LOWORD to DX37 mov [bp+IDEPACK.intpack+INTPACK.cx], dx ; HIWORD to CX 38 xchg [bp+IDEPACK.intpack+INTPACK.dx], ax ; LOWORD to DX, AL gets drive number 30 39 31 xor ah, ah 32 call Int13h_SetErrorCodeToBdaAndToIntpackInSSBPfromAH ; Store success to BDA and CF 33 mov BYTE [bp+IDEPACK.intpack+INTPACK.ah], 3 ; Type code = Hard disk 40 xor ah, ah 41 %ifdef MODULE_SERIAL_FLOPPY 42 mov cl, 3 ; 3 = Hard Disk Accessible 43 .FloppyDrive: 44 45 call Int13h_SetErrorCodeToBdaAndToIntpackInSSBPfromAH_ALHasDriveNumber ; Store success to BDA and CF 46 mov BYTE [bp+IDEPACK.intpack+INTPACK.ah], cl 47 %else 48 call Int13h_SetErrorCodeToBdaAndToIntpackInSSBPfromAH ; Store success to BDA and CF 49 mov BYTE [bp+IDEPACK.intpack+INTPACK.ah], 3 50 %endif 51 34 52 jmp Int13h_ReturnFromHandlerWithoutStoringErrorCode 35 53
Note:
See TracChangeset
for help on using the changeset viewer.