Changeset 227 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH8h_HParams.asm
- Timestamp:
- Jan 29, 2012, 1:33:44 PM (13 years ago)
- google:author:
- aitotat@gmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH8h_HParams.asm
r173 r227 22 22 ; CF: 0 if successfull, 1 if error 23 23 ;-------------------------------------------------------------------- 24 ALIGN JUMP_ALIGN25 24 AH8h_HandlerForReadDiskDriveParameters: 26 25 call RamVars_IsDriveHandledByThisBIOS … … 56 55 ; AX, BX 57 56 ;-------------------------------------------------------------------- 58 ALIGN JUMP_ALIGN59 57 AH8h_GetDriveParameters: 60 call AccessDPT_GetLCHS ; AX=sectors, BX=cylinders, DX=heads58 call AccessDPT_GetLCHStoAXBLBH 61 59 ; Fall to .PackReturnValues 62 60 … … 66 64 ; .PackReturnValues 67 65 ; Parameters: 68 ; AX: Number of L-CHS sectors per track (1...63)69 ; B X: Number of L-CHS cylinders available (1...1024)70 ; DX: Number of L-CHS heads (1...256)66 ; AX: Number of L-CHS cylinders available (1...1024) 67 ; BL: Number of L-CHS heads (1...256) 68 ; BH: Number of L-CHS sectors per track (1...63) 71 69 ; DS: RAMVARS segment 72 70 ; Returns: … … 80 78 ;-------------------------------------------------------------------- 81 79 .PackReturnValues: 82 dec bx ; Cylinder count tolast cylinder83 dec dx ; Head count to max head number84 mov dh, dl ; Max head number to DH85 mov ch, bl ; Cylinder bits 7...0 to CH86 mov cl, bh ; Cylinder bits 9...8 to CL87 eROR_IM cl, 2 ; Cylinder bits 9...8 to CL bits 7...688 or cl, al ; Sectors per track to CL bits 5...080 dec ax ; AX = Number of last cylinder 81 dec bx ; BL = Number of last head 82 xchg cx, ax 83 xchg cl, ch ; CH = Last cylinder bits 0...7 84 eROR_IM cl, 2 ; CL bits 6...7 = Last cylinder bits 8...9 85 or cl, bh ; CL bits 0...5 = Sectors per track 86 mov dh, bl ; DH = Maximum head number 89 87 jmp RamVars_GetCountOfKnownDrivesToDL
Note:
See TracChangeset
for help on using the changeset viewer.