
As we now know the filename of the file the sector belongs to and we can read the sequence number from the sector header, it is possible to write 488 bytes worth of data into the output file. If the directory entry has not survived, the file will get the index of the directory entry as a name.
If this is the case, it walks back the list from parent to parent to get the full path and filename of the file. If it is a data block, it looks at the parent, in the hope that it is an intact directory entry. The program to extract the data from the disk uses the following algorithm: It iterates over all sectors from the end of the ROM image to the end of the disk image and looks at the sector type. sector 880, which, in our case, has not been overwritten by the ROM image, so it should be easy to get some data out of this disk. And what’s best: For performance reasons, directory entries are clustered around the center of the disk, i.e.
the number of valid bytes in the sectorĮvery directory entry occupies a complete sector, and deleting a file means just removing the links to the directory entry sector, without touching the data sectors or the directory entry sector at all. the sequence number of the sector inside the file. the type of the sector (directory entry, data…). Every single sector, even sectors containing file data, start with a 24 byte header, which contains Amiga Old Filesystemīefore version 1.3 of the operating system, disks were formatted with the “ Amiga Old Filesystem“, which was quite inefficient, as it stored metadata pretty redundantly. The following analysis has been done on the Kickstart 1.0 ADF disk image with an MD5 of 2fb28e7bbab0d2eef00e742c7259a674. The ROM is 256 KB in size, so this means that all sectors from 513 on are unused, and, in the case of the Kickstart 1.0 disk, preserved. The Kickstart disk has a header on sector 0 (saying “KICK” followed by all zero bytes), and the raw ROM image is stored on the following sectors. it consists of 1760 sectors, each 512 bytes in size. When the Amiga 1000 was released, the 1.0 ROM image was not finalized, so the machine shipped with a âKickstartâ floppy disk that was loaded into an extra 256 KB RAM bank which was then write-protected.Ī double-density Amiga disk is exactly 880 KB, i.e. The revealed data tells us about how the Amiga operating system was brought up, how it related to Tripos, and where it was developed. Nobody seemed to have looked too closely at what is on this disk – so I did, for this episode of Computer Archeology. It is well-known that the “Kickstart” disk that came with the original Amiga 1000 in 1985 contained some fragments of source code: The floppy disk that was used as a master for duplication had been used by the developers before, and had not been erased completely. Update: The source is available at /mist64/extract-adf more info here.