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