News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

The New GeneSys Development Aid

Started by PBrennick, April 02, 2007, 03:43:39 AM

Previous topic - Next topic

PBrennick

Hello Everyone,

The GeneSys Editor is now called The GeneSys Editor Plus. It is less than an IDE but more than an editor, much more. Now there is an integrated building environment with automated project generation. You do not need to know how to set up a project or learn how to use an IDE. It does everything that an editor can do and it also does the important things that an IDE does. This means that you can concentrate on what you REALLY need to concentrate on which is developing your source code. The editor will generate the menu items that you need based upon what you are trying to do. It is OUR concept of how a tool of this nature should operate. It is a 'one of a kind' as I have never seen this method used any where else. We think you will enjoy the experience.

One of the real nice things about it is that it can be set to use the GeneSys SDK or MASM32 (or anything else you want including C). More about this will be explained at the bottom of this page.

A little history. The GeneSys Editor has been around for many years, even before the GeneSys SDK was released. Over time, the code was continually modified to work out the kinks and it did a good job but when we started thinking about adding build capabilities, it became apparent that it was time for a fresh start. After discussing this with Vortex for some time, it was decided to begin this project so I began coding at the beginning of this month. We proceeded at a furious pace and in less than a month it was completed. It has 5561 lines of code with an assembly source file size of 273,861 and a resource file size of 18,627 with 376 lines of code. For a program written in assembly, it can be considered to be quite large. We are proud of what we have created and we wish that you will find using it to be an enjoyable experience.

A summary of some of its capabilities:
======================================

There is a lot of information stored in the Registry. The key is HKEY_CURRENT_USER\Software\GeneSys Editor Plus. There are twenty seven entries. If the GeneSysEditorPlus key is deleted, the editor will revert to the defaults that you saw when you ran it for the first time.

The Tools SubMenu can be used to provide access to your favorite programs right from the editor. You can create 5 menu items. When you click one of these menu items, the default directory is set to the path to the Filename you wish to execute. The working directory that is set according to the project is not modified so you can work on your source file while another program is running. In fact, you can run all 5 of the items at once as long as you have enough memory to do this. All seven of the entries in the Tools SubMenu are modifyable. Any changes that you make will persist from session to session because they are saved in the registry

A note about fonts. You can choose any font that you like and the settings will be preserved from session to session except if you choose any of the EFFECTS (except for text color). Italic, bold, strikeout and underline are not supported across sessions. If you choose a script type font or a variable pitch type font, you will see your files in that way from session to session but the file is saved as a standard text file so if you load it into another editor, the text will show as plain text. The reason for this should be obvious. The file must be in an acceptable format for an assembler or compiler to understand.

Finally, there is Build Menu Help dialog that descibes how the many items in the Build menu function. It is too large to put here but it is embedded in the program to help you begin the GeneSys Editor Plus experience. It has been written in such a way that if you want to keep it active as a reference while you work, just click the edit window that is showing behind the dialog box or click the Minimize button on the Dialog box Titlebar.

Enjoy,
The GeneSys Team


[attachment deleted by admin]
The GeneSys Project is available from:
The Repository or My crappy website

ramguru

Great story  :U (that part about history)
Also incredible numbers, if there would be 5561 lines in one of my files, I would call it hard-to-handle-project  :naughty:
This must be richedit that requires so much code (remember Ewayne's project HexEdit 255,963 in one file)
Regarding new icons, they look better now, but copy is replaced with paste && paste is replaced with copy  (if you look in qeditor)  :lol, I also see similarities: gensesys toolbar icons && qeditor toolbar icons.
In sum, your editor is really easy to use. However, if you want me to use it (I'm rather picky  :bg) your editor have to support at least two compilers: poasm, masm, your editor have to syntax hilight (at least "invoke" "BYTE, DWORD..." "eax, ebx.."), also it should have tab interface. These are not suggestions for development rather description of my taste.
Wish you look, take care  :thumbu

Vortex

ramguru,

The new editor supports other assemblers, all what you need to do is to customize your build options.

PBrennick

As I said in the post above, start the editor and click Build Menu Help to find out what it can do. It was too large to post here. By the way, the size has absolutely nothing to do with RichEdit. The project generator does an enormous amount of string manipulations as well as trap logic. The Tools Menu uses a lot of string manipulation as well. Finally, there is a significant amount of lines of string variables for doing the above as well as handling the MRU.

Thank you for your frankness.

Paul
The GeneSys Project is available from:
The Repository or My crappy website

Shantanu Gadgil

Hi,
Nice little tool to put along with the GeneSys system! (I guess that would be the final aim, right?)

I do miss the syntax highlighting though. (Probably too used to the RadASM way of behaviour)

Any plans in the future to add profiles to the build system, so we don't have to use _a_ single assembler/linker/resource compiler at a given time. (I saw the part where we can define our own commands for the assembler, etc, but during a single run of the editor, there doesn't seem to be a quick way to switch among different assemblers, does there?)

_IF_ you plan to add profiles, would it be possible to be able to switch between them on the fly?
So...I create a project...say for MASM...and now want to see if it works as-is in POASM, I just choose "Profiles"->"POASM"...and hit "Build"...and it would use the settings for the "POASM" profile (POASM.EXE, PORC.EXE, POLINK.EXE, etc) ... (All this hypothesis...just an idea floating about)

Continuing with the profiles' banter  :bg ...it would be nice to have sub-types in the profiles...MASM (Debug, Release, Custom), etc.

Is there any method of specifying INCLUDE and LIB directories? I searched for it but couldn't find the setting anywhere. If its not already there could you please...please...provide a way of specifying multiple INCLUDE and LIB directories.  :bg :bg

Cheers and Regards,
Shantanu
To ret is human, to jmp divine!

PBrennick

Shantanu,
I have talked this over with Vortex and the decision is that we feel it is not a good idea to support multiple profiles. For one thing, it would double the size of the project (almost) because the string manipulations and trap logic necessary to support that option is already a VERY significant portion of the program . Multiple directories, then, will be unnecessary. We feel that the flexability we have provided in the Options dialog is sufficient for anyone's needs.

Syntax Highlighting is something I am exploring as a result of your request. I really dislike it but it would be wrong for me to not put it in based upon my own tastes. What I will do is provide an On/Off toggle. I will also make it highly customizable which is the theme of this tool.

Thank you for your suggestions. If you have more, feel free to post them, it will make it a better tool.

Paul
The GeneSys Project is available from:
The Repository or My crappy website

ramguru

Now, my suggestion for development (I will be precise  :wink ):
I want to have a menu command "Help->Genesys library" that will call modeless popup dialog window with title "Genesys library"
Left side of window will contain treeview control with a list of existing procedures, like
+Bitmap-|
    bitmapfromfile
    bitmapfrommemory
    ...
+Directory
    FS_IsDirectory
    ...

right side of main window will contain listbox control (on the top) for searching procedures, and on the bottom there will be description for particular procedure with all params listed and described, what it does etc...

also the will be an "Insert" button, after I click it at least procedure's name will be inserted at caret pos.

You're fighting very competitive war so your product surely must distinguish (there are so many of THEM even written in pure asm), Shaka_zulu will post his own editor sooner or later (and he's using scintilla), be ready....

Vortex

Ramguru,

Our aim is to create a usefull editor supporting our package. GeneSys Editor Plus is designed specifically to meet the requirements of our audience using our package so our efforts are not intended to "compete" with anyone. Your statement "X is going to post his own editor, be ready" does not match the goals to support our users, so you are invited to think once more about the design philosopy our package.

Your request will be evaluted if we will receive similar requests about the treeview control.

ramguru

Your mean & cold reply deserves my adequate post  :P

Quote from: Vortex on April 03, 2007, 06:08:35 PM
Our aim is to create a usefull editor supporting our package.
How does your editor supports your package if I couldn't find description of a single procedure (even on the web) ?

Quote from: Vortex on April 03, 2007, 06:08:35 PM
... so you are invited to think once more about the design philosopy our package.
I'm not thinking type, I'm coding type  :dance:



Vortex

Ramguru,

You are right about the descriptions but this is the job of a help file or a .chm file to present the explanations to the users.

Please remember that Paul is working very hard to maintain the editor and if I am asking you kindly to think about it, you can be sure that there is a reason.

If you have any other personal questions, you are free to contact Paul or me.

Ehtyar

Quote from: ramguru on April 03, 2007, 06:55:20 PM
I'm not thinking type, I'm coding type  :dance:
Not the polite type either?

Ehtyar.

PBrennick

Ehtyar,

Thank you. You are a ray of sunshine on this dismal day. That is all I have to say for right now. I AM working on the CHM file and another surprise, also, but I wont mention it yet just to have it belittled.

Paul
The GeneSys Project is available from:
The Repository or My crappy website

hutch--

This much I have learnt a long time ago, never try and please anyone in particular with an editor except yourself. Over a long period I have had requests to make QE like the "Borland" IDE, then like "UltraEdit" and this is while having it compatible with "Notepad" then also make it like the VC editor, (all versions even though they are all different) and you can add to that GatorEdit, YourEdit, MyEdit, HisEdit, HerEdit, AnyEdit, BigEdit, SmallEdit, BillEdit, FredEdit, CharlIeEdit, GertrudeEdit, MabelEdit and as many more as you like because all of these suggestion are of about the same level of use, ZERO.

I have been keeping track of Paul's new editor and he has done an enormous amount of work on it so far to ensure that it is properly compatible with GeneSys which is what is actually important rather than some pie in the sky notion of trying to be all things to all persons. I would certainly recommend to anyone who is intereested in GeneSys to pass whatever recommendation they can to help Paul wih feedback and suggestions but as far as the rest, it is futile to try and please anyone who is already using something else and will not change.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

japheth


Hi,

thanks for supplying "GeneSys Editor Plus"!

I have a small suggestion: since the editor can handle very large files (which is very good! :U) it might be considered to display a progress indicator for lengthy operations (reading the file, word wrap,...) if the file size exceeds a certain amount.

Regards

Japheth

PBrennick

japheth,
I like that idea, but I am unsure of its practicality. I will have to see where to set the boundary. Right now, when I open the Bible text file which is 4,432,347 bytes, the file open and wordwrap are instantaneous. About wordwrap, I have seen people, such as Ewayne, write very complicated and time consuming code to perform this. Actually, there is an API for the RichEdit control that does it with just one line of code and it works instantly (at least, I cannot detect any lag). So the feature can be done with very few lines of code and all the rest of the lines are just to perform the toggle.

Paul
The GeneSys Project is available from:
The Repository or My crappy website