B2 Diskette Information Last edit: 28-Jan-2015 cjl Type: OS/8 Format MDC8 Diskette Purpose: Source Files for P?S/8 as of 25-Feb-1988 Note: Some of the date information below has been modified to correct for factual errors or design limitations of OS/8. Authoritative date information has been obtained from reliable sources where applicable. As required, discrepancies regarding specific files and additional information about certain files will be provided. Directory Listing: ____________________________________________________________________________________ 25-FEB-88 FOCPQS.PA 0007 165 04-FEB-87 BLKCPY.PA 0254 274 08-APR-87 SYSTAT.PA 0676 89 28-DEC-86 DIRECT.PA 1027 226 03-SEP-87 DT4PCH.PA 1371 14 17-DEC-86 DTCPCH.PA 1407 3 23-APR-86 RKLPCH.PA 1412 3 15-JAN-83 RX4MAT.PA 1415 5 19-JUL-82 RXUTIL.PA 1422 2 24-MAR-86 NPATCH.PA 1424 23 03-NOV-85 4PATCH.PA 1453 17 28-DEC-86 8PATCH.PA 1474 23 28-DEC-86 DPATCH.PA 1523 49 01-APR-87 BPATCH.PA 1604 18 15-MAY-86 VT8PCH.PA 1626 165 08-APR-87 OPATCH.PA 2073 79 08-APR-87 2212 918 918 FREE BLOCKS ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ File Information FOCPQS.PA Source file for the P?S/8 modifications overlay to FOCAL, 1969. Many command-line and configuration options are provided. The program requires customization to support a variety of peripherals used for various inputs, outputs and displays. An internal table is provided to help eliminate sources of superfluous interrupts from common devices. Special support framework is included to support the VT8E in both text and graphics mode; various additional patch files are needed to support these additional devices. With few exceptions, a properly formed patch file can configure FOCAL for any supported hardware. A variety of additional patch files exist for various common variations. Full file name: FOCPQS.PAL. BLKCPY.PA Source file for the P?S/8 Block Copy/Compare utility program. This is the only basic P?S/8 utility that uses non-system handlers. In many ways it represents a stop-gap measure as it makes certain operations possible when working with dissimilar devices on the same machine; data from one device can be transferred to another that could be accessible as a logical device unit of the system device handler, etc. Ranges of blocks can be copied or compared with full verification of all transfers. Various recovery techniques are provided to work with common device problems. BLKCPY can be run in an automated manner by passing command files that can initiate any supported function; automatic exit back to P?S/8 is available as an additional command beyond the command set available from the keyboard. All command lines within files can be commented; comments are suppressed during the session operation. Full file name: BLKCPY.PAL. SYSTAT.PA Source file for the P?S/8 SYSTAT utility. This program prints out various and sundry particulars about the system at hand including CPU type, memory size and non-system handler tables. Options are available to control formatting and output device. Full file name: SYSTAT.PAL. DIRECT.PA Source file for the P?S/8 DIRECT utility. Various formatting and search options allow for a variety of filtered reports. The system program directory can be printed if desired. Full file name: DIRECT.PAL. DT4PCH.PA Source file for the patch to the DEC TOG8 formatting program for TC01/TC08 DECtape. The ability to define custom length DECtapes is added using P?S/8 command line switches. A custom interrupt kill list is included to prevent common stray flag problems. If the system supports CAF, this is executed to eliminate all stray flags. [Note: Execution of the CAF instruction cannot be allowed as this will make the CPU hang in specific earlier models. Full file name: DT4PCH.PAL. DTCPCH.PA Source file for the patch to the DEC DTCOPY program for P?S/8. A few weaknesses in the released program are eliminated. Full file name: DTCPCH.PAL. RKLPCH.PA Source file for the patch to the DEC RKLFMT program to prevent the execution of CAF unless the CPU supports the instruction. [Note: The unpatched original program hangs on certain earlier models.] Full file name: RKLPCH.PAL. RX4MAT.PA Source file for the RX8B [DSD-210] formatting program. Note: This program does not work on any DEC [RX01/RX02/RX03] product and has not been tested on any other DSD product [but will likely work on the DSD-440.] Note: The program is written as quick-and-dirty. Suggested improvements include: 1) Conformance with P?S/8 conventions including the Logical Console Overlay. logical abort and DECmate awareness. [Note: If the program is menu-driven, the data-only tests can be performed on a DECmate II with the RX278 option on RX01 or RX02/RX03 drives.] 2) Status messages including an opening message describing the process. 3) Guided assistance to allow existing media to be removed. 4) Support for additional drives [most DSD-210 systems support atleast two drives and up to four drives]. 5) Data writing and verify passes to certify the media as ready for normal reading and writing on all RX-type drives. 6) Single track format option to save time on problematic media that may eventually pass reliability tests. 7) Choice of 12-bit or byte-mode data passes. 8) Choice of data word or byte pattern value; this can be implemented using the =xxxx command-line option; if not supplied, the default pattern value of 11100101 [x'E5] can be used for all non-self-identifying data. [Note: It is recommended that the first data in each sector be the actual track/sector or logical sector as part of the data tests.] 9) The option of a final data test to write every sector with a designated data pattern [followed by a verify pass]. 10) Detection of the RX8B to prevent attempts to format media on DEC RX01/RX02/RX03 hardware. The program can still be used for data tests on all supported drives. 11) Data density detection and change. [Note: The DSD-210 can only format single-density media.] 12) Inclusion of the RXUTIL program as a menu option [see the description of the RXUTIL program elsewhere]. 13) Inclusion of the RXINIT program functions [see description of the RXINIT program elsewhere]. Full file name: RX4MAT.PAL. RXUTIL.PA Source file for the preliminary and largely non-functional version of the RXUTIL program; newer versions of some of the RXUTIL functions are probably available elsewhere. This program should be obsoleted in favor of program options of the RX4MAT program. [Note: The final implementation of the composite program for all RX-related matters may be named RXUTIL.] Full file name: RXUTIL.PAL. NPATCH.PA Source file for an application program written as a significant binary patch to P?S/8 FOCAL. A Nicolet 1070 Data Averager is controlled by FOCAL programming that can be modified by researchers with limited programming skills. Successful data sweeps can be displayed in various ways by incorporating other packages also written for P?S/8 FOCAL that implement a display capability that is nearly generic yet can run on a varity of display devices; used together, this device can be used by researchers on various PDP-8/PDP-12 configurations, etc. Sweeps that are considered useful can be saved in PDP-8 memory as part of this package or written to various storage blocks for analysis later. The memory contents left behind after program exit can also be converted into text files with well-formatted numerical text for later analysis by additional FOCAL-based programming. This is accomplished using the NCON program described elsewhere. Criticism: Virtually everything about this program represents a very good example of just how powerful the P?S/8 environment is to allow researchers will little programming or other computer-related skills to be very successful achieving their goals of a customized data collection and easy to use smooth operation to accomplish all they require. As a PAL assembly language file, it is very well documented especially when it comes to dealing with the nuanced details of the process of interfacing add-on functions to FOCAL as well as taking advantage of the rich superset of FOCAL that P?S/8 provides to make such operations easily and flexibly accomplished. Such programming itself is not for PDP-8 novices requiring a lot of skills of both general PDP-8 programming but also the intricacies of both the original FOCAL, 1969 but also the various P?S?8 features and extensions that are exploited to make this project a success, etc. However, there is one criticism of the design that may eventually prove to either be an early pioneering work for an obscure parameter, or prove to be totally incorrect depending on how the problem is solved: 1) Within certain implementations of P?S/8, it is possible to determine the system device logical unit the program is actually booted to. The program uses a convention found within many P?S/8 system programs that is not 100% certain, namely the ability to define the "partner" logical unit within the pair defined by the system device logical unit and said value .xor. 1. The problem is that the configurations this program was run on just happen to present the logical unit in a predictable place within those particular system device implementations. This is not a hard and fast convention throughout all P?S/8 system device handlers. In fact, at the present time, there is no such parameter universally available. As such, should the convention be extended as depended upon here, then this program will be an early adopter of the convention; however, if it is dependent on some newly created alternative, the logic associated with this calculation will require rework; as such, to the extent that this important parameter is subject to change, this program should not be considered as a complete example of how to take advantage of such features within P?S/8 in general. 2) This very feature is under investigation for its role in the future implementation of the P?S/8 SHELL which will also require proper unit identification; not all P?S?8 implementations boot on logical unit 0. Full file name: NPATCH.PAL. 4PATCH.PA Source file for the standard patch to P?S/8 FOCAL to increate floating point accuracy at the expense of storage and speed. The standard floating point package within FOCAL is compatible with the usual 36-bit package which is commonly used. By applying 4PATCH, FOCAL used 48-bit storage and calculations throughout. Note: If the 8K FOCAL overlay is also used, the FOCAL header associated with listing output will be upgraded correctly only if the 8K patch is applied first. [Other than cosmetics, FOCAL will function correctly regardless of patch order between the two otherwise unrelated patches.] Full file name: 4PATCH.PAL. 8PATCH.PA Source file for the standard patch to P?S/8 FOCAL to store the FOCAL statement text in field 1 thus increasing the field 0 storage space used for variables and pushdown stack. [Note: 8PATCH must be applied before all other patches to FOCAL because of the extensive internal changes made; interaction between 4PATCH and 8PATCH is such that the most accurate FOCAL header listing output is obtained when 4PATCH immediately follows 8PATCH which will then cause the accurate reflection of the use of both packages.] Full file name: 8PATCH.PAL. DPATCH.PA Source file for the output display patch to P?S/8 FOCAL. X,Y pairs are outputted to a buffer and FOCAL displays all points as a background task. Various display devices are supported for a variety of machines with display hardware. The program requires 8K as field 1 is uses as a display buffer. Optionally, field 2 can also be used to double the number of points displayed. An optional delay factor can be used to slow down the effective rate of the display for display hardware that cannot handle the data rate due to inadequate or non-existent display rate hardware. An additional function is implemented to allow the program to input or output individual characters while the display is processed. Note: Extended memory management is incompatible with more recent P?S/8 memory models. By proper modification, the number of points displayed can be consistent with actual system limitations. Full file name: DPATCH.PAL. BPATCH.PA Source file for a patch to P?S/8 FOCAL to implement the ability to read and write words on a designated P?S/8 storage device. The source code allows selection of a logical unit, memory buffer field, and other parameters. Data words can be reckoned as either single or double-word integers. The data can be specified to storage blocks and relative data words in a block. An additional function is available to perform an optional logical .AND. function on two arguments to aid analysis of data with imbedded function bits. Full file name: BBPATCH.PAL. VT8PCH.PA Source file for a comprehensive VT8E-oriented display patch to P?S/8 FOCAL. Functionality is available to output to all displayable pixels on the screen including the ability to create a reverse video graphical display. Character output is also available in all available VT8E-supported attributes. A variety of O(utput) commands are implemented to allow complete customization of the output to any supported device including the typical P?S/8 configuration both with and without the presence of the Logical Console Overlay. Graphical output can be mixed with character output can be displayed [or either alone]. [Note: There may be newer versions of this file contingent on newer releases of the VT8E custom version of the Logical Console Overlay due to interaction and potential program conflicts. Full file name: VT8PCH.PAL. OPATCH.PA Source file for the overlay to P?S/8 FOCAL to implement output and input redirection to various devices; most of the functionality of redirection is derived from the VT8PCH source file with all of the VT8E-oriented functions removed. This allows another display device to be used if desired. The FIO function used in several other FOCAL patch files is implemented to allow the FOCAL program to process individual input and output characters. [Note: The FDIS function is replaced with FIO. This allows one of the other FOCAL patch files to be used in conjuction with OPATCH.] Full file name: OPATCH.PAL. [End-of-file]