RTS8V3RN.DOC RTS/8 Release Notes DISCLAIMER This document file was created by scanning the original document and then editing the scanned text. As much as possible, the original text format was restored. Some format changes were made to insure this document would print on current laser printers using 60 lines per page. The original spelling and grammar has been preserved. 1-Nov-1996 RTS/8 Release Notes Order No. AA-5158B-TA February 1979 ABSTRACT This document describes the differences between Ver- sion 2 and Version 3 of RTS/8, restrictions inherent in the RTS/8 system, additional user notes not contained in other RTS/8 manuals, and optional patches. SUPERSESSION INFORMATION: This document supersedes RTS/8 Release Notes, Order No. AA-5158A-BA. VERSION: RTS/8 V3 and RTS/8 System Generation V1. ---------------------------------------------------------------------- | To order additional copies of this document, contact the Software | | Distribution Center, Digital Equipment Corporation. Maynard, | | Massachusetts 01754 | ---------------------------------------------------------------------- digital equipment corporation € maynard, massachusetts First Printing, February 1977 Revised: February 1979 The information in this document is subject to change without notice and should not be construed as a commitment by Digital Equipment Corporation. Digital Equipment Corporation assumes no responsibility for any errors that may appear in this document. The software described in this document is furnished under a license and may only be used or copied in accordance with the terms of such license. No responsibility is assumed for the use or reliability of software on equipment that is not supplied by DIGITAL or its affiliated companies, Copyright (c) 1977, 1979 by Digital Equipment Corporation The postage-prepaid READER'S COMMENTS form on the last page of this document requests the user's critical evaluation to assist us in pre- paring future documentation. The following are trademarks of Digital Equipment Corporation: DIGITAL DECsystem-10 MASSBUS DEC DECtape OMNIBUS PDP DIBOL OS/8 DECUS EDUSYSTEM PHA UNIBUS FLIP CHIP RSTS COMPUTER LABS FOCAL RSX COMTEX INDAC TYPESET-8 DDT LAB-8 TYPESET-11 DECCOMM DECSYSTEM-20 TMS-11 ASSIST-11 RTS-8 ITPS-10 VAX VMS SBI DECnet IAS PDT DATATRIEVE TRAX CONTENTS Page 1.0 OVERVIEW 1 2.0 RTS/8 VERSION 2 AND VERSION 3 DIFFERENCES 1 2.1 System Generation Procedures 1 2.2 New or Substantially Rewritten Tasks 2 2.2.1 128K Support 2 2.2.2 Console and Non-console Terminal Handler 2 2.2.3 Floppy Handler 2 2.2.4 RL01 Handler 2 2.2.5 Macros 2 2.2.6 /X LINK Switch 3 2.3 Enhancements 3 2.3.1 Clock Handler 3 2.3.2 LINCtape Handler 3 2.3.3 Line Printer Handler 3 2.3.4 Mass Storage Handlers 3 2.3.5 RTS/8 Executive 3 3.0 NOTES 4 3.1 System Generation Form 4 3.2 Off-Line Line Printer 4 3.3 Non-standard Clock 4 3.4 Parameter Sources 4 3.5 /Z MACREL Switch 4 3.6 /M LINK Switch 5 3.7 /H LINK Optional Switch 5 3.8 Task Source Programs 5 4.0 RESTRICTIONS 5 4.1 RTS/8 Device 5 4.2 OS/8 SQUISH Command 5 4.3 128K Support 5 4.4 OS/8 Background KT8-A Support 6 4.5 RUBOUT or DELETE 6 4.6 Terminal Handler 6 4.7 OS/8 File Support Task 6 4.8 OS/8 Background Task 6 4.9 KT8-A 6 4.10 Line Printer Handler 7 4.11 CONTROL/S and CONTROL/Q 7 5.0 OPTIONAL PATCHES 7 5.1 ESCAPE Transmission Terminator 7 5.2 No Line Printer in System 9 5.3 Non-system DSK Device 9 5.4 Option Board Line Printer Support 11 iii 1.0 OVERVIEW This document describes o the differences between Version 2 and Version 3 of RTS/8 o restrictions inherent in the RTS/8 system o additional user notes not described in the RTS/8 User's Manual ___________________ or the RTS/8 System Generation Manual ______________________________ o optional patches If you are a new user of RTS/8, the information describing the differences between Version 2 and Version 3 is not germane; this information is presented so that previous users of RTS/8 may make Version 2 RTS/8 systems compatible with Version 3. 2.0 RTS/8 VERSION 2 AND VERSION 3 DIFFERENCES This section describes functional differences between version 2 and 3 of RTS/8. RTS/8 V2 users, after reading this section, can direct their attention to those sections of the RTS/8 User's Manual that _____________________ discuss these differences. The following categories of differences exist. o the System Generation procedures o new or substantially rewritten DIGITAL-supplied tasks o enhancements to previously existing DIGITAL-supplied tasks 2.1 System Generation Procedures The System Generation (or SYSGEN) is a new procedure for creating RTS/8 systems. By asking questions and recording your answers, the SYSGEN automatically creates a parameter file (which you previously had to create manually). The SYSGEN also creates two batch files: the first assembles the source modules that comprise the RTS/8 system and the second links the modules into one unit. You may chain from the SYSGEN to BATCH automatically and thus have BATCH create the RTS/8 system. You may also chain from BATCH to the RTS/8 system. You must now create RTS/8 systems using MACREL/LINK V2 rather than PAL8 and ABSLDR. The manual linking and loading of an RTS/8 system to create partitions for nonresident tasks is automatically performed by LINK. As real-time systems are often tailored to specific applications, you can also modify the SYSGEN procedure so that it more precisely meets your needs. 1 System Generation procedures are fully described in the RTS/8 System _____________ Generation Manual. _________________ 2.2 New or Substantially Rewritten Tasks 2.2.1 128K Support - RTS/8 now supports 128K systems that use the KT8-A. 2.2.2 Console and Non-console Terminal Handler - Four major alterations were made in the terminal source module (TTY. MA). 1. RTS/8 now allows you to use the same terminal as the foreground console terminal (for example, the terminal for MCR) and as the background OS/8 terminal. (See Section 4.12 and 4.5 of the User's Manual. ) 2. You may interrupt a task that controls a terminal by sending a message to the Emergency Breakthrough Task (EMT). This task is, in actuality, a segment of the terminal handler code. (See Section 4.5.1 of the User's Manual. ) 3. The output buffer can be in a different field than that of the message. 4. You may optionally allow an unanswered input request to be aborted by other terminal requests on a timeout. 2.2.3 Floppy Handler - Substantial revisions have been made so that RTS/8 can use the same handler for both single and double density floppies. The changes in this handler are transparent to users. The handler also accepts messages in RL01 format. 2.2.4 RL01 Handler - RTS/8 now supports RL01 disks. Because the RL01 has a greater storage capacity than other storage media used by RTS/8, it has an additional mass storage call format with a two-word block number. (All mass storage handlers were revised so that they may optionally use the additional RL01 format. This allows you to freely change media. ) 2.2.5 Macros - You must include the RTS/8 TASK macro in all tasks. Nonresident tasks must include the NONRES macro in one SECT. These macros are part of the parameter file and are automatically part of all RTS/8 systems. 2 2.2.6 /X LINK Switch - The /X option has been added to LINK so that special RTS/8 requirements may be met. The SYSGEN automatically includes this switch when it creates the LINK Batch file. 2.3 Enhancements 2.3.1 Clock Handler - The following are changes in the clock handler: 1. You may now specify a CLASS word in an RTS/8 message. CLASS is an optional specification that allows the clock CANCEL command to remove groups of requests: you may add a CLASS designator to all clock requests other than CANCEL requests to label those requests for possible future cancellation. 2. The mnemonic PERIODICALLY SCHEDULE has been changed to PERIODICALLY. In Version 2, the PAL8 assembler logically ORed the two words together and placed the value 3000 into the symbol table. PERIODICALLY now has a value of 3000 3. An interrupt linkage has been added that allows RTS/8 to respond immediately to clock ticks. 2.3.2 LINCtape Handler - The LINCtape Handler now accepts messages in RL01 format. 2.3.3 Line Printer Handler - The Line Printer Handler now permits the output buffer to be in a field different from that of the message. 2.3.4 Mass Storage Handlers - DF32, RF08, RK8, RK8E, and TC08 DECtape Handlers now accept messages in RL01 Format. 2.3.5 RTS/8 Executive - The Executive can reside in any field the user chooses. Note that the automatic starting of RTS/8 is disabled if RTS/8 does not reside in field 0. 3 3.0 NOTES 3.1 System Generation Form The checklist SYSGEN form contained in the SYSGEN manual exists as a source in the distribution kit. It is called FORM. TX. 3.2 Off-Line Line Printer The SYSGEN program allows you to list tasks by priority and by partition. These listings normally go to the line printer. If your system does not have a line printer, SYSGEN diverts the listings to your terminal. If your system has a line printer and it is off-line, OS/8 hangs up in a loop until the line printer is on-line. 3.3 Non-standard Clock When you specify a clock that is not standard for a target machine, no direct way exists to change the hardware tick rate. Consequently, you should use a text editor to change the equate HERTZ= in the output parameter file before assembling the RTS/8 system. (If you must modify HERTZ, do not chain to BATCH from SYSGEN. ) 3.4 Parameter Sources The parameter file that SYSGEN produces exists in source form within the file SCRIPT. MA. 3.5 /Z MACREL Switch The MACREL batch file that SYSGEN produces has /Z switches appended to each .MAC assembly command. The /Z tells MACREL to move BATCH out of memory while it is running. This is necessary to allow assembly in a 16K OS/8 system. If you do not want BATCH to be swapped from memory while a particular system is being created, you may remove the /Z by using a text editor on the assembly batch file. If MACREL should never swap out BATCH, then you may remove the /Z switch from the SCRIPT.MA source. If you remove the switch from SCRIPT.MA, you must re-assemble and re-link SCRIPT.MA. The /Z always diverts the MACREL error status print-out to your terminal. 4 3.6 /M LINK Switch The LINK Batch File that SYSGEN produces contains a /M=3 switch. This switch prevents LINK from using the top page of fields 0 through 2: however, LINK may still use the top pages of all other fields. 3.7 /H LINK Optional Switch The LINK has a /H switch that fills unused locations with a halt instruction. This makes debugging somewhat easier because an undebugged program tends to stop executing sooner. (This is especially true for nonresident systems.) You may enter the /H switch into SCRIPT.MA using a text editor. You append the /H switch to the LINK batch file skeleton. 3.8 Task Source Programs The SYSGEN procedure assumes that source programs contain a single task. If one source contains two tasks (each containing its own TASK macro call), you must type both task names when the SYSGEN asks you to enter user tasks. You must also create a dummy file of the second name. If you are using a task-less source, you must add the task to the MACREL and LINK batch files with a text editor. 4.0 RESTRICTIONS 4.1 RTS/8 Device If the RTS/8 system contains nonresident tasks or possesses an OS/8 background, you must execute the system from SYS. 4.2 OS/8 SQUISH Command Do not use the OS/8 SQUISH command in the background of RTS/8. If you do, the results are unpredictable. 4.3 128K Support RTS/8 does not support 128K RK08, LINCtape, or UDC/ICS operation. 5 4.4 OS/8 Background KT8-A Support An OS/8 background under KT8-A with 3 cycle devices may not cross a physical 32K boundary. 4.5 RUBOUT or DELETE RUB-OUTs to the terminal do not echo correctly for carriage returns, line feeds, and tabs. However, the input buffer is correct. 4.6 Terminal Handler When the terminal handler input buffer is full, characters continue to echo. 4.7 OS/8 File Support Task A lookup operation sent to the OS/8 File Support Task returns the file size as a negative rather than positive number. The OS/8 File Support Task may not function correctly when the directory is almost out of room for additional files. 4.8 OS/8 Background Task The OS/8 Background Task does not print the accumulator when an illegal IOT is encountered. The OS/8 Background Task prints an absolute address for KT8-A, and virtual address for KM8-E when an illegal IOT is encountered. 4.9 KT8-A The KT8-A has a bug that you may encounter if you run the OS/8 background with the KT8-A disabled. SYSGEN cannot run in this environment. However, the rest of OS/8 can with the exception of FOTP. Modify FOTP by swapping the two instructions in FOTP which are found as: 14703/ 1355 14704/ 6214 6 The KT8-A malfunctions when User Mode is enabled, the KT8-A is disabled, the accumulator has been loaded on the previous instruction with a value 62x1-62x3, and an RDF is executed. 4.10 Line Printer Handler The line printer handler contains an error handling problem. When an error is encountered, the line printer interrupts are disabled. When the line printer becomes ready again, its flag is raised but cannot interrupt. In a quiescent system, it may be necessary to cause an interrupt later in the skip chain to wake-up the line-printer. Typically this can be done by striking any key on the terminal. 4.11 CONTROL/S and CONTROL/Q RTS/8 does not handle CONTROL/S and CONTROL/Q for either a shared or non-shared OS/8 background. 5.0 OPTIONAL PATCHES Different users of the system will have different needs. The following patches allow the system to be tailored to change the way RTS/8 normally operates. The following patches are source patches. Consequently, to alter the task, you must alter the sources. You reference the location to make the changes by using a text editor search command to locate the appropriate label. The lines where changes occur are indicated with asterisks. 5.1 ESCAPE Transmission Terminator The Terminal Handler treats an ESCAPE (or ALTMODE) as an end-of-transmission character for line-mode input. If you wish to enter keypad data from a VT-52 or VT-100, you must disable ESCAPE recognition. In this case, carriage return becomes the only line-mode terminator. The following patch disables ESCAPE recognition: 7 TAD I REPLY /GET IT AGAIN FOR ECHO ISZ REPLY TAD L7600 /SUBTRACT OFF 200,TTOUTR WANTS ONLY 7 BITS JMS TTOUTR /RETURN AT INTERRUPT LEVEL !! IJOIN, TAD HOLDER /AN INTERRUPT HAPPENED WHILE WE WERE HERE SNA /SKIP IF IT DID JMP NOMORE /NO MORE CHAR'S DCA INCH /HOLD EXTRA CHARACTER DCA HOLDER /CLEAR FOR NEXT ONE JMS RELES /KICK BACK TO MAINSTREAM / / ** LOOK AT THE CHARACTER ** / BYPASS, TAD INCH /WHAT WAS THE CHAR IFZERO STRIP < SNA JMP EOIN /SIGNAL END OF CHARACTER TYPE INPUT > TAD (-15 SNA JMP CARRET TAD (-25+15 /CHECKING FOR CONTROL U SNA JMP XCNTLU TAD (+25-33 /START CHECKING FOR VARIOUS ESCAPES / SZA /ANY ESCAPE COLLECTS IN SZA CHAIN ** TAD (+33-176 LITSZA, SMA SZA /LITERAL TO ALWAYS SKIP ON ZERO AC JMP RUBOUT / SZA ** IAC / SNA ** / JMP ALTMOD ** ISZ INPCNT JMP RPLYLP STA RPLY1, DCA INPCNT NOECH, IOF JMP IJOIN / / ** ESCAPE (ALTMODE) AND CARRIAGE RETURN TERMINATE INPUT ** / ALTMOD, TAD (44+HB /ECHO A DOLLAR SIGN JMS OUT STA /-1 TO BUFFER CARRET, JMS SETBUF /POINT TO BUFFER FIELD DCA I REPLY /PLACE -1 FOR ESCAPE AND 0 FOR , /AND 400 FOR ABORTED JMP EOIN /END OF INPUT 8 5.2 No Line Printer in System The OS/8 background contains a small module to operate the line printer when RTS/8 does not have a line printer handler. When the OS/8 background operates BATCH on a system that has no line printer hardware, BATCH hangs up. The following patch allows BATCH to run on a system with no line printer. IFNDEF LPT < XLLS, /ISZ LPFST ** /SKP ** /JMP . +3 ** /PSKF ** /JMP . -1 /OH, HOW CRUDE! ** TAD AC PSLS /DCA LPFST /CLEAR FIRST-TIME FLAG ** JMP I (XNOP LPFST, /-1 XLSF, PSKF /IF THE FLAG IS NOT UP, JMP I (XNOP /BE A NOP JMP I (XSKP /OTHERWISE BE A SKIP > 5.3 Non-system DSK Device The OS/8 Background Task assumes that the OS/8 name 'DSK' is the same as 'SYS'. If you wish to name some other device 'DSK', the following table gives the correct value of the unit number for 'DSK'. Make the following patch: / ** DEVICE CORRESPONDENCE TABLE / HTBL, DEVICE SYS OSSYD40 DEVICE DSK OSSYSD40 /REPLACE THIS WITH SIMILAR LINE FOR /YOUR DEVICE, E.G., IF RKA1 USE LINE WITH /COMMENTED STARS IFDEF DF32 < DEVICE RF DF3240 > IFDEF RF08 < DEVICE RF RF0840 > 9 IFDEF DTA < DEVICE DTA0 DTA40+0 DEVICE DTA1 DTA40+1 DEVICE DTA2 DTA40+2 DEVICE DTA3 DTA40+3 DEVICE DTA4 DTA40+4 DEVICE DTA5 DTA40+5 DEVICE DTA6 DTA40+6 DEVICE DTA7 DTA40+7 > IFDEF RK8 < DEVICE RKA0 RK840+0 DEVICE RKB0 RK840+4 DEVICE RKA1 RK840+1 DEVICE RKB1 RK840+5 DEVICE RKA2 RK840+2 DEVICE RKB2 RK840+6 DEVICE RKA3 RK840+3 DEVICE RKB3 RK840+7 > IFDEF RK8E < DEVICE RKA0 RK8E40+0 DEVICE RKB0 RK8E40+4 DEVICE RKA1 RK8E40+1 /**** DEVICE RKB1 RK8E40+5 DEVICE RKA2 RK8E40+2 DEVICE RKB2 RK8E40+6 DEVICE RKA3 RK8E40+3 DEVICE RKB3 RK8E40+7 > 10 5.4 Option Board Line Printer Support RTS/8 has no support for the PDP 8/A line printer attached with an options board. It is, however, possible to patch the OS/8 Background Task so that it can access this printer. When OS/8 is run in the foreground, assign LP8A to be the printer: when OS/8 is run in the background, assign the regular line printer. In the OS/8 source replace: IFNDEF LPT < XLLS, ISZ LPFST SKP JMP .+3 PSKF /REPLACE WITH 6570 ** JMP .-1 /OH, HOW CRUDE! TAD AC PSLS /REPLACE WITH CMA;6574 ** DCA LPFST /CLEAR FIRST-TIME FLAG JMP I (XNOP LPFST, -1 XLSF, PSKF /REPLACE WITH 6570 ** /IF THE FLAG IS NOT UP, JMP I (XNOP /BE A NOP JMP I (XSKP /OTHERWISE BE A SKIP 11 Release Notes AA-5158B-TA READER'S COMMENTS NOTE: This form is for document comments only. DIGITAL will use comments submitted on this form at the company's discretion. If you require a written reply and are eligible to receive one under Software Performance Report (SPR) service, submit your comments on an SPR form. Did you find this manual understandable, usable, and well-organized? Please make suggestions for improvement. ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ Did you find errors in this manual? If so, specify the error and the page number. ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ Please indicate the type of user/reader that you most nearly represent. [] Assembly language programmer [] Higher-level language programmer [] Occasional programmer (experienced) [] User with little programming experience [] Student programmer [] Other (please specify) _______________________________________ Name______________________________________Date________________________ Organization__________________________________________________________ Street________________________________________________________________ City__________________________State_____________Zip Code______________ or Country -------------------------------Fold Here------------------------------ -----------------Do Not Tear - Fold Here and Staple------------------- +---------------+ | FIRST CLASS | | PERMlT NO. 33 | | MAYNARD. MASS.| +---------------+ BUSINESS REPLY MAIL ======== NO POSTAGE STAMP NECESSARY IF MAILED IN THE UNITED STATES ======== ====================================================================== Postage will be paid by: ======== ======== +-+-+-+-+-+-+-+ ======== |d|i|g|i|t|a|l| ======== +-+-+-+-+-+-+-+ ======== ======== Software Communications ======== 146 Main Street ML5-5/E39 ======== Maynard, Massachusetts 01754 ========