Оказывается Корветы используют более 3-х форматов. Обнаружил диск с 4-мя системными дорожками, который не грузится в эмуляторах, но читается - он содержит файл ZSID.COM, возможно это для какого-то модифицированного Корвета с Z80.
В архиве МГУ от Байтмана также нашел ряд дисков с непонятными форматами:
- на них нет блока параметров диска в стандартной позиции, поэтому они естественно не читаются из CP/M. Эмуляторы их не грузят, но не факт, что на реальном железе или с особым биосом они тоже не загрузятся. Может кто попробует проверить? Эти диски явно содержат файловую систему. Интересно, что ряд этих дисков содержит сообщение (c) 1990.05 LaTr - может кто знает, что это такое?Код:001-no-files.kdi 003-interest-bios-no-files.kdi 003-no-files.kdi 005-no-files.kdi 006-razmetka-bad-no-files.kdi 007-sfera-2.kdi 015-sfera-2-net.kdi
Написал ещё простенький детектор формата - его можно использовать для автоматизации cpmtools.
Код://A disc format detector fot the Corvette - Corvette format detector - CFD #include<stdio.h> int main(int argc, char **argv) { FILE *f; char b[32]; if (argc != 2) { fprintf(stderr, "USAGE: cfd DISK-IMAGE\n"); return 1; } if ((f = fopen(argv[1], "r")) == 0) { fprintf(stderr, "can't open image %s\n", argv[1]); return 2; } if (fread(b, 1, 32, f) != 32) { L1: fprintf(stderr, "image %s is broken\n", argv[1]); return 3; } if (b[29] == 1) printf("korvet1"); else if (b[29] == 2) printf("korvet"); else if (b[29] == 3) printf("korvet3"); else if (b[29] == 4) printf("korvet4"); else goto L1; fclose(f); return 0; }




Ответить с цитированием