vak: (Default)
[personal profile] vak
Преобразовать сырые данные флопика (полученные через SCP) в традиционный бинарный образ оказалось не так уж трудно. Задачу решает утилита disk-analyse из пакета keirf/Disk-Utilities:
$ disk-analyse extras.scp extras.adf
T0.0-79.1: AmigaDOS
$ disk-analyse fonts.scp fonts.adf
T0.0-79.1: AmigaDOS
$ disk-analyse install.scp install.adf
T0.0-79.1: AmigaDOS
$ disk-analyse locale.scp locale.adf
T0.0-79.1: AmigaDOS
$ disk-analyse storage.scp storage.adf
T0.0-79.1: AmigaDOS
$ disk-analyse workbench.scp workbench.adf
T0.0-79.1: AmigaDOS
Содержимое выглядит вполне целым. Кое-где контрольная сумма загрузочного сектора не совпадает.
$ unadf -l extras.adf
unADF v1.0 : a unzip like for .ADF files, powered by ADFlib (v0.7.11a - January 20th, 2007)

Device : Floppy DD. Cylinders = 80, Heads = 2, Sectors = 11. Volumes = 1
Volume : Floppy 880 KBytes, "Extras3.1" between sectors [0-1759]. FFS . Filled at 75.4%.

         1994/07/06  12:27:23  Prefs/
         1994/07/06  12:27:23  System/
         1994/07/06  12:27:19  L/
         1994/07/06  12:27:29  Tools/
    388  1994/07/06  12:45:06  Disk.info
    724  1994/07/06  12:27:17  Prefs.info
    632  1994/07/06  12:27:17  System.info
    632  1994/07/06  12:27:18  Tools.info

$ unadf -l fonts.adf
unADF v1.0 : a unzip like for .ADF files, powered by ADFlib (v0.7.11a - January 20th, 2007)

Device : Floppy DD. Cylinders = 80, Heads = 2, Sectors = 11. Volumes = 1
Volume : Floppy 880 KBytes, "Fonts" between sectors [0-1759]. FFS . Filled at 92.2%.

         1994/07/06  12:30:41  _bullet_outlines/
   1304  1994/07/06  12:30:42  courier.font
   1564  1994/07/06  12:30:42  helvetica.font
      4  1994/07/06  12:30:42  LetterGothic.font
    784  1994/07/06  12:30:43  ruby.font
    261  1994/07/06  12:30:41  CGTimes.otag
    524  1994/07/06  12:30:42  diamond.font
         1994/07/06  12:30:47  ruby/
         1994/07/06  12:30:39  _bullet/
   1304  1994/07/06  12:30:43  times.font
      4  1994/07/06  12:30:41  CGTriumvirate.font
    203  1994/07/06  12:30:42  LetterGothic.otag
         1994/07/06  12:30:46  opal/
         1994/07/06  12:30:48  sapphire/
         1994/07/06  12:30:44  courier/
    524  1994/07/06  12:30:43  opal.font
         1994/07/06  12:30:44  diamond/
         1994/07/06  12:30:45  garnet/
         1994/07/06  12:30:45  emerald/
    388  1994/07/06  12:45:21  Disk.info
    524  1994/07/06  12:30:42  emerald.font
         1994/07/06  12:30:39  topaz/
    524  1994/07/06  12:30:42  garnet.font
    264  1994/07/06  12:30:43  topaz.font
      4  1994/07/06  12:30:41  CGTimes.font
    205  1994/07/06  12:30:41  CGTriumvirate.otag
         1994/07/06  12:30:46  helvetica/
         1994/07/06  12:30:48  times/
    524  1994/07/06  12:30:43  sapphire.font

$ unadf -l install.adf
unADF v1.0 : a unzip like for .ADF files, powered by ADFlib (v0.7.11a - January 20th, 2007)

Warning <adfReadBootBlock : incorrect checksum> 
Device : Floppy DD. Cylinders = 80, Heads = 2, Sectors = 11. Volumes = 1
Volume : Floppy 880 KBytes, "Install3.1" between sectors [0-1759]. FFS . Filled at 99.7%.

         1994/07/06  12:42:34  Install/
         1994/07/06  12:42:41  C/
         1994/07/06  12:42:36  Prefs/
         1994/07/06  12:42:36  System/
         1994/07/06  12:42:34  L/
    632  1994/07/06  12:42:38  Install.info
         1994/07/06  12:42:27  Devs/
         1994/07/06  12:42:36  S/
         1995/09/04  11:58:42  HDTools/
  61640  1994/07/06  12:42:38  Installer
    632  1994/07/06  12:42:38  HDSetup.info
         1994/07/06  12:42:35  Libs/
    632  1994/07/06  12:42:38  HDTools.info
         1994/07/06  12:42:30  HDSetup/
         1995/08/30  13:04:13  Update/
    388  1994/07/06  12:44:42  Disk.info
         1994/07/06  12:42:27  Expansion/

$ unadf -l locale.adf
unADF v1.0 : a unzip like for .ADF files, powered by ADFlib (v0.7.11a - January 20th, 2007)

Device : Floppy DD. Cylinders = 80, Heads = 2, Sectors = 11. Volumes = 1
Volume : Floppy 880 KBytes, "Locale" between sectors [0-1759]. FFS . Filled at 83.5%.

         1994/07/06  12:36:35  Catalogs/
         1994/07/06  12:36:12  Countries/
         1994/07/06  12:36:16  Help/
    388  1994/07/06  12:45:58  Disk.info
         1994/07/06  12:36:18  Languages/

$ unadf -l storage.adf
unADF v1.0 : a unzip like for .ADF files, powered by ADFlib (v0.7.11a - January 20th, 2007)

Device : Floppy DD. Cylinders = 80, Heads = 2, Sectors = 11. Volumes = 1
Volume : Floppy 880 KBytes, "Storage3.1" between sectors [0-1759]. FFS . Filled at 42.6%.

    632  1994/07/06  12:33:40  Monitors.info
         1994/07/06  12:33:24  DOSDrivers/
         1994/07/06  12:33:27  Keymaps/
         1994/07/06  12:33:22  DataTypes/
         1994/07/06  12:33:30  Monitors/
         1994/07/06  12:33:40  Printers/
    388  1994/07/06  12:45:38  Disk.info
    632  1994/07/06  12:33:40  Printers.info
    632  1994/07/06  12:33:40  DOSDrivers.info
    632  1994/07/06  12:33:40  DataTypes.info
    632  1994/07/06  12:33:40  Keymaps.info

$ unadf -l workbench.adf
unADF v1.0 : a unzip like for .ADF files, powered by ADFlib (v0.7.11a - January 20th, 2007)

Warning <adfReadBootBlock : incorrect checksum> 
Device : Floppy DD. Cylinders = 80, Heads = 2, Sectors = 11. Volumes = 1
Volume : Floppy 880 KBytes, "Workbench3.1" between sectors [0-1759]. FFS . Filled at 93.8%.

    632  1994/07/06  12:39:05  Expansion.info
    632  1994/07/06  12:39:06  WBStartup.info
    632  1994/07/06  12:39:05  Devs.info
         1994/07/06  12:39:13  C/
         1994/07/06  12:39:00  Prefs/
         1994/07/06  12:39:04  System/
         1995/08/31   9:10:01  L/
         1994/07/06  12:38:56  Devs/
         1995/08/30  14:19:40  S/
         1994/07/06  12:39:04  T/
         1994/07/06  12:38:59  Libs/
    632  1994/07/06  12:39:06  Utilities.info
    388  1994/07/06  12:46:16  Disk.info
         1994/07/06  12:39:01  Rexxc/
    724  1994/07/06  12:39:05  Prefs.info
    632  1994/07/06  12:39:06  System.info
         1994/07/06  12:39:14  Classes/
         1994/07/06  12:39:05  WBStartup/
         1994/07/06  12:39:05  Utilities/
         1994/07/06  12:38:57  Expansion/
Это те самые шесть флопиков с Amiga OS 3.1:



На самом деле сначала я потратил кучу времени, пытаясь сообразить собственную утилиту выделения данных их файла SCP, но пока оно у меня не фурычит.

Теперь бы ещё получить промежуточные данные MFM-уровня.

Пока разбирался, нашёл пару полезных документов: описание формата дискет Амиги, от кодирования MFM до файловой системы, и объяснение работы тракта данных флопика с хардверной стороны.