flat assembler
Message board for the users of flat assembler.

Index > IDE Development > Fresh 1.1.0 - work version uploaded.

Goto page 1, 2  Next
Author
Thread Post new topic Reply to topic
JohnFound



Joined: 16 Jun 2003
Posts: 3500
Location: Bulgaria
JohnFound
Hi all.
After long time, I managed to finish (ok, almost finish Wink ) the changes in general structure of Fresh and now v1.1 is uploaded as work version on http://fresh.flatassembler.net

Please, make some evaluation of new features: project manager and source editor. I have to fix some things in the debuger and to implement new forms editor and IMHO, it will become first alpha version, able to create simple applications in fully visual way.

Regards.
Post 10 May 2004, 22:25
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
BiDark



Joined: 22 Jun 2003
Posts: 110
Location: .th
BiDark
Much better now!
Post 11 May 2004, 02:31
View user's profile Send private message Reply with quote
zenek_tm



Joined: 21 Mar 2004
Posts: 33
Location: Poland
zenek_tm
Big bug: during compilation fresh allocates about 70-80MB of memory and does not free it, so after some compilations I run out of memory.
And now something good: the new project manager looks great.
I got few access violations while saving files, however all files are saved successfully.
Keep up the good work Smile .
Post 11 May 2004, 12:39
View user's profile Send private message Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3500
Location: Bulgaria
JohnFound
zenek_tm wrote:
Big bug: during compilation fresh allocates about 70-80MB of memory and does not free it, so after some compilations I run out of memory.


Hi, zenek_tm. Thanks for the bug report.

The most valuable bugs are fixed now.
The v1.1.1 is uploaded on Fresh site.

Quote:
I got few access violations while saving files, however all files are saved successfully.


Could you send some info about these access violations (of course if they still happens).

Regards.
Post 12 May 2004, 00:03
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
zjlcc



Joined: 23 Jul 2003
Posts: 32
Location: china
zjlcc
can display Chinese
but can't write......

unicode error?
Post 12 May 2004, 01:41
View user's profile Send private message Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3500
Location: Bulgaria
JohnFound
zjlcc wrote:
can display Chinese
but can't write......
unicode error?


Hi. Fresh is ANSI application, not UNICODE. I am afraid, I can't make anything about testing with chinese alphabet and keyboard. IMHO, we need someone from China to make this work. Smile

Regards.
Post 12 May 2004, 08:20
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
decard



Joined: 11 Sep 2003
Posts: 1095
Location: Poland
decard
When some file is opened in the editor, and I try to open other project, I get:

Code:
Page fault at 0167:004206c9.

EAX=00000001 CS=0167 EIP=004206c9 EFLGS=00010246
EBX=00000002 SS=016f ESP=0056eff4 EBP=0056eff4
ECX=0056f72c DS=016f ESI=00439158 FS=2d77
EDX=0043001c ES=016f EDI=00434b44 GS=0000

Stack:
0056f004 0041861e 00439158 004183ce 0056f590 004183ea 00439158 bffc9490 0052f094 0056f058 0056f470 004200d2 0056f058 bffc9490 c14ca650 0056f470    
Post 12 May 2004, 10:27
View user's profile Send private message Visit poster's website Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3500
Location: Bulgaria
JohnFound
decard wrote:
When some file is opened in the editor, and I try to open other project, I get:


Ah, it is stupid bug. Thank you for report. I will include fix in the next upload. For now this should fix it:

file 'filemanager.asm'
Code:
proc FileChanged, ptrFile
begin
        mov     eax, [ptrFile]
        test    eax, eax
        jz      .finish

        cmp     [eax+TOpenFile.hEditor], 0
        je      .checkproj

        push    eax ; preserve for the future.
        invoke  SendMessage, [eax+TOpenFile.hEditor], _CEM_CHANGENOTIFY, 0, 0
        pop     eax
        cmp     [eax+TOpenFile.projectID], NULL  ; it was stupid to think eax will be the same after SendMessage
        je      .finish

        invoke  SendMessage, [hProjManager], PMM_FILECHANGED, eax, 0
        jmp     .finish

.checkproj:
        cmp     [eax+TOpenFile.projectID], NULL
        jne     .finish

        stdcall FreeFStruct, eax

.finish:
        return
endp
    


Regards
Post 12 May 2004, 10:41
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
decard



Joined: 11 Sep 2003
Posts: 1095
Location: Poland
decard
Hi John,
I was looking at the bug in the search engine. On my system, when you press "cancel" during search (notice that usually in this case the editor window isn't redrawn), and then, when you want to switch to another window, Fresh crashes. But the crash is located in editorhost.asm (line 448, in a call to StrLen ebx is NULL), not in the findreplace.asm.
By now I have no idea how to fix it :/ Maybe code in editor host should check if GetEditorFile returns NULL?
Post 12 May 2004, 14:01
View user's profile Send private message Visit poster's website Reply with quote
zenek_tm



Joined: 21 Mar 2004
Posts: 33
Location: Poland
zenek_tm
When I select Project->Create Binary Form and in the window that appears I click cancel, fresh crashes with message "The instruction at "0x0006fd77" referenced memory at "0x00000000". The memory could not be "written".
Top of call stack by Visual Studio Debugger:
> 0006fd77()
> Fresh.exe!00411366()
...
The instruction at 411366 is an unconditional jump that jumps to the end of procedure. It happens everytime.
I hope that helps.
That bug with saving is quite rare, but it was in Fresh 1.0.1C and fresh 1.0.1D as well. Wish me good luck with finding it Smile

//EDIT
Another bug in Fresh. When I try to restore an undefined constant, Fresh crashes with access violation: "The instruction at "0x004013c8" referenced memory at "0x0001c798". The memory could not be "read"". It looks like something in Fresh, because Fasm 1.52 does not crash when trying to restore undefined constant.
Post 12 May 2004, 14:04
View user's profile Send private message Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3500
Location: Bulgaria
JohnFound
zenek_tm wrote:
When I select Project->Create Binary Form and in the window that appears I click cancel


It is my fault. This function is obsolete and whole procedure was commented.
Now I removed it.

Quote:
That bug with saving is quite rare, but it was in Fresh 1.0.1C and fresh 1.0.1D as well. Wish me good luck with finding it


Good luck. It will be great. Smile I think you are talking about known bug in AsmEdit control. I call it "eax7 bug", because on the crash, eax = 7 always. Smile
This is bug in FASMW too. It appears on some keystrokes, very randomly. The only difference between FASMW and Fresh is that Fresh does not trash the file, while FASMW in this case leave the file with 0 size.
I hope this can help you.

Quote:
Another bug in Fresh. When I try to restore an undefined constant, Fresh crashes with access violation: "The instruction at "0x004013c8" referenced memory at "0x0001c798". The memory could not be "read"". It looks like something in Fresh, because Fasm 1.52 does not crash when trying to restore undefined constant.


Yes, this is in creating debug information lists. (FASMW have not this module) I am working on it. Thank you.

Regards.
Post 12 May 2004, 21:13
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
comrade



Joined: 16 Jun 2003
Posts: 1137
Location: Russian Federation
comrade
esi7?

_________________
comrade (comrade64@live.com; http://comrade.ownz.com/)
Post 12 May 2004, 21:14
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger ICQ Number Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3500
Location: Bulgaria
JohnFound
decard wrote:
I was looking at the bug in the search engine...


Hi.
I will check editorshost.asm for that, but also, I think the problem is here: (or at least it is possible problem)
Code:
        stdcall ShowModal, [hProgressWnd], MSF_CENTER
        invoke  TerminateThread, [hFindInstance],0
    


When ShowModal exit on Cancel, the search thread still work. If you stop it with TerminateThread, there may be some partially finished operations and resources not released. IMHO, you should set some cancel flag and kindly wait for thread to detect this and to stop properly, on finished operation.

Regards.
Post 12 May 2004, 21:21
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3500
Location: Bulgaria
JohnFound
comrade wrote:
esi7?


Hm, why I remember eax=7? Anyway, there was some 7. Very HappyVery HappyVery Happy
Let's call it "Bug7" - good short name of compromise. Wink

Regards.
Post 12 May 2004, 21:24
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
zjlcc



Joined: 23 Jul 2003
Posts: 32
Location: china
zjlcc
modify \source\asmedit\asmedit.asm
Code:
iglobal
  cAsmEditClassName       db 'ASMEDIT', 0
  wheel_scroll_lines      dd 3             ; this is the number of lines to scroll with mouse wheel.
  zzz dd 0              ;<===add it
endg
.........
    .convert_to_ascii:
        mov     ax,word [lparam+2]
        and     eax,7Fh

        lea     ecx, [.kbstate]
        lea     edx, [.char]
        invoke  ToAscii, [wparam], eax, ecx, edx, TRUE;FALSE
        jz      .ignore
        mov     [zzz],1 ;<===add it
        mov     al,[.char]
.........
.wmchar:
;        test    [lparam],1 shl 31 ;<===del it
;        jz      .ignore              ;<===del it
        cmp     [zzz],1               ;<===add it
        jne     .wAscii               ;<===add it
        mov     [zzz],0               ;<===add it
        jmp     .ignore               ;<===add it
  .wAscii:                        ;<===add it
        cmp   [wparam],8      ;<===add it
        je    .ignore         ;<===add it
        mov     eax,[wparam]
        jmp     .put_char
    


Description: print screen
Download
Filename: 1.rar
Filesize: 54.08 KB
Downloaded: 134 Time(s)

Post 13 May 2004, 05:06
View user's profile Send private message Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3500
Location: Bulgaria
JohnFound
zjlcc wrote:
modify \source\asmedit\asmedit.asm


Hi, zjlcc.
I got, the main idea, but actually I don't like to use global flag for inter-message communication. Maybe I need some more information about how Chinese (and other people with hieroglyph alphabet) type on keyboard. Only using software keyboards? btw: on your screenshot, there are only japanese and greek characters.

Regards.
Post 13 May 2004, 09:26
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
pelaillo
Missing in inaction


Joined: 19 Jun 2003
Posts: 875
Location: Colombia
pelaillo
Hi John,
The same problem happens with for example spanish keyboard because there are chars composed by 2 keystrokes. i.e. a+' = á.
Asmedit does not handle them. I´m going to see how it is handled by other editors.

Regards,
pelaillo

b.t.w. a feature request: Smile
How about hiding components bar while not editing dialogs?
Post 13 May 2004, 16:55
View user's profile Send private message Yahoo Messenger Reply with quote
decard



Joined: 11 Sep 2003
Posts: 1095
Location: Poland
decard
JohnFound wrote:
IMHO, you should set some cancel flag and kindly wait for thread to detect this and to stop properly, on finished operation.


OK, I tried to implement it this way, I have one problem with it:
In case user presses cancel, I set [find_cancel_flag] to 1, what means that search process should be cancelled. FindReplaceTherad recognises it, and it sets this flag to 2 when it has finished. The problem is that main code hangs waiting for this variable to be set to 2. Now I'm using this code:
Code:
     .wait_for_cancel:                  
        cmp     [find_cancel_flag],2   
        jne     .wait_for_cancel
    

I don't have almost any experience with multithread programming, so I don't know how to make this code not hang Fresh Sad Can anybody help?
Post 13 May 2004, 16:56
View user's profile Send private message Visit poster's website Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3500
Location: Bulgaria
JohnFound
Hi, decard.
You can use WaitForSingleObject for waiting thread to terminate and make the thread to finish natural way - with "return" when it find the flag raised. There is no need to change the flag second time and to make loops.

Regards.


Last edited by JohnFound on 13 May 2004, 17:22; edited 1 time in total
Post 13 May 2004, 17:11
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3500
Location: Bulgaria
JohnFound
pelaillo wrote:
Hi John,
The same problem happens with for example spanish keyboard because there are chars composed by 2 keystrokes. i.e. a+' = á.
Asmedit does not handle them. I´m going to see how it is handled by other editors.


Maybe AsmEdit have to handle all text typing chars only through WM_CHAR and only control keystrokes through WM_KEYDOWN... Actually I am not very sure.

Quote:
b.t.w. a feature request: Smile
How about hiding components bar while not editing dialogs?


Well, I think about it sometimes, but there is one problem, in the end version, the most of the sources have to be namely visual created forms, so the palette will be visible all the time. On other hand, hiding and showing it will cause big resizing of the upper edge of the windows - editors and project manager, that IMHO will be not very ergonomic for the user - he will be forced to move his eyes all the time.
Maybe I should make it simply with function in "View" menu and let the user to choose, or maybe in separate window, "flying" around. Smile

Regards.
Post 13 May 2004, 17:21
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page 1, 2  Next

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2019, Tomasz Grysztar.

Powered by rwasa.