Get it here:
http://www.radasm.com/Upload/RadASM2208.zip
Whats new:
o Improved Collapse / Expand (Code folding).
It will now work with unnamed nested structures and unions.
You need to manually update assembler.ini
Example masm.ini
[CodeBlock]
1=$ proc,? endp,,,6
2=.if,.endif,.elseif,.else,0
3=.while,.endw,.break,,0
4=? struct,? ends,,,2
5=? struc,? ends,,,2
6=? union,? ends,,,2
7=$ macro,endm,,,14
8=.code,,,,16
9=.data,,,,16
10=.data?,,,,16
11=.const,,,,16
12=BEGIN,END,,,0,1
13=Method,MethodEnd,,,6
14=Object,ObjectEnd,,,4
15=Switch,endsw,Case,Default,0
16=;##\,;##/,,,4
Also to parse named unions make this change in section {Code]
{Code]
Struct=? ends,$ struct,$ struc,$ union
o Updated RAEdit custom control.
IMPORTANT:
Version 1.1.0.0 of RAEdit introduces collapse/expand blocks that are not backwards compatible.
- Use REM_ADDBLOCKDEF message or call SetBlockDef to set block definitions.
A parameter of 0 resets the block definitions.
There can be a maximum of 32 block definitions.
- REM_SETBLOCKS does not have any lpRABLOCKDEF parameter and needs only be called once
for a newly opened file.
- REM_COLLAPSE and REM_COLLAPSEALL does not have any lpRABLOCKDEF parameter.
- Added word group to RABLOCKDEF. Different files can have different RABLOCKDEF's
For RadASM .rc files are wordgroup 1, all other are wordgroup 0.
Example masm.ini
[CodeBlock]
12=BEGIN,END,,,0,1
o Incrased max block definitions from 16 to 24.
o The 19 menu items limit on tools menu has been incrased to 32.
0 The 0 to 9 limit on project file parameter on tools menu is removed.
o Rearranged position of OK / Cancel buttons on several dialogs.
o Fixed bug in project wizard where wrong templates could be shown.
o Updated and fixed bugs in text link manager addin.
o New style manager addin. Use it to change dialog and control styles.
o Moved the ReallyRad menu item down on the option menu.
o Added option dialog to set assembler spesific enviroment variables.
o Added function to center controls in dialog.
o Updated RadASMini.rtf file.
o Added default alignment style to button control.
o Added function to set dialog controls tabindexes.
- LeftClick to set, Ctrl+LeftClick to pick.
KetilO
Now that is much too fast improving :))
Thank you...
Hi there...
The site can't be reach :dazzled:...nothing serious i hope :red
Hi
The site is up again now.
KetilO
Thank you for the update, but I still can't reach your site yet either ?
I've tried several times during the day. Message always states it can't be reached.
It does not parse unnamed and / or nested structures corectly :(
When i try to close this
OS_DRIVES STRUC
os_drive_letter dd ? ;C: , D:
os_drive_type dd ? ;HDD, CD-ROM, Stick, Floppy, Tape, Network share
os_drive_device_nr dd ? ;ATA-0,1,2,3
os_drive_part_nr dd ?
os_drive_part_type dd ? ;code for FAT16,FAT32,NTFS,ISO9660
os_drive_part_start dd ?
os_drive_part_size dd ?
UNION
; FAT32 specific information
STRUC
os_drive_fat_total_sectors dd ?
os_drive_fat_rezerved dd ?
os_drive_fat_cluster_size dd ?
os_drive_fat_cluster_root dd ?
os_drive_fat_nr dd ?
os_drive_fat_start dd ?
os_drive_fat_size dd ?
os_drive_fat_data_start dd ?
ENDS ; <--- code folding stops here *****************************
; ISO9660 specific information
STRUC
os_drv_iso9660_total_sectors dd ?
os_drv_iso9660_sector_size dd ?
os_drv_iso9660_root_sector dd ?
os_drv_iso9660_root_size dd ?
ends
ENDS
OS_DRIVES ENDS
my tasm.ini section is like this:
Code=? endp,$ proc
Const={C},$ equ,$ =,$ textequ
Data={C},$ db,$ dw,$ dd,$ dq,$ df,$ dt,$ byte,$ word,$ dword,$ qword,$ real4,$ real8
Macro=endm,$ macro
Struct=? ends,$ struc, $ union
Label={C},$ :
Local={C},local $
[CodeBlock]
1=$ proc,? endp,,,6
2=.if,.endif,.elseif,.else,0
3=.while,.endw,.break,,0
4=$ struc,? ends,,,0
5=$ union,? ends,,,0
6=$ macro,endm,,,14
7=.data,,,,16
8=.data?,,,,16
9=.const,,,,16
10=.code,,,,16
11=;##\,;##/,,,4
In version 2.2.0.6 it was folding the upper level struture ok ... but only if is used the structure name before ENDS
In version 2.2.0.8 is is not folding corectly. No matter what i do it is stopping at an intermediate level ENDS.
Ah, and the intermediate unnamed STRUC'sand UNION are not folded... they do not even show the "+" or "-" folding option.
Hi Bogdan
Change:
4=$ struc,? ends,,,0
5=$ union,? ends,,,0
To:
4=? struc,? ends,,,0
5=? union,? ends,,,0
This means that the name is optional.
KetilO
Hi all
New upload
o Updated RAEdit custom control.
IMPORTANT:
Version 1.1.0.0 of RAEdit introduces collapse/expand blocks that are not backwards compatible.
- Use REM_ADDBLOCKDEF message or call SetBlockDef to set block definitions.
A parameter of 0 resets the block definitions.
There can be a maximum of 32 block definitions.
- REM_SETBLOCKS does not have any lpRABLOCKDEF parameter and needs only be called once
for a newly opened file.
- REM_COLLAPSE and REM_COLLAPSEALL does not have any lpRABLOCKDEF parameter.
- Added word group to RABLOCKDEF. Different files can have different RABLOCKDEF's
For RadASM .rc files are wordgroup 1, all other are wordgroup 0.
Example masm.ini
[CodeBlock]
12=BEGIN,END,,,0,1
o The 19 menu items limit on tools menu has been incrased to 32.
0 The 0 to 9 limit on project file parameter on tools menu is removed.
o Updated and fixed bugs in text link manager addin.
KetilO
Hi all
New upload:
o Incrased max block definitions from 16 to 24.
o Moved the ReallyRad menu item down on the option menu.
o Added option dialog to set assembler spesific enviroment variables.
o Added function to center controls in dialog.
o Updated RadASMini.rtf file.
KetilO
Great ;)
Now it works ok :U
Hi Ketil O
I have noticed a display problem with FreeBASIC
The function separator lines (and the folding) are wrong if a function returns a value using "function = return_value" because RadASM sees this as a new function.
For example :
Code:
declare function twice(x as integer)
declare function thrice(x as integer)
'main
Print twice(5)
Print thrice(5)
sleep
function twice(x as integer)
return 2 * x '<==== OK
end function
function thrice(x as integer)
function = 3 * x '<=== displayed as new function
end function
Just a display issue, the rest works great.
Regards - Nathan
Thanks nathan
Modifying section [CodeBlock] in fb.ini file solves the problem (add a $ here and there).
[CodeBlock]
1=function $,end function,,,7
2=sub $,end sub,,,7
3=if,end if,else if,else,0
4=while,wend,,,0
5=do,loop,,,0
6=select case,end select,case,,0
7=type $,end type,,7
KetilO
Thanks !
That works. But I still get a function called "=" in the code window on the right, so I tried modifying the (code) section in fb.ini but I couldn't find a way of solving this.
Hi nathan
In section {Code] in fb.ini modify following:
{Code]
Skip={C},declare,function_=
Note the curly in {Code] should be a [
KetilO
That works great ! Thanks.
I didn't found any bugs. Just a blurred feeling that RadAsm works a little bit slower than usual
I also found it much slower on my p3 550 (Win2K), couldn't notice the difference on the AMD64 box (XP64) though.
Hi The Svin / donkey
Slower in what way? Loading project or editing?
KetilO
Editing mostly. While typing I can see sometimes sandclock when inside something relative to block (parsing?).
I am a newbie. I needed more than 20 entries for my help menu so I added your 2.2.0.8. But RadASM crashes when I open it.
here is the output of the crash.
An Exception has Occured
Module name: AutoCorrect.dll (RadASM version 2.2.0.8)
Windows XP Service Pack 2
Exception code: C0000005h
EXCEPTION_ACCESS_VIOLATION
Instruction pointer: 0118115Ah
Registers:
eax=000001F4h ebx=00000000h ecx=FFFFFFFFh
edx=00000017h esi=00000000h edi=01184044h
ebp=0012F030h esp=0012EC38h eip=0118115Ah
Segment registers:
CS=001Bh DS=0023h SS=0023h
ES=0023h FS=003Bh GS=0Flags: PF AF SF IF
Flags: PF AF SF IF
F0023h
ES=0023h FS=003Bh GS=0000h
Stack:
FFFFFFFF 004400D5 0044DE10 00000000
00000000 0012EC5C 00000000 7C9105C8
001A40A8 0012ED28 7C910551 00151378
7C91056D 0012ED7C 00000000 00000000
Can you please advise me.
Hi Laureice
It seem like the AutoCorrect addin is unstable.
You can use Option / Addin Manager to uninstall it.
You can also manually edit RadASM.ini section [Addins] and change:
xx=AutoCorrect.dll,0,1
to:
xx=AutoCorrect.dll,0,0
KetilO
Ketilo thank you.
RadASM is no longer crashing.
However, what features did I loose when I uninstalled autocorrect?
What did autocorrect do?
By the way RadASM is a great IDE. I just love it!
Laureice
Hello Laureice, AutoCorrect is a plugin which can be configured to automatically replace mis-spelled words. It could be set to change the word "mvo" for instance into "mov". This is helpful if you have a tendency to mis-spell certain words, or want to implement a form of short-hand notation. :)
RadASM is definately a great IDE. I've tried a few but it's the best. :U
Hi Ketil, has there been a change in the way SHIFT + SPACE is handled with selected text? Sometimes this combination pops up the IntelliSense box with every possible entry in it, or the entry matching the current cursor position, and other times it does nothing. But it seems like SHIFT + SPACE should act as a regular space character and replace all the selected text with a space. This is because the SHIFT key is apparently sometimes slow to be released before the spacebar is pressed - but maybe this is just me. Is it just me? :wink
Hi Laureice
The addin was made by cakmak. It's main purpose is to create shortcuts.
You can define 'i.' to be translated to 'invoke' while typing.
KetilO
Hi Mark Jones
You can turn off Shift+Space intellisense.
Use Options / Code Editor Oprions and uncheck Show list on Shift+Space
KetilO
Aaah, thanks! :wink
Hi all
New upload;
o Added default alignment style to button control.
o Added function to set dialog controls tabindexes.
- LeftClick to set, Ctrl+LeftClick to pick.
KetilO
If it possible to add to Options "Close Window","Close All" one more "Close all, but current".
So that RadAsm would close all opend MDI child windows exept for current?
It's often a case.
Thanx
Is it possible to hide the autocomplete tooltip that pops up, when you change to another window?
For example, type invoke Messagebox,0 -> tooltip shows, and maximze another window, IE for example, the tooltip stay on top.
Hi The Svin
Probably useful but too weird to be added.
KetilO
Thanks Ghirai
This is a bug and will be fixed.
KetilO
Quote from: KetilO on April 11, 2006, 02:31:23 PM
Hi The Svin
Probably useful but too weird to be added.
KetilO
Hi, Ketil,
the function is present (for example) in Opera.
There are many situations it can be usefull.
I can give examples.
Hello Ketil, could we see a "word wrap" toggle in the Sniplet browser? :U
Hi The Svin
This function can easily be added to the FlipCase addin.
I will see what I can do.
KetilO
Hi Mark Jones
The sniplet browser uses an RAEdit control. I will probably not implement wordwrap in RAEdit.
KetilO