RUNOFF under RT-11 This version of RUNOFF may be converted to RT-11, but the job will take a bit of work. The following suggestions may prove useful. 1. Runoff depends on section RNFIO for all I/O and RNORSX to set up the input and command parsing. These modules will require extensive changes, and possibly entirely new modules. The module START con- tains all of the file OPEN and CLOSE calls. The rest of the routines should require little or no modifacations. 2. Most symbols are defined in RNPRE. This may be changed to personal- ize or convert features. 3. The input line from RSX is assumed to be free of carriage control characters and for the purposes of RUNOFF both a carriage return and line feed are appended to the line. I understand that under RT-11 all text lines already have these carriage control in them. The main job would be unblocking the input lines from the input buffers and placing them into the input line buffer. 4. The routine GBYT,PBYT,GWRD,PWRD,FNDBF,SETBF,RSTBF,ENDBF are all used to access dynamic memory. The main change that would have to be made is in how the dynamic memory is obtained and returned to the dynamic pool. Currently all of the dynamic memory is managed internally and for RT you could use .SETTOP to add more memory as needed. 5. If changes are contemplated which use extended memory for the buffer pool, then a number of changes will be needed in RUNOFF,GCIN. Every reference to BF.ADD needs to be carefully looked at. There are sev- eral places where I have assumed that having the memory address of a byte is sufficient to access it. Unfortunately the Index BF.FUL(R3) will be needed instead. You must then call FNDBF using the appropri- ate index before accessing the byte in the buffer. After accessing it you may need to call FNDBF again with the restored index value to return to regular processing or call ENDBF or RSTBF. 6. The program must be overlayed if you wish to have a maximum of dynam- ic memory. If you wish a non overlayed version and still have some dynamic memory, the call to HYPHEN inside of RUNOFF may be removed. This will effectively prevent AUTOHYPHENATION and allow you to dis- pense with the HYPHEN routine which is quite large. 7. You should be aware that every time LGO is entered the stack pointer is reset back to the initial bottom value. In particular this hap- pens at the beginning of each line, the end of each command, and after many of the error messages. This particular logic simplifies the error handling and prevents problems except to those who use the stack for permanent storage.