News:

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

Tiny IDE

Started by jj2007, May 04, 2012, 09:21:35 PM

Previous topic - Next topic

jj2007

Just for fun, I have polished an old project: TinyIDE, an editor at 7.0 kBytes that offers a little bit more than Notepad, at least to the assembler programmer :bg

Tested OK under Win7 and under WinXP with Office11, but the usual disclaimers apply, of course.

TinyIDE does not have the advanced features of its big brother, and it cannot prepare cappuccino (sorry, Hutch) but for testing little apps it's just fine :bg


dedndave

nice   :U

wow, that's really....
...Tiny   :bg

Force

It is Great JJ207  :U :U :U
Never Stop Until You Are Better Than The Best

JD

Wow!  Thank you for sharing this JJ2007.   :U   :cheekygreen:

nixeagle

Neat x) If you have build, you probably ought to also have Run... and perhaps even Build and run! :bdg

jj2007

Quote from: nixeagle on May 05, 2012, 09:52:34 PM
Neat x) If you have build, you probably ought to also have Run... and perhaps even Build and run! :bdg

Hmmm... does it mean the F6 key is not working?

Thanks for the feedback. The project is an exercise for testing various techniques for reducing code size. I know that is a top-notch problem in times of terabyte drives  :wink, but occasionally smaller code helps to keep the code cache clean, so why not?

I attach a new batch file - there were a few problems with some files in \masm32\examples  :(

Most of them will work now, but for the \masm32\examples\Bill_Cravener\AniWindow series you will have to rename the resource files, e.g.
\masm32\examples\Bill_Cravener\AniWindow\AniDiagRightLeft\AniDiagRightLeft_rc.rc
\masm32\examples\Bill_Cravener\AniWindow\AniDiagRightLeft\AniDiagRightLeft.rc   <<<<<<<<

Let me know if any of the \masm32\examples sources don't assemble & run correctly when hitting F6.

P.S.: If you want to keep the formatting (red, bold etc), you need to save your sources as *.rtf

nixeagle

Quote from: jj2007 on May 06, 2012, 02:33:14 AM
Quote from: nixeagle on May 05, 2012, 09:52:34 PM
Neat x) If you have build, you probably ought to also have Run... and perhaps even Build and run! :bdg

Hmmm... does it mean the F6 key is not working?

Thanks for the feedback. The project is an exercise for testing various techniques for reducing code size. I know that is a top-notch problem in times of terabyte drives  :wink, but occasionally smaller code helps to keep the code cache clean, so why not?

I attach a new batch file - there were a few problems with some files in \masm32\examples  :(

Most of them will work now, but for the \masm32\examples\Bill_Cravener\AniWindow series you will have to rename the resource files, e.g.
\masm32\examples\Bill_Cravener\AniWindow\AniDiagRightLeft\AniDiagRightLeft_rc.rc
\masm32\examples\Bill_Cravener\AniWindow\AniDiagRightLeft\AniDiagRightLeft.rc   <<<<<<<<

Let me know if any of the \masm32\examples sources don't assemble & run correctly when hitting F6.

P.S.: If you want to keep the formatting (red, bold etc), you need to save your sources as *.rtf

Hmm, maybe I'm expecting something different :eek. When I push it, a window pops up but no program seems to run though one gets built. Hence my suggestion x). I thought you meant by "build" as in just building the file!

jj2007

Quote from: nixeagle on May 06, 2012, 03:01:39 AM
Hmm, maybe I'm expecting something different :eek. When I push it, a window pops up but no program seems to run though one gets built. Hence my suggestion x). I thought you meant by "build" as in just building the file!

What kind of window pops up? The demo? If you open demo.rtf and press F6, do you get a Hello World message box?

nixeagle

Quote from: jj2007 on May 06, 2012, 03:08:42 AM
Quote from: nixeagle on May 06, 2012, 03:01:39 AM
Hmm, maybe I'm expecting something different :eek. When I push it, a window pops up but no program seems to run though one gets built. Hence my suggestion x). I thought you meant by "build" as in just building the file!

What kind of window pops up? The demo? If you open demo.rtf and press F6, do you get a Hello World message box?

No,  :(. A console (cmd.exe) pops up prints some stuff (I can't tell what, it is way too fast) and closes right away. No message box.

jj2007

Quote from: nixeagle on May 06, 2012, 03:11:12 AM
No,  :(. A console (cmd.exe) pops up prints some stuff (I can't tell what, it is way too fast) and closes right away. No message box.

Mysterious. Which OS? If you extract all files with "use folder names" to the Masm32 root drive, and run \masm32\TinyIDE\TinyIDE.exe, do you see a Hello World box?
Are all files present?
\masm32\TinyIDE\HelloWorld.rtf
\masm32\TinyIDE\TinyDemo.rtf
\masm32\TinyIDE\TinyIDE.exe
\masm32\TinyIDE\TinyDef.bat
\masm32\TinyIDE\TinyIDE_PrintProc.pdf
\masm32\TinyIDE\BatchDemo.rtf
\masm32\TinyIDE\TinyHelp.rtf


Thanks for feedback, jj

nixeagle

Quote from: jj2007 on May 06, 2012, 03:47:25 AM
Quote from: nixeagle on May 06, 2012, 03:11:12 AM
No,  :(. A console (cmd.exe) pops up prints some stuff (I can't tell what, it is way too fast) and closes right away. No message box.

Mysterious. Which OS? If you extract all files with "use folder names" to the Masm32 root drive, and run \masm32\TinyIDE\TinyIDE.exe, do you see a Hello World box?
Are all files present?
\masm32\TinyIDE\HelloWorld.rtf
\masm32\TinyIDE\TinyDemo.rtf
\masm32\TinyIDE\TinyIDE.exe
\masm32\TinyIDE\TinyDef.bat
\masm32\TinyIDE\TinyIDE_PrintProc.pdf
\masm32\TinyIDE\BatchDemo.rtf
\masm32\TinyIDE\TinyHelp.rtf


Thanks for feedback, jj

This is windows 7. Still no box, and yes the files are present. Does this have to be extracted to the MASM directory for it to work? If so that would be my problem, though I'm not thrilled with the idea of adding unrelated stuff to MASM's program directories. I generally do all my stuff in my home directory leaving all the other directories unpolluted.

jj2007

Quote from: nixeagle on May 06, 2012, 05:21:34 PM
This is windows 7. Still no box, and yes the files are present. Does this have to be extracted to the MASM directory for it to work? If so that would be my problem, though I'm not thrilled with the idea of adding unrelated stuff to MASM's program directories. I generally do all my stuff in my home directory leaving all the other directories unpolluted.

I tested the previous version on Win7 Pro, no problems.

> I generally do all my stuff in my home directory
If the home directory sits on C: and Masm32 on D:, then you have a problem, otherwise it should work. I attach new files, with two versions of the executable:
- \masm32\TinyIDE\TinyIDE.exe: standard
- \masm32\TinyIDE\TinyIDEicc.exe: standard plus InitCommonControls

Occasionally we had proggies here in the forum that mysteriously worked on one puter but failed on others, and the "bug" could be fixed by a call to InitCommonControls. Does anybody else have similar problems to get it running?  ::)

The full source is included as TinyIDE.asc. Drag it over TinyIDEicc.exe and press F6 to assemble it. In case you get plenty of error messages: Not my fault, but rather a badly documented behaviour of different RichEd.dll versions. Some export hidden text, others don't. Quite a nuisance, it cost me lots of efforts to eliminate that one for RichMasm, but for a 7.0k editor that is not feasible. Those who have a folder named C:\Program Files\Common Files\Microsoft Shared\OFFICE11 should have no problems :toothy

P.S.: Any feature requests? It must fit into 138 bytes, so much is left before it jumps to 7.5k :bg

nixeagle

Quote from: jj2007 on May 06, 2012, 09:41:55 PM
Quote from: nixeagle on May 06, 2012, 05:21:34 PM
This is windows 7. Still no box, and yes the files are present. Does this have to be extracted to the MASM directory for it to work? If so that would be my problem, though I'm not thrilled with the idea of adding unrelated stuff to MASM's program directories. I generally do all my stuff in my home directory leaving all the other directories unpolluted.

I tested the previous version on Win7 Pro, no problems.

> I generally do all my stuff in my home directory
If the home directory sits on C: and Masm32 on D:, then you have a problem, otherwise it should work. I attach new files, with two versions of the executable:
- \masm32\TinyIDE\TinyIDE.exe: standard
- \masm32\TinyIDE\TinyIDEicc.exe: standard plus InitCommonControls

Occasionally we had proggies here in the forum that mysteriously worked on one puter but failed on others, and the "bug" could be fixed by a call to InitCommonControls. Does anybody else have similar problems to get it running?  ::)

The full source is included as TinyIDE.asc. Drag it over TinyIDEicc.exe and press F6 to assemble it. In case you get plenty of error messages: Not my fault, but rather a badly documented behaviour of different RichEd.dll versions. Some export hidden text, others don't. Quite a nuisance, it cost me lots of efforts to eliminate that one for RichMasm, but for a 7.0k editor that is not feasible. Those who have a folder named C:\Program Files\Common Files\Microsoft Shared\OFFICE11 should have no problems :toothy

P.S.: Any feature requests? It must fit into 138 bytes, so much is left before it jumps to 7.5k :bg

Both give this error:


Commandline for HelloWorld, Windows app, no resources
Arg1=HelloWorld.rtf
Assembling: TinyTmp.asm
TinyTmp.asm(1) : error A2044: invalid character in file
TinyTmp.asm(3) : error A2013: .MODEL must precede this directive
TinyTmp.asm(4) : error A2034: must be in segment block
TinyTmp.asm(5) : error A2034: must be in segment block
TinyTmp.asm(6) : error A2008: syntax error : exit
TinyTmp.asm(8) : error A2006: undefined symbol : start
TinyTmp.asm(8) : error A2148: invalid symbol type in expression : start

*** Assembly error ***
Press any key to continue . . .

Yes I have HelloWorld.rtf in the same directory. What I did with both executable files was to run them, push F6 and the result is that error.

As far as features go, perhaps give a thought to editor syntax highlighting using rich text files. That is use the coloring and so on to highlight program constructs rather than something the users mess with.

jj2007

Very odd. It means TinyTmp.asm is not plain text, as expected, but rather rtf. Can you catch it before the keypress?
I use EM_STREAMOUT, SF_TEXT or SFF_SELECTION - no big deal, works flawlessly in many other places ::)

Are you running plain Win7, or is it something more exotic - a VM, CygWin, ...???

nixeagle

Quote from: jj2007 on May 07, 2012, 05:16:30 AM
Very odd. It means TinyTmp.asm is not plain text, as expected, but rather rtf. Can you catch it before the keypress?
I use EM_STREAMOUT, SF_TEXT or SFF_SELECTION - no big deal, works flawlessly in many other places ::)

Are you running plain Win7, or is it something more exotic - a VM, CygWin, ...???

This is windows 7 on the hardware. I am not running your program from within CygWin if that helps. What would you like me to "catch before the keypress"?