Digital PDFs
Documents
Guest
Register
Log In
XX-5D3E2-6B
May 1973
156 pages
Original
5.6MB
view
download
Document:
OS8 V3 Memos 1973
Order Number:
XX-5D3E2-6B
Revision:
Pages:
156
Original Filename:
http://bitsavers.org/pdf/dec/pdp8/os8/OS8_V3_Memos_1973.pdf
OCR Text
MEMORA'N.D_UM Te,: DATE: 12/31/73 FROM: S. Rabinowitz/R. Lary DEPT: PDP-8 Development OS/8 V3 Test Sites ~EXT: 2130/333~OC: 12-3 SUBJ: Contents of V3 Field Tess tapes The tape marked "SYSTEM" is'a'bootstrappable TC08 system. The tape marked "BINARIES" contains'TDINIT as its bootstrap. TDINIT has changed from V2 but its messages should be se1fexplanatory. It is suggested that the first thing you do after bootstrapping the system is get directories of both tapes (type .. .DIR DTAO:,DTAl: followed py -L if 'you have a line printer) and then get a listing of tbe file' BUILp.HL which gives a command summary of the new BUILD (The new commands are ett,ough of a superset of the old commands that you will be able to ,operate, it in almost total ignorance of the new features -'but read the, ";file. anyway . ) For those of you who do not have the OS/8 F4system, the following patch to CCL.SV will invoke FORT.SV in the ~COMPI,LE and .EXECUTE commands when the file extension is '.FT : .GET SYS eeL .CDT 13414/6631 6625 13431/6555 6551 te .SAVE SYS eCL Please use the tapes as much as you can. we;hav~·.·tT.~e:n·,;'li$itn~; them in-house for several weeks and they seem qui te sorid:~.'i!!J.ut[:;:we1:;.:"49;~not exersise all of OS/8 .in' 'system development work. ,i>.:i::fiaS'$':Kwri te:,;.,us upon receipt of the tapes arid give us a phone nurnbe~so,'·,tJ_at:~:·we can call you semi-periodicaltiv to collect l?ugs and C:ompla'lri't.s. We have purposely 'left in several minor ,non; ....d~st!t\Icit'ive':·l>ugs to test your perspicacity. You will be graded'on hOw' ttt'~nY:"YDd:jfind'. A score of 65% is passing, neatness counts, ~rid~r~bbib9;~iIL~be severely dealt with. Dear Field Test Site: Enclosed is a copy of the new OS/8 version 3 (pre-release) operating system. This software is ,the result of a continuing development effort which we hope will culminate in the release of OS/8 V3 early next spring. We are distributing preliminary system tapes to selected, experienced users such as yourselves. We encourage you to experiment with the new software, evaluate its performance in your data processing environment, and notify us of any shortcomings or areas for improvement that may occur to you. In this manner, your expertise will benefit all OS/8 users and 'assist us in the final stages of development and evaluation. We will forward complete documentation for this operating system as soon as it becomes available. Meanwhile, you will find that although OS/8 version 3 includes many new features, it is essentially a proper superset of the version 2 system. All operations which execute under OS/8 version 2 should execute under the enclosed software. Many of the new features are fairly obvious, and may prove useful to you even in the absence of full documentation. If unpredictable behavior should occur, kindly contact us. As always, sufficient information to duplicate the problem is very helpful and greatly appreciated. We expect to send you some preliminary documentation within the week. Temporarily, you can list the .HL files which gives summaries of most of the features. When OS/8 version 3 is released to the field, your suggestions will be incorporated into the software along with modifications proposed at other test sites. Thus, you may expect the final system to differ from the enclosed version in many respects. Subsequent maintenance of the new software will be greatly facilitated if you could keep very close track of these tapes, or any copies you may care to make. This will prevent other users who may have access to your system from confusing the pre-release software ,with the final, supported version available later. flIGIT,'\1. fJ)UIPMENT CORPORr. i ION, (617)8a7·~111 111(j nvy ~\lI\IN 51 REE1, MAYNAHD. 710 347-0217 TELEX: MASSACHI.',-:;CTTS 948457 017~;4 1/8/74 Intergalactic Branch Dear field test site: Enclosed you will find some documentation concerning new features of OS/8 version 3. Please keep in mind that this is temporary documentation originally meant for in-house use only, and although we believe it is all up-to-date, it is not in the same form as documentation which will eventually be published in the new OS/8 handbook. Unfortunately, this handbook will not be ready for several months, so the enclosed memos will have to do. The final system is scheduled to be submitted to the library in about two weeks, so it is imperative that if you find any bugs, they should be reported to us immediately. You can send bugs to us in writing, or for faster service, try to phone us. Bugs should be reported to the following people. (Try to get through to the highest person on the list, if he's accessible:) Shawn Spilman Stanley Rabinowitz Richard Lary . Dennis Pavlock Herb Jacobs Mary Tamir Marty Hurley X2073 X2130 X3338 X3871 X2130 X4068 X4058 After hours, ask for any of the above at X2876 Once V3 is formally released by Digital through the Software Distribution Center, bugs should no longer be sent to any of these people, but should be submitted via the usual SPR service. At that time, the above list of phone numbers should be destroyed (fire is best). . Please be sure to note the version number of the monitor, CCL, and the CUSP when reporting bugs. Errors in the documentation will also be appreciated. We hope that you will find time to pound on all features of the new system, especially those obscure little-used options. Some bugs have already been discovered in-house and patches produced. Many of these got into the field test tapes which were mailed out. These are enclosed as we~l as some more recent patches. Be sure to put these patches into your CUSPs if they are not already there. Sincerely yours /-\_~ 41~1 Pl1'!Stanley Rabinowitz official Scavenger, P?S DI(,t if'.' r ('UIPMENT COftl'c'HI\Tt()I'.J (617;~:.r;i'r·,111 Ph T\\lX ~.1t>..tl\! STREET. HAYNAHD. 110347-0212 HLEX M/\SSAC:Hli~_f-fTS 94-8457 01754 Field Release Patches Updates monitor V3E to V3F. Fixes bug re monitor error messages: This patch should be made (using EPIC or otherwise) to absolute record 56 on the system device and/or relative record 5~ of any system head file: reI loc 53/7~1~~7ll~ Change to absolute block 7 on system device, or relative block I of system head file: reI loc 31/3~~3t6 /Patch to update CCL edit N to become edit o. Allows altmode to be passed to SRCCOM, fixes bug re processor switches, fixes special mode spooling, and allows CCL switch after an = option: ~ l262~/4~~~+-4~~l l352~/56764-5751 l3551/?.... 4276 14431/l422~5343 l4543/?~1267;764~;5233;1422;5232 l7446/3433~7~~~ l3722/527~5335 l3735/?+-4737 l3736/'?<-5272 l3737/?~275 ~6537/l65~1751 Patch ·to CCL edit 0, updating it to edit P. v" Allows recursive U cmds. l2~27/62~l~5332 l2l32/~724~;3736;62~l;523~;2422 6537/l75l~2~51 ~tCh to CREF release version 9, updating it to V9A: 2477/53~3~72~~ ·24~6/114~~1364 Fixes close bug re CREFLS.TM . 2564/?~3~1 ~patch to BUILD V3, updating it to V3A. Allows alter to work, fixes bug re P command. 2l3/6~32<E:-62~1 . /~---------------------if you can It read thi~ line, here it is again: ~i~;~;~~:;i:; ~~2Ll~ cu" "" 7 3 7 / 4~~~4c:-l~~ fiO", (f.ll .';<:; j ',11' "'<iN Sl :f:~5:'::::;'2~:~;:~,~"afTS am. 710 :{47·0}12 q If> 94·8457 page 2 OS/8 Field Release Patches these are probably not in the distributed save images Optional patch to CCL (any edit) to allow it to use FORT and LOADER instead of F4 and LOAD. (The way to change these as described in the memos doesn't work yet) 13414/6631<E-6625 13431/6555~6551 ~Patch to update BUILD V3A to V3B. Allows BUILD to work on 8K machines: 352/7~~~~74~~ 737/1~~~2~~ /'Patch to BCOMP to allow CCL .EXECUTE command to work with BASIC: 7~17/3~46~126 7l26/?~745~;5732;3~46;522~;46,05 (version # if any not updated) 0>atch,to eeL edit P updating it to edit Q. , Allows .EXEC to chain to BCOMP correctly for BASIC files: 6571/,02~1~~2~3 6572/2311~ 1715 6,573 / ~ 3 ~ ~~2~ ~,0 6537/2,051~2151 Patch to OS/8 V3F updating it to V3G. Disables waiting for TSF on .run under BATCH: Fixes to record lIon system device: reI loc 32/5,035'=-53~3 reI loc 33/5~46~ 53,0~ reI loc 1,0~/?~37,02;5,046;1722;37~2;5~35 Fixes to record 7 on SYS: reI loc ~atch 31/3,0~ 3~7 to BATCH updating V4 to V4A. 63~6/765,0~535~ 635~/?~765~;5764;5312 17~1/37~Jlk- ~1,0~ , Eliminates strango bug: page 3 OS/8 Field release problems Some systems are being built wrong and incorrectly getting a bad software core size. If the core command claims you have more core than you really have, or if you have 8K and FOTP doesn't work, then you want this fix: Examine relative location 177 in record ~ on SYS:. If it is not then change it to~. Be sure to check this location after you run BUILD since we haven't found out yet what's making it non-~, but it's most likely BUILD. If the core image of eeL on your tape is not edit P, then you should reassemble the source (eeL.PA) to create edit N. viz: .r PAL8 *eeL~eeL .R ABSLDR *eeL$ .SAVE SYS. eeL;12~~1=2~~3 .R eeL Then apply all the patches to update to edit Q. 01' il-r ;'.L f:.OUIPMENT ~~ORPOfiATION, (617)~97 ·~ill1 1 t.b TW":. MAIN STREET, MAYNAFIO. 710J47-0212 TELEX MN-:::;itlHUSf TTS 94-84b7 017:).1 ~, -Gl"UmDD~"INTEROFFICE . ~D' MEMORANDUM 080-100-006".00 .' " " OS/8 V3 List TO: DATE: August 15, 1973 FROM: S. Rabinowitz DEPT: Small Systems EXT SUBJ: . 2130 OS/8 BOOT BOOT is used to make it convenient to bootstrap from one system to another and to bootstrap from one device to another by typing commands on the keyboard. . BOOT can run conveniently from OS/8, and COS and can also run from any other monitor system (e.g., CAPS-8). To run BOOT from COS, see DEC-08-0COSA-D-D, chapter 9. To run BOOT from any version of OS/8, type .R BOOT/DV or .RUN DEV:BOOT/DV where DV is a two character mnemonic follow a slash. To which must immediately run BOOT from a V3 OS/8 device with CCL enabled, type • BOOT/DV In this case, BOOT.SV must be on the system device. You may also type .R BOOT and the system responds with a slash, at which time you respond with the DV mnemonic. If an illegal mnemonic is typed, the system types "NO" and prints a slash to let you try again. In this case, you can type rubout to erase a line and try again. If you type a legal mnemonic but your configuration doesn't include the corresponding device (or it's not ready), the boot strap may hang. The legal mnemonics are as follows: Device System or Comments CA TA8E cassette CAPS-8 DK Any disk (RF08, DF32, RK8E, RK8) 05/8, COS-300 DL LINCtape DIAL-V2, DIAL-MS OM RF08 or DF32 Disk Monitor DT Any tape (TC08, TD8E, LINCtape) 05/8 COS-300 LT LINCtape 05/8, COS-300 PT PT8E Paper tape Loads BINLDR into field 0 RE RK8E disk 05/8, COS-300 RF RF08, DF32 disks 05/8, COS-300 RK RK8 disk 05/8, COS-300 TD TD8E DECtape 05/8, COS-300 TY TC08 DECtape unit 4 Typeset Bootstrap Mnemonic types BOOT's version number VE TC ZE TC08 DECtape 05/8, COS~300, Disk monitor, DEC library system, and others Zeroes core (field 0) If the device mnemonic ds followed by a period, the program will load the correct bootstrap into core and then halt. Hitting continue branches to the bootstrap. be ~D.DII-D ~. ~ U~ TO: 080~lOO-007-00. ·INTEROFFICE 'MEMORANOUM OS/8 V3 List SUBJ: DATE: August 22, 1973 FROM: s. Rabinowitz DEPT: Small Systems EXT : 2130 V3 CREF The following new features have been added to V3 CREF by M. Hurley:. 1. /M invokes Herb's kludge which causes CREF to chain to itself after crefing all symbols up to LG. This causes CREF to run much slower but allows twice as many symbols. Note: M stands for 'mammoth'. 2. /R has been changed to /0. is from SABR. That is, /0 means the input 3. /R now means the input is a RALF file. 4. /U means no listing and no symbol table. 5. CREF now prints its version number at the very end of the CREF listing. In addition, several bugs were fixed. If you know of any more bugs in CREF, please report them to me or Marty. fp · 080-100-007-01 INTEROFFICE OS/8 V3 List TO: SUBJ: V3 CREF MEMORANDUM DATE: August 28, 1973 PROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EXT : 2130 (Continued) 6. /E means don't delete CREFLS.TM, otherwise CREFLS.TM is automatically deleted after completion. 7. The output file now has .LS as the default extension. fp mamalma . TO: 080-100-007-02 INTEROFFICE 'MEMORANDUM OS/8 V3 SUBJ I DAD: November 27, 1973 PROM: S. Rabinowitz DBPT: Small Systems Softw. Eng. BX'l' : 2130 LOC: 12-3 08/8 CREF Against her will, we coerced 'Marty to add the following changes to CREF: With /M, there is now only one listing file produced. about .stuff about CREFM2.LS. Forget CREF output on non-file-structured devices now starts at block O. Note: With 1M, CREF must be called SYS:CREF.SV. CREF now uses software core-size. 080-100-007-03 INTEROFFICE OS/8 V3 List TO: SUBJ: MEMORANDUM DATE: December 21l, FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EXT: 2130 LaC: 1973 12-3 More on CREF This memo obsoletes the previous memo, 080-100-007-02 but does not obsolete the two before that one. 19 is used internally by CREF and should not be typed by a user. 1M causes entire CREF to go to the output file. Forget anything that was ever said about CREFM2.TM . Note that CREF V9 has a bug in that if it is chained to by something other than PAL8, it may produce a CLOSE ERROR when trying to delete a non-existent CREFLS.TM. To get around this, merely specify the IE switch. ·080-100-008-.00 . INTEROFFICE TO: 05/8 V3 List SUBJ: . MEMORANDUM DATE: August 22, 1973 FROM: s. Rabinowitz DEPT: Small Systems EXT : 2130 V3 TECO The following new features have been added to TECO by R. Lary: 1. The command FS is now synonymous with the {!;)command. 2. The command FN has been added. It is the same as the FN command on the PDP-lO. FN is similar to FS except that it performs a non-stop search; i.e., it performs a P whenever the search fails on the current page. S:N: :FS:FN 3. 4. ~iS If the character typed immediately as the very first character of a ne~mmand line, then the entire previous command line (even if it was in error) is saved as a text string in Q-register Z. ~typed at any time deletes the current line of the command ~ing being typed. The T·ECO command by the same name is still available in the two-character tu form. '5. Internal changes have been made to facilitate chaining to TECO. Upon being chained to, TECO expects a legal command to be in locations l76~9-l7645 inclusive (padded with altmodes or nulls if necessary); one 7-bit ASCII character per location. It first executes this as a command string. Features I would still like to see added: A. An alternate starting address f~he SUPER-TECO patch; i.e., the one that causes TEeo to ignore ~s. B. Some form of the EG command. fp 080-100-008-01 ·mamaama INTEROFFICE MEMORANDUM TO: OS/8 V3 List DATE: October 26, 1973 FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EXT: 2130 LOC: 12-3 SUBJ: Final Fixes to TECO The final version of TECO, for OS/8 release 3 will contain the following features in addition to those given in PDM '080-100-008-00: 6) The EG command (exit andqo) causes TECO to perform an EC followed by a return to the OS/8 keyboard monitor with a simulated .EX CCL command. This CeL command will execute whether or not CCL is enabled. 7) The ER command now allows a device specification with no filename even if the device is file-structured. For example: ERDTAII:$ It will treat the device as if it'were non-file structured. 8) fp If TECO is chained to, and if a 116 error occurs before TECO prints its asterisk, then TECO returns control to the OS/8 keyboard monitor. 080-100-008-02 INTEROFFICE 'l'() : SUBJ: OS/8 V3 List MEMORANDUM DA'rE: December 24, 1973 FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EX'll: 2130 LOC: 12-3 Correction about EG This paragraph revises item 6 of the previous edition of this memorandum. All other items remain current. 6) The EG command (exit and go) causes TECO to perform an EC followed by a return to the OS/8 keyboard monitor at which time CCL is automatically invoked and CCL then executes whichever one of the following four commands had been executed most recently: a) . EXECUTE b) • LOAD c) . COMPILE d) • PAL 080-100-009-00 INTEROFFICE 'MEMORANDUM ~o : SUBJ: OS/8 V3 List DATE: August 28, 1973 FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EXT : 2130 OS/8 Standard Extensions Many OS/8 programs (both system programs and commonly used user programs) which read or create files have default (or assumed) extensions associated with the file. These should be documented and put in the next user's manual just for standardization reasons. I am not familiar with all such extensions; if you know of any others please add them to this list. Extension Mneumonic Use BK BA '1N Backup BASIC Binary Backup ASCII file Basic source PAL8 binary file Used b! (as de ault input) Used b! (as de ault output) TECO BASIC ABSLD~ PAL8 BUILD BITMAP DA DI DC FT HL LS Data Directory Document. Fortran Help Listing Data file Directory listing Documentation file Fortran source file Help file Listing file FORT HELP FORT PAL8 ... . BI PA RL SV TE TM 'X eM Batch Input PAL Relocatable Save Teco Temporary Text Batch input file BATCH PAL8 source ,file Binary relocatable file Core image Save file Teco Macro file ':' Temporary file Text file PAL8 LOAD Cassette Cassette Master file Master SABR SAVE MUNG CREF PAL 8 LIBCOP CREATE '0 :/8 V3 List MA RB AS OB OF OM SY fp Macro. Relocatable Binary ASCII Source Oibol Binary FGBG Binary Multi terminal System -2- Macro Source RB Source oibol Source Oibol Binary FGBG Binary OIBOL Binary System Head August 28, 1973 I 080-100-010-00 INTEROFFICE TO: SUBJ: OS/8 V3 List MEMORANDUM DATE: August 31, 1973 FROM: S. Rabinowitz DEPT: Small Systems EXT: 2130 LOC: 12-3 LPTSPL Warren Brackesbusch has written a program called LPTSPL which is an OS/8 utility which prints source files on the line printer preceded by large block letters giving the name of the file. It calls the command decoder in special mode so you can use *'s and ?'s in your file specifications. CCL chains to this program with the print command. .PRINT Thus *.LS prints all your listing files on LPT:with headers. I am including this program on the in-house OS/8 V3 distribution tape because I believe some people in-house may find it useful. I'm not sure whether we want to distribute it on a non-supported basis or just put it in DECUS. Options: /N Narrow Assumes LPT has narrow (80 column) paper /B No Block Letters Headers but no block letters /H No Headers Block letters but no headers fp OSO-100-01l-00 INTEROFFICE TO: SUBJ: OS/S V3 List MEMORANDUM DATE: September 4, 1973 FROM: S. Rabinowitz DEPT: Small Systems EXT: 2130 LOC: 12-3 PIP1, Although PIP1, will probably go into DECUS instead of on the osla system tape, I am including it on the in-house distribution tape because of its usefulness. The new version [by R. Lary] has all known bugs fixed and works on TDSE controllers as well as TC'S's. Whenever a DECtape drive is specified, the program examines the tape mounted to determine if it is a PDP-S or PDP-I, DECtape and handles the files accordingly. Switches: , i /L IF IZ 10 IB II IP fp List directory (only valid if PDP-I, input) Fast directory (only. valid if PDP-I, input) Zero directory before transfer (only valid if PDP-I, output) Delete old output file before transfer Binary mode transfer (8 bits per 36 bits) Image mode transfer (3 l2-bits per 36 bits) Preserve Line numbers (default is to delete them) } \ 080-100-'012-00 INTEROFFICE 05/8 V3 List TO: SUBJ: MEMORANDUM DATE: September 5, 1973 FROM: S. Rabinowitz DEPT: Small Systems EXT: 2130 LOC: 12-3 V3 PIP I have made the following changes to V3 PIP: 1) Fixed problem with one-page write. 2) In /S or /Z mode, the = option is now taken modulo 100 (octal). This prevents-bombs when = nnnn gets too large. Any number other than ~ which is congruent to , modulo l'~ means write no additional information words in the directory. Although we don't recommend this (since it gets rid of dates) it will allow users with lots of files to get more of 'em on their device. 3) The message 'FREE BLOCKS' now reads " is full. FREE BLOCKS' when the device 4) Devices may now be filled up to their capacity. block was always wasted. 5) A parity 4c is now accepted. 6) fc doesn't write on system device. 7) Ending a command with altmode returns to OS/8after PIP operation completed. 8) PIP no longer halts on /L if TTY: a NOP. is riot found. Previously one It now acts as I regret to report that I couldn't get the dates to line up. Future fixes: 1) fp The /0 option (meaning OK) when used on Is or IZ command will prevent the message ARE YOU SURE? and ZERO SYS? from coming out. J " I J8~-lJ'-J12-~1 'mD~DDmD INTEROFFICE MEMORANDUM TO: SUBJ: OS/8 V3 List DATE: October 8, 1973 FROM: S. Rabinowitz DEPT: Small Systems EXT: 2130 LOC: 12-3 Final Fixes to PIP This is a continuation of memo 080-100-012-00. 9. The /0 option (standing for OK) is now in. When used in conjunction with /S or /Z, it will prevent the message ARE YOU SURE? and ZERO SYS? from coming out. It assumes the user really wants this command and prints YES on the teletype to remind him that he's performing a potentially dangerous operation. This message prints even if BATCH is running. ~o. The first time PIP calls the command decoder, if you include the IV option in your command line, PIP will print its version number on the teletype. The current version number is VI. 11. If an = option is included with an image mode "transfer, then the low order l2-bits of this = option specifies the desired length to close the output file with. The output file is given this length except in the following two cases: 12. a) More data was written than this size. In this case, the output file is given its correct size. b) The size specified is greater than the empty space available. In this case, the data is transferred but the file is not closed. Instead the error message: MONITOR ERROR 4 is printed and control returns to the keyboard monitor. Data in the file following the EMPTY is ~ destroyed. " Using the /1 option, the output file is always opened even if there were no input files. This feature, combined with the previous feature, allows you to create a named file out of an empty. · 080-100-012-01 -2- October 8, 1973 Application: Suppose you accidentally deleted your 23 block file If.iPORT. PA. You can recover it wi th the command: .R PIP *IMPORT.PA[23] < /1 = 27$ Note that 23 10 = 278 fp mamaama 'l'O: 080-100-012-02 INTEROFFICE OS/8 V3 MEMORANDUM DATE: November 27, 1973 FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EXT : 2130 LOC: 12-3 SUBJ: PIP Finally Last minute fixes: If /0 is used, 'YES' does ~ print. tc now goes to 7600 not 7605. INTERRUPTIONS. This fixes bug re tc with NO If /Z' and /I are used together, any = option specified applies only to /Z. mamUOElU INTEROFFICE MEMORANDUM TO: OS/8 V3 List SUBJ: CCL DATE: August 30, 1973 FROM: S. Rabinowitz DEPT: Small Systems EXT: 2130 CCL stands for concise command language. The OS/8 version of CCL has been patterned after the PDP-l,'s. In many cases, CCL only makes it easier for the operator to enter certain commands, e.g., the command .R DIRECT *LPT:<DTA3: can be effected by the CCL command .DIR DTA3:/L However in some cases, CCL commands perform operations which could not be performed otherwise, e.g., • CORE Theory of operation: When a command is typed to the OS/8 monitor, if it doesn't recognize the command keyword and if CCL is disabled, then the OS/8 monitor echoes the command (up to 6 characters) followed by a question mark. I~however, CCL is enabled, and an unknown command is typed, the OS/8 monitor loads in the CCL overlay (from block 67 on SYS: into core locations 4,,-777) and branches to it (at location 6,,). This overlay then looks up the command in the CCL command table (locations 4,,-577). If the command is not found, the monitor is rebootstrapped (after echoing a ? following the illegal command). The user's core image remains intact. If the CCL overlay determines that the command 'keyword is a legal one, it chains to the file SYS:CCL.SV for further processing. This file should be the first file on the system device (for DECtapesystems) for maximal efficiency. Depending on the command, this program may then chain to other files on the system device. While this procedure may seem complicated, it is almost unnoticeable when running off of a disk. Although it could run off DECtape, it is not advisable because of the extra overhead involved. For this reason, you can enable or disable theCCL feature. -2- EnablinqCCL: CCL comes disabled on the system to be distributed from the iibrary. It will be disabled when you build the system from paper tape. To enable CCL, you type .R CCL Disabling CCL:To disable CCL, you type .CCL If eCL was already disabled, the system will reply with CCL? The 05/8 monitor still detects and responds to the usual keyboard monitor commands: .ASSIGN • DATE • DEASSIGN • GET .ODT .R • RUN • SAVE • START Only the first two characters of each command are significant and other letters or digits may be added. The command keyword is terminated by a space (or other delimeter). If CCL is enabled, two exceptions are made to the above statement: 1) The DEASSIGN statement may not start with the letters DEL since this is taken as the DELETE statement. 2) If the DATE command is immediately followed by a carriage return, different action is performed than the usual 05/8 DATE command which is followed by an argument. CCL Commands CCL commands consist of letters only. The full command keyword need not be typed (for example DEL is a legal abbreviation for DELETE). For each command, certain characters are required. The remaining characters -3- are optional in the sense that if additional letters are typed, these must be them. Thus, DELEXE is not a legal command. The command keyword is terminated by a non-letter. Then, succeeding letters and digits are scanned past until the first non-alphanumeric character. If this is a space, multiple spaces are then scanned over. We have now reached what is called the argument portion of the command. Not all commands require arguments. For example, .DELETEABC FOO is a legal command and FOO is the argument. ' The current CCL commands are given below in alphab"etical order. required part of the command is underlined. BOOT -CCL COMPILE COpy CORE - ~TE ~ DATE -DELETE -DEA DIRECT EDIT EXECUTE HELP LIST LOAD MAKE MAP MUNG PAL PRINT -PUNCH RENAME RES SQUISH The -4- -SUBMIT !!OCO -TYPE y!'R ZERO The exact number of characters which are significant for a given command may change in future implementations. These commands are explained below. Some of them may not be implemented yet in the CCL version 3G. Feasibility of Adding New CCL Commands It is very important that it be easy for the user to add his favorite command to the system. This has been kept in mind when designing the system. The commands are table driven and easy to add to. A separate document will be produced explaining the internal workings of CCL and telling how to add new commands. One of the strong selling points of CCL is that new commands are easily implemented. For this reason it is crucial that the source and/or listing of CCL.PA be made available to the user of OS/8as cheaply as possible. There will be room in the CCL command keyword 'table for the user to add at least ten additional 3-letter commands. Of course, if the user does add his own CCL commands, we will no longer support his system. eCL and the Command Decoder Many CCL commands allow file specifications on the same line as the command keyword. They then chain to a cusp which expects the command decoder tables to be already set up. This is accomplished by having CCL.SV contain its own command decoder. This command decoder is completely compatible with the usual 05/8 command decoder but is not as limited in space restrictions. For this reason, CCL.5V·s command decoder has extensions and capabilities far beyond those of mortal men. One such extension is this: An alternative method of specifying an 8-character filename (6 chars of name and 2 of extension separated by a dot) is by a 16 digit sequence of octal digits -5- preceded by a number sign (I) which represents the internal packed sixbit representation for the filename. For example, the specification ABCD.EF could be replaced by l~lS2$f3~4~SSiJS5lJ6. To use such a notation, all 16 digits must be given. This notation is somewhat compatible to the PDP-llJ's. This notation is useful for referencing files whose names are not easily accepted by the usual OS/S command decoder, for example, a filename which contains an embedded space. Explanation of CCL Commands -BOOT This command chains to SYS: BOOT.SV. Any option which may appear on the .R BOOT command may occur on the .BOOT command. For example • BOOT/RF bootstraps onto your RFSS disk. -CCL If CCL is enabled, typing this command disables CCL on the monitor residing on the system device. To re-enable CCL, type .R CCL. -COMPILE file specification This command chains to one of the OS/S compilers (or assemblers) depending on the extension of the first input file. Extension Compiler .PA .SB .FT PALS SABR F4 if present, otherwise FORT MACRO .RA RALF .BA BASIC LISP SNOBOL ~ :* If no extension is explicitly given, each is tried in order until one is found and the appropriate compiler is invoked. -u- If no argument is given to the COMPILE statement, the system remembers the previous argument used either in the last COMPILE, LOAD, or EXECUTE command. If no output filename is specified, the name of the first input file is substituted. £Q.py file-specification This command chains to SYS: FOTP.SV including the IL option among any specified by the operator. Before chaining, it prints the message FILES COPIED: To understand this command fully, the reader should consult the FOTP user's document. For example, to copy all save files from DSK: to DTA3: you type .COPY DTA3:< * .SV This command types out on the TeletypeGVhOW much core is on the computer upon which the system. is being run. -CREATE file-specification This command chains to SYS: EDIT.SV. The file specification must consist of a single file only. No back arrow may be present. The file is assumed to be an output file. For example • CREATE FOO.FT is equivalent to .R EDIT *FOO.FT< If no argument is given, the argument used in the last CREATE or EDIT statement is remembered. -CREF file-specification This command chains to PALS Including the IC option which will cause it to chain to CREF.SV. Of course, if no listing file is specified, the listing will be sent to LPT: Example: (!) Teletype is a registered trademark of Teletype Corp. -7- CREF BARF produces a CREF listing of the file BARF.PA on the line printer. -DATE If an argument is given, this command is treated as the standard keyboard monitor DATE command. If no argument is given, this command types the current date (including day of week) on the Teletype or types NONE if none were specified. If the file SYS:DATE.SV exists, it is chained to. This could allow implementing messages of the day. -DELETE file-specification This command chains to SYS: FOTP.SV including the /L and /D options. First it prints FILES DELETED: • -DEA This is exactly the same as OS/S's DEASSIGN command. If CCL is enabled, CCL performs this function instead of the monitor. DIRECT file-specification This command chains to SYS: DlRECT.SV. If no output file or device is specified, CCL looks at the options specified. If /L is specified, CCL forces' LPT: as the output device. If /S is specified,.CCL forces TV: as the output device. /L overrides IS • Example: • DIR FOO.*/L is equivalent to .R DIRECT *LPT:<FOO.*$ -EDIT file-specification This command simply chains to SYS: EDIT.SV. If no argument is given, CCL remembers the argument used on the last CREATE or EDIT command. EXECUTE - file-specification This command is similar to the COMPILE command with the addition that options are passed to the chained program causing the binary produced to be loaded and executed. The source is always recompiled. -8- -HELP -LIST file-specification This command causes CCL to chain to SYS: PIP.SV. The extension .HL is used as the default input extension. If no output device is specified, TTY: is forced. If no input file is specified, CCL.HL is assumed. This command may be used to type a specified help file on the Teletype. file-specification This command chains to SYS: FOTP.SV. device is specified, LPT: is forced. !&.AD If no output file-specification This command chains to the appropriate loader depending on the extension of the first input file. Extension Loader .BN ABSLDR LOADER .RL .RB ? If no extension is given, a search is made. If the option /G is specified, execution will start after loading. If no argument is given, CCL remembers the argument on the last COMPILE or EXECUTE command. - MAKE file-specification A single file must be specified. This command chains to SYS: TECO.SV and opens the specified file for output. Example: .MAKE DTA1:FOO.TX is equivalent to .R TECO *EWDTA1:FOO.TX$$ ·- J ~ file-specification This command chains to SYS: BITMAP.SV. If no output device is specified, LPT: is assumed. Example: • MAP FOO, BARF is equivalent to .R BITMAP *LPT:<FOO.BN,BARF.BN$ MUNG filename, text This is the most general and fantastic command in the entire repertoire of all of DEC's software. It chains to SYS: TECO.SV which then reads the first page of the file specified into Q-register Y. The contents of this file are assumed to be a TECO macro. If no extension is specified, then .TE is assumed. If no extension is desired, type the dot after the name with no extension. Then all the text between the comma and the end of the line are entered into the TECO text buffer. This text is presumed to be an argument to the Macro. If no text is desired, no comma is necessary. With the text pointer at the end of the buffer, the macro in Q-register Y is then executed. The text may specify source files to be munged among other things. MUNG is a recursive acronym for Mung until no good. Example: .MUNG SYS:CLEAN,FOO,3 is equivalent to .R TECO *ERSYS:CLEAN.TE$YHXYHKIFOO,3$MY$$ There is a restriction on the length of the text argument. If it is too long, CCL will print an error message. ~ file-specification This chains to SYS.PALS.SV. This command is similar to COMPILE except PALS is always chained to. -PRINT file-specification This command chains to SYS: LPTSPL.SV. -10- PUNCH file-specification This command chains to SYS: PIP.SV. is specified, PTP: is forced. - RENAME If no output device file-specification I Not yet implemented. the /R option. It should Ichain to FOTP.SV with I - RES This command chains to SYS: RESORC.SV. The options /L and /S force LPT: and TV: as default output devices. §.9.UISH file-specification This command chains to SYS: PIP.SV including the /S option. If no output device is specified, the output device is forced equal to the input device • Example 1: • SQUISH D~l:<DTA_: Example 2: .SQUISH SYS: is equivalent to -SUBMIT -TECO .R PIP *SYS:<SYS:/S$ file-specification This command chains to SYS:BATCH.SV. file-specification This command chains to SYS: TECO.SV. If no argument is specified, the argument used on the last TECO or MAKE command is remembered. If an argument is given, one input file must be specified and at most one output file. TECO then opens the input file for reading and creates the output file. If no output file is specified, then TECO does an edit backup on the specified file. Examples: .TECO FILE.BA is equivalent to .R TECO *EBFILE.BA$Y$$ and .TECO F002.PA<LTA2:FOO.PA is equivalent to .R TECO *EWF002.PA$ERLTA2:FOO.PA$Y$$ The first page of the input file is read into the text buffer before control is returned to the user. file-specification This command chains to SYS: FOTP.SV. device is specified, TTY: is forced. If no output y'!R This command prints the version number of both the OS/8 monitor and of CCL. -ZERO file-specification This command chains to SYS: PIP.SV including the /Z option. Precisely one device must be specified and no backarrow may be present. The device is forced to be an output device and is zeroed. For example: oZERO DTA7: is equivalent to .R PIP *DTA7:<$ Additional comments 1. CCL passes the altmode bit to most programs (mainly P.IP and FOTP) so that after the command is executed,control returns to OS/8 rather than the program chained to. 2. Arguments remembered by CCL will be forgotten when the date is changed. These remembrances are saved in monitor block 65. Commands which require remembered arguments will produce SYNTAX ERROR messages if no argument was ever remembered. 3. The.R CCL command recreates the ceL overlay block in the monitor. The command keyword table includes the eeL edit level which must be changed whenever the table changes. Much version number checking is performed by ceL to prevent accidents from occurring when old versions and new versions of CCL and the monitor are accidentally mixed. ERROR Messages: CCL 3x & MONITOR INCOMPATIBLE To remedy, try typing .R CCL I/O ERROR ON SYS: TOO MANY FILES ILLEGAL SYNTAX file NOT FOUND device DOES NOT EXIST COMMAND NOT YET IMPLEMENTED BAD MONITOR The monitor predates the version of CCL in use. NO CCL! CCL.SV not found on SYS: , CAN' T REMEMBER This is a warning message only which means the argument was too long to remember or an I/O error occurred. fp TO: 08/8 V3 List DATE: 1/2/74 FROM: S. Rabinowitz DEPT: Small Systems EXT: 2130 LaC: 12-3 SUBJ:CONCISE CHANGES TO CCL This memo includes additions and correctioris to the previous memo. Indirect Command Files A construct of the form 0DEV:FILE.EX may appear anywhere'within the argument portion of a CCL command. If DEV: is omitted" DSK: is assumed. If .EX is' omitted, .CM is assumed. What this does is replace the construct in the cornrnandline by the contents of the specified file. Carriage returns and line feeds in the file are ignored~ but nulls are not (they signifyend-of-line). For example, if the file FOO.CM contains the characters F.PA then the command .EXEC BAR@)FOO,FILE.PA is equivalent to .EXEC BARF.PA,FILE.PA Co"mmand files may not exceed 1 block in length. The message COMMAND LINE OVERFLOW is given if a command line grows to be more than 512 characters long. If in any CCL command, a filename is given with no extension but with a dot, then no default extensions are tried. Thus .PAL FILE. CONCISE CHANGES TO' CCL S. Rabinowitz Page 2 will only assemble the file called FILE but the conunand .PAL FILE might instead assemble FILE.PA if it is found., COMPILE Delete the extensions .MA, .LI, .SN from old list. T~e ~CL s~itch -LS is used to generate a listing. The 1~st1ng f~le goes to SYS: if no device was specified. Its f1lename 1S the same as the name of the file on whlch the -LS is given but with a .LS extp.nsion. This holds also for the EXEC, and PAL commands. If no binary is wanted, type -NB at the end of the command line. The binary"file will be given the same name as the first source file unless the CCL switch -NB is given in which case, the name is taken from the first filename after the -NB switch. The -NB switch means don't create a'binary file yet. The -MP switch is used to get a map. The .FT extension goes to F4 unless FORT was present on SYS: when CCL was enabled in which case, .FT goes to FORT. Same for LOAD and LOADER. If you must use an unusual extension, ypu can type a processor switch as follows: .EX FILE . .06 -FT means use the FORTRAN compil~r on the file FILE.~~. CCL switches are of the form hyphen followed by I or 2 letters or digits. In addition to the ones above we have -L -T -p -S Send output Send output Send output Send output to LPT: to TTY: to PTR: to 'rv: These all force the stated device to be the first output device, except for corrunancls' such as -EXEC BIlll • COMP which force' ti10 device to be the second output device. CONCISE CHANGES TO CCL S.Rabinowitz Page 4 RENAME is implemented. So are new commands .SKIP . BACKSPACE . REWIND . UNLOAD .. EOF which chain to SYS:CAMP.SV There are 3 commands, UA, UB, UC. If 'typed with an argument, they merely remember the argument. If typed wihout an argument, they recall the last argument and execute it as a CCL command. jg mamaamo INTEROFFICE MEMORANDUM . TO: SUBJ: OS/8 V3 List OS/8 V3 Memos DATE: September 12, 1973 FROM: S. Rabinowitz DEPT: Small Systems EXT: 2130 LOC: 12-3 (1189-19'- series) I am writing this memo to tryout my new number 2 pencil. The excuse I use is that people who joined the V3 list late may refer to this memo and find out what useful memos they may be missing. OS~V3 This list includes all retrievable memos regarding as of the date at the top of this memo. retrieved through the usual channels. the ,8,-1" Memos prior to series relate to PS/8 and are obsolete. -'[16-9f1 -997-f111 -111 -9[18-911 -9[19-fl' -f11[1-flfI -911-9[1 -912-9f1 -fl13-fIfI -914-99 fp They may be OS/8 BOOT V3 CREF II V3 TECO OS/8 Standard Extensions LPTSPL PIPlfl V3 PIP ceL OS/8 V3 Memos -,_6 in mamaamD 080-100-014-01 INTEROFFICE OS/8 V3'List TO: SUBJ: MEMORANDUM DATE: October 26, 1973 FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EXT: 2130 LOC: 12 - 3 OS/8 V3 Memos (080-100- series) My new number 2 pencil (first tested 9/12/73) has now undergone ,a month of exhaustive field testing.. Although preliminary, these tests seem to yield satisfactory results. Its use in this memo marks a major milestone in the testing procedure. As you will recall from the previous memo, only retrievable OS/8 V3 memos are listed here-in and memos prior to -006 in the 080-100series relate to PS/8 and are obsolete. -006-00 -007-00 -01 -008-00 -01 -009-00 -010-00 -011-00 -012-00 -01 -013-00 -014-01 -015-00 -016-00 -017-00 -018-00 -019-00 -01 -020-00 -01 -021-00 OS/8 BOOT V3 CREF V3 CREF V3 TECO Final fixes to TECO OS/8 Standard Extensions LPTSPL PIP-I' V3 PIP , Final fixes 'to PIP CCL OS/8 V3 Memos Fixes to TD8E Non-System Handlers V3 Fixes to TTY Handler RESORC Preliminary Project Plan for OS/8 V3 New RK8 System Handler Final Changes to RK8 System Handler Fixes to Card Reader Handler CDR Handler New LPT Handler • Note from the typist: And your secretary has 90ne throu9h a month of exhaustive typing. .; 080-100-014-01 -2- -022-00 -023-00 -024-00 -025-00 -026-00 -027-00 -028-00 Non-System Handler VTECO Version Numbers for Handlers FOTP Remarks Final Changes to EDIT BAT Handler Fixes to L645 Handler -029-00 -030-00 -031-00 -032-00 -033-00 DIRECT VR12 Handler New KL8E Teletype Handler TM8E Magtape Handler PAL8 V8 Notes October 26, 1973 RF~8 Final testing will include a heat test and shock vibration test. To obtain any memo relating to OS/8 V3, please contact Lynn Clark at extension 4953 • . fp 080-100-015-00 INTEROFFICE TO: SUBJ: OS/8 V3 List MEMORANDUM DATE: September 17, 1973 FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EXT: 2130 LOC: 12-3 Fixes to TD8E Non-System Handlers All four TD8E Non-System Handlers have been fixed as follows: 1) Parity iC is now accepted. 2) The 1'<: check no longer advances the low speed reader. In addition, TD8EC and TD8ED have been fixed as follows: 3) A bug was fixed in their initialization table so that these handlers now work. Previously they would change random locations in the user's program and not work at all. Bug 3 appears to have gotten out into release 2 only because the handlers were never tested! Unfortunately, this unexcusable practice could happen again in V3 unless someone tells me where we have an 8/E with 8 TD8E DECtape drives. All these new handlers can be identified by the fact that they are version A. fp _. 080-100-016-00 INTEROFFICE MEMORANDUM OS/8 V3 Liat DAft. Sept.-ber 14, 1973 'ROIl: S. Rabinowitz DBP'1': small Systems 2130 SUBJ: V3 Fixe8 to TTY Handler . 'l'he 'l"l'Y handler know a8 AS33 has been fixed for V3 a8 follows: 1. A parity tz i8 recoqnized on output. 2. tz i8 recognized on output even if it is not followed by zeroes. Thi8 fixes the bug of sometimes getting extra characters on TTY output after the end of the file. These fixes correspond to version A of the handler. Remark: The TTY handler i8 currently set up 80 that typing +0 atop8 output for that buffer only. OUtput resume8 with the next buffer. Some people might find the following ·patch useful: Change relative location 175 from '_32 to a 7•••• ~i8 patch causes. to to ter.minate TTY output forever throughout multiple buffer dump. until either the proqram end8 (dismissing the handler from core) or until a character other than to is typed which will cause output to resume. Thi8 patch work8 for vera ion A and almo8t all previous versions. fp 080-100-017-00 INTEROFFICE 1'0: OS/8 V3 List MEMORANDUM DATE: September 14, 1973 FROM: S. Rabinowitz DEPT: Small Systems EXT 2130 SUBJ: RESORC RESORC is a new OS/8 utility which I have written for OS/8 V3. RESORC is short for RESOURCES. It is used to allow you to find out what handlers you presently have configured on a given system (or system head) and has an option to tell you further information about these handlers. Example: • RES) SYS,DSK,DTA~,DTAl,TTy,LPT,CDR,PTR This example shows RESORC being invoked through the CCL command RES. RESORC then prints out the system names for all the handlers on your ;ystem device. Although RESORC is most conveniently called via CCL, the remainder of this memo will give illustrations showing RESORC invoked the long way, e.g., .R RESORC *LPT:+DTA3: This example shows the list of handlers on the system tape currently mounted on DTA3: being sent to the line printer. Detailed Explanation: RESORC takes an optional output specification and from ~ to 9 input files (separated by commas). The output file is where the RESORC listing is sent. If no output device is explicitly specified, TTY: is assumed. (This may be changed to LPT: or TV: by the /L and /S options in CeL.) If no filename extension is given, .LS is assumed. If no output fileBame is given, RE is assumed. The output device must not be read-only. -2- The input specifications may be of two types: 1) A device name only In this case, the device must be file-structured, and is presumed to have a valid OS/8 directory and monitor on it. RESORC then looks at the handlers that are built into the system on this device. These handlers are not available to the user unless he bootstraps into this device. 2) A device and filename In this case, the file must be what is known as a systemhead file. (Such files are created by the /Y option in PIP and are copies of the system portions of devices). If no filename extension is specified, the extension .SY is tried first (by default). RESORC then looks at the handlers in the system saved on this file. System-head files are 511 (decimal) blocks long. NOTE - To directly access these handlers, the user would have to recreate the system from whence they came. He must know in advance (or find out via RESORC) what device it is a system-head for. He could then recreate this configuration by the commands: .R PIP *DEV:<FILE.SY/Y$ .R BOOT/DV Important: If DEV:=SYS:, you must still rebootstrap in order to adjust your in-core tables. A special case occurs when no input files are given or when the first input file is null, e.g., .R RESORC *LPT:<$ or .R RESORC *DSK:FILE<,DTA3: -3- ln such a case, the device referred to is SYS: (not DSK:), and wherever applicable, the in-core tables are examined rather than the default tables on SYS:. This mode is typically used to find the user-defined names for the in-core system. Regular Mode: If no options are specified, RESORC runs in regular mode, and merely prints the system device names for the handlers which exist on the system in question. If RESORC cannot figure out the ASCII device name for one of the devices, it will print the internal octal representation of the device name enclosed in parentheses. Example: SYS,DSK,PTA2,DTA_,DTAI,(4667),TTY,PTR2 The first two devices are always SYS and DSK respectively. The devices are separated by commas and listed in order of their internal device numbers. Full Mode: The IF option may be specified in order to get the full mode printout. Example: .R RESORC */F 128 FREE BLOCKS NAME TYPE USER SYS RK DSK . RK IN DTA_ T&fl8 _ TTY TTY LPT2 LPTR LPT In the first column are the system device names which are the same as the ones you get in regular mode. In the second column is the physical type of the corresponding handler. Every different type of device is assigned a unique number by OS/8 which is used in the device control word table. This is what is referred to here. Note that physically different devices which are similar have the same type (for example, all line printers, whether LP~8, LS8E or L645 have the type number 4). The currently assigned device type numbers and the names associated with these types by RESORC are given below: '-4- Internal Type Code RESORC Type Name S TTY PTR PTP CRSE LPTR 1 2 3 4 5 6 7 1_ 11 12 13 14 15 16 17 RK RFSS RFSS RFSS RF_S DF32 DF32 DF32 DF32 TCSS LINC TMSE TDSE TASE VR12 2S 21 27 39' Explanation Teletype paper tape reader paper tape punch card reader line printer non-fixed head disk 1 platter RFSS disk 2 platter RF~8 disk 3 platter RFSS disk 4 platter RFS8 disk 1 platter DF32 disk 2 platter DF32 disk 3 platter DF32 disk 4 platter DF32 disk TC~S DECtape LINCtape Magtape TDSE DEC tape Cassette VR12 Scope Type codes 22-26 and 31-37 are reserved for future use by DEC. 4S-57 should be reserved for use by users. Codes Column 3 gives the currently assigned name given to the device with the monitor ASSIGN command. If RESORC cannot reconstruct the name from the internal octal, it will print the octal enclosed in parentheses. Remark: Because of the scheme used by OS/S to pack 4-character device names into one l2-bit word, devices may not have unique names. That is, two different names may have the same octal representation and hence both refer to the same device. For example, TTY2 and LTA2 both refer to the device whose internal octal representation is 56S6. There is no guarantee that RESORC will pick the name preferred by the user. Preceding the table of device names, RESORC prints the number of free blocks on the device (as found by examining the directory of the device.) This information is not given in the case of system head files, since it is not applicable. Expanded Mode: The /E mode will be explained in a future memo, because if this memo gets any longer, the time required to get it typed will get disproportionately out of hand. £p OSO-100-017-01 INTEROFFICE TO: OS/S V3 List MEMORANDUM DAH: December 6, 1973 PROM: S. Rabinowitz DBPT: Small Systems Softw. Eng. 2130 LOC 12-3 BX'l' : SUBJ: Concluding Remarks on RESORC This memo describes the /E option in RESORC. E stands for extended listing •. U8ing this option, one gets more detailed informatiQn concerning the handlers configured into a system. With the /E option, a table is produced with the following headings: I, NAME, TYPE, MODE SIZ, BLK, KIND, U, V, ENT and USER. These are explained below. I Internal device number for the handler. If a number is missing, then there i8 no handler for this internal number. NAME Permanent device name for the handler, if decipherable by RESORC. Otherwise, internal coding for this name. Same as with IF option. TYPE Type of device. Same aa with /F option. by internal device type as fo11oW8: Device Type 00 01 02 03 04 OS 06 07 10 11 12 13 14 15 16 17 20 21 22 23 27 30 Corresponding Name TTY PTR PTP CDR LPTR US DOS RFOS RFOS RFOS DF3~ DP32 DP32 DF32 TeOS LINC TMSE T08E BAT lUteB TASE VR12 Determined entirely 080-100-017-01 MODE -2- December 6, 1973 Consist of from 1 to 3 letters with the following meanings R W F The handler may be u.ed for reading The handler may be used for writing The handler handles file-structured devices SIZ The .ize of the davice in blo~ks (decimal). applicable for file-8tructured devices. BLK The block on the system device in which this handler resides. If this number is followed by a +, this indicates that the handler is 2-pages long. If this entry is SYS, this means that the handler is permanently 'resident in core in page 07600. KIND This entry tries to differ.ntiate the specific handler better than the TYPE column. 'There may be several devices all of the .ame type (for example, DEC has several lineprinters, and their handlers all have device type 04). There may be several different handlers for the same device. If there is only one handler for the type specified, this entry may be blank. This entry has no meaning for user-written handlers. Explanation of common kinds of handlers. Type· Kine! TTY AS33 n8E TTY . 1tS33 PTR PT8E PTR PTP ItS33 aT8E PTP 026 CRIE 029 CRBB LPTR LPOB LS8E LPTR LPTR LPSV U LPTR LVSE LPTR L645 Only How .Identified Description . --:.l-page handler by no. of pages by no. of pages 2-page handler by lOT codes low-speed reader by lOT codes high-speed reader-. by lOT codes low-speed reader by lOT co4es high-.peed punch by table codes DEC-026 card cod.s by table codes DEC-029 card code. lOcation dependent Old LPOB handler location dependent Old Ll8E'handler location dependent LP08/L8SE/LVSE handler location dependent LPSV altered for LVBE anallex line printer location dependent r Unit. Certain handler. can handle many units of a given device. Thi. specifies the particular unit number. 080-100-017-01 v -3- December 6, 1973 Ver.ion number (letter) of handler. No entry means the handler predate. 01/8 ver.ion 3. Veraion numbers are of the form A-Z. The .1xbit of the ASCII representation of the vera ion letter of a handler re.ide. in the handlers ~ntry print location. BIT The relative entry point of the handler. USBR Same aa for /p option. Current uaer name for the handler (only applicable for the in-core Bystem). In addition to the handler infor.mation, the /E option also tells the user the following information. If device has directory (as opposed to systam head file): No. of fil.s in directory No. of block. used No. of .egment. u.ed No. of free blocks No. of empties No. of additional infor.mation word. (if not 1) Number of free device numbers. Number of free slots. Veraion number of monitor 1f ••v1ce i • •ystem device. ~D~DO~D TO: 080-100-017-02 INTEROFFICE 05/8 V3 List SUBJ: MEMORANDUM DATE: December 24, 1973 FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EXT: 2130 LOC: 12-3 Additional documentation for RESORC The switch /F (standing for full mode) has been removed and replaced by /L. The /F switch now means fast ~ode and is also the default. To summarize: Gives 1 line printout (default) /F Fast /L Regular Gives 3 column printout /E Extended Gives enor~ous printout Note on RK8E's: One can have up to 4 physical drives attached to an RK8E disk controller under OS/8. These,drives are numbered 0, 1, 2, 3. OS/8 treats the disk cartridge in each drive as two logical units. The lower half is called ihe A unit and the upper half is called the B unit. Thus drive, 2 consists of two logical units called A2 and B2. Since there is room for only one character in, the U column of an extended RESORC printout, RESORC will (arbitrarily) number the logical uni~s from 0 to 7. the correspondence between these numbers, logical units, and physical devices is given below: U logical unit Physical device 0 1 AO BO Al Bl A2 B2 A3 B3 0 0 1 1 2 3 4 5 6 7 2 2 3 3 Furtermore, RESORC unit numbers may be incorrect when running OS/8 under SRT-8. This bug will be fixed in a later release of RESORC. Please add device type 24 with name NULL to the table in the previous memo. mamaamD TO: SUBJ: 080-100-019-00 INTEROFFICE OS/8 V3 List MEMORANDUM DATE: September 17, 1973 FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EXT : 2130 LOC: 12-3 New RK8 System Handler The RK8 system handler has been rewritten from scratch (mostly mimicing the COS ~horter 3~~ handler). It is now a lot and cleaner. In addition, I have added a second entry point so now the non-system handler, RKAI: is coresident with the system handler. This does not obsolete the old non-system handler (which I incidentally fixed so that it can now correctly perform a full page read or write). £p mamaDla INTEROFFICE MEMORANDUM 080-100-019-01 TO. OS/8 V3 Li8t DA'l'B a October 22, 197'3 PROM a S. Rabinowitz DEPT: Small System. SOftw. Eng. EXT: SUBJ: 2l30LOCa 12-3 Pinal (hopefully) Changes toRK8 System Device The new RK8 system handler can run off any platter. After bootstrapping into any unit, the secondary bootstrap modifies the resident handler in core to refer to this unit. Thus, SYS: might refer to drives " 1, 2, or 3. It would be unwise to assign the user name ,(or permanent name) RKA_: to be the same as SYS: since SYS: is not always unit,. The coresident entry point at 7621 always refers to unit 1 however, and may be given the name RKA1: • This memo does not obsolete 080-100-019-00. fp momoomo· TO: SUBJ: 080-100-020-00 INTEROFFICE OS/8 V3 List . MEMORANDUM DATE: September 17, 1973 FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EXT: 2130 LOC: 12-3 Fixes to Card Reader Handler The new card reader handler (now version A) includes the patch given in the January 1973 SIS bulletin which fixes the bug converning reading cards with an odd number of columns. fp 080-100-020-01 mamaama INTEROFFICE MEMORANDUM TO: OS/8 V3 List DATE,: October 22, 1973 FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EXT: SUBJ: 2130 LOC: 12-3 CDR Handler This memo is a continuation of 080-100-020-00. The card reader handler now clears the card done flag when it's through. This is version B. fp 080-100-021-00 INTEROFFICE TO: SUBJ: OS/8 V3 List MEMORANDUM DATE: September 17,.1973 FROM: s. Rabinowitz DEPT: Small Systems Softw. Eng. EXT 2130 LOC: 12-3 New LPT Handler Thanks to Richard Lary we now have a new line printer handler. It has the generic name LPLS but will still be referred to with LPT as its device name. It is a one-page handler which handles both the LP~8 and LS8E style lineprinters. It handles tabs and line overflow. It ignores nulls and prints escape as a dollar sign. Of course, it handles tz and +C. It does not simulate vertical tabs and does not treat ~N specially. This handler obsoletes the two previous ones, LP~8 and LS8E. This handler has two useful locations which may be patched (using ALTER in BUILD). (i) Relative location ~ specifies the width of your line printer. Set it to the one's complement of the width desired. It comes initially set to 7573 (octal) which corresponds to a 132 (decimal) column printer. Thus, you would change it to 7657 (octal) for an 8~ column printer. (ii) Relative location 1 specifies whether you want carriage returns to be inhibited. It is initially~. Set it to -15 (octal) to inhibit echoing of carriage returns for the sake of improving speed if your line printer already does a carriage return automatically upon seeing a line feed. fp 080-100-022-00 INTEROFFICE TO: SUBJ: OS/8 V3 List RF~8 MEMORANDUM DATE: September 17, 1973 FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EXT: 2130 LOC: 12-3 Non-System Handler I have modified the RF~8 system handler to give us an RF~8 non-system handler. Although not of extreme use, there have been many times when I wished for one. It is called RF: in the copy of BUILD to be put on the in-house distribution tape. Also, there is a DF32 non-system handler called DF:. Both handlers require the user to specify how many platters are on his disk if he plans to use these handlers with either the /Z or the /S option in PIP. There is currently no way to do this with the existing BUILD but there will be a way in the future. As supplied, both handlers assume you have 4 platters. fp 080-100-023-00 INTEROFFICE TO: SUBJ: OS/8 V3 List MEMORANDUM DATE: September 17, 1973 FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EXT: 2130 LOC: 12-3 VTECO The following patch to TECO causes it to take input and output from a teletype device other than the 'standard system one with device codes 3 and 4. xx denotes the device code of the input device yy denotes the device code of the output device This patch is normally used when you have a VT~5 as a second teletype. The starred items need only be used if the VT~5 is high speed. *11152/~~25 9239/6~32 ~461/6931 9463/6934 9473/6941 22~2/6931 22~4/6l134 2211/6~41 2214/6~46 *2215/72911 3143/61131 3146/61136 5211/61146 117~;764115551;211111;5153;5551 6xx2 6xxl 6xx4 6yy1 6xx1 6xx4 6yy1 6yy6 4151 6xx1 6xx6 6yy6 This patch only works on TECO V3114 and the result should be called VTECO. The corresponding patch for version 2 of TECO can be retrieved as memo IF-22 of 1~/17/72. fp mamDDmo TO: 080~100-024-00 INTEROFFICE OS/8 V3 List 18, 1973 DATE: Septemb~r FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EXT SUBJ: MEMORANDUM . 2130 LOC: 12-3 Version numbers for handlers I am implementing the following scheme for assigning version numbers to OS/8 handlers. Version numbers consist of either a space or a letter from A to Z. (Actually, these should be called version letters) The version number is represented internally by the code: J I 2 • • • 32 means space means A B means means Z The version number for a handler appears in the handler and is located at the first location which is less than or equal to the entry point of the handler, and which contains a number in the range J - 32, and is closest to the handler entry point. All existing V2 handlers have the version number space. Handler version numbers can be determined using the /E mode of RESORC. fp 080-100-025-00 momoomo INTEROFFICE MEMORANDUM TO: OS/8 V3 List DATE: September 24, 1973 FROM: S. Rabinowitz DEPT: Small Systems Softw. EngEXT: SUBJ: 2130 LOC: 12- 3 FOTP Remarks (by popular demand) This document is' a technical reference manual and is not meant to be a user's guide. Persons only interested in using FOTP should read the examples in the back and burn the intervening material. FOTP stands for File-Oriented-Transfer Program. It is used to perform a sequence of image-mode transfers, file deletions, and file nomenclature revisions. It can be run from the OS/8 system device by typing the command .R FOTP It responds with an asterisk (and calls the OS/8 command decoder in special mode). ,At this time you specify one output specification and from one to five input specifications. Switches may also be' specified. Input specifications consist of a device, a filename, and a filenameextension. Each of these is optional except that no extension is permitted if the name is omitted. Each name consists of either a) from 1 to 6 letters, digits, or question-marks or b) a single asterisk Each extension consists of either a) 1 or 2 letters, digits, or question-marks or b) a single asterisk The filename and extension are separated by a period which is optional if no extension is given. Each device consists of from 1 to 4 letters or digits followed by a colon. 1 Examples of legal input specifications: DSK: SYS:A LTA3:FOOBAR DTA7:A.BC FILE FILE3.06 4 32 :A. * NAME?TX N?ME. ??????A? * *.BN FOO:*.?? ?A?B?C.?D Input specifications are separated from each other by commas. Illegal input specifications: A.B.C A:B:C A?*.B .AB FOO:A.*B A?B:C *:FOO The output file specification has the same general form as the input specification except that question-marks are not currently legal. If no output device is specified but a filename is given, then DSK: is assumed. For each input specification given, if no device is explicitly given, then the device associated with the previous specification is assumed. If no device is explicitly given for the first specification, then DSK: is assumed. Thus, the following command strings are equivalent A<DTA3:B A.*<SYS:B.*,C.*,D.* DSK:A<DTA3:B DSK;A.*<SYS:B.*,SYS:C.*,SYS:D.* FOO:*.*<B.*,DTA~:C.*"SYS:*.BN FOO:*.*<DSK:B.*,DTA~:C.*,DTA~:,SYS:*.BN 2 With the above understanding, we will assume in the following discussion that the device is always given. Only file-structured devices are legal for input devices. not be write-only. 'They must Any device which is not read-only is legal as the output device. Definition of Device Group If the /U option is given, then a device group is a single input specification. If the /U option is not given, then a device group is a maximal sequence of consecutive input specifications all of which specify the same logical d~vice. Example: The command line SYS: < A,B, LTA2:C,D, LTA2:E contains two device groups. These are DSK:A,DSK:B and LTA2:C, LTA2:D, LTA2:E Example 2: The command line A < SYS:B,C/U contains two device groups. SYS:B and These are SYS:C Example 3: .ASSIGN DSK FOO .R FOTP *A<B,FOO:C,SYS:D,E,DSK:F 3 contains the three device groups: 1) 2) 3) DSK:B,DSK:C SYS:D,SYS:C DSK:F assuming that DSK: and SYS: do not refer to the same physical device. Operation of FOTP: . I. The output device directory is read into core. If there is no output device or if it is non-fi1estructured, then operation proceeds as if it had an empty directory. However, if there was no output device and the /0 option was specified, then FOTP assumes the output device is the same as the first input device. II. For each input device group (in order), the following operations are performed: 1. The directory of the input device is re.ad into core. A distinct copy is kept in core even if the input and output devices are the same. 2. The input file specifications are examined. If one is missin~, then *.* is assumed except if /0 is specified in which case the null filename is assumed. 3. A set of filenames is made up of all files on the input device which have the form specified by afiY one of the input specifications for this device group. If t e /V option is specified, then this set consists instead of all files on the input device which are not of any of the forms specified by the input specifications. Furthermore, whether or not /V is specified, if /C is specified, only files which have the same date as today's date may enter this set. If the /0 option is specified, only files with other than today's date may join this set. An undated file does not have today's date unless no date was specified to OS/8 today. Each letter, digit, or null in the input specification can match only input filenames with the same character in the corresponding position. If the input specification contains no *-'s or ?'s, then it can match only a file by that name. If no extension is given, it can only match a file with no extension. 4 If the filename is a *, then this input specification matches any file which has an extension matched by its extension. If the extension is a *, then this input specification matches any file which has a name matched by its narne. If the filename (or extension) contains a ? as the kth character, then this input specification matches any file which is matched by the other characters with any arbitrary character in position k. For purposes of this test, all filenames (both real ones and input-specification filenames other than *) are presumed to consist of exactly 6 characters, padded with nulls on the right. Similarly, extensions are presumed padded with nulls to 2 characters. Thus if the symbol ~ denotes a null, then the input specification, AB??, is the same as AB??~~ and could match a real file by the name ABCD~~.A~ or by the name ADCAA.AA but could not match one by the name ABCDEA.AA. Examples: Specification What it Matches ABC. DE Only ABC.DE A.* Any file with name A and any extension (including no extension) *.BC Any file with extension BC. *• * Any file *. Any file with null extension * Same as *. AB?CDE.FG Any file whose 1st, 2nd, 4th, 5th, 6th, 7th, and 8th characters are A,B,C,D,E,F,G, respectively but whose 3rd character is arbitrary ???PA All files whose names constst of from 1 to 3 characters and which have the extension PA. ABC.P? Any file with the name ABC and extension beginning with a P. ????P.* Ahy file with a 5-character name ending in P and any extension. A.?? Same as A.* A.? Any file with name A and either a null extension or a onecharacter extension. Each? must match exactly one character (which may be a null). Each * must match an entire field (either a filename or a filename e~tension). A specification may not include embedded *'s, thus A*B is an illegal specification and has no meaning. Even if a device group consists of more than one specification, no filename will appear more than once in the list made up by FOTP at this stage of the process. For example, in the specification. A.* ~ ??PA , A??A the file A.PA will appear once in FOTP's list even though it matches all three of the forms given. A file formed now may of course be matched later on during another device group. More examples: Specification What it Matches A.B/V All files other than A.B A.*/V All files with name other than A A.* , B.* All files with name A or B A.* , B.*/V All files other than files with name A or B *.?/V All files with 2-character extensions 6 4. *.*/V No files *.* , A.B/V No files A,B,C/V All files other than A,B, or C P?????*,*.P?/V All files which don't either start with P or have an extension starting with P. After this set is made up, FOTP examines these files, one at a time, in the order of their appearan~e in the input device directory. If the set is empty, FOTP prints the warning message NO FILES OF THE FORM specification on the Teietype, once for each specification among those included for this device group. If /V were specified, it is so mentioned. Similarly if /C or /0 is mentioned. Note: If a device group contains multiple specifications, then one of these specifications could have no matches without the user being told. If he desires notification, he should use the /U option to force separate device groups. This is ugly. The filenames in this set are now put into an ordered list, in the o~der of their appearance in the input device directory. For each file in this input list, FOTP now forms a corresponding output filename using the input file name and the output specification as follows: 1) For each letter, digit, or null in the output specification, that character appears in that position in the output filename. 2) [Not implemented in OS/8 FOTP] For each ? in the output specification, the corresponding character in the input file name appears in that position in the output filename. 3) For each * in the output specification, the corresponding field (name or extension) in the input file name appears in that field in the output filename. 7 The action of ?'s is described here only because they are on the PDP-lO and so the reader might be interested in their use when appearing in an output specification. FOTP does not support this feature and will not in this release. Examples: Input filename Output Specification Corresponding Output Filename ABC.DE , ABC.DE FGHI.J FGHI.J FGHI.* FGHI.DE ABC. DE *.J ABC.J ABC. DE * •* ABC. DE ABC. DE F?HI.J FBHI.J ABCDEF.GH P?S?T.* PBSD':C.GH ABCD.XY *.?K ABCD.XK If an output device is given but no output specification, then FOTP assumes *.* as the output specification. If no output device or filename is'given, 'then FOTP assumes null as the output specification and consequently all the constructed output filenames are null. We are now left with an ordered list of pairs of filenames, an output filename and an input filename. There remain no *'s or ?'s in any names. Input ~ilenames are not duplicated, but output filenames may be. FOTP is now ready to go into action. 5. FOTP now performs the following steps, in order, for each filename pair, proceeding in their order of appearance in the list just constructed (i.eo, from low to high block numbers on the input device): 8 Definition: The relevant filename of a filename pair is the input fIlename unless the /D option is specified in which case the relevant filename is the output filename. a) If the /0 option is specified, FOTP prints the relevant filename on the Teletype and waits for the user to respond. If the user types a nyu, then FOTP proceeds to the next step. If the operator types an "N" or in fact, any character other than "Y" or "ten, then FOTP skips the following steps and proceeds to the next filename pair. b) If the /L option is specified, FOTP now prints the relevant filename on the Teletype. This step is skipped if /0 is also specified. c) FOTP now gets the block number where the input file starts from the input directory. If the output device is the same as the input device, FOTP then looks up this same file on the output directory to see if the starting block numbers agree. (Although both directories are for the same device, they may not be identical at this point because output operations are performed only on the output directory in core and corresponding changes are not made on the in-core input directory. This artifice is necessary.) If the file's location is the same in both directories then FOTP proceeds to step d). If the file is not found in the output directory (e.g., it got deleted in an earlier step) or if the file's location has changed (e.g., it got moved in an earlier step) then FOTP ignores this input file and proceeds back to step a) going on to the next filename pair. This step is necessary but not sufficient to prevent anomalous results. Let the interested reader contemplate the specification A.*<*.B and consider the file DSK:A.B. d) If the /R option was not specified, then FOTP proceeds to step e). If the /R was specified, then FOTP performs the following actions: (i) The ~nput filename is looked up in the output device dire~tory. If it is not there, FOTP proceeds to step (Iv). No error message is given. (ii) The output filename is looked up in the output device directory. If it is not there, fine, well and good. However, if it is found there, FOTP generates the error message AL~Y EXISTS - output-filename and then proceeds back to step a), going on to the next filename-pair. 9 (iii) Without performing any data transfer, the name of the output file on the output device is changed (in-place) to become the name specified by the input filename. The date and any additional information words are not affected, unless the IT option is specified, in which case the file is given today's date. (iv) FOTP now proceeds back to step a), .going on to the next filename pair. e) If the /N option is n~t specified, and if the output device is not the same as the Input device, then FOTP now looks on the output file directory (in core) to see if a file with name the same as the current output file name exists. If one exists, it is deleted from the output directory (in core). If none exists, it is not an error. The directory physically on the output device is not yet touched. f) If the /D option is not specified, then FOTP proceeds with the image transfer. First, a tentative output file is opened on the output directory in core. It has the same name as the current output name. It is located in place of the first empty which is the best fit for the file, i.e., has the smallest size which is not smaller than the size of the input file. If there is no empty large enough, FOTP prints NO ROOM SKIPPING input-filename and proceeds back to step a) going on to the next filename pair. The new tentative-output file entry is given the same additional information words as those in the input file entry wi~h the following exceptions: 1. If the /T option is specified, then the first additional information word (if present) is set to today's date. 2) If ~he output directory has fewer additional information words than the input directory, the extra words are not copied. 3) If the output directory has more additional information words than are in the input directory, the extra words are set to zeroes. 10 Tnen the input file is copied to the output file in image mode (block for block). If an I/O error occurs while either reading or writing, FOTP prints: ERROR ON INPUT DEVICE, SKIPPING input-filename or ERROR ON OUTPUT DEVICE, SKIPPING output-filename and proceeds back to step a) going on to the next filename pair. The tentative file in the output directory is not closed. When the image transfer is completed, the active tentative file is changed to a permanent file. (i.e., "the file is closed). The output directory is not " yet written out onto the physical output device. 6. After the last filename pair has been processed, FOTP proceeds back to step 1 going on to the next input device group. III. When all device groups have been finished, FOTP then writes the output directory from core onto the physical output device. An I/O error at this time is disastrous ~o the user. No operation is performed if the output device is non-file-structured. IV. If the command line ended with a carriage return, FOTP now recalls the command decoder and allows ano"ther operation to be specified. If the command line had ended with an altmode, FOTP returns instead to the OS/8 keyboard monitor by branching to location 7605. Mnemonic Meanings of the Switch Options: Current Date /e .... /D Don't Transfer .... Match only input files with the current (today's) date. Don't perform any I/O transfers, i.e., at most perform only deletions. Note: /D is not an abbreviation for DELETE although it usually performs this option. If no transfer occurs, no post-deletion occurs. Predeletion might still occur unless the IN option is also given. " 11 /L Produce !!og Produce a written record on the Teletype of the relevant filenames which occurred during the operation. Note that the device is not specified nor is the second file of the filename pair. /N No pre-delete Don't delete output filenames before I/O transfers. If I/O transfer proceeds, when the file is closed, any existing ones of the same name will automatically be deleted. /0 Other than current date Match only input filenames which have a date which is not the same as what OS/8 thinks is today's date. /Q QueryMode Query the user about each relevant filename to find out whether or not he wants the specified operation to occur for that file. /R Rename Change the output filename(as specified by the input filename) without performing any transfer. /T !oday's Date Give each output file today's date instead of the date on the corresponding input file. /U !!.gly Mode Treat each input specification as if it belonged to a separate device group. This is wasteful because it will cause a device's directory to be read multiple times, once for each input specification, instead of just once. However, it will cause matching files to be found in the same order as specified by the input specifications. /V inVert sense of matches Match only input files which do not have the form specified by the input specifications. Operation of +C: Because of safety reasons, tc works slightly differently in FOTP than in other OS/8 cusps~ If tc is typed on the keyboard, then FOTP continues operation until it reaches the end of step II part 5 as previously described. At this point, if FOTP had performed any output on the physical output device, then it proceeds to step III as if all device qroups had been processed. This assures that the files on the output device will agree with the directory on the output device. If on the other hand, no output had physically been performed on the output device, (for example, the user did delete only, or only got a log)then FOTP proceeds to step IV. -If tc had been typed, step IV always returns to OS/8 via location 7600. Note that it would be suicidal for the user to hit halt while FOTP was running and manually branch to location 7600. Examples of FOTP command lines: Transfer the file A.B from disk to DECtape: *DTA,:<A.B Transfer the files A,B,C,D and E from SYS: to DTA3: * DTA3:<SYS:A,B,C,D,E Transfer all FORTRAN source files from one DECtape to another, producing a log of those copied: * DTA2:<DTA5:*.FT/L List all FORTRAN and BASIC files on· the lineprinter in order of appearance on DSKz * LPT:<*.FT,*.BA List all FORTRAN and BASIC files on the lineprinter listing all FORTRAN files before all BASIC files: * LPT:<*.FT,*.BA/U Copy all files other than .SV and .BN files from DTA3: to DSK:, then copy all files other than those whose name begins with a K from DTA2: to DSK:. Log all files copied: * DSK:<DTA3:*.SV,*.BN,DTA2:K?????*/V/L Copy the file A.B from DSK: to DTA1: changing its name to C.D. Give the new file today's date: * DTA1:C.D<A.B/T Copy all files from LTA2: which have the extension .PA to SYS: changing the extension to .PL allocating storage on SYS: without go1ng pre-aeletions; * SYS:*.PL~LTA2:*.PA/N -11- Make a copy of all text files on the disk, but change the third character of the name to an "X· (not implemented): * ??X???*<*.TX Find all files on RKA2: with name FOO and any extension but which have today's date, and copy them to SYS: Changing the name to BARF yet keeping the extension: *SYS:BARF.*<RKA2:FOO.*/C Delete all disk files (other than one's with today's date) which either have the extension .LS, .TM, or .BR or have a name whose name s tarts wi th TMP: * DSR: <* .LS, * .TM, * .BR,TMP??? */D /0 Delete the file FOO.BN from LTA7: * LTA7·:<LTA7:FOO.BN/D This is the Same as the command * LTA7:*.*<LTA7:FOO.BN/D Note that although it may seem strange at first, files to be deleted appear as the input files. Nevertheless only output files are deleted. This is because, in the above examples, the output specification is *.* so that the input file names really also become o~tput file names. This might become clearer by a more complicated example. Delete the files A,B, and C on DTA2: but only if they already exist on DSR:, log those files that get deleted. * DTA2:<A,B,C/L/D 14 If at least one of the files A,B, or C exists on DSK: then you will not get the NO PILES OF THE FORM message, whether or not A,B, or C appear o~ DTA2:. If the file A appears on DTA2:, it will only be deleted if the file A appears on DSK:. The file B might occur on DSK: but not on DTA2: in which case no deletion of B occurs and no error message is given. If the input device on a delete is not the same as the output device, then the input device may be write-locked. Copy all files from DSK: to SYS: *SYS:<DSK: This is the same·as *SYS:*.*<DSK: which is the same as *SYS:<DSK:*.* For your own protection, *.* is not assumed as an input specification if /0 is given. Thus *SYS:<SYS:/D deletes no files and is not the same as *SYS:<SYS:*.*/O which deletes all files. Note: the command *SYS:A,B,C/O is the same as *SYS:*.*<SYS:A,B,C/O because the /0 option causes the output device (if none given) to be the same as the first input device. 15 Some more complicated examples: Delete all .BN files for which there is a corresponding .PA file: **.BN<*.PA/D Delete all .LS files on DTA3: for which there is a file on RKA~: with the same name but an extension of either .PA, .RA, or no extension: *DTA3:*.LS RKA,:*.PA,*.RA,*/D Delete all files on the disk for which there are already copies on one of the 4 DECtape drives: *DSK:<DTA,:*.*,DTAl:*.*,DTA2:*.*,DTA3:*.*/D Produce a log of all files on TDAl: which happen to have the name FOO and an extension which is the same as an extension of some file on SYS: which has a one or two-character filename beginning with a T. Do not perform any transfers or deletions: *TDAl:FOO.*<SYS:T?*/N/D/L Change the name of the file DSK:FILE.PA to FILE2.PA. *FILE2.PA<FILE.PA/R Rename all files on DTA6: with .PA extensions to have .PB extensions. instead. *DTA6:*.PB<DTA6:*.PA/R Change the extension from .RL to .OL of all files on DTAl: with extension .RL which correspond to files on DSK: with the same name and today's date: *DTAI:*.OL<*.RL/C/R Interaction between FOTP and CCL: All CCL commands which invoke FOTP,pass FOTP both the /L option and the altmode bit. ~ If no output device is specified, LPT: is forced. !m- If no output device is specified, TTY: is forced. £Q!! CCL first prints FILES COPIED: DELETE CCL first Prints FILES DELETED: The /D option is included. 1'; RENAME CCL first prints FILES RENAMED: The /R option is included. FOTP Error.Messages ILLEGAL ? ? is not allowed in output specification ILLEGAL • Embedded ·'s are not permitted SYSTEM ERROR-CLOSING FILE "Man are you in trouble" H.J. 1973. If you are brave, hit continue after computer halts. ALREADY EXISTS-output-filename You cannot rename a file to a name which already exists on the output device. ERROR READING INPUT. DIRECTORY ERROR READING OUTPUT DIRECTORY ERROR WRITING OUTPUT DIRECTORY Self explanatory NO ROOM, SKIPPING input-filename There was no room on the output device to perform the transfer. Pre-deletion may have already occurred. ERROR ON INPUT DEVICE, SKIPPING input-filename ERROR ON OUTPUT DEVICE, SKIPPING output-filename Clear NO FILES OF THE FORM specification No files of these forms were found on the current input device group BAD INPUT DIRECTORY BAD OUTPUT DIREC~ORY Obvious Remarks: 1. FOTP can transfer files greater than 256 blocks long. 2. FOTP's starting address is 146',. 3. Output sizes specified with the square bracket notation are ignored •. 4. Typing tp at most any time causes FOTP to stop what it's doing at the next safe spot and return to the eommand decoder for a new input command. 17 080-100-02"5-02 mD~DDmD TO: INTEROFFICE OS/8 V3 List MEMORANDUM DATE: December 24, 1973 FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. Ex'r: 2130 LOC: 12-3 SUBJ: Remarks Re Remarkable and Remarked-about FOTP IW IF Print FOTP's version number on teleprinter Failsafe! This option is used to backup large numbers of files in one big swoop even if they won't all fit onto a single DECtape (or other device). If this option is not given, then if a file doesn't fit on a device, FOTP prints a warning message (described elsewhere) and skips the file. It may have been a big file and so perhaps other files will still fit on the device in question. If IF is specified, however, then if a given file won't fit on the output device, FOTP will fix up the directory of that outptit device and then print a message asking you to dismount this device (if you can) and mount another volume. It will use this next volume to continue the transfer operation. When you have mounted the new volume, type any character and FOTP will continue. You can not specify a different device at this time. Be sure the device you mount has a good OS/8 directory. In the previous memo, add /0 to the third example on page 14. Note that by the previous memo, I mean 080-100-025-00 inasmuch as memo 080-100-025-01 was censored by upper management and has not been distributed. It is, however, not obsolete. ,P causes FOTP to abort it's current operation. It first of course fixes up the output device d~rectory .. Under no circumstances should the user ever hit halt while FOTP is running and branch to 7600 or 7605. Disastrous results will happen. If you must terminate FOTP unexpectedly (for example, if an earthquake causes a power failure), then you must manually rebootstrap onto your OS/8 device. tc causes FOTP to abort as explained in the earlier memo except if the IQ ~ption had been specified,in which case, even though no data had been written to the output device (for example with ID/Q) , FOTP will update the output directory. (In all other cases it will print OUTPUT DIRECTORY PRESERVED). This feature allows you to get tired of the querying, and return to OS/8 with all the actions up to that point having been done. . mamaama TO: 080-100-,026-00 INTEROFFiCe OS/8 V3 List MEMORANDUM DATE: October 22, 1973 FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EXT: SUBJ: 2130 LOC: 12-3 Final Chanqes to EDIT I have made the fol1owinq chanqes to OS/8 EDIT: 1)" It is now leqal to chain to EDIT. In fact, the CCL commands CREATE and" EDIT both chain to EDIT. 2) The?5 error messaqe now qoes away because of item 1. 3) I added the I command. Typinq' in response to EDIT's I, and then typinq carriaqe return, causes EDIT to type its version number (currently V7). Unfortunately, the V command was already in use by EDIT; that's why I chose " .... I could not duplica~e any digit-swallowing or buffer-full search problems. fp mamaama TO: SUBJ: 080-100-027-00 INTEROFFICE OS/8 V3 List MEMORANDUM DATB: October 22, 1973 PROM: S.Rabinowitz DEPT: Small Syatema Softw.· En9. BXT: 2130 LOC: 12-3 BAT Handler Mark Rosenthal has written us a new BAT handler.· It is used from a BATCH job to read from the BATCH stream. Characteristics: It is a one-page read-only non-file structured device. It uses internal device code 22. It gives a fatal error if used at a time that BATCH is not running. When used, it read characters from the BATCH stream (ignoring line feeds, and always creating a line feed after a carriage return). Whenever it sees a line which begins with a dollar aign, it pads the buffer with tz and nulls, and takes the endof-file return. fp 080-100-006-01 INTEROFFICE . . MEMORANDUM DATE: December 24, 1973 FROM: S. Rabinowitz 05/8 V3 List TO: DEPT: Small Systems Softw. Eng. LaC: 12-3 EX'l': 2130 OS/ 8 BOOT (Last licks) 'nto unit 0 of a device. d to bootstrap l. BOOT may only be use to boot onto RKA1. used for example, It canno t be , SUBJ: ~:. .-'\• . It 080-100-027-01 ~D~DDmD TO: INTEROFFICE OS/8 V3 List MEMORANDUM DATE: December 24, 1973 FROM: S·. Rabinowi tz DEPT: Small Systems Softw. Eng. EXT: SUBJ: 2130 LOC: 12-3 BAT can get stuck Note the fact that when BAT: encounters a line beginning with a $, it causes an EOF-return to the program which called it. It does not then pass up the $ but in fact, gets stuck there, so that if the user program should call BAT: again, it will get an immediate end-of-file. This is good for parameter files to PAL8 which consist of only equates; however it is bad for other input to PAL8. This is because PAL8 tries to read the source multiple times, and on the 2nd and 3rd passes, it is going to get immediate EOF's. It mamaama TO: SUBJ: 080-100-028-00 INTEROFFICE OS/8 V3 List MEMORANDUM DATE: October 22, 1973 FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng- EXT: 2130 LOC: 12-3 Fixes to L645 Handler I have fixed the annalex line printer handler so that it now recognizes a parity tC. Also, it will recognize tc from the keyboard even if the lineprinter is off, off-line, jammed, etc. This version is version A. mamaama TO: SUBJ: 080-100-029-00 INTEROFFICE 05/8 V3 List MEMORANDUM DATE: October 26, 1973 FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng- EXT: 2130 LOC: 12-3 DIRECT Herb Jacobs has written a new OS/8 CUSP known as DIRECT. It is used to produce directory listings la PDP-I, and is better than PIP. It supports the wild card construction. a When DIRECT is run, it calls the OS/8 command decoder. You then specify an output specification and from one to five input specifications. If no output specification is given, TTY: is assumed. This output specification specifies where the directory listing is to be produced. It may be produced into a file. If a filename is given but no extension, the extension .01 is assumed. The output filename may contain no *'s or ?'s. The input specification has the same meaning as in FOTP. See the FOTP memo for details of what *'s and ?'s mean. If an input device is given with no filename, then *.* is assumed. For each" device group, in order, DIRECT produces a directory listing of only those files on the device which match the input specification. This listing is preceded by today's date and followed by the number of free blocks on the device. Th~ length of each file (in decimal blocks) and the file's date are given. A warning message is given "on the teletype if there are no files (on a given device group) of the form specified. Options: /B /e /E /F /M /0 /U IV /W /1-. II ." fp List hOe sf free blocks uul} Include starting block numbers (in octal) List only files with current date Include empties in the directory listing Fast mode. Omit dates and file lengths" List empties only List only files with other than today's date Ugly mode. Treat each input specification separately List files not of the form specified Mst adeitieftai iRfermatiu11 "erda (iA QEJ'kal} " VeA~ It)", :'WfIM~ t> s ~,:-I ..MA.~.. ,. al~l~~~~~" 080-100-029-01 INTEROFFICE TO: 05/8 V3 List SUBJ: MEMORANDUM DATE: December 24, 1973 FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EXT: 2130 LaC: 12-3 More DIRECT Directions Delete the /A and /W explanations from the previous memo. /1 Print additional information words (after the first) in octal. /L usual mode '/W type DIRECT's version number on the teletype =n Use 'n columns when making the directory listing. It is up to the user to make sure that he.doesn't specify an n which causes the directory listing to exceed the page size on the ouput media. =4 is nice. on a l32-column lineprinter . th~ . DI is default output extension. /R List the remainder of the files after the first one .found. This option causes DIRECT to find the first file (physically) which matches all other specifications given and then give a directory listing of all files above and including this one (and still considering the /C and /0 options). Actually, when /R is encountered, as soon as a file matches, the current specification is changed to *.* and all other switches set as they were. This should actually include the additional hack that if a /V switch is specified, it is temporarily removed until the next device group comes around. Right now (V2), if /V is also specified, you get a directory listing of precisely the first file which matched the current specification. (Actually that's useful too ... ) No warning message is given by DIRECT if there are no files of a given form on the specified device. This should be apparent upon the examination you will give to the directory listing produced. mamaama 080-100-030-00 INTEROFFICE OS/8 V3 List TO: SUBJ: MEMORANDUM DATE: October 26, 1973 FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EXT: 2130 LOC: 12-3 VR 12 Handler We have written a VR12 scope handler for 05/8 (running on a PDP-12). It is an improved version of (and therefore obsoletes) our former program, DECUS 12-81. We are now supporting it and it will be included as a standard ,handler in V3 BUILD. CCL supports it too. Acknowledgement I wish to thank the following organizations for their unquestionable help: P?S I?S WCFMPG FOBM , In particular, I would like to, thank the following bums·: Mario DeNobili Richard Lary Hank Maurer Lenny Elekman Jack Burness R~d Dorman Herb Jacobs Bob Bean * A bum is a person who has bummed at least 5 locations out of a tightly coded PDP-8 page of code. Operation' When characters are sent to the scope using the handler, they are displayed on the VR12 scope (on both channels). Whenever the scope qets full, the handler stops reading more characters from the buffer, and just sits there displaying characters on the scope. It also does this upon encountering a tz in the text, or upon encountering the end of the user's buffer. It displays what is known as a scope page. The user can advance to the next scope page by hitting any character on the teletype (not C). The screen is full whenever the end of the buffer is reached or whenever the number of lines displayed beco~s equal to the maximum number specified by the user. 080-l00-030.i.OO October 26, 1973 -2- Control does not return to bhe calling program until after a character has been struck at a point when the handler is displaying the last scope page of a particular buffer load. The user sets the number of lines he wishes to see in a single scope page via the switch register (right switches). The switch register is set to the negative of the number of lines to be displayed in a scope page~ Depending on the length of the lines being displayed, fewer lines should be allowed so as to prevent flicker. By 'line' here we refer to a physical line across the scope face. When text reaches the right margin of the scope face, it is continued on the ,next physical line (after a slight indentation). Whenever a line feed or form feed character is encountered, succe.eding text goes on the next physical line •. Carriage return characters have no effect on the display. The group name for this handler is VR12. It has a single entry point known as TV:. It is a two-page write only non-file-structured handler. Its internal device code is 3,. Typing tc on the keyboard while the handler is in operation causes control to return to OS/8 via location 76,_. Restrictions: fp 1) The buffer specified in the call to this handler must start at an even address. 2) The handler does not preserve the status of the keyboard flag (it always clears it) or of the LINC-mode special function register (always sets small character size). 3) The handler does not give an error if the user tries to read data using it. . 4) If the buffer associated with the handler call happens to overlap beta register 1 of the LINC seqment containing the handler, two characters of every buffer load may display badly. The user should not halt the CPU while the handler is in operation and expect his core image to be intact since the handler temporarily destroys beta register 1 but restores it upon leaving. S) The handler does not handle tabs, vertical tabs, or rubouts correctly. mamaama TO: ,8,-1"-,31-,, INTEROFFICE OS/8 V3 List DATE: October 31, 1973 FROM: S. Rabinowitz DEPT: Small Systems Software Engineering 2130 LOC: 12-3 EXT: SUBJ: MEMORANDUM New KL8E Teletype Handier We have done it again! After managing to write a VR12 handler in two pages, we have now succeeded in cramming the most remarkable features into a 2-page Teletype handler. Although we will still support and distribute the old handler (for user programs which don't support 2-page handlers), I imagine that everyone will soon be using the new handler. ' The new handler has the group name KL8E with entry· point TTY. currently up to version C. It is This handler may be used only to read or write 'ASCII files. The results are unpredictable with non-ASCII files. Data may be 7-bit, 8-bit, any parity, etc. because it only looks at the low-order 7-bits. Some of the less common features (like support for lower-case characters) have been conditionalized out. There are about 3' locations free in which the user may conditionalize in any features he wants which fit. We must give him the source if he is to use non-standard features. Below is a list of its features. marked by an asterisk. Those that are conditional are On input: 1. It reads a line at a time. Whenever the operator types CR , it enters CR , LF into the buffer, it echoes CR, LF1 and then it pads the remainder of the buffer with nulls and returns to the calling program. The characters get put into the buffer, one character per word. Thus every third character is a null as far as OS/8 is concerned. 080-100-031-00 -2-· October 30, 1973 2. RUBOUT rubs out the previous character. It echoes as either a back slash (\) or as the character rubbed out, depending on assembly parameters. RUBOUT at the beginning of the line acts as tU. 3. CTRL/U echoes as tu and erases the current line, allowing the user to retype it. (It also echoes CR, LF.) The buffer pointer is reset to the beginning of the buffer. 4. CTRL/Z echoes as tz (followed by CR, LF) and signals end-of-input. The tz enters the buffer and the remainder of the buffer is padded with nulls. The ,error return is taken with a positive AC (soft error). 5. Nulls are ignored. *6. The altmode characters (octal 175 and 176) are converted to escapes (octal 33). *7. Lower-case characters typed may be automatically converted to upper case. 8. CTRL/C echoes as tc and returns control to the keyboard monitor via location 76". On output: (either normal output or when echoing input) 1. CTRL/C on keyboard echoes as tc and returns control to the keyboard monitor via location 76". 2. CTRL/O on keyboard stops further echoing. All echoing ceases (through pos~ibly many buffer loads) until either the handler is reloaded into core or the user types a character other than to on the keyboard. Not operative during input. *3. ts causes the handler to stop sending to the terminal. No characters are lost and outputting resumes when a to is typed. ts and to do not echo. These characters are operative only upon output. On input, they are treated like any other input characters. 4. Nulls are ignored. *5. Lower case characters may be optionally printed as upper case and flagged with an apostrophe. QaO-100-031-00 *6. October 30, 1973 -3- Tabs may be handled in one of three manners: (a) output as actual tabs, (b) output as actual tab followed by padding of two rubouts, (c) output as the correct number of spaces to bring the text to the start of the next tab stop. 7. Whenever the output line reaches the end of the physical line (length set at "assembly time), the handler automatically performs a carriage-return line-feed. *8. The escape character (octal 33) prints as a dollar sign. *9. The handler may be set to delay about 16 ms after typing any character (specified at assembly time), for example, line feed. J *10. Control characters are printed as their corresponding letter preceded by an up-arrow. Thus CTRL/K prints as +K. mamaama 080-100-032-00 INTEROFFICE TO: 05/8 V3 List MEMORANDUM DATE: November 1, 1973 FROM: S. Rabinowitz DEPT: Small Systems Soft. Engineering EXT: SUBJ: 2130 LOe: 12-3 TM8-E HANDLER The TM8-E handler has the same calling sequence as any other 05/8 handler, namely JMS I (ENTRYPT) ARGl ARG2 ARG3 <error return> <normal return> /function word /buffer address /block number There are 8 entry points, symbolically MTA. through MTA7, one for each unit. The handler has the internal device code of 2., and it is a 2-page handler. It is non-file structured and can be used to read or write. It has version letter A. It reads and writes either 7- or 9-channel magtape with odd parity at 8•• bpi. (On 9-channel tapes it uses core-dump mode.) Each PDP-8 l2-bit core location is written out on the tape in 2 frames, each containing 6-bits. Each PDP-8 page becomes a 256-frame record on the magtape. Keyboard Interaction: Typing +C on the keyboard while the handler is in operation causes the handler to abort and return to the 05/8 keyboard monitor via location 76... Such action is ill~advised since it leaves the magtape without an end-of-file indicator. Special Handling for Block ,: As currently set up, if the handler is called to read or write block ., it will first perform a rewind. This feature can be patched out if desired by altering relative location 1 from a • to a 1. This altered handler, is said to be operating in file-mode. The original handler is said to be operating in single-file mode. It would be possible to supply a patch which would cause the tape to perform a backspace record function instead for block • (for example to backspace 1 of 2 consecutive file marks at end-of-file data). If anyone thinks this is of use, let me know. 080-100-032-00 -2- November 1, 1973 Special Handling for CLOSE: A close operation is signalled to the handler by calling it with a function word which has a page count of • (bits 1-5) and which has bits 9-11 all zeroes. This is how the USR CLOSE operation calls the handler (OS/8 V3 only). This causes the handler to write two successive file marks on the tape. (Would we ever want to patch this so it writes one EOF?) Two successive EOF's is the software indication of end-of-data (EOD). Restrictions: In single-file mode, the user may not have more than 4_95 blocks because on trying to write the 4_96th block, the handler will think it's writing block. and perform a rewind. This restriction does not apply when using the handler in file-mode; but beware, some cusps, such as PIP, are,suspected to behave strangely on block 4_96 of nonfile-structured devices. Such phenomena has been hinted at in the past but skeptics have denied these allusions because of lack of evidence. Please be assured that if any definite problems are found, they will be fixed before V3 is released. General Operation: When the handler is used in its normal mode, single-file made, magtapes may consist of exactly one file. It starts at the beginning of the tape and consists of consecutive records until and end-of-file mark (EOF) is reached. In this sense, a magtape is similar to one big paper tape. This is the same way that OS/8 currently treat cassettes. Since the capacity of magtapes is so big, we have made provision for storing multiple files per tape. In such a structure, several files may exist on one magtape. They are unlabeled and are separated from each other by a single file mark. The last one is followed by two file marks. Each 'file' looks like a paper tape, that is, it is referenced in a non-file structured manner. The user must- first alter his magtape handler to work in file mode. Then he must position the magtape to exactly the correct spot where he wants the read or write operation to commence. He may do this with a program of his own, using the auxiliary capabilities of the magtape handler (described below), or he may use the positioner program, CAMP, which is described in another memo. To read a file, you should first position yourself to just before the first data record of that file. To write file 11, you must rewind the tape (i.e., be at BOT). To write file In, (n>l) you must position yourself after the (n-l)st file mark on the tape. Previous file n and all files past it then become unreadable (nonexistent). Device-Dependent Capabilities: The TM8-E handler has several auxiliary features which may be invoked by a user p~ogram which calls the handler in a device-dependent manner. These features all rely on the contents of bits 9-11 of the function word (argument 1 of the handler call) and some require argument 3 in addition. 080-100-032-00 -3- November 1, 1973 These features are brought to life whenever the handler is called with a page count of , (bits 1-5 of the function word). Let us call bits 9-11 of the funct.ion word the ~cia1 function register (SPR) for short and also we refer to bit • of e function word as the direction »it. If the page count is not I, the contents of the SPR are ignored. If the page count is I, then the SPR together with the direction bit (and possibly argument 3) determine what special function to perform, •• follows: -SI'R , CLOSE. 1 Rewind. 2. Space forward/reverse files. The direction to space is determined by the direction bit ('means space forward, 1 means space reverse). The negative of the number of file marks to space past is given by argument 3 (-1 means space past one file mark; • means 4'96 file marks). In reverse mode, the tape is left positioned at the end of a file, an error is given if BOT is encountered. In forward mode, the tape is left positioned at the beginning of a file. If EOD is reached, the handler automatically performs a backspace record to leave you between the two file marks; no error is given. Operation Write two EOF's. Special read/write function. The direction bit (as usual) dete~ines read or write (, means read, 1 means write). The specified I/O operation is performed between the user's buffer (start is specified by argument 2) and the very next magtape record. Only one record is transferred and the user's buffer must be large enough to contain it. The record length is speci~ied by the negative of argument 3 (in words) • • means a record length of 4'96~ Rewind the unit and put drive off-line. s. Write a single EOF. 6. Space forward/reverse records. The direction to space is determined by the direction bit (. means space forward, 1 means space reverse). The negative (two's complement) of the number of records to space over is given by argument 3 of the handler call. (-1 means space past one record, I means 4,96 records.) The error return is taken if either a file mark or BOT is encountered. In such cases, you would be left positioned at the beginning of a file'. 7. Unused. Reserved for future use. If .pacified, it currently acts as a NO-OP. In each case, the unit affected is determined by the handler entry point. 080-100-032-00 -4- November 1, 1973 Other Common Operations: (a) To backspace n files, U8e 8p8cia1 code 2 to pass over n+1 file marks backwards, then use special code 6 to advance (forwards) over one record (EOF) ignoring the BOP error. (b) To advance to BOD, first perform a backspace of one record (or perform a rewind to play safe) then use special code 2 to advance over 4'96 files in the forward direction (argument 3-,). Error Conditions: On a hard error, the handler takes the error return (with a negative AC) and the AC contains the contents of the main 8tatus register, as follows:' , Bit on Meaning Error flag Tape rewinding 1 2 3 4 BOT Select error Parity error (vertical, longitudinal, or Cae) EOF Record length incorrect Data request late 5 6 7 8 9 EOT 1, File protect Read compare error Illegal function 11 Not all of these can occur. details. Refer to the engineering spec 'for more The only soft error is EOF error (either on a read or on a apace record command). In such a case, the error return is taken with a 1" in the AC. !!!!!! To use this handler under OS/8 V2, you must make the USR patch given in the March 1973 SIS bulletin, namely, .R EPIC *SYS:</l$ R,15 0,2,1 527,/5266 E momaoma TO: ~8~-1~Hf-1I33-1I11 INTEROFFICE OS/8 V3 List MEMORANDUM DATE: October 30, 1973 FROM: S. Rabinowi tz DEPT: EXT: SUBJ: Small Systems Software Engineering 2130 Loe: 12-3 PAL8 V8 Notes Good news! The long lost source of PALa version a has been found. This is the version we have been using inhouse. Our thanks go to Bob Hassinger. This memo lists the major differences of va over V7. We still have to decide if we want to remove any of these features and also if we want to add any more (other than those bugs and features already noted in the V3 bug book). Command decoder line: 1. If output file 11 is omitted, and if no /G or /L option is specified, then pass 2 is skipped. 2. If output file 13 is specified, then it has the default extension of .TM. If /C is included, then this file and output file 12 are passed along to CREF to be used as its listing file with PAL8's file 13 as CREF's input file. Switch options: 3. /B Byte shift option. This option makes the operator ! a 6-bit left shift instead of an inclusive OR. (A!B equals Atl~II+B). 4. /e Chain to SYS: CREF.SV after assembly. The second output file specified is the output file passed to CREF. The third output file is where PAL8 generates its output. If no third output file is given, DSK:CREFLS.TM is used. /e supersedes /L and /G. 5. /E Enable error messages if a link is generated. The LG error message would be generated as well as the link being flagged. 080-100-033-00 October 30, 1973 -2- 6. /0 Disable automatic origining to 2" after a field pseudo-oPe The origin remains what it was before the FIELD pseudo-oPe 7. /F Disable extra zero fill in TEXT pseudo-oPe If the text in a TEXT pseudo-op contains an even number of characters, no word of zeroes will be added to the end. Operation: 8. The alternate starting address of 56" has been removed. (It used to ask questions concerning the features covered by the above switches.) 9. PAL8 now saves part of itself in block 4' on SYS: • This is an overlay used by it at some later time. 10. At end, it prints out number of errors and number of links generated (on Teletype if no listing file given). Pseudo-ops: 11. EJECT If this pseudo-op is followed by a string of characters, the first (or until a comment is reached) are used as the new header beginning with the next page. This feature was not in V7 even though the system reference manual describes it. 12. XLIST If followed by an expression, then the operation is as follows. If the value of the expression is " then enable listings. If non-zero, disable listing. 4, Error Messages: 13. CF Chain to CREF error. 14. LG Link generated error. Current switch conflicts between PAL8 and CREF, ABSLDR, and BITMAP: /S PAL8 uses to mean no symbol table. ABSLDR uses to mean allow multipe binaries per file no problem. 080-100-033-00 IE -3- October 30, 1973 PAL8 uses to mean enable LG error messages. CREF used to mean don't delete .TM file when through. One of these usages has to change. I'm not sure of BITMAP conflicts since R.L. hasn't given me the revised spec yet. Even though we may not chain to BITMAP for this release, we should keep all switches separate for possible future expansion. mamaama TO: SUBJ: 080-100-034-00 INTEROFFICE OS/8 V3 List Core Image MEMORANDUM DATE: October 30, 1973 FROM: S. Spilman DEPT: Small Systems Softw. Eng. EXT: 2073 LOC: 12-3 Files under OS/8 BASIC V3 Core image files have been implemented under OS/8 BASIC V3. a core image file from a BASIC language source, type: To create .R BCOMP *DEV:PROG.BA/K where PROG.BA is the source. The K switch indicates that a core image file is to be created. The following additional switch/optiondesignations apply: /N If the resulting core image will never be executed on a TDBE system. 'This saves 400 words of memory but reduces configuration independence. /B If a copy of the run-time system should be loaded into the core image. This increases the size of the core image file by 10-50% (exactly 15 blocks) but eliminates the need for a file access to read in BRTS at run-time. =n Where n is an octal digit in the range l,n'm and m is the highest memory field available on the host machine. N will be used as the highest memory field on the target machine. This may reduce configuration independence, since the resulting core image will not load correctly on a machine with fewer than n+l memory banks. If n is not specified, n= 1 is assumed. If n is specified larger than m, n=m is assumed. In the absence of error conditions, the compiler post-processor (BLOAD) will exit to OS/B. At this time, type: .SA DEV PROG.EX to create an executable core image. Additional arguments to the save command must not be specified. The core image is executed by typing: .R PROG or .RUN DEV PROG as appropriate. Any errors flagged during compilation will prevent creation of an executable core image file. 080-100-034-00 -2- October 30, 1973 In contrast to normal BASIC program execution, which requires a minimum of 6 file access operations, core image file execution requires no more than two file accesses; one to read the core image file and one to read BRTS if /B was not specified. Compiler/loader overhead is also eliminated, so that the reduction in execution time should be very significant, especially on DECtape systems. Execution is terminated via the monitor, except in the c.]sc of Bl\SlC CPAIN statements which exit to the compiler; at present it is not possible to chain to a BASIC core image file. I hope to implement this feature shortly. Suggestions, modifications, enhancements, etc. will be very welcome during the next week or so. fp 080-111-13'.e. n!/e V3 L.tst .. , Dom~l'owTk fJ 1 ~, Ca.;ird TO; LaYT~ Mlto~II' ;':i' -lOh',. .. , wll r'l .J • Oetitbl' 31. 1973 ,ReM. JudY Hal'l DEpT. s,f,wI" Oo."",tntatlo.; EXT I 2.36 nIlS H'~0900K DOCUMENTA'ION PLAN luiJi t~ DATE. nS/R ~AN08~OK ,fit. 'hi nsiR wANDgeOK '-iT I I' Go",.'n .11 It,ndl;et u'lr deoum,"t,tl," 'a' t"ai cu;;."tTv ,!l.tl 'n 'tVlr.' m.n~,I~, T"' •• ~ .a"ua" wlt''' i~ uD~.i.d 'er OS/8 V"llo~ 3 '"~ 'n~ "por • • '11 bl oor,.tottd. NI;.~ •• ;; o~a~a.s wY'YI ~t ""de t. ~,kl t~ •• tvf. o,nll •• ,", wIth t~t Os," OSi8 SystEM R[tERENct MANUA~. l.itTe~ bl v ef t~l. eT,n oen,,'n. , ".t,lltd outll". if thl •• tt,lar to Tnc'i'ud.d T~ thi hlfitdbook. Tht tielatln, ""tt,l.t' ,. bl l"ol'ud.d Tn th~ h~~~~~~k ~~"sl~~1 ~f t~1 f~1 lowl"a' bs~~ SYST[~ RttERENC£ MANUAL (fO,.II,.r; eh'~tt~ 9 ~f IN'RODUC'*~N ;0 PROGRA\4"'ING) AAAlc USE'S MANUAL AATe~ US[~S MANUAL AI;~AP us~~S MANU.~ 8~ roRTRA~ AND SAaR [;T~ USER! ~A~UAL ASSEMBLER rL,j USER! MANUAL r,ORTRAN IV USERS MANUAL lAR~/! rU~CTI0N9 FOR OS/8 BASIC PAi'" ASS[~BLER PIPe USER! MANUAL SRr.~OM US!RS MANUlL USER~ MANUAL t£r.n '" .~d'+'Te~. "IW matl,Tat' wi' I bl addld to ~~;.'O" 3~ Ix'.iT~ft D,oa;i~. OS'R Tftofudi ,I'I , •• tur •• if ThT. matl,la' lnclud~. chin ••• Ind addltl,", i~ a"d \hl '01 lowl"1 "IW D,eara.11 lo;,t cci' (Cone TI . Co,"",and LanGUI,I» D1RrcT 'OT" p t '1' 0 Ars~RC ,"et " Thi "1"~bOOk wTI r wrl"ln, Idl,.d. and Draif.d b~ JUdT MITf lib t "''''. '. ThI hi" dbe&' k w1 1" b• d 1v , d. d T~ tit, 0 urift' T" •• i , 10" I' 0s i • ru'ut.",I,;,ta'l, UtlTlt~ Pro;",,",, AI'lmbf~rl. Ind LI"IU,al'. oSil / pc -==-s Edited Draft· PROJECT Progmr Review IN OUT Typeset Pirst Galley Typeset Final Galley I!'! 1;'1 OUT T. Software Evaluation Paste-up* Printing IN OUT OUT I [NT RO & SHAP. 1 (Hall) ] 1/5 11/5 11/8 11./8 11/15 iHAP • 2 TcH, ~ 11/16 11./30 . 12/6 12/7 11/27 12/6 12/1.4 J.2/7 (Emma) 1..J/9 10/24 10/31. 11/9 ] 1./9 11/9 1.0/24 11/9 10/24 10/31 11/9 11/9 11/9 10/24 11/14 11/l 11/5 11/1.4 1]/14 11/14 11/1 1.1/14 11/5 11/5 t1./14 11/14 11/14 11/5 l:t./2l 11/12 11/12 11./21 11/21 11/21 11/21 (Hall) 1.1/5 11/8 11/19 11/13 10/31 10/31 1.1/1.3 11/5 11/8 1.1/19 11/13 11/1 11/1 1.1/13 11/7 11/1.2 11./21 11/16 11/6 11/6 11/16 11/7 11/13 11/21 11/16 11/6 11/6 11./19 11/21 11/21. l1/26 1 ]/21 11/12 11./12 1.1/26 P. 3 PAL8 mma) 1.1/29 1.1/30 12/4 12/4 1.2/12 12/13 12/21 12/28 12n • 4 SASR 12/1.0 12/10 12/13 12/1.4 1.2/21 12/28 1/4 1/10 12/7 P. 5 BASIC I 11/19 11/20 11/27 11/27 12/10 12/17 12/21. 1/2 12/7 iIT~.AP j :1m IFIC PAP .-= COM IECO -<to ..-:-:- ~ x:L I )1RECT t roTp ~ PC t PlO ~SORe...~~ mma) nama) ,. ·Completion dates. - 1/14 2/30 , ~ ,~DOCUMENTA'T ION.~;:SCP~E . ~ ," . ' ' • ":'l - " ... ~ Edited Draft* e~ . ~~ ··-t· .: ", . Review ",' . . , " " "", ,~'.- ." . .. ' Typeset First Galley Progtnr .: , - .. -- - "~. " - , .,..:..f:..' '. . ." .i.' , ~. ", ' ' :- Paste-up· 'Svaluativn , " ... ~ Prin~"~ -.~ "~ , ~~ .~ :jPROJEC-r .. . ''-::~t~ ~~. Software Typeset Final Galley .-' ~ '. . ' IN ... .~ .,. OUT IN our IN OUT IN OUT', a q;. .~~ . CHAP. 6 (Hall) 11/19 11/20 11/27 11/27 12/7 12/12 12/17 12/21 . 12/7 'CHAP. 7 (Hall) 11/21 11/27 12/3 12/4 12/10 12/13 12/18 1/3 12/7 12/19 12/20 1/2 1/2 1/10 1/14 NA 1/7 1/10 11/1 11/13 11/14 NA FORTRAN II FORTRAN IV . APPENDICES (Hall & Emma) 12/1~ 12/14 . INDEX & -TABLE .OF CONTENTS (Emma & Hall) NA NA ~ A : .'.. . . i,... ·Comp Ie tion da~s • 1/14 2/3,~ fl ... "'I"ta l l ... TII T"olude mT~lMuM OS/8 .vstl~. ii' wTT'I' bl T"o I Uded all thl ,tanda,d aroara,", " •••••• ,y to 'Un a .rOI,aml othlr t~a" al •• ~b"'1 I~d l,nGuaal' ";; the utl 11 t~ ",ogra"" ._etTon I 'hi ~."~boek wTli i. aiD'o.lma"'~ 811 Dao •• fonll 48,111 iOD'" wT'fl' b. e;T~i.d. T"I ~a~dbook wI I I b. av.llabll t'OM t~1 Softwa;. ol~i;Tb~iTen ~~"t.~ li~ thl w•• k of r.bruary 31, 197', olia sortwAAE SUP~ORT MANUAL th •• iel.iT,.; Dill iO'TWAAE SUPPORT MANUAL wTI" bl uDda,.d '0' v"ITen 3 ~~d ~~~."d~d t~ 'nilud. In~.'n.' dIIO,T~ET~nl that .rl n~w 1" y.~, ",aftu.T.'. The iOfiwa" IUDDort man~al wlfl bl w,lt'I" I»~ crav.'OD",,;'t l,i.;.M~.;S a"d edTild and Droofld by thl w;ltlr" Ill',' Tla.11! SCH!DUL.! 'h~ ~~t~~~'d T~ an 1.~Tmat'd IOhldul. ~, t~1 t1m. ~Iaul'.d t~ l~mD'rai. th~ Dais WAND'OOK', T~ 1. lohadu rl rl'l.ot. thl "IOI'la;tI .a.e. t.i~~Tc.'r eor;ictlon' and 'orm,t '''."al', it dOl. n,t aIToo.'. tTM' ~ 0.. . ;;. r ~ ~ ; '" J r ; • w~ 1 0 , • "Y • let 10" , ~ hi, ~ 0 h' d U U1ft i • 1ft! c that MI.t ~at.,lal , A. I t.. "I' f' T•• 'r •• d~ wrIt'," 1n n,ar.' "at fopm, ~~li~~ ",;o"ITbll f~, lach .IDtlo" l' au.~tlo". and cOmm,"tl 00"0.,"1"1 thl to J,',dT ~arl·. t'9ft' to 'I ••• l"dloatld ,Tn ~a,."t~ ••• ~~ handblok Ihourd bl dl, •• t.d jv: DOr.~M£NT.tloN P~AN REVIEW , ;.vT'~ 0' thT. deQum,ntatlon DI." wlll be hlld 0" Nivlm~.' 5 at iiil· ~ ~:~~ T~ La~'~ portner" ,onf.r,"ol ~~OM' 1*.2~ Afl oomM'~i. ~~~~~~"T~a thl~ dD~UMI~tltlon Dla" Ihould i' ~T,'oi'd ,~ Judl MII'i. ia~3. b; Novlm'l; i 0, dl •• U'I.d . ' th. ml.'I".~ ~ v~ C' Thl 'oli'~w'"a T•• ~ outlln. of thl OS/' NANDIOOK~ .hew~ .;. tor the .,otTon WhO II. ' •• 1 l,i, •• l •• ,toftl CONTrNTR 15 IN'AOCUr,;iON 6 ,lvTlw ~S/A HANOI~O~ ~UTLINE .1 • wi;~w.;, ee~flQu;.t'O"' Sv.t.~ So't~a~. Comio".~'. 'AiT ON, ~ OS/8 'UNO'MtNTA~' CHAPTER ONE 0'/9 'UNCAMEN'ALS c~tTi~G r: ON ~lNE wlT~ oSIa tJretaDI ~VI'.m' TC01/'C08 otctaD' UII'. TDaE ~Ec'iD' U•• r. L!NCticl 1PO'.12 UII,I) CAS •• tt, $Ylt.-... SYlil",. i,',Tf~l"~ OS/S f,-emP.D.r TaD.' bTs~ C" c,.atTna aSia wlth CONr!G c;eatTnQ OS/8 wlth BUILD L~idlno OS/8 sv.',m ',OIP.ml KrVRnARO M041ITOA Iv.t'm Convl"t10el p.rm.~'"t ClvTel Nam,. rTla ~.~.~ a"~ Ex~.".lo"1 U.Tn' thi Klvbo.;d Hlnl'or Klyboird Ho~l~or eomm."~. KavbOI'd MonTto, Err., M••••••• cnMMA~D DEC~O£R C~;"m~nd .~.coj!r }nDut St',l~a If Clm~l"d 5,,1",. i~Dut~outDut SDlclflcatlo" OD",ni N~t'l o~ ClvTo. W."dr.,. rxamel •• Cft~~and ~.eod,p E"D; M•••• a•• IVM9nLie £O"OR c.i'rlno i~d u.l"1 the Edltor [dlto; ODilO"1 111 'ACt S~.elal [~Tt~r '0 thl Edt,., (.v co~m'nd. t •• t Bufflr Text ~of'.ctlon S•• ;en Mede ,'"aTi charaoil' S•• ,on c~ar.et.r st,Tna SI.,on r~!'o, E'r~r,.MI".a •• [vamele alln_ 'hi £dltar S~~m.'~ ;f E~T'o~ COMm."~. 'rRI'~I~AL fNT£RC~'NGE 'ROGRAM CPtP) c.r,.,"; ind Ull"1 PIP pIP oatTo;. on tifllno I'ls of pip SDle 1f 1,a' 1 Colftlia"dl . '~~Ttlcnil IntorMltlon Worda '" " I I DI"oto;1 •• 'i. f"o; ~'.'Ia'i ARSOi'uTE ei~ARY LOAOER e. r ,'1 nO i nd Lill nl ABIL-DR A"SLO~ OctToni r~amDr'l if l~Du' L.ln •• ~~~.I On Usl~a ,_SLD" Co" •• 'f~ ARSLDR [;,or M•••• a •• DC; Ai' DEBUG ~ 1 ~G tt:CWN! QUE C.i't'TnQ and (JaIn, OD' S~~m~rY ~, 05t C.mm.~d' AutLn L"adTnq ~UtLo U.T.,a ButL.O BlJ;LO co~manit. ptA1NT LOAO INSER' OEL.Et! A!PL.'~£ UNL.O" NAME AL.TER SVSTt ... 1I0QTStRAP Ga".,al ,"0; M.i •• a•• ~~;;~ .6~ A.~t.,t .dd' ••••• AtI"!Tl'lar" ~.vlo. Handl', TaDI BullD 0.\;1,,1 WI"itll' ForMat ..... d.; Blecle o•• c,Tcto; 8rick B'.ak~Ow" of bee Word· [~t'v Po'~t Off.,t 4 .. ; .•. ~: CHAPT[R two t I • • . ., • n U'I~ltY '_OGRAMS aitcw ~S/8 FI~~ Co~t'or a.to~ und.r 01/8 p;aoe.iT"1 a'TC~ Mo~lto; Co~ma"i. T~. !ATC~ tnDut '11. E;;", H.i.ag •• R~~~lng tATC~ f"~m Punoh.d C,rd. •• i',letTO~1 u"d., 01/8 B'Tew 8~!~W o.~o".i;I'Jo" 'rol;am Lftldlna a"d I.yl~a eATCH Lftad'na a"d .aYl~g ,;olraml for U" und., lAtCH alTMlr; W.pdwa,. a"d software R"ulp,m'n" I.~idl"o 'ITM" "'MAP o~tDui 1;;0; M.salli' A••• mblv l",iruotlonl RODT e~ri'l,na ~"~ U,lnl BOOT Las. M",mo"Tol ~nNtiq[ CDM~AND LANCUAGE (eeL) ciart'lna ind U.lnl eeL eel. c,",,,,a,;dl Ad~T"Q N'w ComMand. CO'ftOatTbffTty wlth OS/. Colftrnan; D.cod.; R,.t,Totlenl t;ra; Mlssaa •• CiOSS~REF£R!NCE n Q i ~ d, c. rr , PROGRAM CCR~') Y' 1" I eRE,. CRE" ~Dtlan' E~'m~lei 0' CA£F U•••• cRr; Plludo.Oal J~~.rpr.il~g R•• t,letTo", eRE' OutDU~ eRrP E,;ir Mi., •••• tii'REr.T rpte W.;dwa', R.aulp.~.n'. l"ldTng !Ple R•• ta;t p;oe.dur. -~~., Tail r~clll'~ cemm.~d ,o;",.t oe,aurt aitlo'" litro; CondTt)'"' Lew Sal.d i/O Lira, ,llil olvloi Co .... 'ACE f~Ti'na eIDa~lll'Y 1",tTil Cem~a"d EdltT~a Com,"'"dl tft~D.r' ~aDabTllty cemm.~d fo;lfta' 6 ',rma' w.re Me.',al [;;0; M.ilaa •• Lftialna 'ORTRAN Iv f,om PaD.p T.,. ,.n.; Tae' re;~., lftadlnD fPJC "OM 'aD.r ,.D. EPtc A.li~bIY Iftltruitlonl ;l'iP t~rr'nQ ~"d Oll"~ 'LAP W!~dw.'.~R.Q~T,~~."t. Statlme"t S~"ta. ;aQI EicD,.iITo~. Cemm.~t. ';Tt~metTc .~d Loala.' O'lr.'orl 1;'.i;uetTo". pOP-a M.me;v ."';'"01 • , Word POP.S QD,;at. and lOT • 1 Wopd ;~p M'~O'v R,'.r,,,o, 'orm,t 1 • 1 ,r 2 WO;dl ,,.p Selol.f R,"""c. 'O,,,,at 1-. 2 WOP'" ;pp R,f.r.nce Pa,ml' 2 • 2 Wordl M.me,~ MI~O'v ;pp I~d.x A'aTat,; "P P i ~ d. R• 0 T1-' I; x "p o;.,at •• fopmat 1 • 1 Wird r 0' ",a' 2 • 2 W.; ~. L.Ti"al. "" .. Ie. b.ta So.illleatl," ;.8udOeO;.,.top • "auat_) OCTAL OfctH1L. PAGE aASE ~ ;rXT ENO iND£X n O'tG 1~C)r ~B1.0C( " ~tSTot LtSTo~ t'n""~ Ccendltlonal •••• m~'~) AEP!:,' n • n ; n [ n 1.1.;I"oT"Q MI~O;Y u~T~a the A'~I~bf,r [;;8' MI.laa •• I,'. ~"'. r 1., ,.sl~bIT~a, LoadTna, and Sav'", 'LAP wlt~ 01;8 . -., . I • tilE OA1ENTtO TRANS'ER PROGRAM erOT" e. tr'lng i"c. UIlnl rOTP eDt'O"' 'O,p t~'M~rl' ~, rOTP ID.clfl0.tl~ft C~~m.ftd. oD,'aifo" of !TRL/C i~t".ct'O" wTth eeL 'nT' Er;ir M••• a••• ,i,ec. ri' , U.,". Ift'Jc CDtTo", nD ' " d PI' C "pc £r;ir H••••••• , •• ,MbIV I~.i,u.'to". ,t;1Gt C;r~lnl ~"d 0.1"1 PIP10 ;T~10 Oe~lo"' 'i~11 [;;0' M •••• g •• A.8.~blv I".truliloft • • FSORe c.rJlna .'"~ y,ln l REtORC I~Dut SD'e f1,atT,' n' QutDut SDiel' oat on, ArCJo~C oetlo~1 E;;a' M.i.,ail snuRr.r eOMPAR£ iS~COOM) Waidwar. a"d Sof~waPI Rlaul'I.ln" Lftldlna !~CCOM outDut [r;ar M"s •• a •• A.i,Mblv Inltruotlon. I.~COM 'reD t~rrJ"a.i"d O.l"~ TtCO I~~,edueto,y.~omm'"d' Cft",,,,and Summ.rY ;EeO e~a'actl' SI' ,'Ie !DloTJlc,tlo" eOMm."~. ~Ia. ~a"l~ul·.tlo" Comma"dl Buff,; PoT"tl; MaftIDulatl," c'mMa~d' TI¥t Tva.~out ComM.nd, oel.iTo" Co~mi"d. t~s.;tlon cemMa"dl s •• ,i- COM",I"dl ~.te~.Co"jrof cemm.",d ~eoDI Chl;IC'.,. a-R'aTlt.;. 8'I"o~1"a COMMa"dl C8"dTllo"aT ticlcu'lo" COMIIII_"'" Num.;TCII ,rguml"" P'OO""',"'~a ,fd. £;ro; Mlli.ali Mlnleul'tTno ~.'D' P•••• Tlc"~TQu.i and Ex.mpl~' Rlj~nlnQ '(CO thl PDP.12 '.'I~bIT~Q a~d Lead1", Ift,'ruat1,", a" .-., ,,1; tWR~E ASSEMBLERS CWAP;rR THR!£ ;'~8 c.Cha,lota; rr1 Sai i~t;eduoilan no 'ALa 8t.tlma"~. LabeT, i"lt,uctlen l . ' OD.~."dl cem"'l;'ts rft;m.t £'floio~. r·t) ~ "'. a. d i'abuT.tlo~. statl~."t T'PM1"a'o~, . r"" NiJ~b.rs S;;.tbols p.rm.~."' Sym_ol. UI,r~~.'l~~d 'Ymb~I' Cur,.~t LicltTo" Count" s~mbor fa_i l olreet "ITGnMlnt st.'.m.~'. s~mb~rl~ 1".'~uctTo". s~mb~rl~ b~"~"dl I"t.,~.r E~"' •• IT;"I iv"'bel RIDr.,."tatTe". 'e; 'ALI OD'''.~O~' \ selelif Ctit.""I,. 1;..t,uetTo"1 M.mo;; ~I'I"~C' In,t,uetlo". i~d';iet idd,il.l~g MTopaY"lt;uotTo"l AutaT",dlxTnD ' •• udo-Q;.;a!o,. . t.. i"df'lot !nd -.D. it,o Add, ••• ,", Aldlic Cent~ef Extl"i.a ~I,"O'Y E... d "0 , ., 'I 'I I AI •• t~T"Q '"I Loo."Oft Count., 'IX' str'n,1 sUD~;i •• r"a t~1 ~T.tlfta . E"tl~T"a A"';vl'HI ... ",ipy C'ondT iT ona i' Ai.l/ftb I y P,.UdO.OD.p.I'r. cent,,1 ,"I;'a BTnlr~ OY'Dut eont;alt't"a Paal '0'111' ;YD •• i't'~Q PI.ud'-OD' •• " p •• ude.ODa;ltir. Call1n. Iii' j/o Aftl,T,.e ihl ,.,,,,.~.,,t S~"'blf T.b't. LT~. Glft',ltTo" ind Storaa. ·UI.d ,,, CftdT"D P;aotTc" , I Ha".'.,. , 'ACE , ;'."" c~~Te".'i' P.t~h" I t~ PAL8 ,;a~,.~ ~r.Dir.'to" and •••• ~bl.r Outout T.rmT~ltl"Q A•• embly _~~I £ri~r C;ndltl~n. eWA,frR ,Ou. SAB~ Ca. J i'T nQ SAaR t" Cha'latlr s.t « Tftl .. .. ., .Tph.<li Hume,'Tc SD.elif cha,.itlr, li.i.me"tl LabeTi o'.r.to;. oD.ra~ds eom",.~t!l Ifte;emlftiTn; QOlia"dl ,.iudo-O;.i-aior • •••• m' fv Cor.t;o'f I~mb~r o,'Tr.ltl~" gate ~.".;a'l;'a I.'. b, 0 u t 1~ I . CALL. ind iRQ INTFfy and RET"N IXI"'D rl , ~ ••• T"a !ubreu'l~. DUMMy , A;lym,n •• . IAq~ OD.~.tl~a C~.r'I'lrl.'l •• "g'.ly-Paal 4••• ~blr MultTel. Word l",'ruo,len. Aun-"" ~T"kig. RO~""" sklD 'nitruotTo", ~roa;i~ Aidrl~I" ;~I s~~boT The Sub;iutl~1 L b',;~ Ta,l. }~DuilOutDut ' ,roltT"aePo'nt A,Tthm.tl, l~tee~, A~Tth~ltlj suble;littT"1 runciTonl utI ITtv Riutl~'1 ,bEeta;. 1(0 R'utT",' 81na;v OutDY' T••• T~e Leade; "ITo •• tlo" coct •• •;~~r. ~il.m~"v ~'Itl"a. "~A P'olfamMT"1 No, •• oDtlmTzTn' lAIR Cede ~II IT~Q ,~. Lftid~g .~d 01,8 USR and o.vTi. N;"dr.r~ oel,.t'"1 SAB~ Alilmilv ;;ooidur. T~i ',oel~u" '0 UII •• 'ORTRAN "11 I Llnk'"o Load.r Cit "~a t~. LTnk'"1 Ll.d., ODI'.~lo" Llnk ••• Reutlftl ~'oailo"1 ", switi~ ~,.T.t., O~tlo~. LeadT~Q t~. LTnkl"Q ~'.dT~Q R,Tooitabl", LThpary I.tue (LieSE') LOldl' "OI'lm. cll'l~a '~d u'I~Q ~IBS£T LJtSET OD,Tonl Eximol" LleSET U,a" lubPeutT"I Na"'" I'QU.~o, for LoadT", In,"yo"O". £;;1; M,i •• e.Me".t,itlo~ "iarIM U,'nl ~Tbr.'~ .outl" •• 0' a,. ,.itt ,ou" LAN~U'GES CWA"'-R rIve BislC I" INtRODuctION wardwi,t CG"'Tg~,.tlo~ oecumi"tliT'" Conv.ntIon, u"~'~ITnl"ci Ca;;Tli. R,TURN STink iDla,. Co~t;'oT I"d Shlft Chl'lotl" T.;",Tni'I" li.dT~Q Ind Runnl"Q DS/8 BASIC Ca I' 'I Tn I aASIC £",.,1"1 t~. NIW P,ol'lm [xlcutT"1 th. ~,w Proa,am Co;,tctT~g 'h, N.w P'O"I. t~I.;ruDtf"a Ex.outl,,, of 'hi ';'.ra, L.ivTn' the COMDut.r [ximDle of In OS/8 BASIC Ru" OS/8 ~ASIC Oyervl.w G.~.;.T S~it.,. O"'rlD,lo" OSi8 aiSIC Sta'.ml"t. ,nd COMM.ft •• DS/8 BAste ARiTHMETIC Numb .... vI,la&I •• '~Ith~.tl~ O~lrl~To". P~To,'i~ 0' lr',hm.tlo O~.r.tT;~~ Pa;'"'"I''' R. It at 1D"' f 0 D. ; • to, • Rur •• ,~, £xD~".ntlatl.n aR/8 BAste Sf.'EMENTS stat'~t"t ~umb.r. A.ma, ••• the COMMENT 8tltl~,"t stat.~."ti fo; TI,m'nltlnG a PrOGram £N~ s;~p L!T t~put)OutDut Itattm'"t. a"d runotTo". The INPUT Itatemen_ Th' PRINt Stat.ment G.nl,a' 'orMat eo"t;., Cha,aot". "". ti P"I~il". Nu",bl'. 'RINT UI.d with IN'UT The T.,·(X) 'un,tlo" Thi ~N eX» T~' R!AO and RESTg-E ru"it'o~ bAT, st.t.~."t. eintpif si.' .... n'. cofa Ln~'S t;~T~EN a"d I'.GDTO ;OR a"d NIX' It.'.mln'. N•• tT~a L.ooe. Lists AN' TA'L[S~ luble,lat.d Varl.bl" ;h. O,~ siatIM'"' Dill BAsYe FUNCTIoNS AND SUBROUTINES G'"'~~I l~'o,~.tr~n on OS/8 BASIC rU"~tt~~. A"th~.t,e 'u~ctlon' Thi Ra"doM Numbe, runo,l,n • RNDCX) T~. AAN~OMI2E stat.m,nt • Thl Ilan runotTon • SGNCX) Thl tntea.; 'u~otlon • INTCX, Thl Abaout. VaTu. 'unctlo" • A~S(X) Thi Sau.,. Roo~ Fu"otlon • SQR(X) t~.n.i'"d~"t."r runotl,n, Thi S'nl"runeilo" • SINex, Thl cO~ll"~ 'u"otl~" • COStx •. Thi Aritln 'un,tlon • "N~.) Th~ [X!o".~tlaT ru"otl," ~ E~pi •• , Thl ~aturat Lo •• ,.lthm ,u",",,, • LOCCKI u•• ,. ~,fl~.d 'unction, Thl 'Nicx) run,tlo" a.. d thl OE; ItatlMint . Th~ UD~' '~netTon Call and thl USE St.tl.'"' t~. Dlbua.T"Q runotlo" • TACeX) lubpoutln" . GO!U9 a"d RETURN N.itTn' Subrou~l" •• AI'jWANU~tRIC iNrORMATIDN (S'''INCS) st,lne co;'vlnilonl Co~.ta;;t. ,nd Va' lab f •• OT~.".To~l"a Strl" •• l"euttTnl .trT~g Data St;'"aa 1n LET and Ir.THEN Stail.lnt, S~~'ng coniat.~a'I." st,.,", t-ea"d,"l'u. '~"otlon. Thi LEN ru~o"'" Th,"ASb Ind CHAI runotlon, Thi VAL ."~ STRI rY"ot'I .. 1 Th, pos rUftot'ln Thi SEDS runetlon Thl OAtS 'unet1on InittNC lNO RONT-OL COMMANDS CI".itlfti PrearlMI E;,.T", Ch.ract.,., ,"d Ll",. Thi REIEQ ·rog'am ;~. LIST and LlSTNH Comma"d. T~' NtW Cim"_ftd T~. S~RATCH Cemma~d T~' o~b Ca"''''aPld ;h. NAME JO"''''lnd ,t-l . RJN S~VE ~o"'mind RUNNH t~. .~d Co.~a"d' f ~. aV£ C·o'""'a" d riL~S. ;,~£ ITAT£HEN'S AND CHAINING G.n'~~1 1~'O""l~" 0" 01/8 BASIC "(" S"lt.m O.vlo •• "r., lxD~lo,TDtl~"' " ~ nit ~ '1" •• d. • v., abl".I..."ath '11 •• Numa;l, FTI.,· AscIi ,TI •• "I.ltatim.n" Thi 'ILE It,t.mlnt T~i 'RfNT st.t,ml"t Thl IN;uT st",m,"t Thl R£itOR! T~i C~OSE St.,.m,", s"t,,,,.", Thi ir END STATEHgN' TW! CHAIN Ita'I.ln' CA£ATING ASSIMBL9 LANGUAGE 'UNCTIONS l~troduotlo" T~' 01/8 BASle T~' Ot/8 iASle SYltem Ru".T'ml s~,t,. BRtS CO;I ~ayout BR'S O~,'f~Y. BR'S Svmbo't Tab II. oata 'o,mitl Va;lab'l" St;l",al 1"80" OAT. ~l.t Thi StiT"a AOQumul.,o, (SAC) 8~TS ~v~be( T~bl' ,t,yo.u" Thi So.Ta, Tabll Th, Are,v lymbol T.bl. st, "I Sy~bol '.bll ,to.tT"a.'o'~~ oD.,,"on, T~. " . T~i st~J~Q .Al'ra~ Tabll F'T;,tl;'a-PI1"t ACQumulator f'i';atlita-pil"t OD"atl,n, 811tTS Sub'iutl~'1 Su~,.utl"' lAG,,,t r'l'eat 1~a.'i 1", RoutT ... 1' SuirouiT"1 X'U'C~ sui,oujTn, XPRINT Sui,outT~1 'SWA' Su~,.ouiT". UN.'IX SuirowiT", srlNg Sui,ouiT"1 SSW su~,ouiT". MPV SubroutTnl OLREAD Sub~ouiT"1 ABSYAL Sui,ouiT", NUMCOL ~.lsT~a 'raumlntl '0 the U•• ~ 'unetlon Ui'"Q the uS£ stat.m.n' I"T5 tiD Tiw",YnaT lio BR'S rILE 'ORM4TS BAts a~".; SDfo, BAts D.vl,. 0, v.r Ii ••• Thl IRtS 11.0 Tabl. iftte;'actTna €hl •••• Mbl~ Lln'Yaae ;u~o'li" ,. c.nl;il Conlldl, •• Ionl and H'"'. R~~tl"i. U~ulabl' ,~ UiTno 05/8 A'I •• bl~ ~a~~u ••• ~ufti~'Oft. Pa,' S U',.I •••• milv LanDuaae 'un,tlo" £ic,.ef. en~P!LE~tl~E OIAONOS'ICS RIJNT t ME ~ I AGNOST I CS Dill BAste SYMBOL TABL£ eRIS BAstc SYsTEM BuiLD INSTRUCTIONS OPTiMI!iQG SVSTEH PERrOR"ANC~ LAqa/E ,jNCTYONS 'OA BASIC t"t'o~uotTon ~.n.~il' D'lo'IDtl~n p'ID.~I"a BAS C '0' LAS8/E,'u"ot';n. 0" p'o',a"" 08,1""To" of LABS/E SUDOl" 'Y"liTonl S,,.afl Cltt ~a the Al, w"h OS/8 IASle LAB8/f 'U"ctlin SYmm.,~ CWi."R SIX 'ORT~'N II iNtRODuctIoN c~a,.etl' S., ;ORTAAN Cen'tint, r~€.a.' CO".t.~~. ".it' Cenl,ant. H~rle'Jt~ ~O"I~'"" ;ORTR1N Va,l,bl.1 I;.tlal; Va;1a,T.' R.il vi';'.ill. S.ifa, va,labl,' A;;av VarT,br'i Suilc,TDtT"CI tit"'I •• 10;;. 'n~;RAN ~TATfM[Nts Llne ~o"tTnuat'on comml~tl D.Illn,'o, ARt'WMEttC stATEMENTS INPU'/outpUT STA'EMENTS oata t,-n,mll,lo" Stl.lm i ",. AIAD statem,nt WRIT[ St.t.",.~t o•• Tan,tlonl Nu ... ~lo 'l.,dl D.~lo. ;ORM,. Stet.mlnt I"" , . ,. Nu~.'lc .", Inlut cony,r.l,n Ai'eh,numl,lo ,Tlld' H~rllrTt~ eonvlr'Ion ".,cli MTv'd tTII',.- S'fink 0; SlclD R.i.,ltlon rl,Tdl R,i.tItle" 0' GrOYII MuftlDr, R,o~pd 'o,ma'i e"~t~oL STATeMEN'S CiO TO St.t'''''''i u";OrtdTt'o~ar COtRDuted GO '0 GO TO J.' S,!'I"',nt DO Stlt'.I"t CONTi~UE Sta'iml"' PAUSE, STO~. ,nd END St, •• PA:JSr: Stai.ml"' ",,"t, stoP si.t.",,", EN~ statemlnt liv.c"tclTION STATEMENTS COMMO" Stat'mint b!M[N~ION sta\.m.~t EoUtv'~[NC[ S'atlm.", '~~~ROGR'M StATEMENTS 'U"ItT'" SubD;oaraml subroutTni SubDrOI,aml CA~L St.t,,,,,", "t'URN st,\,,,,.;'t runetTon e.'Ii ~'br~;v SybD,~ar'M' ,ro.t'"a.P~ln~ A"'~m.tlG DrVIC£ i~O[P[NOENT 1/0 AND CHAINING T~I iePEN SUbtoutlnl ,~, OOP[N S~~,outl". t~. o!~osi lu~poutln. '~I C~AtN SUbpoutln, .,~. tWIT lubriut'". e~~'APEt/O ~oUTINES eRia rORTAAN llaNARY SUBROUTINES MlvJNG SlBR iNO 'ORT~AN STATEMENTS "'E or 1 'DRTRAN PROGRAM OP!RATINS tNst-U~TIONS LeadT;'G '~d Qi'~"Inll 't.t COlillft; IK rO-TRAN [,ro" CO~DTli; t;ror M ••••••• Osi8 rORTRAN Llbr.,~ £,ror M••• a ••• LeadT~a t~1 IIBA o~I'.~l"a ih. SABR ' •• Imbl'" Haf!hod 1 A".Mb,., M.~"od 2 M.'hod 3 T~' L'~k'"a Liad.; Loidl"_ thi l'~klnl Load,r LoidTni thl R.Toca'abl. loadl' IM'Cu~'"a t~. rOR'RAN p,ol,a. ,. DrMoNSTR1TteN PRCG~A" StAT[MENt AND rO_MAT SPEQIYICATJONS S,'RAG£ A~LOC'TION A'Dr ••• "titl~~ ~f C'"ltan" a"d V;~Tabf" t"tIQ'~. Rei' Numb.,. stor ••• 01 Ar;a~. A~D',~.,,'j.tlo~ of .. N.Ollft,n"enal ';;IYI ~em~o~ S'e~aa. IM~LfM£NtATION AI"loca"," NOTES t"'DITld DO ~O'D' ;ORM" Wa;,dll"a SOloTil lie O.yTe •• CWAPT~R SEV!~ ;ORTRAN IV " IV~TeM oV£Rvi£w 90,.,,101 P~Qa~a"" AALr ',s'~bl~ LanDyagl Loadep" Run-tTrne Iy.,.m S~lt.'" L.'Ibra,v J"Dut/Outiu t '1 f •• Twr. rO~T_A~ !V COMPILER Twr RALr ASSEMBL!R Twr L.OAO~R RlJ~~TIM[ svst£~ rn~tRAN LIBRARY rnqtRAN ~ANGU'GE tv tv SUMMARV AAL' ASS!MBLV LANGUAG£ SUMMARY ,,;(R TA'[ lOAOING INSTRUCTIONS tn~pILER EPROR M!SSACES '~S[MBL[. ERROR MESSAGES LnAO!R [_RCR MESSAGES RG~;TIM[ SystEM tRAOR MESSAGES AP;rNbJers • CWAR,cTt' ceDES ,. R L~iotNG .RocrDu~tS ~ "~MANENt SYMBOL TABLE n 01/1 DEM~NSTAAT10N NUN r en~MANO ~U~H'A!EI r E_qOR M[~SAG! SU~M'AIES IN5[x •• mamaama 080-100-036-00 INTEROFFICE TO: OS/8 V3 List MEMORANDUM DATE: November 7, 1973 FROM: S. Rabinowitz SUBJ: POSITIONER PROGRAM DEPT: Small Systems Softw. Eng. EXT: 2130 LOC: 12-3 (CAMP) . The program, CAMP (Cassette and Magtape Positioner), is used to position cassettes, magtapes, and certain other devices. It can be run from the OS/8 system device by the command .R CAMP and it responds with a number sign (I) to indicate that it is ready to accept a command. At this' point, you enter your command terminated by either a carriage-return or an a1tmode (escape). You have all the usual OS/8 editing capabilities (LF, Rubout, tU). The command is then executed and control returns to CAMP which then prints another # to accept another command (unless the previous command line ended with an altmode,.in which case control now returns to the OS/8 keyboard monitor). Command lines begin with a keyword. This consists of a sequence· of two or more letters or digits, of which only the first two characters are significant. The permissible keywords are: BACKSPACE EoF HELP REWIND SKIP UNLOAD -VERSION Some of the keywords take arguments in which case the keyword is followed by one or more spaces and then the arguments. These are described below. Whenever a device (dev:) is mentioned, we refer to a legal OS/8 device handler. This handler must be configured into your system. You cannot, for example, position magtapes unless you have a magtape handler. In the case of cassettes and magtapes, the handlers are used to perform the positioning. Thus, the V2 cassette handler is unacceptable and will produce unexpected results if used with CAMP. Similarly, usercoded handlers for these devices will only work if their calling conventions concerning the device-dependent bits in the function word agree with the standards established by the DEC Vl handlers. 080-100-036-00 -2- November 7, 1973 Commands BACKSPACE dev: nnnn ,rRECORDSl l,:ILES J dev: may be either a cassette hand~er or a magtape handler nnnn is an unsigned decimal number representing the number of records (or files) to backspace. It may be optionally preceded and followed by spaces. If omitted, nnnn=l is assumed. This number is followed by a keyword beginning with either an R or an F. If omitted, F is assumed. R Backspace the number of records specified. If nnnn=O, nnnn=l is aSJumed. If a file mark is read before the proper number of records have been backspaced over, the warning message , CAN'T - AT BOF is typed and the program then does a forward record to leave the device positioned at the beginning of the file (just before a data record). F Backspace the number of files specified. This does not count the current file. That is, the command to backspace 3 files skips backwards over 4 file marks and then skips forward 1 record to get over the file mark and leave you positioned at the beginning of a file. This command always leaves you at the beginning of a file (just before a data record). If nnnn=O, this command backspaces to the beginning of the current file. EOF dev: dev: . may be either a cassette or a magtape. This command writes a single file mark (file gap). HELP This command types a short help-frame'on the Teletype which reminds the user of the syntax of CAMP commands. REWIND dev: If de,,: is either a cassette, magtape, TCOS DECtape or LINCtape, then this command issues a rewind command to the appropriate controller and then returns to CAMP while the device rewinds. 080-100-036-00 -3- November 7, 1973 If dev: is any other OS/8 file-structured handler, the program uses it to read block 0 of the device. UNLOAD (leV: If dev: is a magtape, this command issues a 'rewind and turn off-line' command to the magtape controller and then returns to CAMP while the magtape rewinds. To re-use, the magtape controller must be manually put back on-line. If dev: is a TCOS or TDSE DECtape or LINCtape, this command issues a rewind command to the appropri~te controller and then selects a different unit. Control returns to CAMP while the tape unloads off its reel. This drive then becomes unusable until either an I/O PRESET pulse is generated or some other legal command is issued to the controller. VERSION SKIP dev: This command types CAMP's version number on the Teletype. nnnn . { EOD - [:::J} dev: may be either a cassette or magtape. nnnn is an unsigned decimal number representing the number of files (or records) to skip over. It may be '~~y preceded and followed by spaces. If neither nnn or EOD is specified, nnnn=l is assumed. EOD (or any keyword beginning with E) may replace the nnnn. If nnnn is specified, it may be followed by a keyword beginning with either an R or-an F. If omitted, F is assumed. . R Skip (advance) over the number of records specified. If nnnn=O, nnnn=l is assumed. If a file mark is read before the proper number of records have been skipped, the warning message. , CAN'T - AT EOF is typed and the program then does a backspace record to leave the device positioned at the and of the file (just after the last data record but before the file mark). This command is not implemented for cassettes. F Skip the number of files specified. This includes the current file. Thus nnnn=l means skip to the start of the next file. If nnnn>O, this command leaves yo~ at the beginning of a file (just after a file mark but . before any data records). If nnnn=O, this command ad- vances to the end of the current t11e(before a file 080-100-036-00 -4- November 7, 1973 mark but after all data records). If the tape is not initially at EOD and if EOD is encountered before the specified number of files have been skipped, then the warning message, , CAN'T - AT EOD is typed and the tape is then positioned at EOD. In the case of magtape, EOD is a poin~between two file marks. In the case of ca.settes, ·EOD is a point in the middle of a double size-file gap. If a device is at or past EOD, this command produces meaningless results. EOD Advance to EOD. If the device is already past EOD, it must first be rewound before thia command is issued. Remarks: 1. If dev: is not followed by any arguments, then the colon is optional. 2. tc may be typed at any time to return to the OS/8 keyboard monitor. 3. to may be typed to surpress teletype output until the next t. 4. nnnn must be in the range 0 - 4095. Examples: REWIND MAO: REWIND MTA4 UNLOAD FOO: EOF CSA3: SKIP MTAO:2 RECORDS SK CSA7: 6 F BACKSPACE MTA2 BAK MTA4: 17 RECS SKP MTAl:E If CCL is enabled, any CAMP command (other than 'HELP and VERSION)· may be issued at monitor level and CAMP will be chained to with the typed command terminated by an altmode. -5- 080-100-036-00 November 7, 1973 Error messages: ? SYNTAX ERROR ? NUMBER TOO BIG /nnnn>4095 ? CAN'T - DEVICE DOESN'T EXIST ? CAN'T FOR THIS DEVICE Operation doesn't make sense. for device specified, e.g., SKIP LTA2:3 or REWIND LPT: ? CAN'T I/O ERROR This is followed by a brief explanation of the error. ? CAN'T - DEVICE IS READ-ONLY ? CAN'T - DEVICE IS WRITE-ONLY , OPERATION NOT YET IMPLEMENTED ? CAN'T - AT BOT , CAN'T - AT EOF , CAN'T - AT BOF , CAN'T - AT EOD 080-100-037-00 INTEROFFICE TO: OS/8 V3 List DATE: November 14, 1973 FROM: s. Rabinowitz DEPT: Small Systems Softw. Eng. EXT SUBJ: MEMORANDUM . 2130 LOC: 12-3 Changes to Command Decoder This memo documents the principal changes made to the V3 command decoder. 1. Lots of bugs were fixed. These had mostly to do with syntax checking; for example A:B:C now gives an error. ·'s are now handled correctly in special mode. The altmode bit is not affected by a IS-bit equals option. And so on. 2. Added support of "?" in special mode. 3. Allowed special mode to work under BATCH. 4. Removed DCC code. 5. 'U, runbout past begin of line, and LF now all reprint "." on the next line. 6. A version # was added which resides in location' (currently = 3). This number is not readily available to the user. 7. Output device handlers are not automatically loaded. fp 0~0-100-038-00 INTEROFFICE TO: SUBJ: OS/8 V3 List MEMORANDUM DATE: November 14, 1973 FROM: s. Rabinowitz DEPT: Small Systems Softw. Eng. EXT : 2130 LOC: 12-3 Changes to ODT 1. All DCC code has been removed. 2. The core size routine has been replaced by the more trustworthy 05/8 standard core size routine. 3. Support for software settable core size has been included. 4. An internal version number has been added at source or1g1n l2~~. This number is not 'readily available to the user. It is currently 3. 5. During a breakpoint, if the breakpoint location is modified, this modified value will not be used after a "GO" command. fp 080-100-039-00 INTEROFFICE '1'0: SUBJ: OS/8 V3 List MEMORANDUM DATE: November 8, FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EXT 2130 . LOC: 1973 12-) Core Size Routines under V) All OS/8 V3 cusps must use the standard core size determining routine which is given in the old PS/8 Software Support Manual. Furthermore, before calling this routine, they must examine bits 6-8 of location _7777. If this field is non-zero, then its contents give the field number of the highest core bank available to OS/8. This location may be set by a user if he wishes to protect high core from OS/8. £p -mamaama ). '. J 080-100-0.0-00 · 1 INTERQFFbCE DATE: November 16,' 1973 PROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. BXT : '2130 OS/8 V3 List '1'01 SUBJ, MefV10~ANDUM LOC: 12-3 OS/8 RUNOFF Shawn Spilman has written us a RUNOFF program si~ilar to the PDP-1.'s. THIS MEMO DESCRIBES THE PRELIMINARY VERSION OF OS/8 RUNOFF AND INDICATES WHAT PROGRESS HAS BEEN MADE IN ADAPTING PDP-II RUNOFF TO EXECUTE UNDER OS/8. IT ALSO LISTS THE DIFFERENCES' BETwEEN THE TWO VERSIONS OF RUNOFF, MOST OF WHICH SHOULD DISAPPEAR OVER" THE N~XT FEW MONTHS, AND OESCRIBtS A FEW ADDITIO~AL FtATURES T~AT ARE AVAILABLE WITH THE 08/8 VERSION. 05/8 RUNOFF IS CALLED FROM THE KEYBOARD MONITOR BY TYPING: R RUNOFF (IN RESPONSE TO THE DOT GENERATED BY"THE KEYBOARD MONITOR). RUNOfF THEN LOADS THE OS/8 COMMAND DECODER TO ACCEPT ONE FILEIOPTION COMMAND THAT bESIGNATES ON~ INPUT flLt ANP ONE OUTPUT FILE, T"E INPUT "FI~E IS ASSUMED TO 8E AN Altll FILE IN RUNOFf INPUT FORMAT, THE OE'AULT EXTENSION fOR INPUT FILES' IS ".RO". THERE IS NO DEfAULT INPUT FILE NAME. THE OUTPUT fILE WILL 8E A FORMATTED ASCII fILE THAT MAY BE RDUTED TO AHY SUPPORTED DEVICE. THE DEFAULT OUTPUT DEVICE IS LPTI. THERE IS NO DEFAULT OUTPUT FILE EXTENSION, A RUNO'F COMMAND LINE BEGINS WITH A DOT AT THE LEFT MARGIN. THE DOT IS FOllOWED 8Y ONE OF tHE COMMANDS LIStED IN TABLE t, DELIMITED 8Y ONE OR MDRE SPACES, AND ANY NUMBER OF ARGUMENTS MAY fOLLOW THE COMMAND, ARGUMENTS ARE DECIMAL NUMBERS (MODULO .19.) SEPARATED BY COMMAS AND OPTln~AL SPACES. A CARRIAGE RETURN TERMINATES THE COMMAND LINE. TABLE II COMMAND OS/8 (PRELIMINARY) RUNOFF COMMANDS FUNCTION 8REAK TERMINATES THE CURRENT LINE WITHOUT JUSTIFICATION" AND RESUMES PAOCESSING AT THE 8EGINNING OF THE NEXT LI~E. BLANK N EXECUTES A BREAK AND INSERTS N BLANK LINES, THEN RESUMES PROCESSING AT THE BEGINNING OF THE HE.T LINE. DtFAUlT N8 1. SKIP N EXECUTES A 8REAK AND INSERTS • TIMES N 8LANK lINES, THEN RESUMES PROCESSING AT THE BEGINNING OF THE NEXT LINE. DEFAULT H8 t, , 080-100-040-00 . -2- November 16, 1973 PARAGRAPH N EXECUTES A ILANM AND SPACES. DE'AULT ~.5. IHDEHT N EXECUTES A BREAK A~D INDENTS THE NEXT LINE N SPACES. MOST OFTEN USED IN TABULAR MObE ~ITH N A NEGATIYE HUMBER, NO DEfAULT N. SPACING N, 'SETS LINE SPACING TO N (WHERE Nat IMPLIES SINGLE SPACING, Nai IMPLIES DOUBLE, ETC.'. DEFAULT N a ORIGINAL SETTING a t. LEFT "A"G'IN 'N tETa . LEFT H4RG,N TO N. IF N IS NEGATIY~, Nae IS USED. T~E ORI~IN~L SETTING IS 10. THERE IS NO DEFAULT N. R~GHT MARGIN N INDENTS THE NEXT LINE N ,SETS RIGHT MARGIN TO N. IF N IS TOO LARGE, Nal~0 IS USED, THt ORIGINAL SETTING IS 70, THERE IS NO . DEFAULT N. PAGE N EXECUTES A BREAK, OUTPUTS A FORM FEEO, PRINTS'THE CURRENT HEADING, AND RESUMES PROCESSING. IF H IS SPECIfIED, THE CURRENT PAGE NUMBER IS SET TO H. THERE IS NO DEFAULT N. CENTER N EXECUTES A 8REAK AND CENTERS THE NEXT N LINES BETWEEN THE CURRENT MARGINS. OTHER CENTERING OPTIONS WILL 8E IMPLEMENTED LATER. If N IS NOT SPECIFIED, 'Hat IS ASSUMED. CEHTRE SA"E AS CENTER, INCLUDED FOR THE BENE'IT OF OUR FRIENOS ACROSS THE WATE~. TAB STOPS N"Ni... S£lS THE TA8 STOPS TO Nt, NZ, ETC. UP TO A "AXIMUM OF 1 TAB STOPS. IF NO ARGUMENTS ARE SPECIFIED, ~O TAB STOPS ARE SET, FILL ' ENABLES FILL MODE. THIS CAUSES EACH LINE TO BE 'ILLED WITH AS MANY WORDS AS WILL 'IT BET~EEN THE CURRENT MARGINS. JUSTIFY ENABLES JUSTIfY MODE. THIS CAUSES EVERY LINE NOT PRECEEDING A BREAK COMMAND TO BE RIGHT JUSTIFIED, NOFILL DISABLED FILL MODE. EVERY LINE W1LL BE TERMINATED BY AN I~PUT CARRIAGE RETURN AND JUSTIFIED IN· THE USUAL MANNER. NOJUSTIfY DISABLES JUSTIFY MODE, EVERY LINE WILL BE FILLED IN THE USUAL "A~NER, BUT A RAGGED RIGHT MARGIN WILL BE USED. ~UM8ER N ENABLES PAGE NUMBERING BEGINNING WITH PAGE N AS THE CURRENT PAGE. If N IS ~OT SPEClfl&O, 'AGE NUM8£AI CONTINUE IN SEQUENCE (SEE BELOW). 080-100-040-00 '-3- November 16, 1973 . DISABLES PAlE NUMBERING. fACH 'AGE ADVANCE CONTINUES TO INCREMENT THE INTERNAL PAGE COUNTER, SO THAT NUMBERING MAY BE RESUMED LATER. PAPER.IZE N,M SETS THE PAPER WiDTH TO N CHARACTE~S AND THE PAPER LENGTH TO M LINES, THESE PARAMETERS WILL 1£ USED TO IMPLEMENT OPTION~L CENTERING FU~CTIONSLATfR. TITLE fTEXT) LO~DS THE REMAINDER OF THE COMMAND LINE INTO THE TITLE BUFfER 'OR USE IN PRINTING HEADINGS. I' THE fITL! 8U'FER IS EMPTY, ONLY A PAGE HUMBER IS PRINTED (AS ON PAGE 1 Of THIS DEMO). THE FOLLOWING POP-10 COMMANOS ARE NOT IMPLEMENTED UNDEAOS/8 RUNO~F AT THIS TIMEt fJGURE TEST PAGE SUBTITLE FOOTNOTE INDEX P~INT INDEX THE FIRST TwO WILL ~E IMPLEMENTED SHORTLY. THE REMAININO FOUR COMMANDS ARE NOT VERY USEFUL IN PRACTICE, I HAVE LEFT ROOM FOR THE NECESSARY CODE BUT I DO NOT PLAN TO IMPLEMENT THESE COMMANDS UNTIL MUCH LATER, THE PRESENT VERSIUN OF OS/8 RUNOfF PROCESSES THE FULL ASCII SET eUT ODES NOT EXECUTE CASE CONVERSION. THE CASE CONYERSION .ROUTINES HAVE 8EENWAtTTEN AND wILL 8E ADDED AS SOON AS A LOWER-CASE OUTPUT DEVICE IS AVAILA8LE FOR DE8UGGING, COlE ECONOMY WAS AN IMPORTA~T FACTOR IN T~IS PROJECT TO DATE. THE PRESENT VERSION OF RUNOF' OCCUPIES LESS THAN iK IN FIELD I, INCLUDING ERROR HANDLERS, THE REMAINDER OF FIELD 1 IS AVAILABLE FOR EXPANSION, INCLUDING PLENTY OF SPACE O~ PAGE ZERO. ALL Of FIELD I IS USED FOR DEVICE "ANDLERS AND BuFFERS. fp mamao!a 080-100-041-00 INTEROFFICE OS/8 V3 List TO: SOBJ: MEMORANDUM DATE: November 27, 1973 PROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EXT : 2130 LOC: 12-3 Preliminary Work on BUILD A preliminary version of BUILD will shortly go on the in-house distribution tape in order to support the new monitor. (The old" BUILD had a bug and will no longer run under V3). Here are the things I've currently done to BUILD: 1. Added VE version number command 2. Fixed problem with Z's and 9's 3. Fixed length of DF32 4. Fixed RK8 bootstrap problem S. On LOAD, null extension first searches for .BN 6. CR to $ gives no errors 7. Fixed bug with building ROM sys 8. Rubouts to BOL give $ as will as tu and LF 9. LOAD assumes default device is DSK: 10". No dots are printed if no extension 11. Revamped to stuff 12. Allowed parity tc 13: Added EXAMINE command 14. Fixed bug reaccessing OSR tables incorrectly 15. 'OVERFLOW' error message changed to 'BAD ORIGIN' 16. Fixed several bugs involving parsing of names 17. Increased number of allowable entry PTS per handler to 16 18. Names in PRINT now line up . 19. Cleaned up code concerning move routine, number checker, and symbol print 20. Allow multiple inserts, deletes, replaces per line 21. Allow specifying number of platters on an insert 22. Added general support of 2-page system handlers 23. UNLOAD command automatically deletes any active handlers 24. Added DSK command 25. Added DeB command 26. Added QL (quick list) command 27. Use extra core if available mamIlla TOI 080-100-042-00 INTEROFFICE OS/8 V3 List SUBJI Remarks MEMORANDUM DATB: November 27, 1973 PROM: S. Rabinowitz DBPT: Small Systems Softw. Eng. BXT I 2130 LOC: 12-3 on Version Numbers All users who wish to. report bugs must do so on the proper form. They must include the following information: a) b) c) Type of machine they're running on (PDP-8/L, PDP-12, etc.) Amount of core Version number of monitor, program under question and all related programs. Also what patches has user installed. T.o. answer (c), he must know how to find version number of all cusps. Here is how for some of them: RBM CCL FOTP DIRECT EDIT PIP TECO PAL 8 . CREF SRCCOM BITMAP EPIC ABSLDR ODT CD CAMP BUILD CCL overlay PIP10 RUNOFF SABR FORT RALF BASIC RESORC Type • VER to KBM Type • VER to RBM Type /W to FOTP' s CD ? Type • to EDIT Type IV initially to PIP's CD Type tV= to TECO Look on heading of listing Look at end of listing Look at top of output Look at top of output ? Internal only Internal only Internal only Type VE to CAMP Type VE to BUILD comes out on error message if you use wrong version of CCL ? ? ? ? ? ? Type /V to RESORC's CD mamaala 080,-100-044-00 INTEROFFICE OS/8 V3 List TOI SUBJI MEMORANDUM DATE. November 27, 1973 PROM:, S. DBPT: Small S,yatems Softw. Eng. EX'!': 2130 Rabinowitz LOC: 12-3 PALS Additions Richie has optimized PALS VS and added the following features: 1. 2. 3. 4. s. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. /W means don't remember literals when origining off a page. /J means don't list lines containing code co~ditionalized out. RELOC command now in (ask R.L. for details). S/E mnemonics in DF32, TCOS mnemonics out Heading is larger Origin back to begin of page bug fixed cleanly forward - stuff works now "XLIST" never lists End-of-file treated as W$W Form feed at end bug fixed to and tc now work on ERRORS DETECTED message, Above message is no longer an overlay 'I and FIXMRI interaction better FIXMRI syntax errors now caught Fixed bug re PALSBN.TM a block ahort 080-100-045-00 mamaama INTEROFFICE MEMORANDUM OS/8 V3 List TO : SUBJa DAft : November 27, 1973 PROM: S. Rabinowitz DBPT: Small Systems Softw. Eng. BXT : 2130 LOC: 12-3 08/8 BATCH Remarks: a) b) c) d) e) BATCH now accepts input files from handlers coresident with SYS. Long dialog mode has gone away completely. May it rest in peace. /N need not be specified if no lineprinter is physically present. BATCH uses software core size. A single $ all alone on a line is now ignored~· This is used to terminate a BAT: stream. mamaama 'lOa SUBJ. 080-100-046-00 INTEROFFICE Jack O'Connor OS/8 V3 List MEMORANDUM DA'J.'B : November 21, 1973 PROM: Mark Rosenthal DBPT: Small Systems Softw. Eng. EXT : 3372 LOC: 12-3 Mark Sense Batch Mark sense batch will translate mark sense cards and chain to BATCH passing the pre-processed job stream. There are two kinds of mark sense cards. Each has 4 distinct fields. The first is column 1. This contains batch control key words. The next field inc,ludes columns 7 and 8 and the top two rowa of cO'lumns 2-6 which contain language keywords (either Fortran or Basic). Rows 0-9 of columns 2-6 contain the line number. Finally columns 9-40 contain the text. There may be only one keyword marked on a card (either batch control or language). If a language keyword is marked, the line number may also be marked. If neither a keyword nor line number is marked, column 9 appears at the beginning of the line. If an error is made in marking either the line number or text, mark rows 7, 8, and 9 of the erroneous cc;>lumn and it will be ignored. All spaces on the card are kept except trailing spaces. A column in the text field with rows 8 and 9 marked is a continuation column. All columns on the current card past a continuation column are ignored. The line continues on the next card. The batch control cards are: $BAS $DATA $DECK $END $EOD $FOR $JOB $ LOAD $MSG $JOB , $END , $MSG are standard control cards for the program BATCH. In the following, the symbol wnw will represent an 09-8 file name in standard form: DEV:NAME.EX 080-100-046-00 -2- November 21, 1973 ldlere DEV: and .EX are optional. If the card can 8pecify options, the option name i8 preceded by a "I". If more than one file name is specified, the names are separated by a ",". In 80me cases, an option will specify an associated file name. If it does, the option name precedes the file name and is separated from it by a "_". If the card i8 followed by an input stream, this is terminated by the next batch control card. $DECK n This card copies the cards which follow it into an OS-8 file with the name wnw. It also lists the cards. Options: IBAS - the cards which follow are Basic cards (default) the cards which follow are Fortran cards IFOR /HOLIST do not list the cards $BAS .(n) This card prepares the cards which follow for execution as a Basic program. A name is optional and if specified, input comes from that OS8 file rather than cards. $BAS also lists the program. The program is executed when $DATA is encountered. Options: /NOLIST - Do not list the Basic program. following $BAS $DATA This card executes the Basic program which was prepared by the $BAS card. Data cards, if any, follow this card. FORTRAN IV $FOR n This card will compile a FORTRAN program from the cards which follow, and produce a relocatable binary file with the name wnw. The program is listed. Options: If specified, input comes fram the OS-8 file Ws" rather than cards. /HOLIST Do not list the program. /LIST-l Send the listing to OS-8 file Wl". 080-l00~046-00 . -3- November 21, 1973 $ LOAD This card loads the relocatible modules n l , n 2 , ••• generated by PORTRAN and prepares them for execution: wi1!h $DATA. If a name is preceded by "L-" a new level is opened. If it is preceded by "0-" a new overlay is opened. For further information see OS-8 FORTRAN IV Users Manual - Chapter 4. Options: lIMAGE-i - the loader image file produced will be named "i". ILIST(-l) - the loader map will be listed, or put into ·fi1e "1" if .specified. - use file "lin as the library of system subroutines. ILIB-li $DATA following a $LOAD Run the program just loaded. Data follows this card. The $DATA card may contain file specifications as follows: Bach file specification is preceded by a "I". The first character is a digit from 0-9 specifying a FORTRAN logical unit number. This may be followed by a C to reverse normal carriage control processing. See OS-8 FORTRAN XV User's Manual - Chapter 5. It also may be followed by a N to indicate that the file does not al~eady exist. The next character must be "_We Finally there is either an OS-8 filename or a digit from 0-9 which is a FORTRAN logical unit number. The name or number is assigned to the first number for the duration of program execution. E.g. , $DATA 15-FILE.FI/6C-3 ~. The program will access the OS-8 file "FILE.FI" through unit number 5. The program will access the line printer without carriage control through unit 6. It is normally accessed through unit 3. If $DATA follows a $POR card, it also does a $LOAD, and And Any of the fLOAD optionl .~. legAl, 080-100-046-00 -4- November 21, 1973 FORTRAN I I The $POR, $LOAD, $DATA cards are identical to those fOr FORTRAN IV with the followinq exceptions. $FOR oPtion: /MAP Produce a map of the proqram on the listinq device. $ LOAD There are no overlays or levels. $DATA - there is no assiqnment of loqical units $EOD - End of data mamaama TO: SUBJ: 080-100-047-00 INTEROFFICE. MEMORANDUM OS/8 V3 List DATE: December 3, 1973 PROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EXT I 2130 Lee: 12-3 What you've always wanted to know about the new BUILD but were afraid to ask BUILa can run under OS/8 or standalone. It is run standalone when building an OS/8 system from acratch (i.e., from paper tapes or cassettes). BUILD contains OS/8 handlers (both system handlers and non-system handlers) which the user might wish to include in his new OS/8 system. Each such handler has a unique group name and has one or more permanent device names. The.e-permanent device namas correspond to entry points in the handler. Some handlers (such as the TH8E magtape handler) have multiple entry points (such as MTAI, MTA1, ••• MTA7) corresponding to different physical units on one controller. Such entry point name. are said to be coreaident with each other. If two coresident handlers are configured into a given system, then whenever one is loaded into core, the other is automatically brought into core at the aame time. When BUILD ia ready to accept a command, it types a dollar sign ($). At this point, you have the usual OS/8 editing capabilities, i.e., rubout, CTRL/U, and line feed, until the input line .is terminated by typing either carriage r~turn or a1tmode. BUILD Commands Only the first two characters in the keyword of a BUILD command are significant. $PRINT This command printa out on the Teletype the list of all the handlers currently in BUILD which are available for possible insertion into the user's system. OSO-100-047-00 -2- _December 3, 1973 Example of PRINT output: RF_S: -USE: ItLSE: PT8E:LPSV: SYS ·*SYS *T'l'Y PTR LPT *PTP This shows 5 groups of handlers. The group names are shown first in each line followed by a colon. Pollowing each are the list of permanent names (entry points) available with each group. If one of the permanent names in a group is ·SYS", then. this handler i8 a system handler. This means, that it will always be resident in page _76__ of any system it is configured into. All systems must contain precisely one system handler. handlers have other handlers coresident with them. Some system Starred permanent names indicate those _hich are currently active, i.e., are chosen to be inserted in the user's new system. The example shows that the user has cbosen the entry point RX8E:SYS to be his system device. This is the RltSE system handler. The handler Rlt8E:RltB_ is alao marked as being active. It is coresident with his proposed new system device. Hote that .e refer to a permanent name together with its group name because there may be 2 or more groups which happen to have the aame entry point name. Por example, the groups LPSV (The LP.8/LS8Z/LV8E lin. printer handler) and L645 (The annalex line printer handler) both have entry points with the name LPT. Bowever, when there is no confusion, we may only refer to the entry ~tl!e~~~the~~rIie~~~ts- ~ith .t~e same name.. sh9uld never be made Handler entry points can be made active by the INSERT command, they can be deactivated by the DELETE COllIDed. See below. After typing the list of available handlers, the PRINT command might also type out some additional infor.mation. If the user has specified his DSR device with the DSIt command, it will be printed, example: DSIt .. Rlt8E:RKB, If the user haa specified a core restriction for his new system with the CORE command, it will be printed, example: CORE • 2 080-100-047-00 -3- December 3, 1973 This example ahows that the user requests field 2 to be the highest core field available to the OS/S aystem. The output from PRINT can be aborted at any time by typing CTRL/O on the keyboard. $QLIST QLIST stands for Quick List. It is the same aa the PRINT command except that only active permanent names are typed. No * is shown and group names are not printed except in the case of the system device. Example: PTR DTA3 RK,S:SYS LPT2 DTA4 $ INSERT This command allows you to make particular entry points·active. No error results if it is already active. Althouqh there is a limit to the number of de~ices which may be active in a given system, you may go over this limit temporarily as long as you deactivate handlers later so that you are under the limit by the type you type the BOOT command. Basic form: INSERT groupname:permanentname Examples: INSERT KLSE:T'1'Y INSERT 'l'C.S:SYS For compatibility with earlier versions of BUILD, a comma ·is acceptable instead of the colon. Other forms: If no permanent name ia specified (and no :), then the first permanent. name in the group is assumed. Example: INSERT LPSV Several handler names all belonging to the same group can be inserted at the same time by ••parating their names by commas. Example: INSERT TC:DTA" DTA3, DTA7 080-100-047-00 -4- December 3, 1973 Several permanent name. which are all 4-characters long and which differ only in the last character, can be aimu1taneously inserted with the hyphen construction provided the last characters from a sequence of consecutive ASCII characters. Example: INSERT TC:DTA2-s is equivalent to INSERT TC:DTA2, DTA3, DTA4, DTAs and INSERT BE,s: DSKA-C is equivalent to INSERT RKOs:DSKA, DSD, DSltC If the permanent name .pecified ia not part of the qroupname specified, or if the groupname doe an • t exist, the error mes.saqe name NOT POUND will be printed. Any permanent name being inserted can be followed by a construction of the form' - n where n is an octal number between 1 and 7. This represents the number of platters of that device which are available (only applies to certain disks). If no such option is specified, -1 is assumed. Example: INSERT RI':RP-2 inserts a non-system RP_a handler into a system which has a 2-platter RF,a disk. The maximum number of platters available to various devices is given below: Device RlCS RKSE RF,S DF32 -rC.S TDSE LINCtape Maximum number of Platters 1 1 4 4 1 1 1 980-100-047-00 -5- December 3, 1973 If more platter. are requested than i. possible, the error message ?PLAT is printed. $SYS The SYS command is identical to the INSERT command except it is used only to insert handlers which are either system handlers or coresident with system handlers. If another type of handler is 80 inserted, the warni~g message: ?SYS is typed and no further handlers in that command line will be inserted. Thus, the commands SYS RKa and INSERT are equivalent. R1C8:SYS Similarly, the commands SYS IF_a-3 and INSERT ar_a:SYS-3 are equivalent. The SYS command i8 included only for compatibility with earlier versions of BUILD. $DELETE or $DEACTIVATE The DELETE command is used to deactivate handlers that are already active, Basic Form: DELETE activename Example: DELETE ·LPT December 3, 1973 080-100~047·00 . s· . . . Tlie name mu.t· already be active, otherwi.e the error message n. . _ 'PQUjD ....:. will be printed.' MOre than ODe permanent active name can be deleted atone time by .eparating thea bf commas, and/or by specifying a range via the hyphen conatruction. Example: DELftE ftY, LP'1' , rftA3-5, PTP $REPLACB This command combine. the capabilities of the DELETE and INSERT commands into one coimDand. It iafollowe4 bf a legal argument to the DELETE command followed by an equal .ign followed by a legal argument to the INSERT command. EKample: i . equivalent to the two command. DELftB LP'1' INSERT L6451LP'1'2 ·Another example: BEPWCB LTA3-5, Li.rA7-TCID'l'A3-S, D'l'A7 $DSK The DSK command 1s used to specify which handler i8 to be used as 'DSK'. It has two forma: DSK • groupname:permanentname DSK - activename _.t In the ••cond ~.e, the name ,ivan be an active permanent name, and the group name of this .n~ry point i. then determined. qroupname and perma..nt· name are then .aved for future reference by the BOOT command. The permanent name .pecified in the DSK command need not be around now, aalong a. it exist. by the time the BOOT command is giveb. The c""'nd ~he 080-100-047-00 or -7- December 3, 1973 OSK causes BUILD to ~orqet about any name for OBK. no DSK was .pecified, then DSK-SYS is assumed. When a BOOT occurs, if $LOAD The LOAD command 1. used to load a new handler into BUILD. This can be one 8upplJ.e4 by DEC or one written by the user. Consult the software sappolt manual for how to write a device handler for 06/8 and how to put it in BUILD format. This handler is input into BUILD aa a binary file or tmaqe. If BUILD is'being run standalon., then the command is of the form LOAD activenamea Where activenam8 1. a permanent name in BUILD's current tables which has been made Bc!:!"e. It must be a handler for a non-£il"e-structured device. Example: LOAD PT.: Thi. command would caU88 BUILD to load a new handler from a binary paper tape using the PTR handler already in BUILD. If BUILD is ha1ntrun from OS/8, then the command has the form: LOAD aev:f'lename where 4ev i. the n... of.anOS/I device currently configured in the user'a system aa4 b.. no relationship to handlers of the same name in BUILD's tables. If no dey. ia specified, then DSK: is assumed. If dev is non-file-.tructured, then filename may be omitted. The filename has the for.m name ••xtenaion where if no extension is given the dot. may be OIll1L.tted. The filename is looked up on the given device and it i. presumed to be a binary file of the new handler to be loaded. If no extenaion 1. specified, BUILD looks for a file by the same name but with the extension .BN first. Examples: LOAD LOAD LOAD LOAD HR. IYS.PILE DTA3IBANDLR.,3 ,'GT8! 080-100-047-00 -8- ~December 3, 1973 Several fil.. to be l0a4e4 "y be specified on one line by aeparating them by commas. Bach specification muat give a device or else DSX: is aS8umed. 'Bach file contains a separate handler to be loaded. Example: LOAD DTA3 : PILE1, D'l'AS I PILB2 $UNLOAD UNLOAD is uaed to unload handlers or permanent names that are not wanted. This make. IlOre room in BUILD for more badly wanted handler •• '1'0 unload an entire group of handler., type UNLOAD groupnu. Thia unloads the handler and all de.criptora aaaociated with it. Any active permanent names in this group are automatically deactivated. To remove just. particular permanent name from BUILD's tables, type UNLOAD groupname :penaanentname This does not unload the handler, just the entry point name. It free. up apace.in the descriptor table but not in the handler table. Several permanent name. can be removed at once. UNLOAD Bxample: M': D'l'A4, D'l'A6 The hyphen construction oan not be uaed with the UNLOAD command. It i8 more advantageouB to unload an entire group rather than each entry point. $ALTER ALTER is uaed to modify a location within a-handler. General form: ALTER gr~upname, loc-newvalue where loc i. an octal number in the range _-177 for a 1-page handler or in the range '-377 for a 2-page handler. The contents of this relative location in the handler 1. replaced by the new value specified. Example: 080-100-047-00 -9- December 3, 1973 If no - newvalue ,is given, then BUILD fir.t prints the old value of the specified location followed by a alaah. At this point you can type the new value or just carriage return:to not change the value. Example: !ALTER TASA, 144 3266/ 3267 where the underlined 'items are typed by BUILD. $EXAMINE EXAMINE is like ALTBR, but it only leta you examine a location. Form: EXAMINE groupname, loc $DCB This command allows modification of the DCB word associated with a permanent name '(See Software Support Manual for information on DCB word.) The DCB word i. the first word after the permanent name in a description (from the handler header information words). This command works like Al.'1'ER. The ca.umd DCB activename causes BUILD to print the current DCB word for the permanent name specified (which must be active). Then a .lash ia typed and you type the new value followed by a carriage return (or just carriage return o keep old value). Example: $DCB D'l'A4-616, . changes the DCB of DTA4 so that this handler becomes a read-only device. This could also have' been typed aa $DCB DTA4 416,/616, 080-100-047-00 -10- December 3, 1973 $CTL This command i8 exactly like the DCB command except it allows modification of the control word which i8 the word after the DCB word in the handler header block. Bxamp1e: C'l'L LTA3-24 changes the entry point of the LTA3 handler to be relative location 24. $CORE This command has the fo~ CORE n where n is an octal number in the range .-7. This command is used to specify the highest core bank which is to be made available to the OS/8 system being bui1,t. If n is • or omitted, or if this command is not used, the system built will allow all of core to be used. If n 8pecifies more core than i8 physically available (ignoring current software core restrictions), the error me8saqe ?CORE results. Exauple: CORE 3 specifies that the resulting .yst.. should not use more than 24K. $ NAME This command is the aame as in previous versions of BUILD, namely NAME activename-newname which changes the active permanent name to the new name specified. $VERSION This command prints BUILD's .eraion number on the Teletype. $ BOOT This command build8 the new .y.t... 080-100-047-00 -11- De"camber 3, 1973 BUILD error ....ages: name NOT POUND xxxxxx? NO ROOM ?SYS (a) permanent name in SYS command was not a system handler or coresident with one. (b) a BOOT was issued when two .ystem handlers were active or an active handler which must be coresident with a SYS handler didn't have system handler active. ?BAD LOAD The binary handler you attempted to load didn't have the correct format, possibly due to an input error. ?BANDLERS Tried to BOOT when you had more than 15 (decimal) active handlers including SYS and DSK. SYS ERR An I/O error occurred with a system handler. The computer will halt. Hit continue to retry or start allover again from scratch. Do not assume core contains a valid system. BAD ORIGIN I/O ERR ?DSJ( The device specified as DSK is not file-structured. ?CORE (a) The CORE command specified more core than is physically available. 'O80-100~047-00 (b) December 3, 1973 The BOOT command wa. i.8ued with a two page system handler active" but only ex i . currently available to OS/8. Two page system handlers require at least 12K. ?SYNTAX ?BAD INPUT ?BAD ARG -12- 080-100-047-01 INTEROFFICE TO: OS/8 V3 List MEMORANDUM DATE: December 25, 1973 FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EXT: SUBJ: 2130 LOC: 12-3 What you never wanted to know about the new BUILD and never cared to ask Please add the following information to your notes on BUILD: You must always have a system device specified before you type BOOT when reconfiguring. This is true even if you are reconfiguring your current system and not changing devices. You might be changing the system handler (or bootstrap) for this device. If the new device is the same as the current device, then BUILD won't bother to copy the sytem blocks over (but it will copy record 0). Sameness of the two devices is determined '-....... by looking at the devic,es' internal type (in DeB word) so that . ~xtra tape motion may occur when building a ROM system from a 12K system. ' If no entry point by the name of SYS is active, BUILD will type SYS NOT FOUND when you trY,to do a BOOT. You should never change the name of any entry point called SYS nor should you' rename any other entry point to SYS." If the devices are the same, then the message WRITE ZERO DIRECT? wont be printed, in which case BUILD assumes you want the directory preserved. Add the following error message to your list: ?NAME This indicates a syntax error wherein a name was expected but not found. Note that the program, CONFIG, has been completely obsoleted, since all its functions can now be performed by BUILD. Specifically, never use CONFIG.06 with the new monitor since it had bugs in it. It is possible ,to use CONFIG.07 in an emergency# which is available from me (both the source and the emergency). Note also, that V2 BUILD had a bug in it, having to do with how it located certain internal monitor tables, and thus it may not be used to copy a V3 system. The new BUILD can copy earlier systems. -2- 080-100-047-01 BU,l,J(ljn'J;} new monitor (in-honsC') from t.he· binaries, 'Jsing BUILD: i.:)!;<.~rt h.tndll'J'::·', ,)11<1 sT>('cify a new SYS (which must Tl(d t.he' ::,amc a.s t:hc ('ilrr(~nt !3y!:Lcm c~l.'vice), then type Run lllli.JIl, be , $BUILD at which point BUILD will respond with LOAD OS8: At this point (unlike the case wherein you're building from scratch), you type in the file specification for the binary of OS/8 using the handler name already configured into your current system (this has nothing to do with any active handlers in the BUILD core image). Forexample DTA3:0S8.BN This file specification is similar to the one used by the LOAD command. If no device is specified, DSK: is assumed. The default extension is .BN if none is specified. BUILD will now read in this binary and start creating the new system using the new internal SYS handler specified. When it is done, it will type LOAD CD: at which point you must not type carriage return; instead type the file specification for the location of CD.BN Carriage return will use the ~revious specification (which might be OK if you're reading in from paper tape),. When this is done, BUILD will print a $. You must e.ventually do 'a BOOT in order to complete the process. If you had previously done a BUILD, the BOOT command will not copy o~er the current system. Nor will it ask you if you want to zero the directory, it will assume you don't'want to, and the new tape will wind up with ABSLDR.SV as the only entry in its directory. The BUILD command has code which resides in the handler space. You must then use either a virgin copy of BUILD or one without too many handlers. If the BUILD code has been overlaid by handlers, when you type the BUILD command, you will get the error message ?NO ROOM Also, the BUILD code goes away after a BOOT. So under no circumstances, should you take a copy of BUILD which has been resaved after a BOOT and type BUILD~ This will be disaster. 080-100-049-00 mamaamo INTEROFFICE MEMORANDUM TO: OS/8 V3 List DATE: December 11, 1973 PROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EXT : 2130 LOC 12-3 SUBJ: Creating a BUILD Binary Tape This document is for in-house use only and explains how the BUILD binary paper tape gets created. 1. Assemble BUILD • • PAL BUILD<BUILD This gives you a binary of BUILD but with no handlers. 2. Save it as a core-image • • R ABSLDR *BUILD$ .SAVE SYS BUILD ,-7577, 1",,-175771 2,,-, It is important that all of core be saved 80 that the core control block is set up well. As long as the RUN command is used later (instead of the R command) the CCB will remain set. This alleviates extra typing. 3. Assemble all the handlers. This can be accomplished by using the BATCH job, HASM. all the handler sources to DSK, First copy .COpy DSK:<DTAJI then .SUBMIT HASM 4. Load the desired handlers into BUILD. This is a bit tricky because you must qet all the system handlers into BUILD and their bootstraps eat up tremendous core used by the descriptor table. OSO-100-049-00 -2- December 11, 1973 Solution: Unload unnecessary entry points, thus freeing room in the descriptor table. Once the system is build, the user can unload those system handlers he doesn't need, thus making lots of room to reload all the missing handlers and entry points. Second restriction: Once only code for this process is location inside the handler space at location 166". Solution: Don't load more than 25 (decimal) pages worth of handlers. A typical example is shown below. This may be changed. Handlers may be loaded in any order. Handler sizes are shown in parentheses on the right (in pages) • • RUN SYS BUILD $LOAD TC,SNS UN TC:DTA3,DTA4,DTAS,DTA6,DTA7 $LOAD LINCNS SUN LNC: LTA3,LTA4,LTAS,LTA6,LTA7 $UN RK,S:RKA1,RKA2,RKA3,RKB1,RKB2,RKB3 $LOAD RK,SNS $UN RK,1:RRA1,RKA2,RKA3 (1) $LOAD PTSE $LOAD KL8E $LOAD LSPT $LOAD CSA $LOAD DF32SY $LOAD RF'SSY $LOAD LPSV $LOAD L64S $LOAD ROMMSY $LOAD RKSESY $LOAD RK'SSY $tc .SAVE SYS BUILD (1) (2) (1) (1) (1) (1) (2) (1) (1) (1) (1) (1) (1) (1) Note that entry points should be deleted as quickly as possible, and system handlers should be loaded near the end. In the above example, handlers which were not loaded include VR12, ASR33, RFOSNS, DF32NS, TDSENS. Note that TC_S, TOSE, and LINC system handlers need not be included since these will never be built from paper tape. 080-100-049-00 -3- December 11, 1973 5. Punch the paper tape of this core image. This can only be done with a special binary punch routine incorporated into BUILD, on a machine with a high speed punch • • GET SYS BUILD .START 166" BINPUN will now punch some leader on the high speed punch (which should have been turned on) followed by an origin setting to Then it will type a * at which point it is ready for commands. Each command consists of those locations to be punched, in the form: field number (,-7), a comma, Lower core limit, a hyphen, and upper core limit. Terminate line with carriage return. You have full editing capabilities over this line. When you are all through, type a carriage return all by itself and BINPUN will punch special finishing data (some required origins and data into ,76.', and a self-starting origin at end) then will punch some trailer. Punch out the required parts of core as follows: 2,_. *'*',, ,-5377 64.,-7577 *1, 4,,-5777 *1, 72_~-7577 /BUILD /descriptor table /handlers /more BUILD *<CR> After punching trailer, BINPUN will halt. Branch manually to either 7605 to restart OS/8 or 2.' to start-up BUILD. mamaama '1'0: 080-108-050-00 INTEROFFICE OS/8 V3 List MEMORANDUM DATE: December 17, 1973 PROM:. S. Rabinowitz DEPT: Small Systems Softw. Eng- EXT: 2130 LOC: 12-3 SUBJ: DIRECT Here is the new DIRECT help file. DIRECT.IY • , wILD NAM! OR EMTENIION WILD CHARACTER II It INCLUDE ,TARTING BLOCK NUMBERS (OCTAL) LIlT ONLV ,ILEI WITH CURRENT DATE INCLUDE E"'TI!' 'AIT "ODP. PRINT ADDITIONAL IN'O WORDI UIUAL MODE LIlT I"PTI!I ONLY LIlT ONLY 'ILEa WITH OTHER THAN TODAV'S OAT! LIlT REMAINDER A' 'ILII A'TI~ 'IRS' ONE (BUT US! IC,/O) TREAT EACH INPUT I'ECI'ICATION SEPARATELV LIlT 'ILia NOT 0' 'ORM IPECI'IED GIVE VIRSION NUM8ER UII N COLUMNI IE " II IL 1M /0 IR IU IV IW aN OI'AULT INPUT IPICI'ICATIONI OE'AULT OUTPUT DEVICE. DE'AULT OUTPUT 'J~t EXTENIION. fp *,* TTVI ,DI 080-100-51-00 INTEROFFICE TO: SUBJ: as/8 V3 List MEMORANDUM DATE: December 24, 1973 FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EXT: 2130 LOC: 12-3 New disk bootstraps The 05/8 V3 RK8 and RK8E system handlers now can run with SYS: being any unit number. To create such a system, mount your OS/8 system cartridge in the desired unit. Then key into core the special bootstrap given below. (If you want unit 0, then the old bootstrap still works). Upon executing the bootstrap, the desired system will be created. RK8: loc 26 27 30 31 contents 7604 6732 6733 5031 Load address 26. Put the unit number (0-3) into bits 9 and 10 of the console switch register (if you have one). Set all other switches to o. Hit clear, continue (or start). RK8E:loc 25 26 27 30 31 contents 7604 6746 6743 7604 5031 Load address 25. Put the unit number (0-3) of the unit you want to bootstrap into into bits 9 and 10 of the console switch register. Hit clear, continue. Notes: 1. Be sure to put the unit into bits 9 and 10. tendency to put it into bits 10 and 11. 2. Some people assign SYS: an alternate name when they configure their system. For example, you might c~eate a system where SYS:' has the alternate name RKAO. Note that if you we're to bootstrap onto unit 2 of such a system, both SYS': and RKAO would then refer to unit 2. You may have the 080-100-052-(30 INTEROFFICE. MEMORANDUM TO: SUBJ: OS/H V3 List DATE: December 24, 1973 FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EX1': 2130 LOC: 12-3 Patching your LV8E handler. The following patches are available for the LPSV lineprinter handler: reI. loc 0: set to -printer width-l (i.e. set to -121a for an 80 column lineprinter) reI loc 1: set to 4 set to 14 for the LV8E lineprinter for the LP08 and LsaE printers reI loc 2: set to -40 set to 0 to convert lower case to upper case if .your pri~ter can print lower case 080-100-054-00 INTEROFFICE M'EMORANDUM DATE: December 25, 1973 TO: 05/8 V3 List FROM: S. Rabinowitz DEPT: Small Systems Softw. Eng. EXT: SUBJ: 2130 LOC: 12-3 New TDINIT I have made drastic changes in the TDINIT program. memo describes these changes. This TDINIT is used to create a TD8E (either ROM or 12K) system tape from a TC08 system tape. Unlike the V2 TDINIT, it will work on any TC08 system tape and not just the one supplied from the library. If the user has the files TDINIT.SV TDROM .SY TD12K .SY and if he has his original tape #2 from the library (the OS/8 binaries ,tape), or a copy, or has created the special bootstrap record 0 on a tape of his own, then he can use these files to convert any system DECtape to a TD8E tape. Procedure: Place the tape with the special record 0 on drive o. This same tape must have' the files TDINIT.SV, TDROM.SY, and TD12K.SY on it, in that order and starting at the beginning of the tape (i.e. TDINIT.SV must be at block 7). Bootstrap into this tape. This·canbe accomplished by keying in the TD8E bootstrap, or by using the diode ROM bootstrap switch if,available . . At this 'point, the special record zero is read into core and reads the beginning of TDINIT.SV into core (it skips the core control block and the first page and reads in the next 3 pages). TDINIT.SV tnen reads in the rest of itself. If this last read gets an error, the program will halt at location 346. Hit continue to retry (or restart manually at location 202). If everything is successful, TDINIT prints TD8E INITIALIZER PROGRAM VERSION 4 on the teletype. It then looks around to see whether you have a ROM in field 7. If you do, it prints 12K SYSTEM If not, it checks to see if you have 12K or more of core, if you do, it types 12K SYSTEM 080-100-054-00 -2- If you don't, it is an error and it prints NEED ROM OR 12K and halts. It is now ready to configure the appropriate system. If you have a ROM but wish to create a 12K system, or you wish to fake out TDINIT, you can hit halt and set location 17 as follows: o if you want a 12K system 1 if you want a ROM system and then manually branch to location 214. Back to normal situation: TDINIT then print~ MOUNT A CERTIFIED DECTAPE ON UNIT 1 WRITE-ENABLED ALWAYS KEEP ORIGINAL SYSTEM DECTAPES WRITE-LOCKED STRIKE A CHARACTER TO CONTINUE Do as it says and strike any character to bontinue, at which point it will copy the system from the appropriate system head file on unit 0 onto the tape on unit 1. When this is through, it will type DISMOUNT TAPE #2 FROM UNIT 0 AND SAVE IT MOUNT ORIGINAL SYSTEM TAPE #1 ON UNIT 0 PREPARE TO COpy FILES OVER STRIKE A CHARACTER TO CONTINUE It is now ready to copy the files from the system tape over to the new tape being created. Strike any character (except CTRL/Z to continue). If you want to perform non-standard special processing, type CTRL/Z at this time, and TDINIT will print TYPE 1 TO COpy FILES FROM UNIT 0 TO UNIT 1 TYPE 2 TO ZERO THE DIRECTORY OF UNIT 1 TYPE 3 TO LEAVE THE DIRECTORY OF UNIT 1 ALONE STRIKE A CHARACTER TO CONTINUE Reply with either a 1,2, or 3 (which will not echo) to pick the option you desire. Typing any other character will cause th~ request··message to repeat. Depending upon whether you typed 1, 2, or 3, you will receive one of the following confirmatory messages in response, respectively: COPYING FILES FROM UNIT 0 TO UNIT 1 ZEROING THE DIRECTORY ON TAPE UNIT 1 DIRECTORY ON UNIT 1 PRESERVED -3- 080-100-054-00 If you didn't respond with CTRL/Z above, you merely get the message COPYING FILES FROM UNIT 0 TO UNIT 1 at which point it copies the files and updates the directory. (In the other cases it zeroes the directory or leaves it alone). Then it types: REMOVE AND SAVE TAPE ON UNIT 0 TAKE NEW TAPE (ON UNIT 1) WHICH WAS JUST CREATED AND PLACE IT ON UNIT 0 IT IS YOUR NEW OS/8 SYSTEM TAPE STRIKE A CHARACTER TO CONTINUE Dial the unit number of the newly created tape to 0 and strike a character for the program to bootstrap into this tape. (The tape should be write-enabled and on unit 0). The OS/8 monitor should start up and print a dot. Other messages: If the system head files are bad or in the wrong place,' the program will print NOT ORIGINAL 05/8 SYSTEM TAPE #2 MOUNT CORRECT TAPE ON UNIT 0 STRIKE A CHARACTER TO CONTINUE If any I/O errors occur on the DECtape, TDINIT will not retry 3 times, but instead type FATAL 10 ERROR TYPE A TO ABORT AND START OVER AGAIN TYPE ANY OTHER CHARACTER TO RETRY THIS I/O OPERATION STRIKE A CHARACTER TO CONTINUE Once TDINIT has correctly started up, i t may be restarted from location 200. Alternate procedure: For people who don't want to copy the entire tape, they may type CTRL/Z to the key message and then zero the directory of the new tape. When they bootstrap onto it, it will have a good system but no files. They may then run the cusps from the other drive, for example, by typing .RUN DTA1:PIP * SYS: <. DTAI: /S$ Creating the special record 0 (in-house use only): Run the program TDINIT directly and it will print READY TO CREATE BLOCK 0 Of UNIT STRIKE A CHARACTER TO CONTINUE 1 It, will print OK and halt when it has been successful. Hit continue to rebootstrap.
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies