SEND Version 1.0 May 15, 1987 Gene Pizzetta SEND sends a preconfigured string to the LST: device. It has been tested only under CP/M Plus on a Commodore 128, but it should work on any CP/M system. The distributed version of SEND does nothing but sign on your screen and then exit to CP/M. You have to configure it with DDT, SID, EDFILE, or some other file editor before it will do anything for you. Here's what it's for: You probably have certain printer configurations that you like to use for certain purposes. To send the necessary bytes to your printer you probably have to search through the printer manual or use one of those menu- oriented utilities (that is, if you can find one for your particular machine). Well now you can configure this tiny program to send any string you want, rename it to something meaningful, and store it on the appropriate disk. It's only two sectors long (253 bytes, to be exact), so it's small and fast. For instance, I have a version of SEND (I've renamed SENDLF) that sends a single linefeed to my printer. When I print one of those files on my Epson that doesn't end with a linefeed, the printer won't dump the last line from its buffer. I used to call PIP (pip lst:=con:) and type a linefeed and ^Z. Now I just type SENDLF at the system prompt and in about two seconds the line is dumped to paper. When printing RCP/M directories I like to use elite type with a left margin so I can punch them for a notebook. I've configured a version of SEND to do that for me. I also have a version (I've named it SENDRS) that resets the printer, which is a few feet from my keyboard and not convenient to turn off and on. Included in this library is SENDFF.COM, a version of SEND that sends a formfeed. You might find it handy when printing several documents using SUBMIT because you can send a formfeed to your printer between each one. USAGE: After you've configured SEND, just call it by name at the system prompt: A>SEND or whatever your current version is called. No parameters are needed and any parameters in the command tail will be ignored. CONFIGURING: SEND can be configured with any file editing utility you like to use, but it's probably easiest done with EDFILE. The string field location can be seen plainly marked in the ASCII field, as shown below: EDFILE 1-12-87 J. C. Kaltwasser & M. J. Mosko File: SEND.COM Record: 00000 (0000H) LOF: 00002 (0002H) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 0123456789ABCDEF -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- ---------------- 0100 - C3 CF 01 53 45 4E 44 20 20 76 31 2E 30 20 2D 2D >CO.SEND v1.0 --< 0110 - 20 47 65 6E 65 20 50 69 7A 7A 65 74 74 61 0D 0A > Gene Pizzetta..< 0120 - 0A 53 65 6E 64 69 6E 67 20 73 74 72 69 6E 67 20 >.Sending string < 0130 - 74 6F 20 4C 53 54 3A 0D 0A 24 44 4F 4E 45 0D 0A >to LST:..$DONE..< 0140 - 24 2D 2D 2D 53 54 52 49 4E 47 2D 2D 3E FF 00 00 >$---STRING-->...< 0150 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >................< 0160 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >................< 0170 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >................< File: SEND.COM Record: 00001 (0001H) LOF: 00002 (0002H) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 0123456789ABCDEF -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- ---------------- 0180 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >................< 0190 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >................< 01A0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >................< 01B0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >................< 01C0 - 00 00 00 00 00 00 3C 2D 2D 45 4E 44 2D 2D 2D F5 >......<--END---u< 01D0 - 11 03 01 0E 09 CD 05 00 F1 21 4D 01 7E FE FF CA >.....M..q!M.~~.J< 01E0 - F0 01 F5 E5 5F 0E 05 CD 05 00 E1 F1 23 C3 DC 01 >p.ue_..M..aq#C\.< 01F0 - F5 11 3A 01 0E 09 CD 05 00 F1 C3 00 00 00 00 00 >u.:...M..qC.....< The string field begins immediately after the right-pointing arrow from the word "STRING" (014Dh) and ends immediately before the left-pointing arrow from the word "END" (01C5h). The distribution version, shown above, has only FFh in the first character position, which means it doesn't send anything at all. SENDFF, shown below, has only a formfeed character at 014Dh and FFh at the second location (014Eh) in the string field. It sends a formfeed and exits. EDFILE 1-12-87 J. C. Kaltwasser & M. J. Mosko File: SEND.COM Record: 00000 (0000H) LOF: 00002 (0002H) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 0123456789ABCDEF -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- ---------------- 0100 - C3 CF 01 53 45 4E 44 20 20 76 31 2E 30 20 2D 2D >CO.SEND v1.0 --< 0110 - 20 47 65 6E 65 20 50 69 7A 7A 65 74 74 61 0D 0A > Gene Pizzetta..< 0120 - 0A 53 65 6E 64 69 6E 67 20 73 74 72 69 6E 67 20 >.Sending string < 0130 - 74 6F 20 4C 53 54 3A 0D 0A 24 44 4F 4E 45 0D 0A >to LST:..$DONE..< 0140 - 24 2D 2D 2D 53 54 52 49 4E 47 2D 2D 3E 0C FF 00 >$---STRING-->...< 0150 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >................< 0160 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >................< 0170 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >................< There are 120 bytes available in the string field. I chose that figure to keep the program under two sectors, but it should be plenty. (I can't imagine a printer configuration string longer than that.) Your string can be as long or short as you need (as long as it doesn't go past 01C5h), but it must end with FFh or send will send its own machine code until it reaches the 0FFh at 01DEh. Of course, you could always just type the string you want to send into the source code and re-assemble it. If you find any bugs, or if you have any suggestions for improving SEND, please let me know. Gene Pizzetta 481 Revere Street Revere, MA 02151 Compuserve 72060,505 QuantumLink GeneP FOG #29 (617) 288-4667 Voice (617) 284-0891