K12MIT on PDP-12

Vincent Slyngstad vincent.slyngstad at gmail.com
Fri Nov 26 19:48:23 CST 2021

On 11/25/2021 1:15 AM, Christian Corti via cctalk wrote:
> On Wed, 24 Nov 2021, Vincent Slyngstad wrote:
>> I haven't had much use for K12MIT -- the tools that come with the 
>> latest SerialDisk can take apart and rebuild/modify bootable/server 
>> images, so I just copy whatever to or the directory those tools are 
>> using and rebuild the image (or re-explode the server image and copy 
>> it out, to go the other way).
> I haven't understood the tools to build these disk images. There is no 
> documentation IIRC. But I use SIMH and have a transfer disk image that I 
> can mount with SerialDisk. There is one nuisance, though: SerialDisk 
> won't see the updated image unless restarted. The advantage of SIMH is 
> that I can "import" paper tape images (BIN or ASCII). That is something 
> even PUTR can't accomplish.

It has become clear that my documentation is inadequate.  (You aren't 
the first to complain.)

As mentioned in the installer/README.md, the "sdsk" script is the fancy 
"does it all" installer.  It requires perl, a couple of other packages 
as mentioned, and the tools from the "tools" directory.

As mentioned in the tools/README.md, the tools directory is a subset of 
the "8tools", a suite of software forensics tools which are targeted at 
the PDP-8.  (Instructions in tools/README.md on where to get those.)
The 8tools do come with a "doc" sub-directory with a write-up of each tool.

The tools, with the exception of the cross-assembler (C source 
provided), are perl scripts, and contain source code but not really any 

pal is a cross-assembler, which will take PAL source and generate a 
listing (.lst) and a binary (.bin).  It's main use is to convert 
Serialdisk source in ../handler to .bin files.  (Do the "make" in 
../handler first!)

bin2bn converts .bin files to proper OS/8 format by padding them with 
trailer bytes to a multiple of the OS/8 block size.  The result can be 
included with the files used to build OS/8 images.

bincmp is a comparison tool which will diff .bin (or .bn) files.

os8xplode takes a ".dsk" file and explodes it into directories 
containing the individual files for each file-system found.  It also 
writes an ".xml" description of the OS/8 volume so that "mkdsk" can 
re-construct it.

mkdsk reads the .xml mentioned above, and the various individual files, 
and reconstructs the specified OS/8 volume.

os8implode is a tools that scans the (probably modified) directories 
associated with a disk volume, and writes a new .xml description 
suitable for mkdsk.  The magic "dot" files will be used to reconstruct 
the system areas, and all files that match the OS/8 "6.2" naming 
convention will be included in the new image.

installer/sdsk, then, rounds up the SerialDisk drivers from ../handler 
for inclusion in the new volume, then runs os8implode and mkdsk to 
construct a volume that has the .bn files for the drivers.  Then it runs 
SIMH (see "installer/runbuild" and "installer/pdp8.ini").  SIMH will 
then be fed the commands to convert your OS/8 volume into a SerialDisk 

runbuild is an expect script, which is why you need to install expect :-).

For this to work correctly, you need to install the packages mentioned 
in the installer/README.md and add the tools directory to your path. 
Then a simple ./sdsk should work.  (You can edit sdsk to select another 
image from ../disks.)  Your new volume will have a name like 
"diagpack2.new", and can be served with the server from ../server.

Hope that helps!


More information about the cctech mailing list