Укажите нужные параметры консольного приложения.
Укажите нужные параметры консольного приложения.
ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY, Scorpion ZS 1024+SMUC
Когда-то начинал писать свой дампер под Win с использованием fdrawcmd.sys, но что-то дальше копирования/записи + мелкие фичи не пошло.
Твой дампер понравился. Gui, конечно, хромает, но главное все работает как ожидаешь.
Так вот, есть идея продолжить развивать твой дампер, перенести в него кое-какие куски кода из моего старого (правда, он был на C, но не суть), а так же начать реализовывать идеи, коих у меня масса. Ниже кратко распишу, что хотел бы внести:
Графический Turbo-Vision (аля настройки Norton Commander-Dos Navigator) пункт меню параметры с вкладками.
Предупреждения (Вы действительно хотите ... ? - и указать что и куда льется-делается) для операций записи (уже несколько раз затер случайно образы).
Отдельное постоянное TV-окно с часами и просмотром текущих установленных параметров (текущий диск и т.п.).
Графический просмотр секторов/дорожек (диаграмма) и отображение красных bad-секторов как в программе dvdisaster (круговая диаграмма), либо ZX-Studio (прямоугольная диаграмма) - на выбор в настройках. Учесть возможность изменения формата дискеты пользователем.
Так же отображение в диаграмме информации о открытом образе с учетом парсинга log-файла.
Показ в файловом менеджере размера в байтах и хеша (md5?) напротив каждого из файлов в образе (для реальной дискеты делать не стоит, дабы лишний раз ее не трогать - мб пункт в Параметрах об этом).
Возможность анализировать/извлекать/заменять системную область дискеты (BIOS, нулевой сектор).
Запись в log информации из системной области в текстовом виде (какая ос, шапка дискеты и прочее).
Запись в log контрольной суммы системной области для создания базы в дальнейшем.
Возможность установки скорости чтения/записи в параметрах.
Возможность установки числа повторов чтения bad-ов.
Возможность изменения формата диска вручную.
Возможность анализировать сектора перед чтением (аля ZXStudio) + правильная перерисовка диаграмм после анализа.
Возможность сброса контроллера FDD (аля ZXStudio) - помогает после сильно битых дискет.
Возможность заполнять bad-ы нулями или другим символом (возможность указать каким в dec/hex).
Возможность чтения произвольного сектора любой дискеты, для попытки восстановления поврежденного сектора в образе (если, к примеру, две резервные копии дискеты не читаются в разных местах).
Анализатор log-файла для повторной попытки чтения именно битых секторов.
Разработка полного/краткого формата log-файла, необходимы:
-Хорошая читаемость человеком
-Возможность дальнейшего парсинга log-файла программой (для этого, вероятно придумать стандартные чанки log-файла, согласованные с полями в пункте меню Параметры, дабы легко отключать-включать любые поля).
Так же, сделать gui-настройку (кастомизацию) записываемых полей log-файла.
По-умолчанию, в полный лог идет вся информация, которую можно выжать с реальной дискеты.
В краткий лог, информация, которую можно выжать из чужого образа.
Пункт в Параметрах автоматическая генерация loga для открываемых чужих образов.
Что должно быть в кратком логе:
Генерация краткого log-файла для образа, сделанного не самой программой.
Поиск нулевых или указанных (через запятую в dec/hex) секторов в чужом образе, для возможного поиска bad-секторов с записью в log.
Проверка образа на валидность/размер с возможностью патчинга (добавление нулей или dec/hex в конец образа). Возможно, отдельные настройки по патчингу (bak-файлы и прочее).
Генерация хешей для образа и всех файлов в образе с записью в log.
Примерные пункты для полного log-файла операций дампа:
_________________________________________________
Дата/Время начала дампа.
Краткая информация о программе дампа и ее настройках.
Автор дампа (можно задать строку в настройках).
Информация о источнике дампа: A:B:, скорость, Формат дискеты и т.п.
Информация о чтении каждой дорожки и сектора.
Отображение информации о заменах плохих секторов и на что.
Список файлов в уже готовом образе, с размерами в байтах и хэшами (md5?) напротив каждого.
Размер в байтах/килобайтах и хэш (md5?) уже готового образа.
Дата/Время конца дампа.
_________________________________________________
В дальнейшем, log-файлы можно использовать для создания базы-каталогизатора (как много лет я хочу это сделать) всех программ для Корвета аля GoogRoms. Хэши позволят искать дубли, оценивать уникальность каждого образа и писать описания к каждой программе. Плюс можно будет каталогизировать BIOS'ы дискет. Плюс прикрутить к этому всему эмулятор... Впрочем, база-каталогизатор - это уже совсем другой разговор.
Другое:
Поддержка Command-Line.
Пакетный режим дампа (непрерывный дамп - "вставьте следующую дискету" - "отмена").
Поддержка Linux.
Выбор языка (Eng/Rus, lng-файлы).
Немного сумбурный список. Со временем, будет правиться.
Так вот, может завести где-нибудь (github?) открытый репозиторий? Легко бы правили код вместе. А может, еще кто присоединится ну или внесет мелкие правки.
Да и вообще, как я помню, у тебя были интересные программы для работы с лентой и токенами. Их функциональность можно было бы так же внести в дампер.
P.S. Я джва года хочу такой Etalon Korvet Dumper =) Есть много запечатанных в фольгу дискет, которые ждут своего часа =) Любым другим дампером сливать образы оказалось неэффективно - как только встретился bad - все глохнет или образ получается кривой - дыры в середине файла (разве что ZX-Studio умеет заполнять их нулями, но у меня он работает как-то странно). Да и информация о заплатках должна сохраняться для создания эталонной базы.
UPD: 11.06.14 - обновил и немного поправил список хотелок. Далее, буду править этот пост по мере работы над дампером.
Последний раз редактировалось Serebriakov; 12.06.2014 в 22:09.
Некоторые хотелки очень даже интересные. Часть хотелок пересекаются с моими. Сейчас потихоньку реализую предыдущую серию хотелок, думаю через пару-тройку недель будет новый релиз.
ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY, Scorpion ZS 1024+SMUC
Кстати. У кого-нибудь вообще получилось делать дампы ZX Disk Studio?
У меня, на скорости в 300, 160 дорожек находит, но все сектора в bad'ах.
Вот циатата автора отсюда:
Но как я помню у дискеты Корвета стандартный формат:
2 стороны по 80 дорожек, 5 секторов на дорожку, каждый по 1024 байт.
Фактически может быть немного по-другому (заветный нулевой сектор все расскажет), но это сейчас не имеет значения. Откуда автор взял 9 секторов? Это уже совсем не 800кб выходит. Может потому и bad'ы? Или это я что-то делаю не так?
MST читает тот же диск прекрасно.
Я все свои диски перечитал.
Ну тут я ошибся в описании не 9, а 5.
Программе все равно сколько там секторов на дорожке,
когда делаешь сканирование она сама определяет сколько секторов на дорожке.
Сделай сканирование диска программа сначала создаст структуру диска (найденые сектора будут желтыми), потом можно выполнить чтение данных по найденым заголовкам секторов, (считаные сектора будут зелеными, сбойные красными). Или можно сразу сделать сканировать и прочитать, то же самое только за один проход.
Скрытый текст
Profi v3.2 (SIMM 1024kB, Color CP/M, Turbo VG)
Profi v3.2 256kB + PAL coder
Плата ZXM Phoenix 1024kB + VGA converter
ZX Evolution 4096kB + SSD-1Gb
Плата Speccy 2010
Плата Sprinter Sp2000s
Плата Reverse U9 EP3C
Плата Reverse U10 EP3C
Плата Reverse U16 EP4CE22
Плата Mist v1.31
Terasic DE1
Terasic DE1-SoC
Terasic DE10-nano
iCore 3
[свернуть]
Благодарю за быстрый ответ.
Специально проделал все еще раз. Нашел в чем были проблемы.
Во-первых, нужно не забывать менять скорость на 300, иначе сектора не найдутся.
Во-вторых, специально брал пожившую дискету с надеждой, что она будет позже выдавать бэды для тестов, но я поплатился - это случилось раньше, чем думал. Пару раз MST ее считала правильно и контрольная сумма совпала с оригиналом. Теперь что MST, что ZXD Studio выдают бэды и конечные образы у них совпадают, но не совпадают с оригиналом.
Кстати, есть еще вопрос по ZXD Studio: в каких случаях bad-сектора помечаются красным? У меня при чтении все сектора, что выдали ошибки в логе, остались желтыми. Те, что считались, стали зелеными.
P.S. Прошу прощения за оффтоп.
Последний раз редактировалось Serebriakov; 29.05.2014 в 23:44.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
По ZXD Studio лучше в другой теме общаться, здесь про MST.
Красным сектор помечается если при чтении несовпадает контрольная сумма,
желтым выделяются сектора, которые были найдены при сканировании, но если
при чтении этот же сектор не будет найден он так и останется желтым.
И еще перед сканированием и чтением нового диска лучше выполнить
"очистку образа".
Дело в том что если сделать сканирование одного диска, а потом чтение другого, то в последнем диске может не оказаться некоторых секторов (например защита от записи или другой формат) или наоборот некоторые сектора не будут читаться потому что их нет в структуре образа.
Скрытый текст
Profi v3.2 (SIMM 1024kB, Color CP/M, Turbo VG)
Profi v3.2 256kB + PAL coder
Плата ZXM Phoenix 1024kB + VGA converter
ZX Evolution 4096kB + SSD-1Gb
Плата Speccy 2010
Плата Sprinter Sp2000s
Плата Reverse U9 EP3C
Плата Reverse U10 EP3C
Плата Reverse U16 EP4CE22
Плата Mist v1.31
Terasic DE1
Terasic DE1-SoC
Terasic DE10-nano
iCore 3
[свернуть]
+ Проверка на ошибки чтения каталога.
+ В заголовке окна диска CP/M отображается текущий диск или имя файла образа. В заголовке окна DOS диска - текущий путь.
+ Выделение нескольких файлов в окне диска CP/M, копирование, удаление.
Выделение нескольких файлов в окне диска DOS, копирование.
+ При чтении диска в образ теперь проверяем, есть ли уже файл с таким именем на диске и при необходимости запрашиваем о необходимости перезаписи.
* Пофикшен баг при чтении битых образов (при чтении за пределами файла читался мусор).
* Изменено дефолтное количество блоков на диске с 391 до 394, максимальный размер файла для такого диска CP/M составляет 804864 байта.
* Юзерспейс ограничен 0-31.
Обновлен стартовый пост.
Последний раз редактировалось marinovsoft; 15.06.2014 в 18:49.
ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY, Scorpion ZS 1024+SMUC
Несколько мелких фиксов, уже не помню каких, ЕМНИП, добавлено открытие файла, указанного в параметрах командной строки, обновлен стартовый пост.
Исправил еще одну ошибку - программа падала, если попытаться сделать F3 или F5 или F8 на пустом диске (образе), тем кто успел скачать первоначальный архив лучше перекачать заново.
Последний раз редактировалось marinovsoft; 11.05.2015 в 19:17.
ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY, Scorpion ZS 1024+SMUC
Плохо что драйвер через который работает программа не поддерживает USB Floppy drive что заставляет один фиг искать убер комп из прошлого.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)