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)