Rev 64 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 64 | Rev 71 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ;; ;; |
2 | ;; ;; |
3 | ;; System service for filesystem call ;; |
3 | ;; System service for filesystem call ;; |
4 | ;; (C) 2004 Ville Turjanmaa, License: GPL ;; |
4 | ;; (C) 2004 Ville Turjanmaa, License: GPL ;; |
5 | ;; ;; |
5 | ;; ;; |
- | 6 | ;; xx.04.2006 LFN support - diamond ;; |
|
6 | ;; 15.01.2005 get file size/attr/date, file_append (only for hd) - ATV ;; |
7 | ;; 15.01.2005 get file size/attr/date, file_append (only for hd) - ATV ;; |
7 | ;; 23.11.2004 test if hd/partition is set - ATV ;; |
8 | ;; 23.11.2004 test if hd/partition is set - ATV ;; |
8 | ;; 18.11.2004 get_disk_info and more error codes - ATV ;; |
9 | ;; 18.11.2004 get_disk_info and more error codes - ATV ;; |
9 | ;; 08.11.2004 expand_pathz and rename (only for hd) - ATV ;; |
10 | ;; 08.11.2004 expand_pathz and rename (only for hd) - ATV ;; |
10 | ;; 20.10.2004 Makedir/Removedir (only for hd) - ATV ;; |
11 | ;; 20.10.2004 Makedir/Removedir (only for hd) - ATV ;; |
Line 47... | Line 48... | ||
47 | ; |
48 | ; |
48 | ; OUT: |
49 | ; OUT: |
49 | ; |
50 | ; |
50 | ; eax = 0 : read ok |
51 | ; eax = 0 : read ok |
51 | ; eax = 1 : no hd base and/or partition defined |
52 | ; eax = 1 : no hd base and/or partition defined |
52 | ; eax = 2 : yet unsupported FS |
53 | ; eax = 2 : function is unsupported for this FS |
53 | ; eax = 3 : unknown FS |
54 | ; eax = 3 : unknown FS |
54 | ; eax = 4 : partition not defined at hd |
55 | ; eax = 4 : partition not defined at hd |
55 | ; eax = 5 : file not found |
56 | ; eax = 5 : file not found |
56 | ; eax = 6 : end of file |
57 | ; eax = 6 : end of file |
57 | ; eax = 7 : memory pointer not in application area |
58 | ; eax = 7 : memory pointer not in application area |
Line 84... | Line 85... | ||
84 | 85 | ||
Line 85... | Line 86... | ||
85 | ; \end{diamond}[18.03.2006] |
86 | ; \end{diamond}[18.03.2006] |
86 | 87 | ||
- | 88 | ; Extract parameters |
|
- | 89 | add eax, std_application_base_address ; abs start of info block |
|
- | 90 | ; \begin{diamond} |
|
- | 91 | cmp byte [eax+1], 1 |
|
Line 87... | Line 92... | ||
87 | ; Extract parameters |
92 | jz file_system_lfn |
88 | add eax, std_application_base_address ; abs start of info block |
93 | ; \end{diamond} |
89 | 94 | ||
90 | cmp dword [eax+0],12 ; Get file size |
95 | cmp dword [eax+0],12 ; Get file size |
Line 1124... | Line 1129... | ||
1124 | stc |
1129 | stc |
1125 | jmp i4 |
1130 | jmp i4 |
Line 1126... | Line 1131... | ||
1126 | 1131 | ||
1127 | partition_string: dd 0 |
1132 | partition_string: dd 0 |
- | 1133 | db 32 |
|
- | 1134 |