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