flat assembler
Message board for the users of flat assembler.
Index
> IDE Development > Fresh 1.1.9 work uploaded |
Author |
|
JohnFound 02 Nov 2004, 20:23
Next work version of Fresh was uploaded.
Download it at Fresh download page. There are several new features implemented. The main new feature is template based function "File|New application". Unfortunately there is only one template available "DOS command". The templates are normal Fresh projects and can be created using Fresh. I hope the structure (include\templates\) is pretty simple, so the users can create their own templates. Regards. |
|||
02 Nov 2004, 20:23 |
|
Matrix 06 Nov 2004, 16:32
Hello,
very cool Fresh can i suggest you control symbol's seperate highlighting? (and reserved word's like byte, ptr, rb, rw, rd, ...) example: 'String' [String] szoroz rw 1 mov ah,11h mov ah,$11 mov ah,0x11 lea edi, [4*ebx+ebx] and what do you think about instead of browning out every colors, using RBG fadeout? ex.: by delta factor of 2 (0 stays 0) mov ah,11h ; mov ah,11h or RBG fadein? ex.: by delta factor of 2 (max values stay max) ((ff-b4)/2+b4=d9)((ff-87)/2+87=c3)((ff-0)/2+0=7f) mov ah,11h ; mov ah,11h or RBG fade to brown? ex.: brown out is 7f7f7f fadedcolor=((7f-col)/factor+col) factor of 2: ((7f-ff)/2+ff)=bf mov ah,11h ; mov ah,11h Code: [color=red]'[/color][color=blue]String[/color][color=red]'[/color] [color=brown][[/color][color=green]String[/color][color=brown]][/color] [color=green]szoroz[/color] [color=blue]rw[/color] [color=#00ff87]1[/color] [color=#ffb400]mov[/color] [color=darkred]ah[/color][color=blue],[/color][color=#00ff87]11[/color][color=blue]h[/color] [color=#ffb400]mov[/color] [color=darkred]ah[/color][color=blue],[/color][color=blue]$[/color][color=#00ff87]11[/color] [color=#ffb400]mov[/color] [color=darkred]ah[/color][color=blue],[/color][color=blue]0x[/color][color=#00ff87]11[/color] [color=#ffb400]lea[/color] [color=darkred]edi[/color][color=blue],[/color] [color=red][[/color][color=#00ff87]4[/color][color=blue]*[/color][color=darkred]ebx[/color][color=blue]+[/color][color=darkred]ebx[/color][color=red]][/color] and what do you think about instead of browning out every colors, using RBG fadeout? ex.: by delta factor of 2 (0 stays 0) [color=#ffb400]mov[/color] [color=#ff0000]ah[/color][color=#0000ff],[/color][color=#00ff87]11[/color][color=#0000ff]h[/color] ; [color=#7f5a00]mov[/color] [color=#7f0000]ah[/color][color=#00007f],[/color][color=#007f43]11[/color][color=#00007f]h[/color] or RBG fadein? ex.: by delta factor of 2 (max values stay max) ((ff-b4)/2+b4=d9)((ff-87)/2+87=c3)((ff-0)/2+0=7f) [color=#ffb400]mov[/color] [color=#ff0000]ah[/color][color=#0000ff],[/color][color=#00ff87]11[/color][color=#0000ff]h[/color] ; [color=#ffd97f]mov[/color] [color=#ff7f7f]ah[/color][color=#7f7fff],[/color][color=#7fffc3]11[/color][color=#7f7fff]h[/color] or RBG fade to brown? ex.: brown out is 7f7f7f fadedcolor=((7f-col)/factor+col) factor of 2: ((7f-ff)/2+ff)=bf [color=#ffb400]mov[/color] [color=#ff0000]ah[/color][color=#0000ff],[/color][color=#00ff87]11[/color][color=#0000ff]h[/color] ; [color=#bf9a3f]mov[/color] [color=#bf3f3f]ah[/color][color=#3f3fbf],[/color][color=#bf3f83]11[/color][color=#3f3fbf]h[/color] and for serious users in future versions, it could display compiled instruction's code in another window with line numbers, and generated code in hex. great work, keep it up |
|||
06 Nov 2004, 16:32 |
|
JohnFound 06 Nov 2004, 18:22
Matrix wrote: Hello, Thanks Quote:
Hm, I didn't understand what kind of highlighting you suggest. Please, explain more detailed. Quote: and for serious users in future versions, it could display compiled instruction's code in another window with line numbers, and generated code in hex. We have this feature in debuger. It is not finished, but just now I am focused on it and in the next versions it should be OK. You can try it placing somewhere in the source "int3" and running the program through "F9" - Debug|Run. Regards |
|||
06 Nov 2004, 18:22 |
|
Matrix 06 Nov 2004, 18:39
that's why i was recommending you with examples, it is the same in any languages
having seperate highlighting colors to control symbols on the same purpose like (of course the colors whould be pre set in options): color 232 = ' " : : for example : mov [es:di],al so string, or label name could be another color color 262 = label1 = string1 or even string in bracelets [string] whould have another color than quoted string 'string' in this case, it whould be easy to spot a missing ' for example, if IDE whoud have changed the colr of the string name or label. and since ' in my opinion is not part of string data, it should have been highliighted with a seperate color. but i think the most important for the looks whould be if reserved symbols whould have their own reserved colors by purpose. ' 'Hello World!' color 234 = [ ] color 224 = , + - * / color 214 = rb rw rd db dw dd ... whould look nicer i think, and as well as those fadings after ; instead of just browning all colors, it whould be Ultra cool. where you see ; in my examples fadings have a fade mask value like in fade out : 0 , fade in : ffffff fade brown out to color 7f7f7f these are 3 bytes, RGB respectively, formulas i have mentioned above, the higher the factor value, the more distance will be between the original and the faded colors. i have pre calculated the colors to give you perview on the looks after the fade effect (comments), this way comments whould have less highlightings, but some whould stay, if you have time for the looks read my sugestions in the [ code] [ /code] below the examples, it is doing set color 3 bytes RGB. |
|||
06 Nov 2004, 18:39 |
|
Matrix 06 Nov 2004, 19:16
i recently made some functions on getRGB setRGB in 16 bit mode, and 24 32 bit modes
Code: ; A - Alpha R - Red G - Green B - Blue ;8-bit could be (after setting palett): ;RRGGGBBB - 233 ;RRRGGBBB - 323 ;RRRGGGBB - 332 ;RRGGGBB - 232 +1 reserved ;16-bit is RRRRRRGGGGGGBBBBB - 565 ;24-bit is RRRRRRRRGGGGGGGGBBBBBBBB - 888 ;32-bit is AAAAAAAARRRRRRRRGGGGGGGGBBBBBBBB - 8888 mix16bitcolor: ; ah=Red al=Green bl=Blue returns:ax=16bit 565 color shl al,2 shl ax,3 ; where 5 bit=32, 6 bit=64 ! or al,bl ret mix16bitcolor3: ; al=Red bl=Green cl=Blue returns:ax=16bit 565 color shl ax,6 ; where 5 bit=32, 6 bit=64 ! or al,bl shl ax,5 or al,cl ret mix16bitcolor8: ; ah=Red al=Green bl=Blue returns:ax=16bit 888 (565) color shr ah,3 shr ax,2 shl ax,5 shr bl,3 or al,bl ret get16bitrgb: ; ax=16bit 565 color returns:ah=Red al=Green bl=Blue mov bl,al ; where 5 bit=32, 6 bit=64 ! and bl,11111b shr ax,3 shl ah,2 shr ax,2 ret get16bitrgb3: ; ax=16bit 565 color returns:al=Red bl=Green cl=Blue mov cl,al ; where 5 bit=32, 6 bit=64 ! and cl,11111b shr ax,5 mov bl,al and bl,111111b shr ax,6 ret get16bitrgb8: ; ax=16bit 888 (565) color returns:ah=Red al=Green bl=Blue mov bl,al shl bl,3 shr ax,5 shl ax,2 shl ah,3 ret mix24bitcolor: ; ah=Red al=Green bl=Blue returns:eax=24bit 888 color shl eax,8 or al,bl ret get24bitrgb: ; eax=24bit 888 color returns:ah=Red al=Green bl=Blue mov bl,al shr eax,8 ret mix32bitcolor: ; ah=Alpha al=Red bh=Green bl=Blue returns:eax=32bit 8888 color shl eax,16 or ax,bx ret get32bitrgb: ; eax=32bit 888 color returns:ah=Alpha al=Red bh=Green bl=Blue mov bx,ax shr eax,16 ret |
|||
06 Nov 2004, 19:16 |
|
JohnFound 06 Nov 2004, 19:32
Matrix, sorry, but I can't see any sense in such strange highlighting algorithms.
Actually now Fresh have pretty good highligher. Of course editor needs some improvement, but I am sure not in the syntax highligher and definately not with fading effects. Regards. |
|||
06 Nov 2004, 19:32 |
|
Matrix 06 Nov 2004, 19:37
Maeby Privalov will put similar to FASMW?
Privalov, what is your opinion about'? |
|||
06 Nov 2004, 19:37 |
|
bubach 07 Nov 2004, 17:35
Why not use a "mdi" form with all windows inside the parent..?
|
|||
07 Nov 2004, 17:35 |
|
JohnFound 07 Nov 2004, 18:27
bubach wrote: Why not use a "mdi" form with all windows inside the parent..? Well, actually I don't like MDI layout, but there was an idea to make Fresh in one window with tabed editor, just like now and with docked tool windows like project manager etc. Well, I plan to make the editor window to behave as dock site, so, in the future, the user will be able simply to dock all windows in one main window and to turn Fresh into monolite window application. This will happen of course after first official version, because now is more important to make the main functionality. Regards. |
|||
07 Nov 2004, 18:27 |
|
decard 09 Nov 2004, 15:37
Hi John,
I have just downloaded latest Fresh (couldn't do it before, I had a lot of thins to do ). I see that you have changed the way of handling message queue in applications that use Fresh std lib. "mainloop.asm" doesn't call ExitProces anymore... and Fresh itself doesn't include this file at all. What about other projects? Is mainloop.asm simply obsolete now (apps should take care about the msg loop)? |
|||
09 Nov 2004, 15:37 |
|
JohnFound 09 Nov 2004, 16:31
Hi, decard.
decard wrote: What about other projects? Is mainloop.asm simply obsolete now (apps should take care about the msg loop)? No, "mainloop.asm" is not obsolete at all. The problem is that I changed the way application exits, in order to make the code more readable and clear and to make possible for the user to finalize it's application with FinalizeAll or using any other method he wants. In earlyer versions, the procedure "ProcessMessages" invoke "ExitProcess" on the message WM_QUIT without returning to the caller. Now, ProcessMessages returns C=1 on the message WM_QUIT. The main loop makes jc and so on... The procedure ProcessMessages now is in the file "msgutils.asm" and mainloop.asm contains correct main loop. The reason why I include the main loop directly in Fresh.asm (and in the templates also) was that the better readability. The main loop is short and I think it looks better this way. But mainloop.asm is still valid and can be used the old way. But, you are right, there are problems with old applications. Their main loop have to be: Code: include "%finc%/libs/mainloop.asm" push eax FinalizeAll ; if you use "initialize" | "finalize" macroses. invoke ExitProcess Or you think I have to include these invokes directly in "mainloop.inc"? BTW: There is another change in message loops - in modal forms message loop. Now the modal form receives one AM_ONIDLE message when message queue becomes empty. Regards. |
|||
09 Nov 2004, 16:31 |
|
decard 09 Nov 2004, 19:54
JohnFound wrote: Or you think I have to include these invokes directly in "mainloop.inc"? well, I don't think so. IMHO it is more flexible when user can control the exit stage - he can add some finalization code before quiting. |
|||
09 Nov 2004, 19:54 |
|
decard 12 Nov 2004, 15:54
I have created two templates for Fresh: DLL Library and SysTray Application.
|
|||
12 Nov 2004, 15:54 |
|
JohnFound 12 Nov 2004, 16:49
decard wrote: I have created two templates for Fresh: DLL Library and SysTray Application. Thanks. I will include them in the next update. Regards |
|||
12 Nov 2004, 16:49 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.