Subversion Repositories Kolibri OS

Rev

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

Rev 628 Rev 758
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
4
;; Distributed under terms of the GNU General Public License    ;;
4
;; Distributed under terms of the GNU General Public License    ;;
5
;;                                                              ;;
5
;;                                                              ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 7... Line 7...
7
 
7
 
Line 8... Line 8...
8
$Revision: 628 $
8
$Revision: 758 $
9
 
9
 
10
 
10
 
Line 498... Line 498...
498
; in: esi+ebp -> name
498
; in: esi+ebp -> name
499
; out: CF=1 - file not found
499
; out: CF=1 - file not found
500
;      else CF=0 and [cd_current_pointer_of_input] direntry
500
; else CF=0 and [cd_current_pointer_of_input] direntry
501
	push eax esi
501
	push eax esi
502
; 16 ñåêòîð íà÷àëî íàáîðà äåñêðèïòîðîâ òîìîâ
502
; 16 ñåêòîð íà÷àëî íàáîðà äåñêðèïòîðîâ òîìîâ
503
	mov  [CDSectorAddress],dword 15
-
 
504
       mov  [CDDataBuf_pointer],CDDataBuf
-
 
Line 505... Line 503...
505
       
503
 
506
       call  WaitUnitReady
504
  call	WaitUnitReady
507
       cmp   [DevErrorCode],0
505
  cmp	[DevErrorCode],0
Line 508... Line 506...
508
       jne   .access_denied
506
  jne	.access_denied
-
 
507
 
-
 
508
  call	prevent_medium_removal
-
 
509
; òåñòîâîå ÷òåíèå
-
 
510
  mov  [CDSectorAddress],dword 16
-
 
511
  call	ReadCDWRetr    ;_1
-
 
512
   cmp	 [DevErrorCode],0
-
 
513
  jne	.access_denied
-
 
514
 
-
 
515
; âû÷èñëåíèå ïîñëåäíåé ñåññèè
-
 
516
  call WaitUnitReady
-
 
517
  cmp	[DevErrorCode],0
-
 
518
  jne	.access_denied
-
 
519
  call Read_TOC
-
 
520
  mov  ah,[CDDataBuf+4+4]
-
 
521
  mov  al,[CDDataBuf+4+5]
-
 
522
  shl  eax,16
-
 
523
  mov  ah,[CDDataBuf+4+6]
-
 
524
  mov  al,[CDDataBuf+4+7]
-
 
525
  add  eax,15
-
 
526
  mov  [CDSectorAddress],eax
-
 
527
;  mov  [CDSectorAddress],dword 15
509
       
528
  mov  [CDDataBuf_pointer],CDDataBuf
510
       call  prevent_medium_removal
529
 
511
.start:
530
.start:
512
	inc  dword [CDSectorAddress]
531
	inc  dword [CDSectorAddress]
513
       call  ReadCDWRetr    ;_1
532
  call	ReadCDWRetr    ;_1
-
 
533
   cmp	 [DevErrorCode],0
-
 
534
  jne	.access_denied
514
       cmp   [DevErrorCode],0
535
 
515
       jne   .access_denied
536
.start_check:
516
; ïðîâåðêà íà âøèâîñòü
537
; ïðîâåðêà íà âøèâîñòü
517
	cmp  [CDDataBuf+1],dword 'CD00'
538
	cmp  [CDDataBuf+1],dword 'CD00'
518
	jne  .access_denied
539
	jne  .access_denied
Line 525... Line 546...
525
	cmp  [CDDataBuf],byte 0x2
546
	cmp  [CDDataBuf],byte 0x2
526
	jne  .start
547
	jne  .start
527
; ñåêòîð ÿâëÿåòñÿ äîïîëíèòåëüíûì äåñêðèïòîðîì òîìà?
548
; ñåêòîð ÿâëÿåòñÿ äîïîëíèòåëüíûì äåñêðèïòîðîì òîìà?
528
	cmp  [CDDataBuf+6],byte 0x1
549
	cmp  [CDDataBuf+6],byte 0x1
529
	jne  .start
550
	jne  .start
-
 
551
 
530
; ïàðàìåòðû root äèðåêòðîðèè
552
; ïàðàìåòðû root äèðåêòðîðèè
531
	mov  eax,[CDDataBuf+0x9c+2] ; íà÷àëî root äèðåêòðîðèè
553
	mov  eax,[CDDataBuf+0x9c+2] ; íà÷àëî root äèðåêòðîðèè
532
	mov  [CDSectorAddress],eax
554
	mov  [CDSectorAddress],eax
533
	mov  eax,[CDDataBuf+0x9c+10] ; ðàçìåð root äèðåêòðîðèè
555
	mov  eax,[CDDataBuf+0x9c+10] ; ðàçìåð root äèðåêòðîðèè
534
	cmp    byte [esi], 0
556
	cmp    byte [esi], 0