Logo

Intel file repository

Intel file repository

Repository structure

The main repository files are stored under two directory trees Intel80 and Intel86. With a few exceptions, the main structure of these trees is

applicationName / version / files

This makes it straightforward to identify not only the application, but its version. As an example link80 files are stored in the following structure

Intel80/link80/1.3/link
Intel80/link80/1.3/link.ovl
Intel80/link80/2.1/link.
Intel80/link80/2.1/link.ovl
Intel80/link80/3.0/link
Intel80/link80/3.0/link.ovl

Key exceptions to this structure are:

  • Some common libraries are grouped under libraries and libraries.86.
  • plm80.lib does not have a version identifier as there is only one known version, it is under libraries
  • dirListings - this contians directory listings from some of the original disks I scanned. They are probably of little use.

The final file names are mostly lower case versions of the ISIS names, however some had additional characters, commonly a ~ followed by a number or some characters. These files are variants of each other. A common source of a variant is that the tool has been recompiled or relinked.

It should be noted that I have removed some duplicates, so you may find the file reference is not as expected. I have however in the main limited removal to minor files e.g. source samples and I checked that files were identical.

Installing your own copy of the repository

Although the individual files in the repository can be browsed here, it is recommended that you download repository-220321.zip, which contains all of the files, the catalog, my recipe files and tools to make best use of the repository.

This is an updated zip file that contains more recipe files (218), labels (134), a few more files and updated applications which contain a number of improvements and fixes.

Assuming you download the repository, extract the files in your directory of choice, this will create the following files and sub-directories.

ncatalog.dbthe current repository catalog
prebuilt/prebuilt win32 executables for unidsk, mkidsk and irepo
Intel80/the directory tree for Intel ISIS 8080/8085 applications
Intel86/the directory tree for Intel ISIS 80x86 applications
labels/jpg images for some of the disk labels
recipes/my collection of recipe files for ISIS disks

To use the repository the following steps are needed

  • Create an environment variable IFILEREPO setting its value to the top level directory where you extracted the files
  • Add the prebuilt directory to you PATH environment variable or copy the executables to a location that is on your execution PATH

Note, if you require alternative executables, please clone my disktools repository site and build your own versions.

If you intend to use my recipe files, please review my naming convention notes. I have also added additional notes to some of the recipes, e.g. replacement of corrupt files, so it is advisable to read the files before using.

Managing the repository with irepo

The primary tool to manage the repository is irepo. This replaces older perl scripts I initially used.

Note: the environment variable IFILEREPO must be set to the location of the repository where ncatalog.db and the directory trees intel80 and intel86 are located. See installating the repository above.

usage

irepo [options] file*

Where options are
-hshow usage help
-v show basic version information
-Vshow extended version information
recipe management
-uupdate recipe @files, default is they are skipped
-ashow alternatives in @files, even when the given repository location matches
catalog management
-Rrebuild the repository catalog
-Dshow files with the same catalog key
  
fileshow repository match for a file. Recipe @files are skipped unless -u is specified
Operating system wildcard characters are supported

The default operation is calculate the key (sha1) for each of the specified files and if a copy lists in the repository it shows where it is. As the repository is structured around application and version numbers this makes it simple to identify files.

The other common operation is with the -u option. This refreshes existing recipe flies beginning with the @ character, updating the key and location as necessary.

Note whilst the application attempts to make a sensible decision on updating the recipe file, there is one scenario where its default behaviour may not be what is wanted. As an example, in the following recipe line

 ASXREF,,jQ9fCn6lqGEYXktQevYfR6257K0:^Intel80/asxref/2.1/asxref~1

If you wish to change the file referenced from ^Intel80/asxref/2.1/asxref~1 to ^Intel80/asxref/2.1/asxref~2 simply changing the recipe line to

 ASXREF,,jQ9fCn6lqGEYXktQevYfR6257K0:^Intel80/asxref/2.1/asxref~2

will cause problems, since when irepo -u is used, the location is reverted back to asxref~1 as the key has priority.

 To get around this problem change some or all of the key, this will force irepo to insert the new key.

Warning, when irepo is used with a list of file names, it calculates the file hash key for each file, so that it can check whether it is in the repository. If you provide the name of a very large file e.g. several MB this can slow down the scanning significantly. For normal ISIS files you are unlikely to notice any delay.

]Disk Tools] - [unidsk & mkidsk]


Last Updated: 21-Mar-2022Copyright © 2022 Mark Ogden