Subversion Repositories Kolibri OS

Rev

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

Rev 536 Rev 585
Line 1... Line 1...
1
$Revision: 536 $
1
$Revision: 585 $
2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3
;;                                                              ;;
3
;;                                                              ;;
4
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
4
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
5
;; Distributed under terms of the GNU General Public License    ;;
5
;; Distributed under terms of the GNU General Public License    ;;
6
;;                                                              ;;
6
;;                                                              ;;
Line 487... Line 487...
487
        pop     ebp
487
	pop	ebp
488
        and     dword [edi+4], 0
488
	and	dword [edi+4], 0
489
        pop     edi
489
	pop	edi
490
        xor     eax, eax
490
	xor	eax, eax
491
        ret
491
	ret
-
 
492
;----------------------------------------------------------------
-
 
493
fs_EjectDeviceTray:
-
 
494
    call  clear_CD_cache
-
 
495
    call  allow_medium_removal
-
 
496
    call  EjectMedium
-
 
497
    ret
-
 
498
;----------------------------------------------------------------
-
 
499
fs_LoadDeviceTray:
-
 
500
    call  LoadMedium
-
 
501
    ret
-
 
502
;----------------------------------------------------------------
Line 492... Line 503...
492
 
503
 
-
 
504
cd_find_lfn:
493
cd_find_lfn:
505
       mov   [cd_appl_data],0
494
; in: esi+ebp -> name
506
; in: esi+ebp -> name
495
; out: CF=1 - file not found
507
; out: CF=1 - file not found
496
;      else CF=0 and [cd_current_pointer_of_input] direntry
508
;      else CF=0 and [cd_current_pointer_of_input] direntry
497
        push eax esi
509
	push eax esi
498
; 16 ñåêòîð íà÷àëî íàáîðà äåñêðèïòîðîâ òîìîâ
510
; 16 ñåêòîð íà÷àëî íàáîðà äåñêðèïòîðîâ òîìîâ
-
 
511
	mov  [CDSectorAddress],dword 15
-
 
512
       mov  [CDDataBuf_pointer],CDDataBuf
499
        mov  [CDSectorAddress],dword 15
513
       call  prevent_medium_removal
500
.start:
514
.start:
501
        inc  dword [CDSectorAddress]
-
 
502
       mov  [CDDataBuf_pointer],CDDataBuf
515
	inc  dword [CDSectorAddress]
503
       call  ReadCDWRetr
516
       call  ReadCDWRetr    ;_1
504
       cmp   [DevErrorCode],0
517
       cmp   [DevErrorCode],0
505
       jne   .access_denied
518
       jne   .access_denied
506
; ïðîâåðêà íà âøèâîñòü
519
; ïðîâåðêà íà âøèâîñòü
507
        cmp  [CDDataBuf+1],dword 'CD00'
520
	cmp  [CDDataBuf+1],dword 'CD00'
Line 544... Line 557...
544
        cmp  eax,0
557
	cmp  eax,0
545
        ja   .read_to_buffer
558
	ja   .read_to_buffer
546
; íåò èñêîìîãî ýëåìåíòà öåïî÷êè
559
; íåò èñêîìîãî ýëåìåíòà öåïî÷êè
547
.access_denied:
560
.access_denied:
548
        pop  esi eax
561
	pop  esi eax
-
 
562
	mov   [cd_appl_data],1
549
        stc
563
	stc
550
        ret
564
	ret
551
; èñêîìûé ýëåìåíò öåïî÷êè íàéäåí
565
; èñêîìûé ýëåìåíò öåïî÷êè íàéäåí
552
  .found:
566
  .found:
553
; êîíåö ïóòè ôàéëà
567
; êîíåö ïóòè ôàéëà
Line 566... Line 580...
566
        mov     esi, ebp
580
	mov	esi, ebp
567
        xor     ebp, ebp
581
	xor	ebp, ebp
568
        jmp     .nested
582
	jmp	.nested
569
@@:
583
@@:
570
        pop  esi eax
584
	pop  esi eax
-
 
585
	mov   [cd_appl_data],1
571
        clc
586
	clc
572
        ret
587
	ret
Line 573... Line 588...
573
 
588
 
574
cd_find_name_in_buffer:
589
cd_find_name_in_buffer: