RDROYA01@ULKYVX.BITNET.UUCP (07/08/86)
Since I last wrote I've gone a step further with the [Command] buffer idea that I wrote about. Now you are able to suspend a background task, like DDT, return to the editor for further editing, and then go back to the suspended program where you left off. Debugging under this system is much easier than it was before because not only can I display, and move around in the source code, but I can also suspend the background program to inspect that buffer's contents, for example, look at a trace four screens previous, and then return to the debugger or whatever is running. I think the code that handles this switching about could be made a simple memory resident module that any program could call. It could be set up like the Plu*Perfect products for CP/M-80 that "watch" for a key typed at the console, and then do their chores. The code is about 150 lines of assembler with only one outside reference, the line allocation for the word processor. For a mem resident program that reference could be replaced by a simple line output routine. The bios conin could check each typed char for a "switch" key of some sort, and when found could save the current environment and call the ccp. When the switch is typed again, the background task is suspended, and you return to the original program. A CTRL-C instead of the switch would exit the background task and return you to background ccp. The resident program as a separate module is about 12K. With the additional conin and conout routine, it would likely be only around 20K, really not large at all. Perhaps this kind of function is already common and available on most CP/M-68K systems that allow multiple users, but on my single user system it is quite a boon. Anyone interested in code? rdroya01@ulkyvx.bitnet