flat assembler
Message board for the users of flat assembler.

Index > IDE Development > "Fresh" 1.0.02 pre-alpha

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



Joined: 16 Jun 2003
Posts: 3499
Location: Bulgaria
JohnFound 05 Aug 2003, 13:54
[05.08.2003] v1.0.02 - pre-alpha
- Added AsmEdit as source editor. For now via dll.
- Advanced highlighter added - now the reserved words - instructions,
directives etc, are highlighted. The highligher uses the same word
database as FASM compiler, this provides perfect syncronization between
FASM and source editor.
Here are some problems, for example preprocessor directives are not
highlighted. But this will be fixed soon.
- Copy, Cut, Paste functions added to main menu. For now they work
only in text editor with some "bad behaviour". Wink

[edit]Outdated file removed. Check forum for new version [/edit]


Last edited by JohnFound on 11 Aug 2003, 05:53; edited 1 time in total
Post 05 Aug 2003, 13:54
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Tommy



Joined: 17 Jun 2003
Posts: 489
Location: Norway
Tommy 05 Aug 2003, 19:50
Privalov, what about adding this syntax procedure to FasmW??
Very nice JohnFound! Wink
Post 05 Aug 2003, 19:50
View user's profile Send private message Visit poster's website Reply with quote
Tommy



Joined: 17 Jun 2003
Posts: 489
Location: Norway
Tommy 07 Aug 2003, 20:15
[ Post removed by author. ]
Post 07 Aug 2003, 20:15
View user's profile Send private message Visit poster's website Reply with quote
scientica
Retired moderator


Joined: 16 Jun 2003
Posts: 689
Location: Linköping, Sweden
scientica 07 Aug 2003, 22:23
suggestions for the nice syntax color stuff: (don't dare touch the sources at this time of the night Wink)
macro,common, forward, reverse - it's own colors, or same as instructions
fix, equ, include - would be nice with colors
db, dd, rb, byte, etc - it's own color would be nice
if, end, virtual is colored but not eq, eqtype

_________________
... a professor saying: "use this proprietary software to learn computer science" is the same as English professor handing you a copy of Shakespeare and saying: "use this book to learn Shakespeare without opening the book itself.
- Bradley Kuhn
Post 07 Aug 2003, 22:23
View user's profile Send private message Visit poster's website Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3499
Location: Bulgaria
JohnFound 08 Aug 2003, 05:30
scientica wrote:
suggestions for the nice syntax color stuff: (don't dare touch the sources at this time of the night Wink)
macro,common, forward, reverse - it's own colors, or same as instructions
fix, equ, include - would be nice with colors
db, dd, rb, byte, etc - it's own color would be nice
if, end, virtual is colored but not eq, eqtype


Hi scientica.
Preprocessor directives as "include", "macro" etc. are not colored at all. But I am working on it. In 1.0.03 it will be fixed. The same about data definition instructions - db, dw, dd etc. In the future Fresh will support user defined word list with common used macroses for highlighting (and/or will extract the macro names directly from the source)

BTW: Do you have some news about style editor?

Regards.
Post 08 Aug 2003, 05:30
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3499
Location: Bulgaria
JohnFound 08 Aug 2003, 08:41
Tommy wrote:
...


Hi, Tommy.
Of course to improve FASMW is good, but AFAIK Privalov supports FASMW only like minimum functionality for fasm compiler. This is, I think, rational decision. But IMHO Fresh is the project that will implement all these ideas. Why not join the team? (hm, if "team" is the proper word just now Wink )

Regards.
John Found
Post 08 Aug 2003, 08:41
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Tommy



Joined: 17 Jun 2003
Posts: 489
Location: Norway
Tommy 08 Aug 2003, 09:01
Thanks! I would really like to! Wink

Tommy
Post 08 Aug 2003, 09:01
View user's profile Send private message Visit poster's website Reply with quote
scientica
Retired moderator


Joined: 16 Jun 2003
Posts: 689
Location: Linköping, Sweden
scientica 08 Aug 2003, 09:46
I'm working on it, I'm getting used to the ListView window/controll, I use it in one of my projects, and I've just recently been avble to fix some minor issues (related to check box, checkung an unchecking, post and ante insert) (had to play C++ preprocessor & compiler, those API macros suer are use full when translated Smile).
I've been doing some work with changing the EditStyle proc (now proc EditStyle, parent, lpcontrollstyles), I'm working on it, I've already dismissed one way off accmplishing the passing of current / new style to and from the style editor. Hope fully I'll be able to post something working within this day, unless I run into Murphy Rolling Eyes Very Happy

JohnFound, Team, well that is a great word, aren't we a team of stoned fasm users? Wink Seriously, the Fresh Team are here to rule the IDE world! Very Happy
A team is as far as I'm concerned a group/party of two or more who works tpgether/to achive a common goal, so I think Team is the propper word.

_________________
... a professor saying: "use this proprietary software to learn computer science" is the same as English professor handing you a copy of Shakespeare and saying: "use this book to learn Shakespeare without opening the book itself.
- Bradley Kuhn
Post 08 Aug 2003, 09:46
View user's profile Send private message Visit poster's website Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3499
Location: Bulgaria
JohnFound 08 Aug 2003, 10:08
Tommy wrote:
Thanks! I would really like to! Wink

Tommy


So, you are welcome. If you prefer to make some specific part, just write which one, to prevent double working.

For now I am working on whole concept of project architecture and I have no time for:
0. Your version of ASMEDIT with left gray field will be usefull for the future progress. Integration of ASMEDIT in the source, instead of using DLL - too.
1. Options dialogs: colors, fonts, compiler options.
2. Delete function in form editor (actually this is function of project manager)
3. Clipboard functions in form editor (project manager)
4. Better "About" box - more pretty and maybe splash screen - I am not very good graphic designer Smile.

Regards.
Post 08 Aug 2003, 10:08
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Tommy



Joined: 17 Jun 2003
Posts: 489
Location: Norway
Tommy 08 Aug 2003, 10:11
... Smile

We should remove the case-sensitive syntax highlighting of registers and instructions... (right now it only highlights the instructions and registers which is written in lower case) Maybe I can fix it myself, I'll see what I get time to do... Wink

So long!
Tommy
Post 08 Aug 2003, 10:11
View user's profile Send private message Visit poster's website Reply with quote
Tommy



Joined: 17 Jun 2003
Posts: 489
Location: Norway
Tommy 08 Aug 2003, 10:13
I want first and foremost to concentrate on the ASMEDIT control... OK?
I'll start immediately! Wink
Post 08 Aug 2003, 10:13
View user's profile Send private message Visit poster's website Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3499
Location: Bulgaria
JohnFound 08 Aug 2003, 10:22
Hi, Scientica.

Thank you. Keep good working. Work easy, we have no urgent business. Smile

I am agree, about the team. Now we should find only pelaillo. Smile
But AFAIK he has a new girlfriend and he is totally offline. SadVery Happy


Last edited by JohnFound on 08 Aug 2003, 10:36; edited 1 time in total
Post 08 Aug 2003, 10:22
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3499
Location: Bulgaria
JohnFound 08 Aug 2003, 10:34
Tommy, it's an important work, thank you. Only don't forget:

1. Don't you GWL_USERDATA in ASMEDIT. - look my note in the Privalov's post about ASMEDIT.
2. The main idea for syntax highligher is to use FASM structures with words as far as possible. I am using fake x86.asm fasm file only with exact structures. In the future it will be changed with fasm x86.inc.

Regards.
Post 08 Aug 2003, 10:34
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Tommy



Joined: 17 Jun 2003
Posts: 489
Location: Norway
Tommy 08 Aug 2003, 10:59
I see! Wink I'll start the work tonight... Now I'm going to the beach. Smile

So long!
Tommy
Post 08 Aug 2003, 10:59
View user's profile Send private message Visit poster's website Reply with quote
scientica
Retired moderator


Joined: 16 Jun 2003
Posts: 689
Location: Linköping, Sweden
scientica 08 Aug 2003, 11:22
/me, takes a big deep breath...
Here's what I'm doing now, beaware, I'm currently testing an idea, hence the code looks like the put put of an C++ compiler Confused :

I've added this line so that I have some data space for the styleeditor:
Code:
include 'styleeditor.inc'

section '.code' code readable executable    

styleeditor.inc:
Code:
; styleeditor.inc
; note! this section is included in the .data segment!!!
; *no code* just data!
struc ControllStyles {
  .lpTBaseWin   dd ? ; Pointer to the control's TBaseWin Struct (*not* the controls window!)
  .reserved     dd ? ; --reserved for future use-- (I might meed it later!!)
}
struct ControllStyles

tCS ControllStyles

lpControllStyles dd ? ;ControllStyles    


I've modifyed EditStyle to this
Code:
proc EditStyle, parent, lpcontrollstyles
        enter

        ; save the lpcontrollstyles in lpControllStyles:
        mov    eax, [style]
        mov    [lpControllStyles], eax
...    


StyleEditorProc.create has this line added:
Code:
  stdcall InsertControllStyles, ebx, esi, lpControllStyles      


This is how InsertControllStyles beginns:
Code:
proc InsertControllStyles, hwnd,lpLVI, lpControllStyle
  enter
  push  ebx esi edi

  mov      eax, [lpControllStyle]
  mov      ebx, [eax+ControllStyles.lpTBaseWin]
  mov      esi, [ebx+TBaseWin.hClass]
  ;mov      eax, [ebx+TBaseWin.style]

  mov      eax, esi
  call     StrPtr
  mov      esi, eax
  invoke   MessageBox, [hwnd], esi,esi,MB_OK   ; >debug<
...    


The problem for me is this: (see comment):
Code:
[i]propeditor.asm[/i], line 187:
        cmp     eax, btnStyleID
        jne     @f

        ; How do I get the currently selected Controls TBaseWin structure address?
        ; So that I can put it in tCS, in order to continue testing and dev.

        ;stcall  ??????????????????????
        ;mov     [tCS.lpTBaseWin], eax
        ;mov     dword [tCS.reserved], 0
        ;stdcall EditStyle, [hwnd], tCS

        stdcall EditStyle, [hwnd], 1234
        jmp     .qfalse

@@:    

I'm blocked, I seek and seek inte the sources but I just can't find any weay, all I see is the pointer beeing send here and there but no way of getting the currently selected controls TBaseWin struct, is there an function? If not, it would ease things a lot if you could add one.

_________________
... a professor saying: "use this proprietary software to learn computer science" is the same as English professor handing you a copy of Shakespeare and saying: "use this book to learn Shakespeare without opening the book itself.
- Bradley Kuhn
Post 08 Aug 2003, 11:22
View user's profile Send private message Visit poster's website Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3499
Location: Bulgaria
JohnFound 08 Aug 2003, 12:16
To scientica:

1. So, at first about TBaseWin pointer. Actually when PRM_UPDATEPROP message is sent to property editor window, pointer of the TBaseWin structure of the control is passed in [wparam]. See line 74 in "propeditor.asm". So, I don't store this pointer, but you can make it to be stored in extra memory of the PropertyEditor. This window is of class "MyDialogBoxClass", so there are 16 bytes extra memory. Insert following on line 75:

Code:
invoke  SetWindowLong, [hwnd], 8, esi  ; index 0 and 4 are for internal use (dialog proc and font handle) of the window class.    


Now where you need pointer to current selected in property editor control, you can do this:

Code:
invoke GetWindowLong, [hPropEditor], 8
or
invoke GetWindowLong, [hwnd], 8    ; if you are inside prop editor winproc.    


2. About global variables and structures. Of course if you need them you can use them, but try to make it without globals. Very soon I will clean data section and there must be only variables concerning whole application, not individual modules. Try to use window extra memory of style editor window. You have 8 free bytes (from index 8 to 15) and you can easy increase this count in "MyDialogBox.asm", line 22.

BTW: In above examples I use numbers, but better define constants for indexes, that will allow easy change in the future.

Regards.
Post 08 Aug 2003, 12:16
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
scientica
Retired moderator


Joined: 16 Jun 2003
Posts: 689
Location: Linköping, Sweden
scientica 08 Aug 2003, 13:03
Ok, got it to work. One detail, the propertis editor should be grayed & disabled when no forms exist, I've added a "quick error check fix" to avoid crashes. (parts fo it wil become a part fo the class<->style set selection)
I'm scheduled for a coffee break now, c'ya.

_________________
... a professor saying: "use this proprietary software to learn computer science" is the same as English professor handing you a copy of Shakespeare and saying: "use this book to learn Shakespeare without opening the book itself.
- Bradley Kuhn
Post 08 Aug 2003, 13:03
View user's profile Send private message Visit poster's website Reply with quote
scientica
Retired moderator


Joined: 16 Jun 2003
Posts: 689
Location: Linköping, Sweden
scientica 08 Aug 2003, 15:09
Here's a snap shot of my current progress:

Here's some diff output: (a little modified)
Quote:
[D:\tools]diff --brief D:\Dev\FASM\Others\FreshLast1.0.02-pre-alpha D:\Dev\FASM\Others\FreshDev |gvim -
Files D:\Dev\FASM\Others\FreshLast1.0.02-pre-alpha\Fresh.asm and D:\Dev\FASM\Others\FreshDev\Fresh.asm differ
Files D:\Dev\FASM\Others\FreshLast1.0.02-pre-alpha\propeditor.asm and D:\Dev\FASM\Others\FreshDev\propeditor.asm differ
Files D:\Dev\FASM\Others\FreshLast1.0.02-pre-alpha\styleeditor.asm and D:\Dev\FASM\Others\FreshDev\styleeditor.asm differ
Only in D:\Dev\FASM\Others\FreshDev: styleeditor.inc


If you like I can do a
Code:
[D:\tools]diff --minimal -wy --left-column D:\Dev\FASM\Others\FreshLast1.0.02-pre-alpha\fresh.asm D:\Dev\FASM\Others\FreshDev\fresh.asm |gvim -    

on the diffrenting files, but the output is takes some time to undertand...

[EDIT]Try click style and the ex style buttons after creating a form Smile[/EDIT]


Description: Modyfied files and pre-comiled exe.
Download
Filename: snapshot.zip
Filesize: 33.92 KB
Downloaded: 655 Time(s)


_________________
... a professor saying: "use this proprietary software to learn computer science" is the same as English professor handing you a copy of Shakespeare and saying: "use this book to learn Shakespeare without opening the book itself.
- Bradley Kuhn
Post 08 Aug 2003, 15:09
View user's profile Send private message Visit poster's website Reply with quote
Blag



Joined: 04 Jul 2003
Posts: 90
Location: Perú
Blag 08 Aug 2003, 19:11
Fresh Team??? Great!!! Very Happy Congratulations Tommy!!!
Thanx Scientica and Jhon Found for working in such a gret project like FRESH, i have all the release versions on my PC...and i love them. Cool
I just hope, that someday...i could be that great in FASM Wink
People like you, make programmers happy Very Happy
As i told before....i have been a programmer for about 5 years (VB,C++,Euphoria,ABAP,etc).....but in ASM.....i'm just a little boy....but thanx to this forum and all the great people that makes this a community, i just beggining to walk with my own feet.
Sorry if i'm being too thankfully Embarassed but i think, that is the least thing that i can do.....you guys deserve to be known worldwide!!!!!

Keep on the good work! Wink

_________________
Alvaro Tejada Galindo
SinglePath games design
http://www.iespana.es/singlepath
Post 08 Aug 2003, 19:11
View user's profile Send private message MSN Messenger Reply with quote
Tommy



Joined: 17 Jun 2003
Posts: 489
Location: Norway
Tommy 09 Aug 2003, 09:10
JohnFound: I've started working on the AsmEdit library and it's going well! Wink When I have a release ready, I'll send it to you...

Status:
* Without GWL_USERDATA
* Added support for case-insensitive highlighting of registers and instructions.
* Popup-menu are now supported. This can be set with the AEM_SETPOPUPMENU-message.

Todo (before my first release is ready):
* Add support for margin (with customizable colors and width)
* Bookmarks?

So long!
Tommy
Post 09 Aug 2003, 09:10
View user's profile Send private message Visit poster's website 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-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.