May 19, 2022

Famicom Disk System: про коды ошибок

В предыдущем материале про перезапись дискет я не затрагивал данную тему. Сейчас попробуем немножко разобраться.

У FDS очень много кодов ошибок, они буквально на каждый случай, но есть нюанс. Некоторые ошибки уникальные и не имеют смежных областей, например Err.02 (low battery) означает, что на дисковод не приходит питание. Т.е у нас нет ни батареек (или они разяряжены) или мы не подключили блок питания (вариант с поломкой БП и платы питания пока отложим).

А есть ошибки, которые вокруг одной темы, например все 2Х связаны с чтением данных из дискеты. И в случае вознзикновения часто не отражают истинную проблему. И нужно самостоятельно учесть множество факторов, чтобы выявить причину.

Рассмотрим err.22, это может быть как испорченная дискета (физически), так и размагниченная, или вообще может быть проблема с читающей головкой или калибровкой шпинделя. Официальное описание говорит, что при err.22 привод не может прочитать блок данных в заголовке (#$01). И всё. А какова причина, нам не известно.

По этому для диагностики и выяснения неисправностей надо ориентироваться чаще на раздел откуда ошибка и проверять всё поэтапно:

  1. Проверяем привод на другой дискете, точно работающей
  2. Проеверяем пассик, не соскочил ли и как натянут. Нормально ли крутятся шестерёнки, наличие грязи зна головке.
  3. Осматриваем поверхность дискеты на наличие дефектов

Стоит так же учитывать после каких действий вознизкла ошибка. Если мы записали дискету, а потом она плохо читается это одно. Если она плохо читаеся но только на втором приводе — другое. Если дискета «магазинная» и не читается, это может быть третье.

В случае ошибок после перезазписи, у меня чаще всего была проблема с самой дискетой. Или надо было её размагнитить и заново перезаписать.

У меня для тестов есть идеально работающая дискета, благодаря ей удалось откалибровать привод. В дальнейшем при помощи эталонной дискеты и запасного привода я привёл в порядок два других. FDS это каприззная система.

К сожалению не все коды ошибок расшифрованы, но что удалось найти в интеренете собрал в кучку:

Коды с 00 по 19: проблемы с приводом

Err.01: Дискета не вставлена или установлена ​​не до конца. Или плохо прижалась.

Err.02: Нет питания у дисковода.

Err.03: Диск защищен от записи.

Err.04: (Защита от пиратства) Несоответствие файлов (идентификатор производителя)

Err.05: (Защита от пиратства) Несоответствие файлов (идентификатор названия игры)

Err.06: (Защита от пиратства) Несоответствие файлов (идентификатор версии игры)*

* Возможно одна из сторон дискеты имеют другую версию игры. Делайте бекапы сразу обеих сторон и записывайте сразу обе стороны дискеы из одного образа игры.

Err.07: Вы пытаетесь запустить игру не с той стороны дискеты. Система всегда читает сначала сторону А, потом B и последующие. Для игр с на нескольких дискетах проверьте, какую сторону следует использовать. Так же ошибка может возникнуть если вы вставили пустую дискету.

Err.08: Аналогично Err.01. Нет диска в дисководе, но переключатель вставки срабатывает; возможно дискета не полностью вставлена или переключатель поврежден.

Err.09: ?? Неправильная дискета №2 / Disk card #2 wrong

Err.10: ?? Неправильная дискета №3 / Disk card #3 wrong

Err.11: ?? Неправильная дискета №4 / Disk card #4 wrong

Err.12-19: Неизвестно существуют ли

Коды с 20 до 29: чтение данных с дискеты

Err.20: «Screen data differs» Нет точных данных. Возможно ошибка чтения данных из конкретного блока.

Err.21: Привод не может прочитать заголовок дискеты (Nintendo-HVC). Возможно проблема с центровкой шпинделя или скоростью двигателя.

Err.22: Привод не может прочитать блок данных в заголовке (#$01). Данные могут быть испорчены. Это может быть вызвано следующими причинами:

  • Неправильная калибровка шпинделя и двигателя
  • Плохая (или грязная, или не подключенная) считывающая головка
  • Переключатели аналоговой платы не срабатывают или срабатывают неправильно.
  • Неправильно установленная дискета
  • Пустая сторона A дискеты
  • Мертвая дискета или Game Doctor Disk*
  • Дискета с MIDI или неподходящими данными.
  • Ремень соскальзывает со шкива двигателя; или сильно растянулся.
  • Возможно, что-то еще

По сути, это означает, что FDS обнаруживает диск в дисководе, но не может понять данные на нем.

*Game Doctor может выдавать эту ошибку, я так и не понял что с ним, нужно искать мануалы.

Err.23: Дискета повреждена? (header block #$02 unrecognized). Аналогично Err.22 часто проблема с калибровкой шпинделя или двигателя, и иногда это означает, что вы приблизились к правильной калибровке, хотя это не всегда так.

Err.24: Дискета повреждена? (header block #$03 unrecognized)

Err.25: Проблемы с дискетой? (header block #$04 unrecognized)

Err.26: Ошибка при записи на диск. Возможно из-за защиты от копирования. Или дискета повреждена физически. Как вариант срабатывает защита от пиратства на приводах с контроллером 3206, либо с PWR-03 и выше;

Err.27: Привод не может прочитать заголовок дискеты. Возможно шпиндель, двигатель и т.п требует калибровки.

Err.28: Преждевременное завершение чтения файла. (Аналогично проблемам калибровки Err.22 и Err.28. Обычно это означает, что вы ближе к правильным положениям, но это не всегда так.)

Err.29: Преждевременное завершение записи файла. (Проблемы с центрированием шпинделя?)

Коды с 30 по 39: проблемы с файлами на диске, чтение и запись

Err.30: Дискета заполнена, нет свободного места для сохрания

Err.31: Количество файлов на диске не соответствует заявленному (ожидаемому*) количеству файлов.

*Это еще одна мера борьбы с пиратством: есть индексный файл с заявленным игрой количеством файлов, которое должно быть на диске. При чтении данных, если количество файлов на диске не соответствует заявленному, то программа выдает сообщение об ошибке; возможно, с внутриигровой функцией « Не пирать меня ».

Err.32-39: Не известно существуют ли они, но это возможно.

Коды с 40 по 49: программные ошибки, конфликты регистров и адресов

Err.40: ?? Дисковые данные все еще находятся в памяти ??

Err.41-49: Не известно существуют ли они, но это возможно.

Копирайты и дополнительная инфа

Большая часть данных с ветки форума famicomworld:

https://www.famicomworld.com/forum/index.php?topic=7142.0

И кусочек из famicomdisksystem:

http://www.famicomdisksystem.com/

Так же смотрите остальные статьи в телетайпе

Подписывайтесь на мой телеграмм канал: https://t.me/dmgdreams

Канал дяди Серёжи: https://t.me/gameboykingdom