Hi Iczelion

RadASM is coded 100% in asm.

I would be happy if you took the time to put it on your site.

Posted on 2001-10-07 09:26:07 by KetilO
I noticed a pretty cool feature when using RadAsm today :)

When you define a proc, it will display the name of that proc in the bottom right of the screen. But you can extend it:

>>> "MyProc PROC"

;MyProc PROC - This proc is a totally cool test example!
>>> "MyProc PROC - This proc is a totally cool test example!"

What RadAsm looks for is "MyProc PROC" in comments, and then just prints that whole string in the bottom corner. So, you can put anything you want, just proceed it with the proc of your proc :)

So, you can leave yourself notes and stuff and keep them in the bottom corner. My favorite is to put the C++ code in the corner if I'm converting an algorithm, and so as I'm writing the proc, I have a reference....

Just thought I'd share that. Are there any other 'cool' features I missed?
Posted on 2001-10-08 00:08:38 by Kenny
Good job. I really liked RadASM.
Posted on 2001-10-10 22:21:17 by eeprom
Bug report?
Ahm, I was building a DialogBox and noticed that when I resize an object (Ex: EditText) it does not snap to the grid. I can adjust it at any size between the grid points even if the "Snap to Grid" option is checked.
Posted on 2001-10-10 22:43:13 by eeprom

Bug report?
Ahm, I was building a DialogBox and noticed that when I resize an object (Ex: EditText) it does not snap to the grid. I can adjust it at any size between the grid points even if the "Snap to Grid" option is checked.

Hi eeprom.

I have not decided if this is a bug or a feature.
Opinions wanted.

Posted on 2001-10-11 03:29:02 by KetilO
RadASM is very flexible and you can extend it with things like support for making static libraries. If you want to make a library of functions without messing with a DLL, you can use a static LIB instead (with includelib). I did this for a small library I was planning to write, and KetilO suggested I post my modifications here in case other people wanted to write .LIB files too. I'll describe exactly how to modify the INI files to do this with MASM (but you can probably use the same techniques with FASM). If it's more convenient or easier to understand, I also have copies of the default RadASM.INI and MASM.INI files that I modified this way in RadLib.zip. You can replace your old files with these, but it'll overwrite your other settings. If you don't want to overwrite your other settings in the INI files, read on to see how to modify them in 3 easy steps.

1. There's just one tiny modification to RadASM.INI, so I'll describe it first. In the section, there should be a list of file extensions (0=.rap, 1=.rc, 2=.asm, 3=.obj, etc.) RadASM uses. Just add .lib at the end of the list. In the default RadASM.INI, the last entry is "8=.txt" so .lib would be number 9. Add this to the section of RadASM.INI:

2. This won't do anything yet though. The next step is to edit MASM.INI. There is one section that needs to be modified and a new section will need to be added. First, the name of the project type has to be added to the list that RadASM will display in the "New Project" window. I chose "LIB Project" as the name, but it doesn't matter if you prefer a different name. In the section of MASM.INI, add the project name to the list like this:
Type=Win32 App,Console App,Dll Project,LIB Project

3. Finally, you have to add a section with the settings for LIB Projects. I copied/pasted the Dll Project settings and used them as a model, for consistency. The only lines you need to change are the name of the section (should be the name of the project type, "LIB Project" or whatever you chose) and the "link" command. Add this new section to MASM.INI:

1=4,O,$B\RC.EXE /v,1
2=3,O,$B\ML.EXE /c /coff /Cp /nologo /I$I,2

(In the actual file there are comments; if you're intrested go read them since they explain the format more)

I put the parts that are different from the Dll project in bold. As you can see, the name is different. The other line that's different is the "3=" line (link command). The 9 is a reference to the "9=.lib" line in RadASM.ini. It lets RadASM know to delete the old .lib file if it exists before linking, and check to see if it exists after linking. If the file exists, it means the project linked OK. The O means to put the output into the Output window, so you can see any messages the linker generates. The $B gets replaced with the path to your Masm32\Bin directory, and the 3 means to use the name of your .OBJ file as a command line argument (3=.obj in the list of file types) to the linker. If you're intrested in this stuff, you should look at the comments in the INI files. This is only part of what you can do with RadASM (good job KetilO!).

Once you have your INI files set up, you can create a new LIB Project the same way you'd create any other new project in RadASM. It's a good idea to put your function PROTOs in a separate file so you can include it in any projects that use the library. Then just use the include and includelib directives and you're ready to use the library's functions in your other projects.

I've also modified the "Tools" menu to include a tool that automatically copies the include and library files from your project directory to the masm32\Include and masm32\Lib directories. I might work on it a little so it's not hardcoded to C:\masm32\Include and C:\masm32\Lib and maybe post it too. I think this post is long enough though.
Posted on 2001-10-11 16:49:47 by Irving W.
Here's the RadLib.zip file with modified versions of the default INI files. You can look at it to see exactly what I did to modify the files like I described above. Keep in mind that if you copy these to your RadASM directory it'll replace the other settings stored in these INI files.
Posted on 2001-10-11 16:51:14 by Irving W.
KetilO wrote:
I have not decided if this is a bug or a feature.

When I check the "Snap to Grid" option, I do this because I want it to snap everything to the grid. I think that this is a standard on all applications wich support this kind of feature.
If you think of it as a feature and not a bug, then you could put a sub-option like this:

[ ] "Bla bla..."
"Snap to Grid"
"Snap resizings to Grid"
[ ] "Bla bla..."

Hmm... that's all :)
Posted on 2001-10-11 17:10:19 by eeprom
And here it comes, a real bug report.

I was reading the source of the TreeViewDir.Asm file and then I tried to do a search. I pressed CTRL+F and a little "Find..." window poped up. I entered my search string "messagebox" and then pressed the Enter key (not the Find button). The mouse cursor change into that SandClock (dunno the correct name of this thing) and a few seconds later an error message poped up from Windows saying me that he doesn't like RadASM and he has orders from Bill Gates to close this program.
I dunno what RadASM does when I press Enter instead of clicking the Find button, but I'm sure he does something wrong :grin:
Posted on 2001-10-11 21:49:33 by eeprom
Hi eeprom and all RadASM users.

Let me warn you all. This is a serious bug that can make you loose your work since last save.

The bug has been reported earlier and behaves like this:

If the caret is on line 1 pos 1 and direction is set to all and you search for something that is not found, RadASM will GPF in a few seconds. The bug is not related to using enter.

The bug has been found and fixed and 1.0.6 will be released soon.

Posted on 2001-10-12 02:55:25 by KetilO
Started using Windows XP this last week, and I've been having troubles with the paths in RadASM not being recognized. None of the paths in the INI file seam to work after I load a project file. For example, if I use the snippet tool before I load a project, then the root is the directory I have choosen in the INI file for my snippet directory. But after I load a project file, the snippet root becomes C:\ ?! I'm thinking this is a INI file problem, but I haven't been able to resolve it.

Is anyone else using WinXP and RadASM? ...having a similar problem?
Posted on 2001-10-17 14:05:29 by bitRAKE
Hi bitRAKE

Unfortunatly I am not able to help you out here. I will not have access to Windows XP until early next year. What file system are you using? Is it possible there is something abuot that? Maybe there is a little difference in the way XP handles the api GetPrivateProfileString? :confused:

Posted on 2001-10-17 14:42:32 by KetilO
I haven't found a solution, but I do have another symtom:

- The structure is ignored, too. :( When I set the editor font RadASM adds a section at the end of the masm.ini file that starts [], then lists the editor options?

I've reinstalled RadASM fresh, and Masm32 in their default directories. So my set-up is default. From the version 1.0.5 files. I'll play with it some more another time. It doesn't cause too many problems, but I save frequently - just in case. :)

I've created a AddIn.Inc file to be used with all addins, I'll mail it to you when I get home. It makes things more modular when building addins, and defines the interfaces that are availible Posted on 2001-10-17 17:43:07 by bitRAKE

acuttlly i dont use alot in radasm ;[ to big for little projects ;]

but i checked what you said , setthe path in the ini files ..
and i think you are right .. i only checked the help files and they doesnt work

byetheway i'm using window XP...
Posted on 2001-10-17 18:37:10 by eko
Thanks, eko - it's nice to know it's not my system - I catch some bugs every now and then. ;)
Posted on 2001-10-17 20:41:04 by bitRAKE
This editor is much cool! I very much prefer it. Alas, I have not had much time to find all the cool features/bad bugs in it so this post is just to let you know that at first glance this editor is like an oasis in a minefield with free sandwiches for everybody and lots of iced tea. :alright: :alright:

BTW - If somebody wants to send me a copy of WinXP, I'll test this prog on it ;).
Posted on 2001-10-18 09:30:08 by lackluster
Hi eco, bitRAKE and lackluster.



- The structure is ignored, too. When I set the editor font RadASM adds a section at the end of the masm.ini file that starts [], then lists the editor options?

This makes me think that some memory locations are overwritten by a bug. I have sendt you a version with some debugging to verify this theory.

Posted on 2001-10-18 13:07:02 by KetilO
RadASM / Windows XP bug

My guess was right. The content of edx was lost in an api call while converting $H to a path in the help menu.
You can fix the problem temporary by replacing the following sections in RadASM.ini

1=&Win32 Api,H,C:\masm32\help\Win32.hlp
2=&X86 Op Codes,H,C:\masm32\help\x86eas.hlp


The bug is fixed in 1.0.6 and will be released late next week.

Posted on 2001-10-19 17:31:10 by KetilO
KetilO, your awesome! Thanks for the quick fix. :alright:
Isn't that API suppose to preserve EDX?
Posted on 2001-10-19 18:27:28 by bitRAKE
Hi bitRAKE

In a proc I use lstcpy and lstrlen. On Win98 and Win2k edx is preserved, not on WinXP.

Also there is a bug in the sniplet browser. I guess it was late and I used CloseHandle instead of FindClose. This makes my XP terminate RadASM without any errors.

Posted on 2001-10-19 18:39:23 by KetilO