File UTIL.WU

Directory of image this file is from
This file as a plain text file








     These programs are distributed with sources if  available.   They
have  been  very  useful  to  us,  but  carry  no guarantee.  They are
distributed for a copying fee of $50 with available documentation.


  DX      Displays the OS/12 index similarly  to  DIAL's  DX  command.
          Will  also  print  the index with an identification which is
          also displayed and may be changed.


  IOPACK  Modifications to PIP's I/O package to simplify  calling  and
          using.


  MAP     An  improved  bit  map program which will print map, reverse
          map, ranges or reverse ranges.


  LIST    A paged pretty lister.  Lists .LS files, documents or  forms
          with  variable  tabs,  titles, etc.  Also lists name of file
          in large block letters.


  MARK12  Trivial modifications to MARK12  to  mark  128  word  blocks
          with the P option and return to OS/12.


  TTYLPT  A  two  page  handler that simulates the line printer on the
          teletype.


  PLT     A two page handler that  accepts  decimal  ASCII  input  and
          plots  on  a  standard  XY   plotter   with   retransmitting
          slidewire or null detector.  Uses relay and D-A converters.


  IBM     Converts  OS/12  ASCII files from any input device to EBCDIC
          files on MAGTAPE  (TU10).   Also  converts  in  the  reverse
          direction and has an option for forms control to FORTRAN.


  DIALS8  DIAL  to  OS/12  converter  which looks up files in the DIAL
          index and outputs standard device independent OS/12 files.


  PSDIAL  A quick and dirty converter for  OS/12  to  DIAL  compatible
          files.   Writes  on  LINCtape starting at block 0 of Unit 1.
          A very dangerous program.









DX A PROGRAM TO DISPLAY OS/8 DIRECTORY CLYDE G. ROBY, JR. DEPARTMENT OF MEDICINE WEST VIRGINIA UNIVERSITY Abstract DX is a program which runs under the OS/8 system. It is used as a quick and easy method of examining OS/8 device directories. One may change a filename and date from the display. Simple deletion of files and printout on the teletype and the line printer are also available. -1-
To run the program, the following is typed in response to the dot typed out by the PS/8 or OS/8 keyboard monitor: .R DX Or .R DX DEV The program then starts up and displays the appropriate directory. If "DEV" is specified, the directory of device DEV: is displayed. If "DEV" is an illegal device, or if no device was specified (as in the first call above), the directory for device DSK: will be displayed. The user may assign a particular device to DSK: before running this program, if he so desires. DX displays a device identification line which may be changed by the user, the current system date, and up to 8 directory entries. One may move forward or backward through the directory via the four following commands: 2 move forward one line W move backward one line 1 move forward one frame (8 lines) Q move backward one frame (8 lines) In addition, the user may delete entries in the directory by first placing that entry on the bottom line of the scope using the above four commands, and then typing 'CTRL/U'. An <EMPTY> file of the appropriate length is generated at that entry in the directory. Entries that are deleted in this manner are not made permanent until the directory is written back out. This is done by typing '#'. However, if the user has made mistakes by deleting the wrong file, etc., he may restore his directory if he has not yet typed '#' via the command 'R', which reads the directory back into memory and displays it. The name of an entry in the directory may be changed by placing the entry to be renamed on the bottom line of the scope, and then typing 'RUBOUT'. For each 'RUBOUT' typed, a question mark will appear in the filename or extension field. Any character that is not a 'RUBOUT' will replace the current question mark. Spaces are correctly converted to 00's. After all question marks are replaced, the regular scope commands become available. To make the filename change permanent, type '#' which writes out the directory. The date of an entry may be changed by first placing that entry so it is the last entry displayed on the scope and then typing 'D'. A line of question marks will appear directly below the current date entry. A new date may be entered. 'RUBOUT' deletes the last character typed; carriage return ends the string. When carriage return is entered, the character string is converted and replaces the date entry. Again, to make the date change permanent, type '#' which writes out the directory. -2-
A directory identification is also displayed at the top of the scope. However, if there is a very large directory (greater than about 200 entries), there will be no identification. To change the directory identification, type 'I'. A line with question marks shall appear in the center of the scope. You may type any identification up to 26 characters in length. A carriage return ends the input. Single character deletion is performed by hitting 'RUBOUT'. Typing 'CTRL/U' deletes the entire identification. It is important to remember that the identification is not output to the directory of the device until you type '#'. Remember that!! There are two commands to output the directory. The 'T' command outputs the directory as it looks to DX on device DIR:, and if it does not exist, then to device TTY:. The 'P' command outputs the directory to device DIR:, and if it does not exist on the system, then to device LPT:, and finally to TTY: if LPT: does not exist. Attempting to output to a directory-structured device will result in no output. The current directory identification is output followed by the directory listing as printed out with the /E option of PIP. Of course, 'CTRL/C' is always active. 'CTRL/C' typed at any time (display or printout) will cause DX to return to the OS/8 keyboard monitor. To change the device of which you wish to see the directory, type 'CTRL/R'. This will bring in the Command Decoder. At this point, type in the name of the device of the directory which you wish to look at. DX then reads in the directory of the device and displays it. To summarize: # Write out the directory on current device. 1 Move forward one frame (8 lines). 2 Move forward one line. D Change the date for this entry. I Change the directory identification. P Print the current directory on the line printer. Q Move backward one frame (8 lines). R Restore (read) the current device directory. T Print the current directory on the teletype. W Move backward one line. CTRL/C Return immediately to OS/8 keyboard monitor. CTRL/O Stop printout of a directory. CTRL/R Restart, i.e., ask for a new input directory device. CTRL/U Delete last entry displayed on scope. RUBOUT Delete character in filename (change filename entry). -3-
IOPACK A generalized I/O handler for OS/8-12 ASCII files The user may allocate his buffers and handlers or allow IOPACK to do it for him. The following parameters may be defined in the calling program. IOPACK's default assumptions are given following each parameter. OUBUF Starting address of output buffer. IOPACK assumes it is 0 and is located in field 0. OUCTL Output control word. Bit 0 must be 1. The next 5 bits are the number of 128 word records in the buffer. The next three bits are the buffer field. IOPACK assumes 5400 - 6 records, 3000(8) words, FIELD 0. OUDEVH Starting location of output device handler. IOPACK assumes 7200. This allows for a two-page handler. INBUF Starting location of input buffer. Assumed 3000 Field 0. INCTL Input control word. Structure the same as OUCTL except that bit 0 is not set. Assumed 1600 - 7 records, 3400(8) words, FIELD 0. INRECS Number of input records. Must agree with INCTL. Assumed 7(8). INRECS = INCTL / 200(8). INDEVH First location of input device handler. Assumed 6600. This allows for a two-page handler. It is convenient to write short programs to live around IOPACK in FIELD 1 and use the assumed values for all parameters. In this case the subroutine need only be called. -4-
There are many entry points to IOPACK. These are divided into two useful subsets: those used by a programmer for "standard" I/O and those used by a more advanced programmer. The more useful entry points are: SETUP, XXGET, XXPUT, XXCLOSE, and OTYPE. Each of these is documented in more detail below. 'CF' is the user's calling field. SETUP Entry point to initialize IOPACK. CDF CF CDF 10 JMS I (SETUP /CALL IOPACK INITIALIZATION EX /ASSUMED INPUT EXTENSION FOR /THE COMMAND DECODER EOF /END-OF-FILE PROCEDURE FOR END /OF LAST INPUT FILE XXX /RETURN TO USER WITH AC CLEAR The Command Decoder is invoked and asks for an output file and up to nine input files. The assumed input extension is .EX (stripped ASCII). If no output file is specified, TTY: will be assumed. EOF is an address in the calling field which will be transferred to when the last input file has reached an end-of-file. If this is 0, then the end-of-file procedure will simply close the output file and return to the Keyboard Monitor. The output file is opened and the input files are initialized before return is made to the caller. If output is to PTP: (paper tape punch), 128 frames of leader are output. If no output device is specified, TTY: will be assumed. XXGET Entry point to get a character from the input files. CDF CF CIF 10 JMS I (XXGET /ENTRY POINT TO GET A CHAR XXX /RETURNS WITH A CHARACTER IN AC If any errors occur, a message is printed out and control will return to the Keyboard Monitor. If the final end-of-file is encountered, control will be transferred to the end-of-file address supplied as th second argument to SETUP. XXPUT Entry point to send a character to the output file. CDF CF CIF 10 JMS I (XXPUT /OUTPUT CHARACTER IN AC XXX /RETURNS WITH AC CLEAR -5-
The lower 8 bits of the accumulator are sent to the output file. If the character code is 214(8) then 9 zero characters will follow the form feed; if 213, then 5 rubout characters (377) will follow the vertical tab; if 211 then 2 rubout characters will follow the horizontal tab. If any errors occur, an appropriate error message wwill be output and control will return to the Keyboard Monitor. XXCLOSE Normal user entry point to close the output file. CDF CF CIF 10 JMS I (XXCLOSE /CLOSE THE OUTPUT FILE XXX /RETURN WITH OUTPUT FILE CLOSED /AND WITH CLEAR ACCUMULATOR If any errors occur, an error message will be printed out and control will return to the Keyboard Monitor. OTYPE Return with device type of output device. The device type from the DCB table is returned to the accumulator. CDF CF CIF 10 JMS I (OTYPE XXX /RETURN WITH DEVICE TYPE IN AC The following routines are the "guts" of IOPACK and are called by the above routines. For those users who may want to do something else with IOPACK, the following documents the basic I/O routines. IOPEN Initialize input files. This entry point initializes certain flags and pointers which indicate to start at the first of nine files. When an end-of-file is encountered in an input file, the next successive input file is automatically opened. That is, device handlers will be loaded if necessary. CDF CF CIF 10 JMS I (IOPEN /OPEN INPUT FILES XXX /RETURNS HERE WITH CLEAR AC ICHAR Get a character from input files. Returns a character (8 -6-
bits) from the input files. CDF CF CIF 10 JMS I (ICHAR /GET A CHARACTER FROM INPUT FILES XXX /IF AC < 0, ERROR OCCURRED /IF AC > 0, END OF LAST INPUT FILE XXX /NORMAL RETURN, CHARACTER IN AC OOPEN Set up output file. If there is no output file, output is inhibited. The output handler is loaded into memory nd certain flags and pointers are initialized. /CAN ONLY BE CALLED FROM FIELD 1 JMS I (OOPEN XXX /IF AC < 0, CANNOT ENTER THE FILE /IF AC > 0, OUTPUT IS INHIBITED XXX /NORMAL RETURN, AC CLEAR OCHAR Send character in accumulator to output file. CDF CF CIF 10 JMS I (OCHAR /OUTPUT CHARACTER IN AC XXX /ERROR RETURN WITH CLEAR AC /OCCURS WHILE DUMPING A BUFFER XXX /NORMAL RETURN WITH CLEAR AC OCLOSE Close the output file. Make the temporary output file permanent. /CAN ONLY BE CALLED FROM FIELD 1 JMS I (OCLOSE /CLOSE THE OUTPUT FILE XXX /ERROR WHILE DUMPING LAST BUFFER OR /WHILE ATTEMPTING TO CLOSE FILE /RETURN WITH AC CLEAR XXX /NORMAL RETURN WITH CLEAR AC -7-
A simple program to copy an ASCII file with input extension .DA might be: *200 CLA CLL CDF 00 /CALLING FIELD IS FIELD 0 CIF 10 /IOPACK RESIDES IN FIELD 1 JMS I (SETUP /SETUP THE I/O PACKAGE 0401 /ASSUMED COMMAND DECODER EXTENSION .DA 0000 /USE IOPACK'S END-OF-FILE ROUTINE COPYLP, CIF 10 /IOPACK IN FIELD 1 JMS I (XXGET /GET A CHARACTER FROM INPUT FILE CIF 10 /IOPACK IN FIELD 1 JMS I (XXPUT /PUT A CHARACTER TO OUTPUT FILE JMP COPYLP /STAY IN LOOP OUBUF=400 OUCTL=5000 INBUF=3000 INCTL=1400 PAUSE /TO ASSEMBLE IOPACK -8-
A program to copy an ASCII file with input extension .DA and call the Command Decoder for another I/O specification line after each copy might be: *200 START, CLA CLL CDF 00 /CALLING FIELD IS FIELD 0 CIF 10 /IOPACK RESIDES IN FIELD 1 JMS I (SETUP /SET UP THE I/O AND EVERYTHING 0401 /ASSUMED EXTENSION OF .DA EOFILE /USER SPECIFIED END-OF-FILE ROUTINE COPYLP, CIF 10 /IOPACK IN FIELD 1 JMS I (XXGET /GET A CHARACTER FROM INPUT FILES CIF 10 JMS I (XXPUT /PUT CHARACTER TO OUTPUT FILE JMP COPYLP /STAY IN COPY LOOP EOFILE, CIF 10 /IOPACK IN FIELD 1 JMS I (XXCLOSE /CLOSE THE OUTPUT FILE JMP START /ASK FOR MORE I/O SPECS OUBUF=400 OUCTL=5000 INBUF=3000 INCTL=1400 PAUSE /TO ASSEMBLE IOPACK -9-
MAP C. G. Roby Jr. MAP prints out a core map listing of a string of binary files saved from assembly output of PAL8 or PAL12. When MAP is loaded it requests input and output files through the command decoder. The assumed input extension is .BN, there is no output extension. There are several switches which MAP recognizes: /F Print out the bit mapping lines only. That is, only lines with at least one bit set are printed. /Z Print out a bit map of those words which are not assigned. This is the complement of the assumed output and is useful for very large programs. /R Print out the ranges of either the assigned locations or the unassigned locations (depending on /Z). All inputs are read in and a core bit map is set up. The output consists of bit assignments from FIELD 0 to 7 and core locations from 0000 to 7777 within each field. The printout consists of a 5-digit address which is always a multiple of 100(8). For output to TTY:, this is followed by a carriage return and line feed; otherwise, it is followed by two spaces. Then the bit map for those 100(8) locations are printed out. Printout from /R are just ranges consisting of two 5-digit locations. -10-
"LIST" PAGED PRETTY LISTER CLYDE G. ROBY JR. DEPARTMENT OF MEDICINE MEDICAL CENTER WEST VIRGINIA UNIVERSITY NOVEMBER 1970 DOCUMENTATION FILE LIST.DC ABSTRACT "LIST" MAKES PRETTY PAGED LISTINGS WITH OPTIONS TO LIST CERTAIN EDITOR PAGES, PLACE TITLE AT THE TOP OF EACH PAGE, FIXED OR VARIABLE TABS, OR LIST PAL8 OR PAL12 ASSEMBLY LISTINGS FROM TAPE. -11-
USAGE SINCE "LIST" IS DESIGNED TO RUN ON THE PS/8 OR OS/8 SYSTEM, THE USER MUST TYPE IN "R LIST" IN RESPONSE TO THE "." TYPED OUT BY THE KEYBOARD MONITOR. THE COMMAND DECODER THEN ASKS FOR AN OUTPUT FILE AND UP TO NINE INPUT FILES. IF NO OUTPUT FILE IS GIVEN, THE OUTPUT FILE IS ASSUMED TO BE THE TELETYPE (TTY:). AN EXAMPLE OF LOADING "LIST" MAY BE: .R LIST ENTER PROGRAM NAME *LIST.LS /A INPUT FILE IS DSK:LIST.LS OUTPUT IS ASSUMED (TTY:) OPTION CHAR IS "A" THE STARTING ADDRESS OF "LIST" ONCE IT HAS BEEN LOADED IS 200. WHEN PS/8 OR OS/8 LOADS "LIST", IT IS AUTOMATICALLY STARTED AT THIS ADDRESS. AT END OF EXECUTION, "LIST" ASKS THE USER FOR ANOTHER LISTING THROUGH THE COMMAND DECODER (ASKING WITH "*"). THE STANDARD LISTING FORMAT FOR LIST CONSISTS OF A TITLE LINE, A BLANK LINE, AND THE BODY OF THE PAGE. THE TITLE LINE CONTAINS 'PAGE#' FOLLOWED BY THE PAGE NUMBER FOLLOWED BY '.' FOLLOWED BY THE PART OF PAGE# FOLLOWED BY THE USER ENTERED TITLE FOLLOWED BY THE CURRENT DATE. CERTAIN OPTION SWITCHES MAY OVERRIDE THE STANDARD LISTING FORMAT. THE ASSUMED OUTPUT FILE IS TTY: IF NONE IS GIVEN. BECAUSE TTY IS OUTPUT, A PAGE BREAK [------] OCCURS AT END OF PAGES FOR SEPARATION. HOWEVER, IF THE OUTPUT DEVICE IS NOT THE TTY, THEN NO PAGE BREAK IS GENERATED. IF OUTPUT IS NOT TO THE TTY:, THE NAME OF THE OUTPUT FILE WILL BE GENERATED IN LARGE BLOCK CHARACTERS. IF NO NAME IS GIVEN, ASTERISKS (*) WILL BE PRINTED INSTEAD. THE CURRENT DATE WILL ALSO BE PRINTED IN BLOCK LETTERS. THE NAME WILL BE PRINTED BOTH AT THE BEGINNING AND END OF THE LISTING. -12-
DESCRIPTION COMMANDS TO LIST ARE IN THE FORM OF OPTION SWITCHES IN THE COMMAND LIST. /A /A MUST BE USED IF INPUT IS A PAL8 OR PAL12 ASSEMBLY LISTING BECAUSE OF THE ASSEMBLERS' OUTPUT METHODS. THE /N SWITCH IS AUTOMATICALLY SET. /B DO NOT OUTPUT PAGE BREAK [------]. /C CHECK FOR CHARACTER OVERFLOW OF A LINE. A CARRIAGE RETURN, LINE FEED IS OUTPUT AT THE END OF 72 CHARS TO END AN OUTPUT LINE. THE REST OF THE LINE IS PRINTED ON THE NEXT LINE. /F REQUESTS FIXED TABS (ASSUMED FIXED EVERY 8 COLUMNS). /I INSTEAD OF THE STANDARD PAGE NUMBER FORMAT OF PP.NN (PAGE NUMBER, PART OF EDITOR PAGE), EACH OUTPUT PAGE IS AN INTEGER. /M SETS PAGE SIZE FOR DR. W. H. MORAN'S ADH PROGRAM. /N THE TITLE LINE IS NOT REQUESTED. IT IS NOT PRINTED AT THE TOP OF THE PAGE WITH THE "PAGE#" EITHER. /P REQUESTS PAGE LIMITS TO BE LISTED. A MINUS SIGN SEPARATES INCLUSIVE PAGES. A COMMA OR SPACE SEPARATES INDIVIDUAL PAGE NUMBERS. TO LIST PAGES 3, 5, AND 10, ONE ENTERS "3,5,10". TO LIST PAGES 3, 4, AND 5, ONE ENTERS "3-5". /T REQUESTS A LEFT TAB MARGIN SETTING. FOR EXAMPLE, IF ONE ENTERED 10 AS THE LEFT TAB MARGIN SETTING, THEN ALL LINES WOULD SKIP TO COLUMN 10 BEFORE BEING PRINTED. /V REQUESTS VARIABLE TABS (ASSUMED 1,9,17,25...). /X EXPAND TABS FOR LISTING FROM PAL12 WITH /X OPTION. SET UP VARIABLE TAB TABLE TO (1, 6, 14, 22, 30, 38, 46, 54, 62, 70, 78). THIS SWITCH AUTOMATICALLY SETS THE /A SWITCH AND THE /N SWITCH. -13-
EXAMPLES: 1. FOR A PAL8 OUTPUT LISTING FROM TAPE TO TELETYPE. *TTY:<LIST.LS /A OR *LIST.LS /A 2. FOR A PAL8 SOURCE LISTING FROM TAPE TO TELETYPE. *TTY:<SOURCE.PA /N OR *SOURCE.PA /N 3. FOR A FORTRAN SOURCE LISTING FROM TAPE TO TELETYPE. *TTY:<SOURCE.FT /I/F OR *SOURCE.FT /I/F ENTER FIXED TAB 7 ENTER TITLE LISTING OF FORTRAN SOURCE "MAIN" 4. TO LIST PART OF A PAL8 SOURCE FROM TAPE TO TELETYPE. *TTY:<SOURCE.PA /A/P OR *SOURCE.PA /A/P ENTER PAGES 1,6,20-25,60-999 5. TO LIST A FORTRAN SOURCE LISTING ON THE LINE PRINTER WITH LARGE BLOCK LETTERS FOR THE NAME. *LPT:SOURCE.FT<SOURCE.FT (FI) ENTER FIXED TAB 7 ENTER TITLE FORTRAN SOURCE LISTING ON LINE PRINTER 6. TO OUTPUT A COMPUTER GENERATED BUSINESS FORM. *TTY:<FORM1A /V OR *FORM1A /V ENTER VARIABLE TABS 5 9 20 24 28 32 50 52 59 70 72 -14-
AT THE END OF THE LISTING, "LIST" GOES TO THE TOP OF A NEW PAGE. AFTER PRINTING THE LAST PAGE BREAK, "LIST" IS THEN RESTARTED AND ASKS THE USER FOR ANOTHER COMMAND LIST THROUGH THE COMMAND DECODER (SEE "USAGE" ABOVE). -15-
AN X-Y PLOTTER HANDLER FOR OS/8 D. J. DUFFY JUNE 6, 1972 PLT IS AN ANALOG X-Y PLOTTER HANDLER FOR OS/8. IT ACCEPTS BUFFERS OF DATA IN THE FORM OF X-Y PAIRS IN DECIMAL ASCII FORMAT AND HAS PEN CONTROL COMMANDS. PLT IS A TWO PAGE HANDLER CONFORMING TO THE STANDARD CONVENTIONS OF OS/8. INPUT CONVENTIONS INPUT TO THE HANDLER IS A BUFFER OF STANDARD OS/8 ASCII FORMAT. NUMBERS ARE IN THE FORM OF DECIMAL INTEGERS AND REPRESENT X-Y PAIRS. THE X VALUE IS FIRST. THE NUMBERS MAY BE IN THE RANGE -2048 TO +2047. HOWEVER, + OR - 2000 IS USUALLY USED. THE PEN CONTROL IS ACCOMPLISHED BY THE CHARACTER P IN THE INPUT. THE P MUST BE IMMEDIATELY FOLLOWED BY A 0 OR 1 TO ACT AS PEN CONTROL. 0 MEANS PEN UP AND 1 MEANS PEN DOWN. THE PEN CONTROL SEQUENCE MAY APPEAR ANYWHERE BETWEEN NUMBERS AND IS ACTED UPON AT THE TIME IT IS ENCOUNTERED. NORMALLY IT SHOULD OCCUR BEFORE THE X-Y PAIR TO BE PLOTTED WITH THE CHANGED PEN POSITION. ALL CHARACTERS NOT USEFUL TO THE PLOTTING ARE SIMPLY IGNORED SO THAT COMMENTS MAY BE FREELY INCLUDED. A NUMBER IS ENDED BY ANY ILLEGAL CHARACTER. THE LEGAL CHARACTERS FOR NUMBERS ARE 0-9, -, +, AND PERIOD. THE DECIMAL POINT IS IGNORED BUT DOES NOT TERMINATE THE NUMBER SO THAT 20.00 IS ACTUALLY 2000 TO THE PLOTTER. DO NOT ATTEMPT TO USE THE PEN CONTROL SEQUENCE TO TERMINATE THE NUMBERS. THE CHARACTER WHICH ENDS A NUMBER IS COMPLETELY IGNORED SO THAT 1000P02000 IS TAKEN AS 1000 2000. NOTE HOWEVER THAT 1000,P02000 GIVES THE CORRECT SEQUENCE 1000 (PEN UP) 2000. OUTPUT CONVENTIONS THE PLOTTER IS CONTROLLED VIA DAC CHANNELS. X IS CHANNEL 1 AND Y IS CHANNEL 2. THE FULL RANGE OF A 12 BIT DAC IS USED. THE PEN IS CONTROLLED VIA RELAY BIT 5. A 1 MEANS PEN DOWN. PLOTTER CONTROL XY PLOTTERS ARE DIFFICULT TO USE WITH COMPUTERS IN MANY CASES -16-
BECAUSE IT IS DIFFICULT FOR THE COMPUTER TO KNOW WHEN THE PLOTTER HAS REACHED THE DESIRED POSITION. PLT WAS DESIGNED TO RUN ON A PDP12 AND HAS TWO ALTERNATE METHODS DEPENDING ON THE PLOTTER AVAILABLE. THE METHODS ARE SELECTED AT ASSEMBLY TIME. SOME PLOTTERS HAVE RETRANSMITTING SLIDE WIRE POTENTIOMETERS. THESE POTENTIOMETERS ALLOW THE COMPUTER TO SENSE VIA ANALOG INPUTS THE POSITION OF THE X-Y PLOTTER OR MORE IMPORTANTLY WHETHER OR NOT THE PLOTTER IS MOVING. THIS OPTION IS SELETED BY NULD=0. IT REQUIRES THAT THE X AND Y POSITION OUTPUTS OF THE PLOTTER BE CONNECTED TO ANALOG INPUTS 10 AND 11 OF THE PDP12. THE PLOTTER HANDLER WATCHES THE VALUE OF THE X AND Y POSITION AND WHEN THEY ARE NO LONGER CHANGING IT PROCEEDS WITH PLOTTING THE NEXT POINT. SOME PLOTTERS HAVE AS AN OPTION A NULL DETECTOR. THIS NULL DETECTOR OUTPUTS A PULSE WHEN THE PLOTTER HAS REACHED THE DESIRED POSITION. SELECTING THE NULD OPTION OF PLT BY SETTING NULD=1 ENABLES ASSEMBLY OF THIS OPTION INTO THE HANDLER. THIS OPTION REQUIRES THAT THE PULSE INPUT BE CONNECTED TO KW12 INPUT 3. THIS OPTION HAS A SPECIAL INITIALIZATION FOR BLOCK ZERO. WHEN BLOCK ZERO IS GIVEN AS THE OUTPUT BLOCK NUMBER, THE KW12 INPUT IS ENABLED AND AS INPUT IS SIMULATED ON INPUT 3. THIS ASSUMES THE PLOTTER IS STOPPED. THIS VERSION OF THE PLOTTER HANDLER MAY HANG IF THE NULL DETECTOR FAILS TO ISSUE A PULSE OR THE THRESHOLD OR DIRECTION OF RISE ARE SET INCORRECTLY ON THE KW12. TO RETURN TO THE SYSTEM TURN INPUT 3 TO LINE FREQUENCY AND TYPE CTRL/C. GENERAL CONVENTIONS PLT RESPONDS TO CTRL/C IN THE STANDARD WAY. WHEN A CTRL/C IS TYPED PLT INTERCEPTS IT DURING ITS INPUT UNBUFFERING ROUTINE AND IMMEDIATLY RAISES THE PLOTTER PEN AND RETURNS TO THE SYSTEM. BLOCK ZERO CAUSES AN INITIALIZATION TO TAKE PLACE WITHIN PLT. THE PEN IS RAISED AND THE FIRST X VALUE IS EXPECTED. DURING PLOTTING OF BLOCKS OTHER THAN BLOCK ZERO THE X-Y PAIRING MAY BE SPLIT ACROSS BLOCKS. PLT RAISES THE PEN AND REMEMBERS IN WHAT POSITION THE PEN WAS IN WHEN IT COMPLETES A BUFFER LOAD. THIS PREVENTS AN INK SPOT BETWEEN BUFFERS FROM BLOTCHING THE GRAPH PAPER. -17-
IBM.SV Clyde G. Roby, Jr. W. Virginia University This program provides the DEC user with a method of communicating with any other manufacturer which has an industry compatible 9-track tape drive. The program performs conversion to and from 9-track tape and OS/8 ASCII files. Since the program operates under OS/8, the following command must be given. ^C (CTRL/C) to insure OS/8 keyboard monitor is in control . At this point, OS/8 is ready for a command .R IBM Type in "R IBM" followed by a carriage return to execute the program. Once IBM has been loaded, it immediately tells the user what it can do. P--COPY OS/8 FILE TO IBM MAGTAPE I--COPY IBM MAGTAPE TO OS/8 FILE ^C-RETURN TO OS/8 R--REWIND IBM MAGTAPE DO?: At this point, the user types in one of the above options. Any other option will type out the character followed by 'WHAT?' and another prompt with 'DO?:'. If the user types 'P' in reponse to 'DO?:', the following message will print out: COPY OS/8 FILE TO IBM MAGTAPE PLEASE TYPE IN INPUT FILE. * At this point, the user must specify a single input file and any of two option switches. The input file is assumed to be an ASCII file. The two legal option switches are /I and /P. The option switch /I indicates to ignore all characters after character position 72. This is probably not useful except in cases when the input file is from the card reader. The option switch /P indicates that the output to the magtape unit is to be set up as if it were going to a line printer using FORTRAN-like software. That is, a printer control character is used in the first character position of the output record for forms control. The forms control characters and how they are generated are listed below. b When CR is followed by single LF (single space). 0 When CR,LF,CR,LF or CR,LF,LF combinations are found (double space). - When CR,LF,CR,LF,CR,LF or CR,LF,CR,LF,LF or CR,LF,LF,CR,LF or CR,LF,LF,LF combination is found -18-
(i.e. three consecutive blank lines), (triple space). + When CR is not followed by LF (overprint). 1 When FF is encountered (skip to top of page) After the input line is entered IBM then types out: OUTPUT IS TO IBM MAGTAPE LOGICAL RECORD LENGTH = At this point, the user must enter the record length for the magtape file. If none is entered, 80 (the length of a card) is assumed. For files which have the /P option, this number should be 132 or 120, depending on the available line printer width. When entering this number, rubout will delete the entire number and it must be re-entered in its entirety. A space or carriage return ends the number. IBM then asks for: BLOCK SIZE = This is the magtape blocking factor. A good number to choose here is about 10 times the logical record length. No assumption is made if nothing is entered here. The copy will then start and when it concludes, the following message will print out. COPY COMPLETED If the user types 'I' in response to the 'DO? :' prompt, IBM will type out: COPY IBM MAGTAPE TO OS/8 FILE PLEASE ENTER OS/8 OUTPUT FILE * The user must now type in a single output file specification and any of two option switches. The output file will be an ASCII file and the input is assumed to be EBCDIC text. The two legal option switches are /I and /C. The option switch /I, like the /I above, indicates to ignore all characters after position 72. This of course, assumes that the input file is made of card images. The option switch /C should almost always be given. This indicates to ignore any trailing spaces, so that the output file on OS/8 is somewhat compacted. Of course, both option switches may be given. After the input is entered, IBM then types out: INPUT IS FROM IBM MAGTAPE LOGICAL RECORD LENGTH = As above, the user must enter record length (assumed 80) and after: BLOCK SIZE = -19-
He must enter the blocking factor. The copy will begin, and after completion, IBM will type out: COPY COMPLETE If the user entered a CTRL/C (hold the CTRL key down and type C), IBM will immediately return to the OS/8 keyboard monitor. The 'R' command entered in reply to 'DO? :' will start the IBM magtape rewind and print out the message: IBM MAGTAPE NOW REWINDING. If the tape is at load point when this command is given, the above message will not print out. A '?' as a response to 'DO? :' will type out all the commands available to the user (see page 1). FUTURE MODIFICATIONS: Allow more than one input file when giving the command 'P'. Spacing forward N number of IBM magtape files. -20-
DIAL - OS/8-12 TRANSLATORS DIALS8 DIAL to OS/12 Translator D. J. Duffy This program has been superceded by DIAL16 by Mario DeNobili of the Poly Question Society, which will be furnished. PSDIAL OS/12 to DIAL Translator C. G. Roby Jr. PSDIAL.00 IS A DANGEROUS PROGRAM. It inputs any OS/8-12 ASCII file and outputs it on DIAL LINCtape starting at block 0. The file can then be moved anywhere with DIAL's PIP. This is a quick and dirty for occasional jobs. For regular use it should be rewritten to do its own DIAL index entries or at least go to the working area and check for overflow. To use the program, run it with a marked blank DIAL tape on Unit 1 and respond to CD's asterisk with any input file. *SYS:DIALPG.12 After the file has been transferred it may be moved with PIP or brought into the working area with the DIAL command -> (line feed) AP 0. -21-



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search