I just want to let people know that I am working on an IDE that will accompany the NASMX Project.

I am currently working on the Win32 version, specifically at the point of developing custom editing and highlighting features.

I will let everyone know when this IDE reaches a point of significance. I hope to actually include it within the next NASMX release :)
Posted on 2007-11-03 03:12:22 by SpooK
Found some time this weekend to get further on this project.

Already Done

  • Basic menu

  • Cheesy icon

  • All necessary code to open/edit/close new and exisiting files

  • Custom-drawn windows/regions

  • Project pane

  • File (edit) pane


  • Custom Tabs

  • Tab and Pane inter-logic, e.g. selection

  • Text formatting and highlighting

  • Line tagging

  • Keyboard input

  • Text selection

  • Undo/Redo

  • More menu options representing program features

  • Settings saving/loading integration

  • Multi-use Tool Pane (will dock at bottom like Dev-Cpp)

  • Advanced Search and Replace mechanism

I should be able to get a few more hours worth the work done, in this upcoming week.
Posted on 2007-11-18 23:27:59 by SpooK
You're not going to consider using an existing edit control, so you can focus on the IDE?

http://www.scintilla.org/ is available on both win32 and lunix, and works pretty well...
Posted on 2007-11-19 07:27:51 by f0dder
Probably not.

I have yet to do a major GUI-based project and the only thing I want between me and the OS is the standard API. Also, for Win32, I am explicitly avoiding all common controls.

This has the dual effect of allowing me to see the ups and downs of how common/standard window API's and toolkits are implemented. Stuff to keep in mind for my own OS, GUI and API designs.
Posted on 2007-11-19 08:38:19 by SpooK
Any idea on supporting multiple assemblers? OR is it going to be _exclusively_ for NASM?

One idea about "Profiles" ... you know quickly be able to switch between DEBUG and RELEASE builds?
Is that on the cards ?

Posted on 2007-12-03 06:31:48 by shantanu_gadgil

Any idea on supporting multiple assemblers? OR is it going to be _exclusively_ for NASM?

NASM exclusive. My desire to support other assemblers died with the whole Win32ASM Project fiasco. Beyond that, RadASM and other IDE's are pretty good with supporting multiple assemblers.

That being said, the design is far from being strictly static and I do intend to support some sort of plugin system (have to work out the details), so there may be room for other syntaxes that way.

One idea about "Profiles" ... you know quickly be able to switch between DEBUG and RELEASE builds?
Is that on the cards ?


Haven't considered it yet, it always seemed more like a C/C++ thing to me and I really don't use debuggers myself.

Though, you are correct as there are situations where someone would need such distinct profiles. I will put that on the todo list.
Posted on 2007-12-03 07:58:43 by SpooK
Debug vs. Release builds can do other things than just add .obj debug symbols (does NASM support any of that properly yet?), like enabling diagnostic messages etc... it's useful enough :)
Posted on 2007-12-03 08:35:43 by f0dder
Additionally, it would be nice if there was an option for the  "release" build to ignore (not compile) calls to DebugoOtputString.
Posted on 2007-12-03 09:15:01 by ti_mo_n

Additionally, it would be nice if there was an option for the  "release" build to ignore (not compile) calls to DebugoOtputString.

That should be handled with Macro MagicTM, not a kludge that disables invokes of certain functions.
Posted on 2007-12-03 09:34:13 by f0dder
Debug / Release is VERY important in bigger projects, and yeah, it should be implemented with (custom) macros. If "framework" (NASMX) wants to support it somehow, it must make sure to support it in any way anyone could ever want to use it. Not just disabling one API call.
Posted on 2007-12-03 10:43:07 by vid

does NASM support any of that properly yet?

IEEE-695 and STABS. If you want more, go ahead and submit a feature request.
Posted on 2007-12-03 19:01:17 by SpooK
So, like, any progress? ^^
Posted on 2008-04-14 19:38:26 by ti_mo_n

So, like, any progress? ^^

None, actually. I think I left off at having a sliding pane (very basic) when real life work started to smother my personal projects. What little time I had left went to working on the Dynatos VM and then that was yielded to a few side projects.

I am still in that situation, but I am hoping to rid myself of these side projects soon enough so I can get back to the Dynatos VM.

What I think I want to do, since there are a million and one IDEs out there, is develop NASMX IDE within the Dynatos VM and move on from there.

I will let you know what is officially decided, in the upcoming months.
Posted on 2008-04-15 19:11:25 by SpooK
OK, I'm looking forward to the official decisions, then ;)
Posted on 2008-04-16 04:55:42 by ti_mo_n
Hey SpooK,
If you're looking for an IDE for OS development, the current schedule I've got for PwnIDE has it supporting built-in assembly and custom linking to a binary file by the end of August.  It won't support NASM code any time soon, (unless someone wants to adapt the MASM code parser, which is feasible), but it shouldn't be hard to move stuff over inside the program, since it's almost language-independent inside the IDE (as long as it can parse the stuff).

I've also got an OS project that's mostly on hold until I get this IDE sufficiently far, but I've also promised a professor or two that I'd get the IDE ready for a course I'll be TAing in September, so that's the priority now.  Anyway, I better get back to work, 'cause I've got to get the new parser finished this weekend in order to stay on schedule.  I've already typed out almost every encoding of every instruction up to SSE4.2 for 16-bit, 32-bit, and 64-bit modes.  :)
Posted on 2008-05-31 14:38:44 by hackulous
Well, it has been "months" and I wish to comment on the NASMX IDE.

To be blunt, I have (had) many projects, and not enough time to do all of them.

Recently, and in order to not be yet another vaporware developer, I decided to trim down or make an official stop on projects that I can simply not spend any significant time on.

This (NASMX IDE) is one of them. Another one, was the development of 64-bit Mach-O support for NASM; In which I would say I completed about 80% of it... so not too bad of a compromise.

The priority and demand for yet another IDE is severely low, and it is also low on my list of personal projects.

I guess we can officially call the NASMX IDE project defunct :sad:
Posted on 2008-10-30 23:56:52 by SpooK
Too bad, it's never nice to abandon a project. But it's probably the right decision - after all, there's already an existing number of IDEs that probably work well enough. Better to spend your time and effort where you feel you can make a difference :)
Posted on 2008-10-31 01:22:55 by f0dder