diff --git a/programs/develop/tinypad/trunk/tp-files.asm b/programs/develop/tinypad/trunk/tp-files.asm deleted file mode 100644 index 0f8d30f70d..0000000000 --- a/programs/develop/tinypad/trunk/tp-files.asm +++ /dev/null @@ -1,351 +0,0 @@ -diff16 'tp-files.asm',0,$ - -;----------------------------------------------------------------------------- -proc save_file ;////////////////////////////////////////////////////////////// -;----------------------------------------------------------------------------- - mov esi,tb_opensave.text - mov edi,f_info.path - movzx ecx,[tb_opensave.length] - mov [f_info.length],ecx - cld - rep movsb - mov byte[edi],0 - - mov esi,[cur_editor.Lines] - - xor ebx,ebx - mov ecx,[cur_editor.Lines.Count] - @@: call get_real_length - add ebx,eax - mov eax,[esi+EDITOR_LINE_DATA.Size] - lea esi,[esi+eax+sizeof.EDITOR_LINE_DATA] - loop @b - mov eax,[cur_editor.Lines.Count] - shl eax,1 - lea eax,[eax+ebx+1024] - stdcall mem.Alloc,eax - push eax - mov esi,[cur_editor.Lines] - mov edi,eax - - .new_string: - call save_string - cmp dword[esi+EDITOR_LINE_DATA.Size],0 - jne .new_string - pop eax - sub edi,eax - add edi,-2 ; minus last CRLF - - .systree_save: - mov [f_info70+0],2 - mov [f_info70+12],edi - mov [f_info70+16],eax - mov byte[f_info70+20],0 - mov [f_info70+21],f_info.path - mcall 70,f_info70 - - call set_status_fs_error - - or eax,eax - jnz .exit.2 - - .exit: - mov ebp,cur_editor - call update_tab_filename - mov [cur_editor.Modified],0 - clc - ret - - .exit.2: - stc - ret -endp - -;----------------------------------------------------------------------------- -proc save_string ;//////////////////////////////////////////////////////////// -;----------------------------------------------------------------------------- - mov ecx,[esi+EDITOR_LINE_DATA.Size] - test [esi+EDITOR_LINE_DATA.Flags],EDITOR_LINE_FLAG_MOFIFIED - jz @f - or [esi+EDITOR_LINE_DATA.Flags],EDITOR_LINE_FLAG_SAVED - @@: add esi,sizeof.EDITOR_LINE_DATA - - @@: cmp byte[esi+ecx-1],' ' - jne @f - loop @b - @@: jecxz .endcopy - xor edx,edx - mov ebx,edx - mov ah,dl - - .next_char: - mov al,[esi+ebx] - inc ebx - test [optim_save],1 - jz .put - test ah,00000001b - jnz .char - cmp al,'"' - jne @f - xor ah,00000100b - jmp .char - @@: cmp al,"'" - jne @f - xor ah,00000010b - jmp .char - @@: test ah,00000110b - jnz .char - cmp al,';' - jne @f - test ah,00000001b - jnz .char - xor ah,00000001b - jmp .char - @@: cmp al,' ' - jne .char - inc edx - test ebx,ATABW-1 - jnz @f - dec edx - jle .put - mov al,9 - xor edx,edx - jmp .put - .char: - or edx,edx - jz .put - push ecx eax - mov ecx,edx - mov al,' ' - rep stosb - pop eax ecx - xor edx,edx - .put: - stosb - @@: loop .next_char - - .endcopy: - mov eax,0x0A0D - stosw - add esi,[esi-sizeof.EDITOR_LINE_DATA+EDITOR_LINE_DATA.Size] - ret -endp - -proc set_status_fs_error - push eax - mov esi,s_fs_error - @@: dec eax - js @f - movzx ecx,byte[esi] - lea esi,[esi+ecx+1] - jmp @b - @@: inc esi - mov [s_status],esi - pop eax - call draw_statusbar - ret -endp - -;----------------------------------------------------------------------------- -proc load_file ;////////////////////////////////////////////////////////////// -;----------------------------------------------------------------------------- - cmp [tb_opensave.length],0 - jne @f - stc - ret - - @@: mov esi,tb_opensave.text - mov edi,f_info.path - movzx ecx,[tb_opensave.length] - mov [f_info.length],ecx - cld - rep movsb - mov byte[edi],0 - - xor eax,eax - mov [f_info70+0],5 - mov [f_info70+4],eax - mov [f_info70+8],eax - mov [f_info70+12],eax - mov [f_info70+16],file_info - mov byte[f_info70+20],al - mov [f_info70+21],f_info.path - mcall 70,f_info70 - mov [f_info70+0],0 - mov eax,dword[file_info.Size] - or eax, eax - jnz @f - mov eax, 1024 - @@: mov [f_info70+12],eax - stdcall mem.Alloc,eax - mov [f_info70+16],eax - mcall 70,f_info70 - - call set_status_fs_error - - mov esi,[f_info70+16] - - xchg eax,ebx - test ebx,ebx - je .file_found - cmp ebx,6 ;// ATV driver fix (6 instead of 5) - je .file_found - - stdcall mem.Free,[f_info70+16] - stc - ret - - .file_found: - mov ecx,eax - cmp [tab_bar.Items.Count],1 - jne @f - cmp [cur_editor.FilePath],0 - jne @f - cmp [cur_editor.Modified],0 - jne @f - mov ebp,cur_editor - jmp .lp1 - @@: inc [do_not_draw] - call create_tab - dec [do_not_draw] - .lp1: call update_tab_filename - call load_from_memory - stdcall mem.Free,[f_info70+16] - - xor eax,eax - mov [cur_editor.TopLeft.Y],eax - mov [cur_editor.TopLeft.X],eax - mov [cur_editor.Caret.X],eax - mov [cur_editor.Caret.Y],eax - mov [cur_editor.SelStart.X],eax - mov [cur_editor.SelStart.Y],eax - mov [cur_editor.Modified],al - - clc - ret -endp - -;----------------------------------------------------------------------------- -proc load_from_memory ;/////////////////////////////////////////////////////// -;----------------------------------------------------------------------------- -; ECX = data length -; ESI = data pointer -; EBP = EDITOR* -;----------------------------------------------------------------------------- - call get_lines_in_file - mov [ebp+EDITOR.Lines.Count],eax - lea edx,[ebx+ecx] - imul ebx,eax,16 - add ebx,edx - mov [ebp+EDITOR.Lines.Size],ebx - stdcall mem.ReAlloc,[ebp+EDITOR.Lines],ebx - mov [ebp+EDITOR.Lines],eax - - mov [ebp+EDITOR.Columns.Count],0 - mov edi,eax - mov edx,ecx - - .next_line: - mov ebx,edi - add edi,sizeof.EDITOR_LINE_DATA - .next_char: - or edx,edx - jle .exit - lodsb - dec edx - cmp al,13 - je .CR - cmp al,10 - je .LF - cmp al,9 - je .TB - cmp al,0 - je .exit - stosb - jmp .next_char - - .exit: - mov ecx,10 - mov al,' ' - rep stosb - lea eax,[edi-sizeof.EDITOR_LINE_DATA] - sub eax,ebx - mov [ebx+EDITOR_LINE_DATA.Size],eax - mov [ebx+eax+sizeof.EDITOR_LINE_DATA+EDITOR_LINE_DATA.Size],0 - sub eax,10 - jnz @f - inc eax - @@: cmp eax,[ebp+EDITOR.Columns.Count] - jbe @f - mov [ebp+EDITOR.Columns.Count],eax - @@: mov [ebp+EDITOR.Modified],0 - ret - - .CR: cmp byte[esi],10 - jne .LF - lodsb - dec edx - .LF: mov ecx,10 - mov al,' ' - rep stosb - lea eax,[edi-sizeof.EDITOR_LINE_DATA] - sub eax,ebx - mov [ebx+EDITOR_LINE_DATA.Size],eax - add eax,-10 - cmp eax,[ebp+EDITOR.Columns.Count] - jbe .next_line - mov [ebp+EDITOR.Columns.Count],eax - jmp .next_line - - .TB: lea eax,[edi-sizeof.EDITOR_LINE_DATA] - sub eax,ebx - mov ecx,eax - add ecx,ATABW - and ecx,not(ATABW-1) - sub ecx,eax - mov al,' ' - rep stosb - jmp .next_char -endp - -;----------------------------------------------------------------------------- -proc update_tab_filename ;//////////////////////////////////////////////////// -;----------------------------------------------------------------------------- -; EBP = TABITEM* -;----------------------------------------------------------------------------- - push ecx esi edi - inc [do_not_draw] - mov esi,tb_opensave.text - lea edi,[ebp+TABITEM.Editor.FilePath] - movzx ecx,[tb_opensave.length] - cld - rep movsb - mov byte[edi],0 - lea edi,[ebp+TABITEM.Editor.FilePath] - movzx ecx,[tb_opensave.length] - inc ecx - @@: dec ecx - jz @f - cmp byte[edi+ecx-1],'/' - jne @b - @@: mov [ebp+TABITEM.Editor.FileName],ecx - call flush_cur_tab - call update_caption - dec [do_not_draw] - - mov [cur_editor.AsmMode],0 - movzx ecx,[tb_opensave.length] - mov ecx,dword[ecx+tb_opensave.text-3] - or ecx,0x202020 - cmp ecx,'asm' - jne @f - inc [cur_editor.AsmMode] - jmp .exit - @@: cmp ecx,'inc' - jne .exit - inc [cur_editor.AsmMode] - - .exit: - pop edi esi ecx - ret -endp