Changeset 38 for trunk/BOOTCODE/REGULAR/DRIVEIO.ASM
- Timestamp:
- Apr 11, 2014, 9:36:56 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BOOTCODE/REGULAR/DRIVEIO.ASM
r37 r38 153 153 154 154 DriveIO_GetHardDriveCount Proc Near Uses ds si 155 push ds 156 push si 155 push ds si 157 156 push 0040h 158 157 pop ds 159 158 mov si, 0075h 160 159 mov dh, ds:[si] ; 40:75 -> POST: Total Harddiscs == DL 161 pop si 162 pop ds 160 pop si ds 163 161 mov TotalHarddiscs, dh 164 162 ret … … 175 173 mov dl, 80h 176 174 DIOILUT_DriveLoop: 177 push dx 178 push di 175 push dx di 179 176 mov ah, 08h 180 177 int 13h ; DISK - GET DRIVE PARAMETERS … … 193 190 ; bit 16-23 of the LBA address 194 191 DIOILUT_Error: 195 pop di 196 pop dx 192 pop di dx 197 193 mov bptr ds:[di], ah ; Save that value 198 194 inc di ; Go to next BYTE … … 210 206 ; Rousseau: Enhanced to handle sector-numbers 127 and 255 besides 63 for LVM-info sectors. 211 207 ; Ugly, need to cleanup. 212 DriveIO_LVMAdjustToInfoSector Proc Near 208 DriveIO_LVMAdjustToInfoSector Proc Near Uses 213 209 214 210 … … 475 471 DriveIO_LVMAdjustToInfoSector EndP 476 472 477 drive 478 before_lvm_adjust 479 after_lvm_adjust 480 before_lvm_adjust_log 481 after_lvm_adjust_log 482 spt_used 473 drive: db 'drive : ',0 474 before_lvm_adjust: db 'before lvm adjust : ',0 475 after_lvm_adjust: db 'after lvm adjust : ',0 476 before_lvm_adjust_log: db 'before lvm logical adjust: ',0 477 after_lvm_adjust_log: db 'after lvm logical adjust : ',0 478 spt_used: db 'spt used : ',0 483 479 484 480 … … 555 551 556 552 ; Keeps DS:SI for caller 557 DriveIO_LoadTmpSector Proc Near 553 DriveIO_LoadTmpSector Proc Near Uses 558 554 mov si, offset TmpSector 559 555 call DriveIO_LoadSector ; Uses INT13X if needed … … 562 558 563 559 ; Keeps DS:SI for caller 564 DriveIO_SaveTmpSector Proc Near 560 DriveIO_SaveTmpSector Proc Near Uses 565 561 mov si, offset TmpSector 566 562 call DriveIO_SaveSector … … 630 626 631 627 ; Memory-Block that holds information for LBA-access via INT 13h 632 DriveIO_DAP 628 DriveIO_DAP: db 10h ; Size of paket 633 629 db 0 ; Reserved 634 630 DriveIO_DAP_NumBlocks dw 0 ; Number of blocks … … 656 652 mov bptr [si+5], dl 657 653 call MBR_Teletype 658 659 ; JWasm: cannot jump to local label in procedure. 660 ; Changed to halt here. 661 ;jmp MBRLE_Halt 662 DriveIO_GotLoadError_halt: 663 jmp DriveIO_GotLoadError_halt 654 jmp MBRLE_Halt 664 655 DriveIO_GotLoadError EndP 665 656 … … 1246 1237 1247 1238 ; Values for sectors per track table corresponding to DriveIO_IsHugeDrive return value. 1248 secs_per_track_table 1239 secs_per_track_table: db 63,127,255,255,255,255 1249 1240 1250 1241 ;db_lmlvm: db 'Load Master LVM -- disk: ',0
Note:
See TracChangeset
for help on using the changeset viewer.