Add README.md
[pdp8.git] / sw / kermit / k12 / k12mit.ann
CommitLineData
81e70d48
PH
1Date: Sat, 11 Jul 92 15:00:00 EDT
2From: Charles Lasner <lasner@watsun.cc.columbia.edu>
3Subject: A few more release files for Kermit-12
4
5 Now available are two new versions of K12DEC and K12ENC, which
6have a new feature for image transfer of an entire device optionally
7split into two parts. This comes at the request of a user, and was
8quite easy to add. As before, the sources document how to use the
9programs, etc.
10
11 The new files have been installed in the regular places:
12
13BITNET/EARN Internet
14KERMSRV@CUVMA watsun.cc.columbia.edu Description
15
16 K12MIT ANN kermit/d/k12mit.ann Announcement of KERMIT-12
17 K12MIT UPD kermit/d/k12mit.upd Release update (this) file
18 K12ENB PAL kermit/d/k12enb.pal .BOO-format encoding program
19 K12DEB PAL kermit/d/k12deb.pal .BOO-format decoding program
20 K12MIT NOT kermit/d/k12mit.not Release notes file
21 K12MIT DSK kermit/d/k12mit.dsk Description of RX02 diskettes
22
23------------------------------
24Date: Wed, 11 Mar 92 15:52:25 EST
25From: Charles Lasner <lasner@watsun.cc.columbia.edu>
26Subject: A few more release files for Kermit-12
27
28 Now available are two new versions of K12DEC and K12ENC, which
29have a new feature for image transfer of an entire device. This
30comes at the request of several users, and was quite easy to add. As
31before, the sources document how to use the programs, etc.
32
33 I am working on an upgrade (specifically a handler) for OS/278 to
34allow complete transfer of RX50 diskettes as an encoded ASCII-fied
35file. This utility merely handles records available to the normal
36file structure, but in the OS/278 RX50 case (from DEC) this is not
37the entire disk structure. In part this is a safety feature, so you
38can't access the "slushware" tracks; you can't transfer an entire
39image of an RX50 currently. When the system is upgraded with a
40suitable handler, the encoder and decoder gain access to the entire
41device; all other system utilities can utilize the entire RX50 as an
42effectively larger device.
43
44 If the handler project takes too long (it is actually quite
45involved surprisingly enough) I will possibly resort (by popular
46demand) to releasing an interim program that does its own RX50 I/O as
47a special case of encode and decode. That would be withdrawn later
48when the handler is available. (DECmates are becoming available to
49various people around the world, but they don't have the support
50software to get it running; this method would allow them to get their
51machines up after they had merely an OS/278 bootable disk (available
52from DECUS) and the Kermit-12 files :-).)
53
54 The two new utilities are currently useful for other devices.
55For example, an entire OS/8 RX01 or RX02 can be encoded as a file.
56With the WPS-oriented handlers installed (commonly available), images
57of an RX01 WPS document disk can be encoded/decoded directly. (This
58even includes bootable WPS RX01 systems diskettes, or even RT-11 RX01
59disks!) The existant WPS/COS-style handlers allow transfer of any
60RX01 as long as track zero can be ignored. This is generally the
61case on RX01/02, but NOT RX50, thus the above problem.
62
63 The new files have been installed in the regular places:
64
65BITNET/EARN Internet
66KERMSRV@CUVMA watsun.cc.columbia.edu Description
67
68 K12MIT ANN kermit/d/k12mit.ann Announcement of KERMIT-12
69 K12MIT UPD kermit/d/k12mit.upd Release update (this) file
70 K12ENB PAL kermit/d/k12enb.pal .BOO-format encoding program
71 K12DEB PAL kermit/d/k12deb.pal .BOO-format decoding program
72
73------------------------------
74Date: Mon Oct 21 1991 12:00:00 EDT
75From: Charles Lasner <lasner@watsun.cc.columbia.edu>
76Subject: Release of Additional Kermit-12 Utilities
77Keywords: .BOO, PDP-8, PDP-12, VT-78, DECmate, OS/8
78Xref: DEC PDP, See PDP
79
80 This is a release of companion utilities to KERMIT-12 for the
81purpose of enhancing file distribution. Two areas are addressed: 1)
82Initial program acquisition, 2) Binary file encoding.
83
841) Utilities are provided to create and load copies of KERMIT-12 "on
85the fly" from a server such as a remote time-sharing system or a
86local PC on the other end of a "clean" connection to the PDP-8.
87
88 Unfortunately, most PDP-8 family systems lack a communications
89predecessor to KERMIT-12. Most communications applications were
90limited to terminal emulation only, so it is rare that any PDP-8
91system has an existing utility sufficient to acquire KERMIT-12. (Of
92course some sites have prior versions of KERMIT-12 already.)
93
94 Assuming an error-free serial connection to the other system, it
95is possible to down-load KERMIT-12 directly into the PDP-8 memory
96without a protocol. This is similar to the process used for years by
97DEC field service to load paper-tape copies of diagnostics. Loading
98is limited to a single PDP-8 field at a time. Performing several
99load operations yields intermediary image files which can be combined
100into K12MIT.SV identical to the release version (except for
101irrelevant loading artifacts which is a consequence of the operating
102system itself).
103
104 The format chosen for Initial Program Load (.IPL) is an encoding
105that yields ASCII files that should pass through any system with
106ease. The scenario of loading is assumed to be either direct
107system-to-system, or between a remote system and one of its
108terminals. All control characters (such as CR and LF) are ignored,
109thus the encoded files contain frequent line breaks to make the
110encoded file pallatable to the serving system. Strictly lower-case
111letter messages are added at the beginning and end of the file to
112serve as leader trailer fields as well as file documentation. Please
113note that while spaces are insignificent, the rest of the ASCII
114character set is used for loading information, so editing of .IPL
115files must scrupulously avoid changes to the "body" of the file.
116
117 A simple program (K12IPL.PAL) is provided for .IPL loading of a
118single field. The user must customize it for local requirements, and
119then enter two variant forms of the loader. (Future releases could
120require additional variants to be created. The current release
121occupies two fields.) This process is similar to customizing the
122communications requirements of KERMIT-12 itself. The program is
123sufficiently small to allow manual entry into the system debugger
124(ODT) directly. Examples of such an entry session are provided as
125K12IP0.ODT and K12IP1.ODT. The source program may also be retyped by
126any available means (TECO, EDIT, etc.) if desired. Only standard
127PDP-8 peripherals are supported such as KL8E, KL8-JA, etc., as
128opposed to KERMIT-12 itself which supports various DECmate
129communications hardware as well. It was felt that the greatly
130increased complexity of supporting the DECmate communications ports
131would make this process too unwieldy. However, it is possible to
132load the data through the DECmate's printer port. The VT-78 and all
133prior PDP-8 models are fully supported.
134
135 Distribution files include K12FL0.IPL and K12FL1.IPL which are
136the encoded copies of field zero and field one respectively.
137K12IPL.DOC is a discussion of the .IPL encoding format itself.
138K12IPG.PAL is the utility used to create K12FL0.IPL and K12FL1.IPL
139from the standard release file K12MIT.SV. (K12MIT.SV is itself
140distributed in encoded form as K12MIT.ENC and now also K12MIT.BOO
141(see below). K12IPG can be used with other programs for similar
142purposes if required.)
143
1442) Utilities are provided for encoding and decoding arbitrary OS/8
145files using the popular .BOO format encoding scheme. .BOO format
146should be compatible across dis-similar systems thus avoiding
147intermediary "hazards."
148
149 While quite popular in the MS-DOS world for file distribution
150purposes, .BOO format as originally designed has an inherent weakness
151that makes reliable use on OS/8 family systems impossible. I have
152designed an extension to the format to make .BOO format sufficiently
153reliable to allow implementation of an encoder and decoder for OS/8
154systems. Note that ENCODE format is still the format of choice for
155file distribution because of its more robust nature, but the shorter
156files created by a .BOO encoder may be desirable in certain
157circumstances. .BOO format files cannot pass through WPFLOP "paths"
158to distribute files on DECmates or VT-78, so ENCODE format is
159mandatory on systems used this way.
160
161 The relevant problem with .BOO format has to do with file length
162anomalies that are a consequence of the format itself. .BOO files
163either end on a repeat compression field or a complete three-byte
164data field expressed as four characters, each only six bits
165significant. Should a file end with only one or two eight-bit data
166bytes, two or one additional null bytes will be appended to pad out
167the last data field. This leads to files that are one or two bytes
168longer than intended. At least this is the behavior on systems like
169MS-DOS which maintain a file byte count. Since OS/8 files are
170multiples of whole records, each of which can be viewed as a
171collection of 384 bytes, any change in a file's length of even a
172single extra null byte will cause the creation of an extraneous whole
173record. Besides wasting space, it is conceivable that an OS/8 file
174corrupted in this manner could actually be dangerous to use! Note
175also that this problem can be cumulative in that repeated
176transmission between systems where the file is stored locally in some
177decoded form, and then encoded locally before transmission to another
178site, can cause the problem to worsen indefinitely. Clearly, .BOO
179format must be firmed up to prevent this form of file corruption
180before it can be used safely on PDP-8 systems. (It has also been
181noted that widely distributed .BOO encoding programs exist on certain
182systems which exhibit defects such as erroneous appendage of
183additional null bytes onto the end of the file not indicated by the
184file's contents. This is clearly a program bug and not an inherent
185problem with .BOO format design.)
186
187 The method chosen to correct the existing .BOO anomaly is to
188append a correction field to the end of every file requiring it. The
189basic correction unit is ~0 which means literally a repeat
190compression field with a count of zero. This construct is ignored by
191most .BOO decoders because it contributes nothing to the file. (At
192the bare minimum, .BOO decoders should implement the robustness of
193ignoring this type of data. It is conceivable that due to design
194error, a decoding program could "blow up" when encountering this
195data. Imagine a file lengthened by 2^32 null bytes! The exact
196amount of extraneously generated null bytes would likely be 2^{how
197many bits wide are integers on the machine} or one less than that.)
198
199 .BOO-encoded files may now contain either ~0 or ~0~0 at the end
200to indicate whether one or two bytes are to be "taken back"
201respectively. Tests on MSBPCT.BAS and MSBPCT.C as currently
202distributed by CUCCA indicate that these corrections are perfectly
203ignored, thus decoded files are erroneously inflated by one or two
204bytes. This is the expected behavior of these older decoders. When
205used with PDP-8 DEBOO.SV (distributed in source form as K12DEB.PAL),
206the correct file length is maintained. PDP-8 ENBOO.SV (distributed
207in source form as K12ENB.PAL) is the first encoding program that
208creates the correction field as necessary. It is hoped that this
209"pioneering" effort will cause other systems' encoders and decoders
210to be similarly updated.
211
212 Overall program operation for the encoder and decoder is
213identical to the equivalent programs for ENCODE format.
214Documentation is contained in the source files. As in the ENCODE
215format decoding program, the target file name can be taken from the
216original file name imbedded within the file, or optionally the user
217can specify a target file name as well as a target device. When
218encoding, the imbedded file name will always be the original name of
219the file supplied as input to the encoder. The user can specify any
220valid combination of output file name and device for the resultant
221encoded file.
222
223 OS/8 files passed through ENBOO/DEBOO are packed/unpacked
224according to the standard OS/8 "3 for 2" scheme to ensure byte
225accuracy where relevant. This allows files which are ASCII, but too
226"delicate" for ordinary transfer to be sent between unlike systems
227with total accuracy. This includes any file where the precise
228placement of CR and LF may be critical, or contains unusual
229characters in the file such as BEL or ESC. A perfect example of this
230is the interchange of TECO macros between PDP-8s (used with OS/8
231TECO.SV) and IBM-PCs (used with MS-DOS TECO.EXE) with a unix system
232as an intermediary storage site. Both end systems use like line
233termination schemes incompatible with the intermediary system. Since
234both systems support .BOO format, the files can still be sent without
235loss.
236
237 Most of the existing K12MIT-related files are unchanged.
238K12MIT.DSK is updated to reflect all new files pertaining to .IPL or
239.BOO utilities. K12MIT.ANN and K12MIT.UPD are updated per this
240announcement. All files distributed in ENCODE format are replicated
241in .BOO format.
242
243 The new files have been installed in the regular places:
244
245BITNET/EARN Internet
246KERMSRV@CUVMA watsun.cc.columbia.edu Description
247
248 K12MIT ANN kermit/d/k12mit.ann Announcement of KERMIT-12
249 K12MIT UPD kermit/d/k12mit.upd Release update (this) file
250 K12MIT DSK kermit/d/k12mit.dsk Description of RX02 diskettes
251 K12MIT NOT kermit/d/k12mit.not Release notes file
252 K12IPL PAL kermit/d/k12ipl.pal .IPL loading program
253 K12IP0 ODT kermit/d/k12ip0.odt ODT session creating IPL0.SV
254 K12IP1 ODT kermit/d/k12ip1.odt ODT session creating IPL1.SV
255 K12FL0 IPL kermit/d/k12fl0.ipl .IPL encoding of K12mit (FL0)
256 K12FL1 IPL kermit/d/k12fl1.ipl .IPL encoding of K12mit (FL1)
257 K12IPG PAL kermit/d/k12ipg.pal .IPL-format encoding program
258 K12IPL DOC kermit/d/k12ipl.doc Description of .IPL format
259 K12ENB PAL kermit/d/k12enb.pal .BOO-format encoding program
260 K12DEB PAL kermit/d/k12deb.pal .BOO-format decoding program
261 K12MIT BOO kermit/d/k12mit.boo .BOO encoding of KERMIT-12
262 K12PL8 BOO kermit/d/k12pl8.boo .BOO encoding of PAL8 Ver B0
263 K12CRF BOO kermit/d/k12crf.boo .BOO encoding of CREF Ver B0
264 K12GLB BOO kermit/d/k12glb.boo .BOO encoded TECO file macro
265
266[Ed. - Thanks, Charles! Additional information can be found in the new
267file, k12mit.not (K12MIT NOT), a message from Charles to the "PDP-8 lovers"
268mailing list.]
269
270------------------------------
271Date: Thu Sep 6 1990 11:00:00 EDT
272From: Charles Lasner <lasner@watsun.cc.columbia.edu>
273Subject: Announcing KERMIT-12 Version 10g
274Keywords: PDP-8, PDP-12, VT-78, DECmate, OS/8
275Xref: DEC PDP, See PDP
276
277 This is a maintenance release of KERMIT-12. A minor problem
278relating to incorrect CPU identification messages has been fixed.
279The problem only appeared when the CPU was a KK-8A single-board CPU;
280this configuration was previously untested. Thanks to Johnny
281Billquist of Sweden for his assistance in pinning down the problem.
282
283 KERMIT-12 operation was not affected in any other way, as only
284the DECmate-specific identification is crucial; earlier PDP-8 family
285members are treated in a generic fashion except for the "frill" of
286model identification (all PDP-8, PDP-12, VT-78 models use
287software-compatible port hardware; all DECmates are incompatible and
288must be handled individually). We are still looking for volunteers
289to test the various DECmate III and DECmate III+ configurations.
290
291 The rest of the release concerns the encoding of files into the
292"ASCII-fied" format. The format has been modified to be more robust,
293since the original method has proven itself to be problematic in
294certain practical circumstances (as reported in K12MIT.BWR).
295
296 The new ENCODing format is based on five-bit encoding with repeat
297compression. As much as 256 repeated 12-bit words will be expressed
298in a five character field. Any repeated 12-bit value can be
299compressed, as opposed to simple zero compression, as in other common
300encoding schemes. (PDP-8 files often have repeated strings of the
301value 7402 octal, which is the HLT instruction.)
302
303 The only printing characters required to pass through any
304distribution "path" are 0-9, A-V, X, and Z. The alphabetic characters
305can also be lower-case. All command lines are framed by ( and );
306all data lines are framed by < and >. These characters can be
307changed if required, as they are not part of the data; they could be
308replaced by W (w) and Y (y) if necessary. (Changing the framing
309characters requires slight modification of the ENCODing and DECODing
310programs.)
311
312 The new format supports a 60-bit file checksum to ensure proper
313decoding at the other end. The former 12-bit checksum could be
314compromised on long files.
315
316 The new ENCODing programs creates internal (REMARK commands
317stating the ENCODed file's creation date, and the original file's
318creation date. This will aid in distribution of PDP-8 files where
319the user wishes to maintain proper file dates. The date algoritm
320used is the one proscribed by the OS/8 DIRECT program. (OS/8 systems
321only OPTIONALLY support file dates, and there is an eight-year
322"anomaly" associated with identifying the year; the user must
323determine the credibility of the year portion of the date. The value
324provided by the ENCODE program for the original file creation date is
325always today's year or the previous seven years as necessary; this
326field will not be provided if the system doesn't support the required
327AIW feature.)
328
329 Overall file size is theoretically as much as 6/5 of the original
330encoding format (as the earlier format was based on six-bit
331encoding), but actual size varies downward due to slightly less file
332overhead (wider lines mean less CR LF; there is now less
333automatically generated verbiage), and the random improvement
334afforded by simple repeat compression.
335
336 Virtually all K12MIT-related files are re-released at this time.
337There are several new files. Due to the "fragile" nature of TECO
338macro files, the file K12GLB.TEC is no longer being distributed
339directly; the file K12GLB.ENC is the same file in the new ENCODE
340format.
341
342 The new files have been installed in the regular places:
343
344BITNET/EARN Internet
345KERMSRV@CUVMA watsun.cc.columbia.edu Description
346
347 K12MIT ENC kermit/d/k12mit.enc Encoded binary of KERMIT-12
348 K12MIT DOC kermit/d/k12mit.doc Documentation file
349 K12MIT BWR kermit/d/k12mit.bwr Updated "beware" file
350 K12MIT DSK kermit/d/k12mit.dsk Description of RX02 diskettes
351 K12MIT ANN kermit/d/k12mit.ann Announcement of KERMIT-12
352 K12MIT UPD kermit/d/k12mit.upd Release update file
353 K12DEC PAL kermit/d/k12dec.pal Decoding program
354 K12ENC PAL kermit/d/k12enc.pal Encoding program
355 K12PL8 ENC kermit/d/k12pl8.enc Encoded binary of PAL8 Ver B0
356 K12CRF ENC kermit/d/k12crf.enc Encoded binary of CREF Ver B0
357 K12MIT PAL kermit/d/k12mit.pal Main source file of KERMIT-12
358 K12PCH PAL kermit/d/k12pch.pal KERMIT-12 source patch file
359 K12CLR PAL kermit/d/k12clr.pal Memory clearing file
360 K12MIT LST kermit/d/k12mit.lst Symbols-only listing file
361 K12PRM PAL kermit/d/k12prm.pal Sample VT-78 config file
362 K12GLB ENC kermit/d/k12glb.enc Encoded TECO file macro
363 K12ENC DOC kermit/d/k12enc.doc Encoding format description
364
365[Ed. - Many thanks, Charles. Believe it or not, there are still quite a
366few PDP-8 based systems out there, and even some PDP-12s. You won't find
367very many other new software packages that support them!]
368
369------------------------------
370Date: 05-October-1989
371From: lasner@cunixc.cc.columbia.edu (Charles Lasner)
372Subject: Announcing KERMIT-12 Version 10f
373Keywords: PDP-8, PDP-12, VT-78, VT-278, DECmate, OS/8
374Xref: DEC PDP, See PDP
375
376 This is to announce the release and availability of a highly
377revamped KERMIT program for the complete family of Digital Equipment
378Corporation 12-bit computers, known as KERMIT-12 (or K12MIT), Ver.
37910f. Unlike its predecessors (K08MIT and K278, upon which it is
380partially based, as well as prior versions of KERMIT-12), KERMIT-12,
381as now distributed, will run on any PDP-8 model (8, LINC-8, 8/i, 8/l,
3828/e, 8/f, 8/m, 8/a), PDP-12, VT-78, or DECmate (VT-278, aka DECmate
383I, DECmate II, DECmate III, DECmate III-plus) under any OS/8 family
384member operating system. Proper operation is accomplished
385automatically. Companion utilities are provided to deal with
386"ASCII-fied" binary files in ENCODE format (a mechanism designed by
387Charles Lasner and Frank da Cruz as a proposed successor to BOO
388format); ENCODE format has been employed to distribute the binary
389portion of this release of KERMIT-12.
390
391 Due to the myriad port requirements of the various models,
392conditional parameters have been provided in the source (as well as a
393separate patching file) for models prior to DECmate I. The program
394auto-configures for all models of DECmate; parameters are available
395to select the DECmate ports (DP278, communications, printer, etc.)
396where applicable.
397
398 Many improvements have been provided to get this KERMIT "up to
399speed" relative to other KERMITs. KERMIT-12 has been tested
400successfully with many KERMIT implementations and will run at the
401maximum baud rate (and sometimes beyond the DEC-stated limit!) of the
402relevant interface. Any console terminal configuration acceptable to
403OS/8, etc. can be used at any baud rate as long as local flow-control
404protocol is obeyed; remote flow control can be disabled at console
405speeds higher than the remote line rate. Connect mode I/O is fully
406ring-buffered in all directions with local flow control always
407enabled for all console terminal operations. (This should satisfy
408all console terminal requirements ranging from 110-baud teletypes to
409built-in 350-Kbaud VT-220 emulators, since any of the gamut of these
410ASCII terminals could be the system console terminal for any of the
411KERMIT-12 supported computer configurations!).
412
413 KERMIT-12 will run anywhere OS/8 does, so it runs on any perfect
414look-alike suitably configured. Some known compatibles are:
415
416 - TPA made in Hungary, this machine is an 8/l except for the silkscreened
417 letters which are Magyar, not English.
418 - Fabritek MP-12
419 - Intersil Intercept
420 - Pacific CyberMetrix PCM-12
421 - Digital Computer Controls DCC-112 and DCC-112H
422 - Computer Extensions CPU-8 (a drop-in replacement for the 8/e or 8/a cpu
423 for a PDP-8/A-400 or -600 hex-wide box)
424 - Computer Extensions SBC-8 (a single-board computer -8 compatible based
425 on the 6120 like a DECmate, but compatible with -8 peripherals, not
426 DECmate peripherals; it also supports up to 16 comm ports)
427
428 Various emulators are available for PDP-10, 15 and the IBM-PC
429which will also support KERMIT-12 if suitably configured.
430
431 Distribution files are available from CUCCA. Testing is under
432way for some of the more obscure configurations (e.g., DECmate III
433with comm port); volunteers are welcome for this task. The author
434can provide copies to interested parties on virtually all of the
435popular PDP-8 media on a time-available basis.
436
437[Ed. - Many thanks, Charles! The files are in Kermit Distribution area D
438with prefix K12, and the previous PDP-8 versions having prefixes K08 and
439K278 have been retired. Internet users may ftp the files as kermit/d/k12*,
440and BITNET users can get them from KERMSRV at CUVMA as K12* *.]
441
442------------------------------