Subversion Repositories Kolibri OS

Rev

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

Rev 94 Rev 95
Line 405... Line 405...
405
        call    reserve_hd1
405
        call    reserve_hd1
406
        mov     [hdbase], 0x170
406
        mov     [hdbase], 0x170
407
        mov     [hdid], 0x10
407
        mov     [hdid], 0x10
408
        push    4
408
        push    4
409
fs_OnHd:
409
fs_OnHd:
-
 
410
        call    reserve_hd_channel
410
        pop     eax
411
        pop     eax
411
        mov     [hdpos], eax
412
        mov     [hdpos], eax
412
        cmp     ecx, 0x100
413
        cmp     ecx, 0x100
413
        jae     .nf
414
        jae     .nf
414
        cmp     cl, [0x40001+eax]
415
        cmp     cl, [0x40001+eax]
415
        jbe     @f
416
        jbe     @f
416
.nf:
417
.nf:
-
 
418
        call    free_hd_channel
417
        and     [hd1_status], 0
419
        and     [hd1_status], 0
418
        mov     dword [esp+36], 5       ; not found
420
        mov     dword [esp+36], 5       ; not found
419
        ret
421
        ret
420
@@:
422
@@:
421
        mov     [fat32part], ecx
423
        mov     [fat32part], ecx
Line 428... Line 430...
428
        mov     eax, [ebx]
430
        mov     eax, [ebx]
429
        cmp     eax, fs_NumHdServices
431
        cmp     eax, fs_NumHdServices
430
        jae     .not_impl
432
        jae     .not_impl
431
        add     ebx, 4
433
        add     ebx, 4
432
        call    dword [fs_HdServices + eax*4]
434
        call    dword [fs_HdServices + eax*4]
-
 
435
        call    free_hd_channel
433
        and     [hd1_status], 0
436
        and     [hd1_status], 0
434
        mov     [esp+36], eax
437
        mov     [esp+36], eax
435
        mov     [esp+24], ebx
438
        mov     [esp+24], ebx
436
        ret
439
        ret
437
.not_impl:
440
.not_impl:
-
 
441
        call    free_hd_channel
438
        and     [hd1_status], 0
442
        and     [hd1_status], 0
439
        mov     dword [esp+36], 2       ; not implemented
443
        mov     dword [esp+36], 2       ; not implemented
440
        ret
444
        ret
Line 441... Line 445...
441
 
445
 
Line 473... Line 477...
473
        call    reserve_cd
477
        call    reserve_cd
474
        mov  [ChannelNumber],2
478
        mov  [ChannelNumber],2
475
        mov  [DiskNumber],1
479
        mov  [DiskNumber],1
476
        push    0
480
        push    0
477
fs_OnCd:
481
fs_OnCd:
478
 
-
 
-
 
482
        call    reserve_cd_channel
479
        pop     eax
483
        pop     eax
480
        mov     [hdpos], eax
484
        mov     [hdpos], eax
481
        cmp     ecx, 0x100
485
        cmp     ecx, 0x100
482
        jae     .nf
486
        jae     .nf
483
        push    cx bx
487
        push    cx bx
Line 487... Line 491...
487
        test    bl,2
491
        test    bl,2
488
        pop     bx cx
492
        pop     bx cx
Line 489... Line 493...
489
 
493
 
490
        jnz     @f
494
        jnz     @f
-
 
495
.nf:
491
.nf:
496
        call    free_cd_channel
492
        and    [cd_status], 0
497
        and    [cd_status], 0
493
        mov     dword [esp+36], 5       ; not found
498
        mov     dword [esp+36], 5       ; not found
494
        ret
499
        ret
495
@@:
500
@@:
Line 499... Line 504...
499
        mov     eax, [ebx]
504
        mov     eax, [ebx]
500
        cmp     eax,fs_NumCdServices
505
        cmp     eax,fs_NumCdServices
501
        jae      .not_impl
506
        jae      .not_impl
502
        add     ebx, 4
507
        add     ebx, 4
503
        call    dword [fs_CdServices + eax*4]
508
        call    dword [fs_CdServices + eax*4]
-
 
509
        call    free_cd_channel
504
        and     [cd_status], 0
510
        and     [cd_status], 0
505
        mov     [esp+36], eax
511
        mov     [esp+36], eax
506
        mov     [esp+24], ebx
512
        mov     [esp+24], ebx
507
        ret
513
        ret
508
.not_impl:
514
.not_impl:
-
 
515
        call    free_cd_channel
509
        and     [cd_status], 0
516
        and     [cd_status], 0
510
        mov     dword [esp+36], 2       ; not implemented
517
        mov     dword [esp+36], 2       ; not implemented
511
        ret
518
        ret
Line 512... Line 519...
512
 
519