TM - Tiny eMacs

An Emacs-ish text editor for DOS (remember DOS?), in less than 4K bytes.

"TM" was my first 8086 assembler project, started way back in 1988 if memory serves.  All I wanted from the exercise was some experience with DOS and 8086 assembler, and possibly a simple, convenient editor with familiar Emacs key bindings.  The more features I added, the more useful it became; the more I used it, the more I wanted new features.  Drawing me on was the challenge of adding the more complicated features while remaining below the hallowed 4K barrier -- once upon a time a common "cluster size" on the primitive computing devices of the day.  TM took on a life of its own.  It grew and grew and eventually consumed me.  As I write these words now, I am but a hollowed-out shell of the man I was before I first caught the bug of
superoptimization.

Actually, the experience wasn't all that bad.  It was a hobby without recurring costs, and I ended up with a text editor that I use to this day!  (DOS will never die, it seems, despite all our best intentions.)  Some features, like toggling between hex and literal views of 8-bit characters, and conversion to/from UNIX-format line endings, still come in handy.  And I'm still proud of the way search-and-replace seamlessly piggybacks on the incremental search and macro features ...  minimal code, more powerful, and more convenient than the conventional separated search-and-replace and incremental search functions.

Anyway, you can check it out yourself, as long as you realize that there are no guarantees or warranties of its suitability.  I did my best, but you can't expect much from a program which has had a user base of one for the past ten years.  I'll retain the (immensely valuable) copyright, but I hereby give individuals unlimited rights to download for their own use.   Even if you work for the government.  Two files are provided here:

tm.txt : Describes the command-line parameters and arguments.  (Best viewed with TM.)
tm.com : Executable file for MS-DOS (a.k.a. Windows 95/98/NT)

-bhk