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 documentation.

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 volume.

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!

        Vince

Reply via email to