Subversion Repositories Kolibri OS

Rev

Rev 3999 | Rev 4624 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3999 Rev 4291
Line 9... Line 9...
9
;;  KolibriOS 16-bit loader,                                    ;;
9
;;  KolibriOS 16-bit loader,                                    ;;
10
;;                        based on bootcode for MenuetOS        ;;
10
;;                        based on bootcode for MenuetOS        ;;
11
;;                                                              ;;
11
;;                                                              ;;
12
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
12
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 13... Line 13...
13
 
13
 
Line 14... Line 14...
14
$Revision: 3999 $
14
$Revision: 4291 $
15
 
15
 
16
 
16
 
Line 430... Line 430...
430
        mov     ax, 0xB103
430
        mov     ax, 0xB103
431
        mov     ecx, 1*10000h + 1*100h + 0x8f
431
        mov     ecx, 1*10000h + 1*100h + 0x8f
432
        mov     [es:BOOT_IDE_PI_16], cx
432
        mov     [es:BOOT_IDE_PI_16], cx
433
        xor     si, si  ; device index = 0
433
        xor     si, si  ; device index = 0
434
        int     0x1A
434
        int     0x1A
435
        jnc     .found
435
        jnc     .found_1
436
; c) class 1, subclass 1, programming interface 0x85
436
; c) class 1, subclass 1, programming interface 0x85
437
        mov     ax, 0xB103
437
        mov     ax, 0xB103
438
        mov     ecx, 1*10000h + 1*100h + 0x85
438
        mov     ecx, 1*10000h + 1*100h + 0x85
439
        mov     [es:BOOT_IDE_PI_16], cx
439
        mov     [es:BOOT_IDE_PI_16], cx
440
        xor     si, si  ; device index = 0
440
        xor     si, si  ; device index = 0
441
        int     0x1A
441
        int     0x1A
442
        jnc     .found
442
        jnc     .found_1
443
; d) class 1, subclass 1, programming interface 0x8A
443
; d) class 1, subclass 1, programming interface 0x8A
444
; This is a Parallel IDE Controller which uses IRQs 14 and 15.
444
; This is a Parallel IDE Controller which uses IRQs 14 and 15.
445
        mov     ax, 0xB103
445
        mov     ax, 0xB103
446
        mov     ecx, 1*10000h + 1*100h + 0x8A
446
        mov     ecx, 1*10000h + 1*100h + 0x8A
447
        mov     [es:BOOT_IDE_PI_16], cx
447
        mov     [es:BOOT_IDE_PI_16], cx
448
        xor     si, si  ; device index = 0
448
        xor     si, si  ; device index = 0
449
        int     0x1A
449
        int     0x1A
450
        jnc     .found ; Parallel IDE Controller
450
        jnc     .found_1 ; Parallel IDE Controller
451
; Controller not found!
451
; Controller not found!
452
        xor     ax, ax
452
        xor     ax, ax
453
        mov     [es:BOOT_IDE_PI_16], ax
453
        mov     [es:BOOT_IDE_PI_16], ax
454
        jmp     .nopci
454
        jmp     .nopci
455
;--------------------------------------
455
;--------------------------------------