**>> TOON v 1.2 <<** TOON12.COM records what is on the computer screen. It is useful to anyone who writes about, or needs to record, video computer output. TOON.COM takes its name from the carTOON of your screen which it places in a disk file. The file of screens, also called Toon, is a standard ASCII text file. It can be further edited for any purpose by using a text editor. The screens can also be printed, or inserted in any other document. This is an advantage of making a disk file instead of sending screens directly to the printer: the screen data is available for all uses. Use of TOON A>toon12 A> TOON.COM loads, then returns you to CP/M. Now you use your computer normally. A part of TOON.COM is resident in your RAM, residing just below your CCP. You can easily tell that TOON.COM is loaded, because it will remind you every time you Warm Boot: A>^C Toon = ^_ Instead of the usual "Warm Boot" message, you see a notice containing's TOON.COM's signal to save the screen; ^_ (control underline). Because this character can be generated from the keyboard, but is used extrememly rarely for anything else, it can serve as the "save screen" signal. To activate TOON.COM, just type ^_ (On my keyboard, ^_ and ^- are the same). After ^_ is typed, you see nothing onscreen, because TOON.COM has intercepted the ^_ and not written it to the screen. But the disk drives should start, then stop again when the screen file is finished. If the output file Toon does not exist, TOON.COM creates it. If it does exist, the new screen is added onto the existing screens with just a crlf in between. As many successive screens as desired may be appended to the file Toon. When you no longer need TOON to save screens, just cold boot the computer (press the reset button). The ensuing reconstruction of the CP/M system will turn TOON off. How TOON Works TOON.COM first loads into the TPA (program area) of your computer like other CP/M programs, at 0100h. But its first actions are unusual, in that it redirects one of the standard functions of the computer BIOS (the CONIN, or console input function) to the site where TOON will soon be, below the CCP. Then, as its last gesture, TOON relocates its screen-saving code to the high memory site, and returns you to CP/M. The screen saver remains active until overwritten by something else, or until a cold boot (reset) repoints the CONIN jump to its normal destination. TOON's 627-byte watchdog in high memory takes all calls to the normal CONsole INput function, checking every character. When it finds a ^_ in CONIN, it uses the system's status port to bank- switch back and forth from video to normal memory. TOON reads the video memory and writes it into the file, Toon, on the currently logged disk. To keep TOON small, no disk error messages are issued. This means that, for example, if the disk becomes full, TOON will write part of a file without notifying you. Using TOON Effectively TOON really can write all screen information, which means that all the blank spaces onscreen will be represented in the file as blank characters (20h). Thus lines in the output file Toon can be wide (80 chars), and just fit on a normal printer. Eighty character lines will not fit comfortably onscreen in your text editor if it (eg, Wordstar) tries to put other characters on the same line. Monitor routines (the programs which run screens) also will add lf to 80 character lines, and thus Toon would (incorrectly) appear to have blank lines in its text when TYPE'd from CP/M. In order to avoid this distortion of the text, and still preserve all characters onscreen, TOON deletes the last character of screen lines, but only if the last character is a blank. Lines which contain information in the 80th column will be preserved, and will have a ghost line inserted after them when TYPE'd to the screen. Different Computers By their very nature, screen-saving programs are very machine dependent. Every computer uses a different method to store its video information. TOON is no exception. The distributed version reads video memory in the early Kaypro II (sometimes called the '83 model, before graphics). TOON will not work as is, even on other Kaypros which do not use bank-switched video memory. However, the machine-specific part (called rdvid) has been isolated and clearly marked in TOON.ASM. If you know how your computer uses screen information, you can delete rdvid and drop another routine into its place, and reassemble TOON.COM. If you do this and lengthen the program, check that the new TOON still allows enough space below the ccp for itself (endmv-begin+1 in the line labeled launch0 must be less than the offs equate). Possible Interaction with Other Programs TOON's watchdog sits in a fairly safe place, but it can be overwritten by programs which keep data or code in high memory. This is true of programs compiled with Turbo Pascal using its default End address, for example. If you get bizarre behavior, or lockup, when TOON and another program are combined, this is almost surely what is happening. The same thing can happen if you have an extra-luxurious ccp, because TOON assumes that the ccp start = bios start - 1600h, as for standard 64k CP/M 2.2. This will give trouble as soon as you type A>Toon because you will overwrite an essential piece of your CP/M system. It is easy to get around this difficulty by experimentally changing the "offs" equate in TOON.ASM, then recompiling. As "offs" grows, TOON will relocate further and further down in memory, leaving more room above it for your CP/M system or other programs. TOON Reduces the TPA Size There is one other consideration. TOON loads at the hard-coded address we have just talked about, below the ccp in high memory. But it alters the BDOS jump to point to itself. Other programs loaded after TOON, if they look at the BDOS jump to see how much program space is available, will automatically load under TOON, and not overwrite it. To make the best use of this deception, load TOON first to set the BDOS signpost. **>> <<** If you prefer that assembly language be spoken only in Toyota factories, take heart! You can use TOON without understanding any of the above if you have a standard CP/M 2.2 system, like the one distributed with the Kaypro II. Good luck with TOON! It is often the best way to show other people what your computer does. June, 1985 Mike Yarus 2231 16th Street Boulder, CO 80302 Compuserve 73145,513