Вы мне льстите.
- - - Добавлено - - -
Ребят, а не подскажите пару моментов по записи, первый момент: с какого момента начинается запись и как она связана с индексной меткой, второй момент: чтение и запись связаны между собой? Те читаем до определенного места дорожки, а потом переходим на запись? Меня интересует именно позиция на дорожке, а не поиск по файловой системе.
Формат дорожки с точки зрения ВП1-128 неплохо описан в книжке от контроллера MY - рис. 12 и 13. Ну, и про запись сказано там же - п.7.2 на стр. 25: при записи сначала ищется и читается заголовок сектора, как будет найден нужный сектор после считывания зоны его заголовка и промежутка, помеченного в формате дорожки, как "Зона 2", переписывается фрагмент, помеченный, как "зона данных", начиная с её зоны синхронизации (12 байт), далее маркер данных (не помню, с пропущенным синхроимпульсом, или нет), 512 байт данных, CRC и какое-то количество байт из зоны 3. Или запись выключается сразу после записи CRC, точно уже не могу вспомнить...
Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)
ZPilot(20.07.2020)
Спасибо огромное. Правда я уже и сам разобрался, запись работает, вернее работает пока в отдельный файл, те читает с одного пишет в другой, и я увидел там все то, что вы мне описали.
Синхроимпульс я игнорирую, не нужен он для образов. УКНЦ вместо CRC записывает 2 байта 0х4Е, CRC, похоже, дописывает ВП1-128.
Вот получившийся файл, если кому интересно: https://cloud.mail.ru/public/4rDS/23taEqs94
Последний раз редактировалось ZPilot; 20.07.2020 в 23:43.
hobot(21.07.2020)
Alex_K, nzeemin, подскажите пожалуйста, куда все-таки записывается слово контрольной суммы (CRC), последним в 512 блоке данных или все-таки первым сразу после блока из 512 байт данных. Вопрос возник как-раз после разбора информации записанной в файле из предыдущего моего сообщения.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Блок данных 512 байт, после него два байта CRC, потом зона 3
Я не понимаю откуда вылезли 2 байта 0х4Е последними в 512 блоке данных, файл был пустой, записывался он так, был загружен testmz, в нем выбран 0 дисковод, 0 трек, 2 стороны и запущен тест "последовательное чтение с перезаписью", если бы контроллер не дописывал по каким-то причинам блок данных, то все бы сместилось и там бы все равно не было 4Е.
- - - Добавлено - - -
Я тоже так думаю, но происхождения этих 0х4Е не понимаю, неоткуда им там взяться.
А здесь похоже на то, что УКНЦ отправляет эти байты.
- - - Добавлено - - -
Выполнил форматирование диска:
Скрытый текст
[свернуть]
Похоже, что CRC все-таки записывается последним словом в 512 блок данных.Не хрень какая-то..
Последний раз редактировалось ZPilot; 21.07.2020 в 15:24.
Ну это надо смотреть логику работы ПЗУ ПП.. Я в нём не сильно разбирался и насколько помню, код, отвечающих за работа с флопами - не смотрел.
А ссылку дали вообще на контроллер MY. То есть там описан внешний интерфейс (вроде он как малость другой) и формат дорожки (а это совпадает). В принципе, логика работа в плане чтения-записи дорожки не должна сильно отличаться от MZ, так что можно посмотреть листинг ПЗУ MY, по идее - в нём меньше лишнего "мусора"
- - - Добавлено - - -
Этого в принципе не может быть - размер блока - 512 байт данных
Да и на картинке - блок данных начинается по смещению 98, плюс 200 байт данных - 298, а 4E появляется по смещению 29E
- - - Добавлено - - -
Я бы сказал, что записывается лишних 6 байт 40, а потом уже идёт два байта 4E.
В общем - смотреть листинг ПЗУ ПП
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)