Rev 134 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 134 | Rev 139 | ||
---|---|---|---|
Line 339... | Line 339... | ||
339 | call find_slash |
339 | call find_slash |
340 | lea edx,[edi-filename+fnbuf] ; edx -> '/' |
340 | lea edx,[edi-filename+fnbuf] ; edx -> '/' |
341 | and byte[edi],0 |
341 | and byte[edi],0 |
342 | mov esi,filename |
342 | mov esi,filename |
343 | mov edi,fnbuf |
343 | mov edi,fnbuf |
344 | mov ecx,64 |
344 | mov ecx,1024/4 |
345 | rep movsb |
345 | rep movsd |
346 | mov dword[file_info+12],dir_table |
346 | and dword [dir_info+4], 0 |
347 | mov dword[file_info+8],DIR_SIZE/512 |
- | |
348 | .nxt2: |
347 | .nxt2: |
349 | mcall 58,file_info |
348 | mcall 70, dir_info |
350 | mov ecx,DIR_SIZE/32 |
349 | cmp ebx, 1 |
351 | mov esi,dir_table |
350 | jnz red ;still |
- | 351 | test byte [dir_table+32], 11000b ; exclude directories & vol label |
|
352 | .nxt: |
352 | jnz .no |
- | 353 | mov edi, dir_table+32+40 |
|
353 | mov al,[esi] |
354 | mov esi, edi |
354 | cmp al,0xe5 |
355 | xor eax, eax |
355 | je .no |
356 | or ecx, -1 |
356 | test al,al |
357 | repnz scasb |
- | 358 | mov eax, [edi-5] |
|
- | 359 | or eax, 0x20202000 |
|
- | 360 | cmp eax, '.mid' |
|
357 | jz .end |
361 | jz .ok |
358 | test byte[esi+12],11000b |
362 | cmp eax, '.kar' |
359 | jnz .no |
363 | jnz .no |
360 | mov eax,[esi+7] |
- | |
361 | mov al,'.' |
- | |
362 | cmp eax,'.MID' |
- | |
363 | je .ok |
- | |
364 | cmp eax,'.KAR' |
- | |
365 | jne .no |
- | |
366 | .ok: |
364 | .ok: |
367 | mov [esi+8],eax |
365 | lea ecx, [edi-dir_table-32-40-1] |
368 | pusha |
- | |
369 | mov edi,edx |
366 | mov edi, edx |
370 | mov ecx,12 |
- | |
371 | rep movsb |
367 | rep movsb |
372 | and byte[edi],0 |
- | |
373 | mov ecx,edi |
368 | mov ecx, edi |
374 | sub ecx,fnbuf |
- | |
375 | mov esi,fnbuf |
369 | mov esi, fnbuf |
- | 370 | sub ecx, esi |
|
376 | call PL_add |
371 | call PL_add |
377 | popa |
- | |
378 | .no: |
372 | .no: |
379 | add esi,32 |
- | |
380 | loop .nxt |
- | |
381 | add dword[file_info+4],DIR_SIZE/512 |
373 | inc dword [dir_info+4] |
382 | jmp .nxt2 |
374 | jmp .nxt2 |
383 | .end: |
- | |
384 | mov ebx,file_info |
- | |
385 | and dword[ebx+4],0 |
- | |
386 | mov [fsize],1 |
- | |
387 | mov dword[ebx+12],workarea |
- | |
388 | jmp red;still |
- | |
389 | bSelZero: |
375 | bSelZero: |
390 | call PL_clearsel |
376 | call PL_clearsel |
391 | jmp red |
377 | jmp red |
392 | bInvSel: |
378 | bInvSel: |
393 | call PL_invsel |
379 | call PL_invsel |