I've mentioned before something like "Yeah, I feel old, cause I know what a TSR is (was?)" and some younger kid in the room said "oh, my uncle used to have a TRS80, yeah, those were crap.".
The LOL was strong with that one, but not for the reasons he thought.
One of my favorite TSR programs was Qedit, by SemWare.
I have yet to find another editor that I like better, and wish that I could find something similar which runs on unix-like operating systems. Qedit had the ability to drop to a command prompt to execute external commands and then return to the editor just as "GO.COM" does and I wonder if any of the author's code found its way into the SemWare editor.
I also got a kick out of the .com filename extension reference and wondered how many HN readers remember that .com used to stand for "COMMAND" instead of today's "Commercial." Judging by the amount of comments here the number is fairly small.
Could you get what you want with Unix job control? From inside e.g. emacs, hit control-z, and it should suspend the emacs process and you'll be back at the shell you started emacs from. When youre ready for more emacs (woo!), tell bash to "fg" and you'll be back in emacs.
The features of Qedit that I liked had more to do with editing functions and keybindings than suspending any processes, and running concurrent applications is sort of a non issue in BSD/Linux.
The default Qedit settings made columnar editing as easy as linear editing... You could copy/paste in a vertical manner, as well as the more normally seen horizontal method.
This facilitates ease of copying/pasting/deleting blocks of code without picking up, or affecting, other portions of code, whereas horizontal oriented block editing does not allow multi-line editing within set columns.
You get every column within a set of copied lines even though you only want a smaller block of text.
Perhaps emacs can do column based edits, or some other editor?
Both Emacs and Vim can do column and arbitrary rectangular area manipulations. Another old and popular editor in the DOS days was Brief, which could also do them.
Vim puts the terminal in raw mode, so ^Z sends ^Z instead of SIGSTOP. When Vim receives a ^Z, it shuts down ncurses, returns the terminal to a sensible state, and sends itself SIGSTOP. When it gets SIGCONT, it sets up ncurses and reconfigures the terminal the way it wants again.
".exe" and ".com" files are basically two different file formats for executable code. Note that DOS selects the file format not based on file name extension but rather by looking at the first 2 bytes in the file. If the first two bytes are "MZ" it will select "EXE mode" otherwise "COM mode".
COM files contain a single segment of code+data. The DOS authors directly reused the format from CP/M. The loader allocates a single segment of memory, then loads the com file at address 0x100, and transfers control there. So the first byte of the file contains the first instruction.
EXE files in contrast have a header that define multiple segments worth of code + data, and some environment variables. DOS allocates memory for each segment, possibly in a different order and positions on every system, loads the segment's contents from the EXE file, and then modifies each code segment to adapt to the actual locations of the other segments (that process is called relocation).
Oh dear, I can't imagine not knowing what a TSR is. Feel old.
The wikipedia page is pretty good http://en.wikipedia.org/wiki/Terminate_and_Stay_Resident