KERMIT-12 Release Disk Information File a/o 11-Jul-1992. Description of files on RT-11 format double-density (RX02) diskettes. Diskette #1 Source Files Name Size Block Date K12MIT.PAL 453 14 6-Sep-90 K12PCH.PAL 50 467 6-Sep-90 K12ENC.PAL 71 517 8-Jul-92 K12DEC.PAL 69 588 8-Jul-92 K12PRM.PAL 3 657 6-Sep-90 K12CLR.PAL 2 660 30-Aug-90 K12ENB.PAL 47 662 1-Oct-91 K12DEB.PAL 45 709 22-Oct-91 K12IPL.PAL 19 754 6-Oct-91 K12IPG.PAL 23 773 8-Oct-91 192 796 10 files in 782 blocks, 192 free blocks. Diskette #2 Documentation and Support Files Name Size Block Date K12MIT.ANN 48 14 11-Jul-92 K12MIT.UPD 3 62 11-Jul-92 K12MIT.DOC 135 65 6-Sep-90 K12MIT.NOT 56 200 11-Jul-92 K12MIT.ENC 24 256 6-Sep-90 K12PL8.ENC 24 280 30-Aug-90 K12CRF.ENC 17 304 30-Aug-90 K12GLB.ENC 6 321 5-Sep-90 K12MIT.LST 30 327 6-Sep-90 K12MIT.DSK 52 357 11-Jul-92 K12ENC.DOC 24 409 31-Aug-90 K12MIT.BWR 74 433 1-May-92 K12MIT.BOO 18 507 1-Oct-91 K12PL8.BOO 18 525 1-Oct-91 K12CRF.BOO 12 543 1-Oct-91 K12GLB.BOO 4 555 1-Oct-91 K12IPL.DOC 9 559 6-Oct-91 K12FL0.IPL 18 568 8-Oct-91 K12FL1.IPL 18 586 8-Oct-91 K12IP0.ODT 4 604 6-Oct-91 K12IP1.ODT 4 608 6-Oct-91 376 612 21 files in 598 blocks, 376 free blocks. Description of individual files. K12MIT.PAL This is the current release of KERMIT-12 in source form. The beginning of this file contains much information about setting up various hardware (KL-8, etc.) and software settings for KERMIT-12 internal operation; the first 30-35 pages of the listing file created by PAL8 are available as a stopgap user guide in the form of K12MIT.DOC. It is extremely important to read the section on assembly instructions for K12MIT, as non-default switches must be set for proper assembly. Due to the sorry state of the predecessor source (K08MIT) this file is based on, it has taken an extreme amount of effort to overcome many former limitations on many levels; there are still many problems which only development time (when available) will overcome. There is also a lot of inconsistency of implementation, i.e., some features are totally finalized (or are so written in such a way that only a non-existent section of code could "wake up" the feature), while others are bound to be "bodily replaced" (such as the low-level protocol implementation which can "blow up" when dealing with certain atypical (though perfectly reasonable) KERMIT implementations which pass data such as lower-case file name characters, etc.) when time is available. Approx. 2/3 of the source code and 80% of the current file contents have been written by Charles Lasner taking advantage of over 20 years of PDP-8 hacking and "cook-book" methods, etc., including some never-before-seen techniques "borrowed" from P?S/8 (P?S/8 is an alternate PDP-8 operating system and is copyright CLA Systems). Every new piece of code added to KERMIT-12 usually represents an exemplary method for handling a given task, often producing "quantum leap" improvements over the former code; see the built-in edit history for details. It should be noted that KERMIT-12 runs on the minimum OS/8 family configuration of 8K 12-bit words total main memory (including the operating system; this could change in future versions!) and is probably the smallest known (in terms of total executable binary code) KERMIT implementation. (If a P?S/8 KERMIT is written, it will run on a smaller machine, only 4K 12-bit words!) A rough table of improvements (wish list?) includes: a) 100% rewrite of the command parser to conform to accepted guidelines of most KERMITs. b) 100% rewrite of the protocol-related features to allow for a robust (though minimal) KERMIT implementation that should work in all cases. c) Adding in local feature improvements (Connect mode parity support, VT-100 terminal support, command files, etc.) which depend on the better command processor to implement efficiently. d) Adding in protocol improvements such as negotiated parameters (eight-bit, repeat-count compression, file attributes, server mode, etc.) and session statistics (internally and visually on-line). e) Additional "frills" such as scripting language, macros, etc., as well as anything else someone can add to this list. K12PCH.PAL This is the official "patch" file for K12MIT.PAL. All relevant customizing can be accomplished within K12PCH.PAL, as all conditional parameters and their consequences have been copied to K12PCH.PAL, leaving only the "pure" code behind in K12MIT.PAL. A standard assembly of K12MIT.PAL producing K12MIT.BN (or K12MIT.SV via ABSLDR.SV) can be overlaid by K12PCH.BN to accomplish any relevant changes to configure a custom version. If any parameter causes this convention to be violated, please notify Charles Lasner, as this specification must be met to support the ability for a minimal system to configure KERMIT-12 from K12MIT.SV and K12PCH.BN on modest hardware (such as one pair of RX01 only). Use of K12PCH.PAL mandates a local banner message for the running KERMIT.SV which should be locally modified as necessary. The default message is "Insert Local User Message Here" to encourage customization. K12ENC.PAL This is an encoding program (aka ENCODE) to convert OS/8 files in any format to a "printable" ASCII format suitable for transmission through any medium which doesn't "mangle" the printing ASCII characters from 0 through 9, and A through V (or a through v). Several binary files are distributed in ENCODE format (see elsewhere). All characters outside of the printing ASCII character set are ignored except for the necessity for "white-space" to exist between the two fields of the optional (FILE XXXXXX.XX) command, which specifies the name of the original (un-encoded) file. Several other optional commands are supported; see K12MIT.ENC as an example of all of them. When properly decoded (see K12DEC.PAL description below), the original file is totally restored except for additional information words from the directory (not really in the file itself!), thus only the creation date (if the directory is setup to support it) is lost. Users of ENCODE are encouraged to use the (REMARK .....) command to help in the restoration of the file. Assembly instructions as well as usage examples are provided in the source file. NOTE: output files created by this program can overwrite existing files with identical names; use this utility carefully! The format used by ENCODE (and DECODE) was designed by Charles Lasner and Frank da Cruz to allow seven-bit ASCII transmission of arbitrary binary files (any file where the eight-bit representation must be maintained, such as OS/8 files unpacked/packed as strings of eight-bit bytes) through "hostile environments," such as seven-bit ASCII-only KERMIT (alas, the current sorry state of KERMIT-12), or various network E-mailers. An optional checksum feature (supported on the PDP-8 version) will ensure against data corruption. The format is robust enough to allow extraneous "white-space" ( , /, etc.) to be introduced by various intermediate "editors" with no loss. It is hoped that this format is adopted on many systems, as it was designed to overcome some of the limitations of the former (albeit extremely popular) UUENCODE and .BOO formats used elsewhere. K12DEC.PAL This is an auxiliary utility (aka DECODE) to decode the encoded binary files created by ENCODE into their original form. (See description of K12ENC.PAL.) The files can be recreated with any arbitrary file name including the original file name if embedded within the encoded file (embedded file name commands are optional to the encoded file format.), and can be directed to any OS/8 file-structured device. Since this utility is potentially to be used on systems with "ancient" assemblers, the source file has been restricted in the use of "frill" features, so it can be assembled by virtually any known standard released version of PAL8 associated with any release of PS/8, PS/12, OS/8, OS/12, OS/78, OS/278, etc., and should be used to decode K12PL8.ENC and K12CRF.ENC into PAL8.SV AND CREF.SV respectively, which will then allow further assemblies with the latest PAL8 and CREF (Version B0). Assembly instructions as well as usage examples are contained within the source file. NOTE: output files created by this program can overwrite existing files with identical names; use this utility carefully! K12PRM.PAL This is an example of a custom parameter file ("PARAM" in the documentation) for use with either K12MIT.PAL or K12PCH.PAL. It sets most of the common parameters to their likely (possibly default) values. VT-78-specific parameters are given for SLU2 support; a VT-78-specific banner message is created as an example of a user-defined banner message. K12CLR.PAL This file is a simple memory-clearing file. All KERMIT-12 loading memory is pre-cleared by loading K12MIT.BN over the binary file K12CLR.BN derived from this file. This yields "cleaner" core-image files which will compress better when encoded with ENCODE (K12ENC) or ENBOO (K12ENB). K12ENB.PAL This file is a utility program to encode any OS/8 file into .BOO format for distribution via any "ASCII" path much the same as the ENCODE utility. While not as robust as ENCODE format, .BOO files are generally smaller, which may be desirable. This implementation uses length correction bytes at the end of any file requiring it. The ultimate decoding program must support this aspect of the format to ensure reliable file recreation. This utility, as well as the companion K12DEB (see below) use the standard OS/8 unpacking scheme internally to ensure proper file representation on other systems. This allows ASCII (albeit "delicate") files to be encoded/decoded between systems. This allows exchange of such files as TECO macros without loss. K12DEB.PAL This file is a utility program to decode .BOO format files back into their original (binary) form. Length correction bytes are supported to ensure proper file decoding. Any file encoded with ENBOO (aka K12ENB) will decode perfectly back into the original form as long as the file's contents are intact other than white-space and other insignificent "cosmetic" considerations. Files not originating from OS/8 (not an exact multiple of 384 bytes) will be padded with null bytes to fill the rest of an entire OS/8 record. Files stored this way and then encoded again will reflect these extra null bytes. This implementation doesn't check for line terminations, so files delivered without proper / line termination are acceptable. K12IPL.PAL This file is a utility program to load portions of KERMIT-12 directly into memory without any error checking or recovery method. It is used to create K12MIT.SV "from the ground up." Once K12MIT.SV has been created, this utility should be abandoned in favor of K12MIT.SV to acquire all further files. Use this utility only if no other method is available, as it is inherently unreliable. The safest way to use it is with a local dedicated connection to another machine via null modem. K12MIT.SV is available split into single-field encoded files to be loaded by this program. Documentation on the entire loading process is contained within the source file. The binary version(s) of this program can be directly keyed into ODT if desired as the shortest way to load K12MIT.SV if desired. (See K12IP0.ODT and K12IP1.ODT description below.) K12IPG.PAL This file is a utility program to generate the .IPL format files (K12FL0.IPL and K12FL1.IPL from K12MIT.SV) meant to be loaded with IPL0.SV and IPL1.SV as created by the user from K12IPL.PAL. It is primarily a development tool and must be modified if K12MIT.SV is enlarged to occupy an additional memory field. K12MIT.ANN This is the release announcement file for KERMIT-12. K12MIT.UPD This is the release update file for KERMIT-12. K12MIT.DOC This is a collection of hints and kinks, etc. regarding KERMIT-12, including hardware-specific recommendations for customizing and assembling KERMIT-12 for a variety of configurations. The edit history of KERMIT-12 is also included. (This file is the beginning of the file K12MIT.PAL. It is intended for those who do not obtain K12MIT.PAL, the main source code, which is much longer and beyond the filing capabilities of some of the smaller (though supported) systems. By using the information in K12MIT.DOC, KERMIT-12 can be created by merely obtaining all of the files except K12MIT.PAL.) K12MIT.NOT This is a collection of release notes for the latest version. New issues raised or solved by this release will be collected here. Old, but open issues may be retained in this file also. K12MIT.ENC This is the standard assembly of the distributed K12MIT.PAL (using PAL8 Version B0) into K12MIT.BN which is then loaded (using ABSLDR.SV) over K12CLR.BN to produce K12MIT.SV which is then converted to ENCODE format (using ENCODE.SV (aka K12ENC.SV) as described above). All parameters are set to their normal defaults including those parameters which cause the local banner message to be generated as a valid null message (in case K12PCH.BN is not loaded over K12MIT.SV). This file should first be decoded with DECODE.SV (aka K12DEC.SV) into K12MIT.SV and then overlaid by K12PCH.BN to create a customized local version. The resultant customized version should be named KERMIT.SV (or any other appropriate file name), and not be named K12MIT.SV, to avoid confusion with the standard release file of KERMIT-12; it is likely all future releases will use this naming convention. K12PL8.ENC This is PAL8 Version B0 from the "official" release of OS/278 Version 2, i.e., the version available as DECUS DM-101, in ENCODE format. It has no actual dependencies on any cpu hardware extensions beyond the classic PDP-8 (as was originally intended). PAL8 Version B0 and its companion CREF Version B0 (see below) will run on any OS/8 family member system. There is a minor quirk of PAL8 Version B0 documented in K12MIT.PAL regarding interaction with the TTY: handler of operating systems prior to OS/278, but in all other respects this should be treated as a replacement for all prior PAL8 releases. This version supports 128k assembly as do several prior versions; the listing format will truncate one column earlier on wide source file input lines. K12MIT.PAL requires the use of PAL8 Version B0 (or essentially any 2-digit release just prior to Version B0; in any case no versions prior to Version 10A) for proper assembly. PAL8 Version B0 is distributed as a convenience to KERMIT-12 users. K12CRF.ENC This is CREF Version B0 from the "official" release of OS/278 Version 2, i.e., the version available as DECUS DM-101, in ENCODE format. It has no actual dependencies on any hardware extensions beyond the classic PDP-8 (as was originally intended). Besides fixing several long-standing bugs of CREF, this version is the required companion to PAL8 Version B0. This is the only known CREF version that will format 128k-capable assembly output correctly, which was a major sore point for three prior releases, preventing their proper use; many users have had to stick with PAL8 V10A and CREF V3 until this release. CREF Version B0 is distributed as a convenience to KERMIT-12 users. K12GLB.ENC This is a TECO macro K12GLB.TEC (aka GLOBAL.TEC) which maintains the concordance between K12MIT.PAL and K12PCH.PAL. It is distributed in ENCODE format to protect the rigid format requirements of a TECO macro. All global symbols required by K12PCH.PAL are equated within K12MIT.PAL in a special format required by GLOBAL.TEC. The OS/8 MUNG command is used to update K12PCH.PAL whenever KERMIT-12 development (within K12MIT.PAL) dictates. KERMIT-12 developers must fully understand how to use this utility. K12MIT.LST This file is a symbol-table listing of K12MIT.PAL minus the code listing. It is needed by K12GLB.TEC for the maintenance of K12PCH.PAL. K12MIT.LST can be created from K12MIT.PAL merely by assembling K12MIT.PAL as documented within K12GLB.TEC; it is provided in the distribution for those unable to obtain the main source (K12MIT.PAL) due to its size. K12MIT.DSK This file, which explains the KERMIT-12 distribution files as they appear on the RT-11-format RX02 release diskettes. K12ENC.DOC This is a description of the encoding format used for the ENCODed binary files (.ENC) in the KERMIT-12 release. Related issues and file considerations are also discussed to foster future encoding formats, since the format is subject to possible change. K12MIT.BWR This file documents known problems with the current release of KERMIT-12 and related utilities. Possible workarounds are also discussed. K12MIT.BOO This is the standard assembly of the distributed K12MIT.PAL (using PAL8 Version B0) into K12MIT.BN which is then loaded (using ABSLDR.SV) over K12CLR.BN to produce K12MIT.SV which is then converted to .BOO format (using ENBOO.SV (aka K12ENB.SV) as described above). All parameters are set to their normal defaults including those parameters which cause the local banner message to be generated as a valid null message (in case K12PCH.BN is not loaded over K12MIT.SV). This file should first be decoded with DEBOO.SV (aka K12DEB.SV) into K12MIT.SV and then overlaid by K12PCH.BN to create a customized local version. The resultant customized version should be named KERMIT.SV (or any other appropriate file name), and not be named K12MIT.SV, to avoid confusion with the standard release file of KERMIT-12; it is likely all future releases will use this naming convention. It is conceivable that distribution "paths" may be "hostile" to .BOO format thus making K12MIT.SV (or other files) undeliverable when encoded in .BOO format. For example, some users acquire KERMIT-12 via a path including WPS and WPFLOP.SV. .BOO files cannot reliably pass through this process. In this or any other "troublesome" case, the ENCODE format equivalent file is recommended for distribution. K12PL8.BOO This is PAL8 Version B0 from the "official" release of OS/278 Version 2, i.e., the version available as DECUS DM-101, in .BOO format. It has no actual dependencies on any cpu hardware extensions beyond the classic PDP-8 (as was originally intended). PAL8 Version B0 and its companion CREF Version B0 (see below) will run on any OS/8 family member system. There is a minor quirk of PAL8 Version B0 documented in K12MIT.PAL regarding interaction with the TTY: handler of operating systems prior to OS/278, but in all other respects this should be treated as a replacement for all prior PAL8 releases. This version supports 128k assembly as do several prior versions; the listing format will truncate one column earlier on wide source file input lines. K12MIT.PAL requires the use of PAL8 Version B0 (or essentially any 2-digit release just prior to Version B0; in any case no versions prior to Version 10A) for proper assembly. PAL8 Version B0 is distributed as a convenience to KERMIT-12 users. K12CRF.BOO This is CREF Version B0 from the "official" release of OS/278 Version 2, i.e., the version available as DECUS DM-101, in .BOO format. It has no actual dependencies on any hardware extensions beyond the classic PDP-8 (as was originally intended). Besides fixing several long-standing bugs of CREF, this version is the required companion to PAL8 Version B0. This is the only known CREF version that will format 128k-capable assembly output correctly, which was a major sore point for three prior releases, preventing their proper use; many users have had to stick with PAL8 V10A and CREF V3 until this release. CREF Version B0 is distributed as a convenience to KERMIT-12 users. K12GLB.BOO This is a TECO macro K12GLB.TEC (aka GLOBAL.TEC) which maintains the concordance between K12MIT.PAL and K12PCH.PAL. It is distributed in .BOO format to protect the rigid format requirements of a TECO macro. All global symbols required by K12PCH.PAL are equated within K12MIT.PAL in a special format required by GLOBAL.TEC. The OS/8 MUNG command is used to update K12PCH.PAL whenever KERMIT-12 development (within K12MIT.PAL) dictates. KERMIT-12 developers must fully understand how to use this utility. K12IPL.DOC This file is a description of the encoding format for .IPL files as used in the direct loading method of acquiring K12MIT.SV. K12FL0.IPL This file is the field zero data of K12MIT.SV encoded into .IPL format for use with IPL0.SV (from K12IPL.PAL). K12FL1.IPL This file is the field one data of K12MIT.SV encoded into .IPL format for use with IPL1.SV (from K12IPL.PAL). K12IP0.ODT This file is a sample of an ODT session used to create IPL0.SV using manual entry into ODT and a SAVE command only. Some values shown are default and may need to be customized according to parameters documented in K12IPL.PAL. Using IPL0.SV (and IPL1.SV from K12IP1.ODT as described below) is the shortest way possible to obtain K12MIT.SV when no other method is available. K12IP1.ODT This file is the field one companion to K12IP0.ODT used to create IPL1.SV using similar means to those described for IPL0.SV. Both IPL0.SV and IPL1.SV are required to directly obtain K12MIT.SV. [end of file]