Commit | Line | Data |
---|---|---|
81e70d48 PH |
1 | From: Charles Lasner <lasner@watsun.cc.columbia.edu> |
2 | Subject: Initial Program Load (.IPL) format description | |
3 | ||
4 | Some of the latest KERMIT-12 binary files are encoded in a | |
5 | specialized format designed to allow direct memory loading without an | |
6 | elaborate protocol such as KERMIT. This document will describe the | |
7 | internal encoding of this format known as IPL, and related subjects. | |
8 | ||
9 | The Initial Program Load (.IPL) format is designed expressly for | |
10 | use with the IPL loading program. An error-free connection to a | |
11 | serving host is required as no checking or recovery is performed by | |
12 | the program. (The program itself is meant to be keyed in on the | |
13 | target PDP-8 where there is no other means of acquiring KERMIT-12.) | |
14 | The format is also meant to be "printable" in the same sense as | |
15 | ENCODE, .BOO, or uuencode files. This makes the file format more | |
16 | "friendly" to the host system, and allows simple editing of the file | |
17 | to insert comments, etc. | |
18 | ||
19 | An .IPL file starts with at least one lower-case character (not | |
20 | counting `) meaning any character in the range 141-177 octal. Any number | |
21 | of similar characters may follow immediately to create an arbitrary length | |
22 | leader, but the lower-case requirement must be strictly enforced. Once a | |
23 | non-lower-case character is encountered, it is accepted as the first data | |
24 | character. Data characters continue throughout the rest of the file until | |
25 | the next occurrence of a lower-case character which ends the loading. Any | |
26 | characters past this point are ignored and can be freely added as a | |
27 | trailing comment. | |
28 | ||
29 | Throughout the entire .IPL file, control characters and <SPACE> | |
30 | (000-040 octal) are ignored and may be used within the leader to make | |
31 | the file comment(s) more readable. In some loading situations, <NUL> | |
32 | or <SPACE> characters may be pre-pended to the file to give the | |
33 | operator sufficient time to run down the hall between machines in | |
34 | different rooms to start the PDP-8 loading program after first | |
35 | starting the server. Data lines are broken every 64 characters with | |
36 | <CR>/<LF> to make the file more "readable" to the host system. | |
37 | ||
38 | Each data character in the body of the file represents six bits of | |
39 | PDP-8 data encoded in the form (value+041 octal). This causes 00 octal to | |
40 | be represented as ! through 77 octal to be represented as `. Data | |
41 | characters are taken in pairs where the first character is the upper six | |
42 | bits and the second is the lower six bits of a twelve bit word. Loading is | |
43 | implied to start at 0000 of the loading field and continues through at most | |
44 | 7577. The operating system generally prohibits loading into 7600-7777. | |
45 | This is not a problem since KERMIT-12 conforms to these limitations as a | |
46 | matter of design. If the loading field is 3 or greater (or possibly 2 in | |
47 | certain configurations) then the entire field can possibly be loaded. This | |
48 | is never recommended because such a file would violate loading restrictions | |
49 | of certain configurations. (The general rule is to never load into | |
50 | x7600-x7777 for any field x in the range 0-7.) | |
51 | ||
52 | The loading field itself is not contained in the file data, so it is | |
53 | the user's responsibility to setup the loading program parameters | |
54 | accordingly. File comments (in lower-case if in the leader) often contain | |
55 | this information to aid the user. After loading is complete, the loading | |
56 | program exits to the operating system. The user must save the recently | |
57 | loaded data as an image (.SV) file by providing explicit arguments to a | |
58 | SAVE command. It is recommended that the appropriate command be contained | |
59 | in the trailer of the .IPL file as a comment. Placement at the end of the | |
60 | file allows the commentary to be in upper-case, thus allowing it to be | |
61 | given in the exact form required by OS/8. Certain characters such as "." | |
62 | are required in the complete documentation of these commands which are not | |
63 | allowed in the leader area. The leader can contain a comment referring the | |
64 | user to the end of the file for the information itself. | |
65 | ||
66 | [end of file] |