MATESAVE is a CP/M program for use with the 8-bit version of PMATE. Its function is to recover text from memory after one has exited from PMATE prematurely (i.e., before saving some text to disk) or unintentionally (such as when a system crash occurs). To use MATESAVE you must first patch it for your configuration of PMATE. Load PMATE using a debugger such as DDT and look at address 01C9h (PMATE version 3.21). This address contains the address at which PMATE's text buffer begins (remember, the low byte of the address is at 01C9h, and the high byte is at 01CAh). This address depends on your specific confgiuration, such as the size of your permanent macro area. Confirm the address you found as follows. Exit from the debugger; run PMATE normally and put some easily identified text in the T buffer; exit from PMATE; then reload the debugger and examine memory at the address found earlier to make sure it has the text. If that fails, you can just scan memory until you find the text. Then note the address at which it begins. The address of the beginning of the text buffer must be patched into MATESAVE using a debugger. The place to put it is at the beginning of the file at a place clearly identified by a text string pointer (address is 11Dh). MATESAVE is invoked in one of three ways: MATESAVE / This will dispaly a help screen describing the program and explaining the syntax MATESAVE Normal text saving - each of PMATE's buffers (T and 0-9) is examined for text, and any text found is saved in a file with the name BUFFER-n.TXT, where n is the name of the buffer. All pre-existing files with names BUFFER-?.TXT are deleted before the new ones are created, and messages are displayed on the screen reporting on any text found and files created. MATESAVE S Same as above except that pre-existing BUFFER-?.TXT files are not erased unless new ones are created in order to save new text. The source code is included in the library both as a source of instruction and as a guide for anyone who would like to make such a program for MS-DOS. Jay Sage