Rev 1167 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1167 | Rev 1169 | ||
---|---|---|---|
Line 22... | Line 22... | ||
22 | ; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
22 | ; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
23 | ; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
23 | ; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
24 | ; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
24 | ; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
25 | ;***************************************************************************** |
25 | ;***************************************************************************** |
Line 26... | Line -... | ||
26 | - | ||
27 | ;Fonts library |
- | |
28 | ; |
26 | |
Line 29... | Line 27... | ||
29 | ;;;;;;;;;;;;;;;;;; |
27 | ;;;;;;;;;;;;;;;;;; |
Line 30... | Line 28... | ||
30 | 28 | ||
Line 96... | Line 94... | ||
96 | lea edi,[ebp+0x28] ;â edi óêàçàòåëü íà íà÷àëî èìåíè. |
94 | lea edi,[ebp+0x28] ;â edi óêàçàòåëü íà íà÷àëî èìåíè. |
97 | xor eax,eax |
95 | xor eax,eax |
98 | mov ecx,263 |
96 | mov ecx,263 |
99 | repne scasb ;íàéäåì êîíåö ñòðîêè |
97 | repne scasb ;íàéäåì êîíåö ñòðîêè |
100 | ;;;;;;;;;;;;;;;;;;;;;;; |
98 | ;;;;;;;;;;;;;;;;;;;;;;; |
101 | .next_a: |
- | |
102 | sub edi,5 ;.ksf,0 |
99 | sub edi,5 ;.ksf,0 |
103 | mov esi,dword name_font |
100 | lea esi,[name_font] |
104 | mov ecx,name_font_e-name_font |
101 | mov eax,dword[edi] |
- | 102 | or eax,0x20202000 ; ñäåëàåì ðàñøèðåíèå ñòðî÷íûìè áóêâàìè. |
|
105 | repe cmpsb |
103 | cmp eax,dword[esi] |
106 | jnz @f |
104 | jnz @f |
- | 105 | ||
107 | ;;;;;;;; óðà ýòî íàø ôàéë ò.å. íàø øðèôò ìû íàøëè íóæíûé ôàéëèê )) |
106 | ;;;;;;;; óðà ýòî íàø ôàéë ò.å. íàø øðèôò ìû íàøëè íóæíûé ôàéëèê )) |
108 | ;òåïåðü íóæíî òî÷íî óáåäèòüñÿ ÷òî ýòî íàø è òîëüêî íàø ôàéëèê |
107 | ;òåïåðü íóæíî òî÷íî óáåäèòüñÿ ÷òî ýòî íàø è òîëüêî íàø ôàéëèê |
109 | ;çàãðóçèì çàãîëîâîê ôàéëà è óçíàåì åãî ðàçìåð ãëèôà. |
108 | ;çàãðóçèì çàãîëîâîê ôàéëà è óçíàåì åãî ðàçìåð ãëèôà. |
- | 109 | ||
110 | call alloc_mem ; âûäåëèì îçó ñâîèõ ïåðåìåííûõ |
110 | call alloc_mem ; âûäåëèì îçó ñâîèõ ïåðåìåííûõ |
111 | ; ñåé÷àñ íàì íóæíî ñôîðìèðîâàòü èìÿ ôàéëà ñ ïîëíûì ïóòåì |
111 | ; ñåé÷àñ íàì íóæíî ñôîðìèðîâàòü èìÿ ôàéëà ñ ïîëíûì ïóòåì |
112 | mov eax,dword [alloc_memory_point] |
112 | mov eax,dword [alloc_memory_point] |
113 | lea edi,dword [eax+4] |
113 | lea edi,dword [eax+4] |
114 | lea esi,[name_fulder] |
114 | lea esi,[name_fulder] |
Line 151... | Line 151... | ||
151 | ; ñåé÷àñ íóæíî ïåðåðàñïðåäåëèòü áëîêè ò.å. ïî ìåðå íàõîæäåíèÿ áóäåì ïåðåíîñèòü áëîêè |
151 | ; ñåé÷àñ íóæíî ïåðåðàñïðåäåëèòü áëîêè ò.å. ïî ìåðå íàõîæäåíèÿ áóäåì ïåðåíîñèòü áëîêè |
152 | ; â íà÷àëî áóôåðà |
152 | ; â íà÷àëî áóôåðà |
Line 153... | Line 153... | ||
153 | 153 | ||
154 | mov dword [save_point_nt],ebp |
154 | mov dword [save_point_nt],ebp |
155 | pop ecx |
155 | pop ecx |
156 | mov dword [esp+28],0 |
- | |
157 | popad |
156 | xor eax,eax |
158 | ret |
- | |
Line 159... | Line 157... | ||
159 | 157 | jmp .exit |
|
160 | 158 | ||
161 | align 4 |
159 | align 4 |
162 | @@: pop ecx |
160 | @@: pop ecx |
163 | add ebp,304 |
161 | add ebp,304 |
164 | dec ecx |
162 | dec ecx |
165 | jnz .start_loop |
163 | jnz .start_loop |
166 | ; loop .start_loop |
164 | ; loop .start_loop |
Line 167... | Line 165... | ||
167 | ; xor eax,eax |
165 | or eax,-1 |
168 | ;;;;;;;; ïðîøëèñü - âñå èíòåðåñóùþùèå øðèôòû ïåðåìåñòèëè â íà÷àëî áëîêà. |
166 | ;;;;;;;; ïðîøëèñü - âñå èíòåðåñóùþùèå øðèôòû ïåðåìåñòèëè â íà÷àëî áëîêà. |
169 | 167 | ||
Line 222... | Line 220... | ||
222 | ;load font |
220 | ;load font |
223 | mov ebx,dword struct_f_info |
221 | mov ebx,dword struct_f_info |
224 | mov eax,70 |
222 | mov eax,70 |
225 | mcall |
223 | mcall |
226 | test eax,eax |
224 | test eax,eax |
227 | jnz @f |
225 | jnz .exit |
Line 228... | Line 226... | ||
228 | 226 | ||
229 | lea eax,[buffer_read_d] |
227 | lea eax,[buffer_read_d] |
230 | mov eax,dword [eax] |
228 | mov eax,dword [eax] |
231 | mov ebx,dword [eax+8] |
229 | mov ebx,dword [eax+8] |
232 | add eax,ebx |
230 | add eax,ebx |
233 | ; add eax,dword [eax+8] |
231 | ; add eax,dword [eax+8] |
234 | ; add eax,dword [buffer_read_d] |
232 | ; add eax,dword [buffer_read_d] |
235 | mov dword [font_array_data],eax |
233 | mov dword [font_array_data],eax |
236 | mov dword [esp+28],0 |
234 | xor eax,eax |
237 | ; pop ecx |
- | |
238 | popad |
- | |
Line 239... | Line 235... | ||
239 | ret 4 |
235 | jmp .ok |
240 | 236 | ||
241 | ;here error file system |
237 | ;here error file system |
- | 238 | align 4 |
|
- | 239 | .exit: |
|
242 | align 4 |
240 | or eax,-1 |
243 | @@: |
241 | align 4 |
244 | or dword [esp+28],-1 ;âåðíåì îøèáêó |
242 | .ok: mov dword [esp+28],eax ;âåðíåì îøèáêó |
Line 245... | Line 243... | ||
245 | popad |
243 | popad |
Line 316... | Line 314... | ||
316 | mov ecx, dword [fulder_array_point] |
314 | mov ecx, dword [fulder_array_point] |
317 | mov eax,68 |
315 | mov eax,68 |
318 | mov ebx,13 |
316 | mov ebx,13 |
319 | mcall |
317 | mcall |
320 | test eax,eax |
318 | test eax,eax |
321 | jnz @f |
319 | ; jnz @f |
322 | or dword [esp+28],-1 ;âåðíåì îøèáêó |
320 | mov dword [esp+28],eax ;âåðíåì îøèáêó |
323 | align 4 |
321 | ;align 4 |
324 | @@: |
322 | ;@@: |
325 | popad |
323 | popad |
326 | ret |
324 | ret |
327 | align 4 |
325 | align 4 |
328 | free_font: |
326 | free_font: |
329 | ;îñâîáîäèòü ïàìÿòü âûäåëåíóþ äëÿ ïîëó÷åíèÿ áëîêîâ ÁÄÂÊ |
327 | ;îñâîáîäèòü ïàìÿòü âûäåëåíóþ äëÿ ïîëó÷åíèÿ áëîêîâ ÁÄÂÊ |
Line 331... | Line 329... | ||
331 | mov ecx, dword [font_array_point] |
329 | mov ecx, dword [font_array_point] |
332 | mov eax,68 |
330 | mov eax,68 |
333 | mov ebx,13 |
331 | mov ebx,13 |
334 | mcall |
332 | mcall |
335 | test eax,eax |
333 | test eax,eax |
336 | jnz @f |
334 | ; jnz @f |
337 | or dword [esp+28],-1 ;âåðíåì îøèáêó |
335 | mov dword [esp+28],eax ;âåðíåì îøèáêó |
338 | align 4 |
336 | ;align 4 |
339 | @@: |
337 | ;@@: |
340 | popad |
338 | popad |
341 | ret |
339 | ret |
Line 342... | Line 340... | ||
342 | 340 | ||
343 | align 4 |
341 | align 4 |
Line 413... | Line 411... | ||
413 | font_array_data dd 0x0 ; ðåàëüíûå äàííûå ò.å. ìàòðèöà øðèôòà |
411 | font_array_data dd 0x0 ; ðåàëüíûå äàííûå ò.å. ìàòðèöà øðèôòà |
414 | save_ebp dd 0x0 |
412 | save_ebp dd 0x0 |
415 | save_point_nt dd 0x0 |
413 | save_point_nt dd 0x0 |
416 | name_fulder db '/sys/FONTS',0 |
414 | name_fulder db '/sys/FONTS',0 |
417 | name_fuld_end= ($-name_fulder) -1 |
415 | name_fuld_end= ($-name_fulder) -1 |
418 | name_font db '.ksf' |
416 | name_font db '.ksf',0 |
419 | name_font_e: |
- | |
420 | type_fnt db 'kf01' |
417 | type_fnt db 'kf01' |
421 | type_fnt_e: |
- | |
Line 422... | Line 418... | ||
422 | 418 | ||
423 | 419 |