larsbrinkhoff / pdp10-its-disassembler

Disassembler and other tools for files in ITS formats
GNU General Public License v2.0
19 stars 13 forks source link

Framework for "container" files #122

Open larsbrinkhoff opened 2 years ago

larsbrinkhoff commented 2 years ago

Create a framework for "container" files similar to work and file formats. A "container" in this context is a file or other medium containing other files. Common operations on containers are:

Currently supported container formats with ad-hoc support:

larsbrinkhoff commented 2 years ago

Future extension, but not an immediate goal, would be to have other tools operate on a file inside a container. E.g. disassemble a single file on a tape.

larsbrinkhoff commented 2 years ago

Pie in the sky. Generalize this to "containers in containers" to any depth.

The default top-level container would be the local host file system.

atsampson commented 2 years ago

I'd like eventually to add support for Multics tapes and archives as well (which aren't PDP-10, but are 36-bit, so the framework here would be useful).

atsampson commented 2 years ago

Also pie in the sky: provide a library to generate a container on the fly from a directory of files, so you could just attach a directory to a tape drive in an emulator and have it produce a tape automatically when read.

larsbrinkhoff commented 2 years ago

Multics is welcome here. I already diverged from 36-bitness by adding some 8-bit and 16-bit based formats. Really, any word size should work as long as it fits in a word_t (minus some tape metadata bits).

larsbrinkhoff commented 2 years ago

The idea to provide a library is interesting. More generally, various components could be packaged up as stand-alone libraries. We can quickly identify a few of those: