Swap Disks Exploded - Printable Version +- HP Forums (https://archived.hpcalc.org/museumforum) +-- Forum: HP Museum Forums (https://archived.hpcalc.org/museumforum/forum-1.html) +--- Forum: Old HP Forum Archives (https://archived.hpcalc.org/museumforum/forum-2.html) +--- Thread: Swap Disks Exploded (/thread-76749.html) |
Swap Disks Exploded - Howard Owen - 08-13-2005 I like pyrotechnics, so it was great fun to blow up the swap file LIF images into individual files. They are on the web at http://retrocalculator.com/SWAP/exploded. I named the files with their LIF name as root, and their type (as reported by TD's lifdir) as the file extension. They live in a directory under the above mentioned path named after the disk they came from. They will also be available vi anonymous ftp to ftp.retrocalculator.com as soon as the new static IP propagates out. I can't tell for sure, but you may have to use a special username to get anonymous access. I'll see once ftp is up. The purpose of doing this work is to facilitate the "Swapdex" project to index these files. You can access the swapdex Wiki here. I've also thrown together a quick and dirty Mysql database of the files. It isn't accessible from the web yet, but it could and should be once the schema is better defined. If you would like to help do that, see the Wiki link above.
Regards, Re: Swap Disks Exploded - Vassilis Prevelakis - 08-14-2005 Howard Owen wrote:
I am not sure what you had in mind but the swap archives are split into individual files. At least the ones at
All files are encoded in swap file format documented in The swap file format is not LIF. It only contains some elements from the LIF directory. So you do not need to "expand" the files, you simply need to skip these 32 bytes.
E.g. if I want to see the contents of file chhu01/curlex.l71, I will simply do: arrakis% dd if=chhu01/curlex.l71 ibs=32 skip=1 | xd Moreover, your "exploded" files appear to be corrupted as well. E.g. your version of CURLEX.LEX71 is:
arrakis% xd CURLEX.LEX71
The length (0x6D) is also wrong. If we look at the curlex.l71 header we see: arrakis% dd if=curlex.l71 ibs=32 count=1 | xdthat the file length should be 0xDB bytes, 219 in decimal (file length in bytes starts at offset 0x0C, and it is 3 bytes long (LSB first). Note also that even files that are not encoded in any way (e.g. chhu01/acopy.text) are damaged. So you should check your program to make sure it decodes the files correctly. Finally, simply looking at the filename inside the header and using this to name the extracted file is not sufficient as file names may have characters that are not acceptable to the local file system (e.g. \), you need some kind of mapping for the unacceptable characters. Best Regards **vp
Edited: 14 Aug 2005, 2:17 a.m.
Re: Swap Disks Exploded - Howard Owen - 08-14-2005 Thanks for the feedback, Vassilis! I'll check on the corruption you noted. I'm pulling the files out of the LIF images (also on the museum site, but under the 'hpswap' directory) with lifget from a perl script. The script is in the "exploded" directory too, called "getem.pl". Perhaps lifget does not preserve the LIF header, and what you are looking at are the "raw" bits. I'll figure it out, either way. In the meantime, I've restricted access to the files. It won't do to distribute bogus date. I'm trying to reduce confusion, not add to it. 8) My purpose in exploding the LIF images is to have bits I can work with in my indexing project. I plan to create descriptions and listings of all the program files, with Unix line endings rather than the interesting LIF TEXT format. I plan to drop these in beside the raw bits and refer to them in my database by URL. I may well be able to get by using the museum's copies, but I have to resolve the corruption issue before I can decide one way or the other.
Thanks again!
Corruption - Howard Owen - 08-14-2005 The files merely lack the LIF headers:
hbo@sol|1137> hexdump -C CHHU01/AST41N1.BASIC75 >AST41INI.hex The file in caps is the one I produced with Tony Duell's lifget utility. The small case one is from the museum site. The files here at the museum lack at least one disk that appears in the /hpswap directory. For that reason, and because I still think they could be useful for my Swapdex project, I'm going to leave the files up. I'm composing a plain text README now that explains how they differ from the museum's copies, and points here. Later I'll add a web page with links to all the other sources and better explanations of hat I'm trying to do. For now, anon ftp is still hosed, but http://retrocalculator.com/SWAP/exploded works. Thanks again for taking the time to look the files over!
Edited: 14 Aug 2005, 12:43 p.m.
Re: Corruption - Vassilis Prevelakis - 08-14-2005 OK got them. I was in error. The 0xDB in the CURLEX directory entry is the length in NIBBLES! So its 219 nibbles or 109.5 bytes. So the length of 110 is correct. I have been dealing mainly with HP-85 files which have the length in bytes and was unlucky to pick a very small file (CURLEX). This meant that my wrong file length would still be less than a block (256 bytes) and thus would not ring any bells. If I had chosen a file like BEEPLEX which is 411 nibbles long (clearly greater than the 1 block it occupies) I would have investigated further.
**vp
|