LIF utilities for the Series 80
Project description
gitea: none include_toc: true
lif80utils
The LIF80UTILS are command line utilities to handle LIF (Hewlett Packard Logical Interchange Format) files used by HP Series 80 computers.
For HP calculators HP-41, HP-71 and HP-75 see the LIFUTILS project.
Prerequisites
This software was developed and tested exclusively under Linux. Since Python is cross-platform compatibile it could theoretically run on Windows. At least the non GPIB parts.
To access a physical drive connected to a GPIB card the latest Linux GPIB Package 4.3.7 with this patch applied is needed.
Physical drive access has been successfully tested using two 3.5-inch floppy drives (HP 9121D and HP 9123D). However, for reasons yet to be determined, it is currently incompatible with the 5.25-inch HP 82901M drive.
Installation
For the latest version please download the source code or clone the repository. Generate the distribution archives using build. These archives (.whl,.tar.gz or .zip) can be installed by pip.
cd lif80utils # Where the 'pyproject.toml' is located.
python3 -m build # Generate the distribution archives.
pip install --force-reinstall dist/lif80utils-0.0.1-py3-none-any.whl # Install the package.
pip uninstall lif80utils # Remove the package.
Or install the published package from PyPI.
pip install -i https://pypi.org/simple/ lif80utils
There are also some blackbox tests coming with the package. You can run them with
python3 -m unittest discover tests/ -v
Command reference
[!CAUTION]
Risk of Data Loss: Never ever use these tools on a disk containing valuable data without verified physically write protection. If you must perform a write operation, do it on a copy.
File Specifiers
The form of the file specifier is similar to the original.
"file name[:lifpath]"
Only that the volume is not restricted to a :msus (.volume label is not supported since dots are valid characters in linux filenames and there distinction would be ambiguous).
Where :lifpath is one of the following.
:/dev/floppy Linux device (Not working for now)
:directory/ Linux directory
:path_to_image LIF image file
:Dnnn GPIB device
In order of priority.
All :lifpath character strings begin with a colon.
The :lifpath part of the file specifier can be also set with the --mass-storage MASS_STORAGE option or by setting a MASS_STORAGE environment variable.
lif80cat :LIF.IMG
lif80cat --mass-storage :LIF.IMG
lif80cat -m :LIF.IMG
MASS_STORAGE=:LIF.IMG lif80cat
As :lifpath defaults to ":.", omitting it will resolve to a local file in the current directory. Therefore, the following file specifiers are equivalent:
QUAKE.E010
./QUAKE.E010
QUAKE.E010:.
For LIF files hosted on a Linux filesystem, the file type must be included as a filename extension.
QUAKE.E010
A :msus string has the following form:
": device type interface select code device address drive number"
The device type is limited to :D because only discs are supported and there is no external tape anyway.
The interface select code refers to the minor device number, a 'minor' of 0 corresponds to /dev/gpib0, of the GPIB controller and not to it's PAD. See gpib.conf -- GPIB library configuration file.
The device address, an integer from 0 through 7, matches the number set on the device address switch on the mass storage unit.
The drive number, an integer from 0 through 3, specifies the drive on the master or add-on unit you wish to access.
| Program | Description |
|---|---|
| lif80cat | Lists the file directory of a storage media. |
| lif80copy | Copy a named file, or all files from a directory, to destination. |
| lif80dump | Hex or binary dump of a storage media. |
| lif80info | Prints information about a LIF volume. |
| lif80init | Initialize a storage media. |
| lif80label | Assign a volume label to a LIF volume. |
| lif80purge | Remove the named file from the directory. |
| lif80rename | Rename a file. |
| lif80decode | Convert a LIF file into a plain text file. |
| lif80encode | Convert a plain text file into a LIF file. |
| lif80renum | Automatic line numbering of .BAS and .ASM files. |
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lif80utils-0.0.4-py3-none-any.whl.
File metadata
- Download URL: lif80utils-0.0.4-py3-none-any.whl
- Upload date:
- Size: 70.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2a38222084606b999f6113e4b8192027a4c8cd98b420a38ae2fd993bb45955d
|
|
| MD5 |
51db09f3767ca0f73861261da91f7e88
|
|
| BLAKE2b-256 |
e27f613a9f76751bd3aa4a2f3ae2d2079db21faa9a763430be8fa3a7b31a5426
|