Famicom Disk System: про коды ошибок
В предыдущем материале про перезапись дискет я не затрагивал данную тему. Сейчас попробуем немножко разобраться.
У FDS очень много кодов ошибок, они буквально на каждый случай, но есть нюанс. Некоторые ошибки уникальные и не имеют смежных областей, например Err.02 (low battery) означает, что на дисковод не приходит питание. Т.е у нас нет ни батареек (или они разяряжены) или мы не подключили блок питания (вариант с поломкой БП и платы питания пока отложим).
А есть ошибки, которые вокруг одной темы, например все 2Х связаны с чтением данных из дискеты. И в случае вознзикновения часто не отражают истинную проблему. И нужно самостоятельно учесть множество факторов, чтобы выявить причину.
Рассмотрим err.22, это может быть как испорченная дискета (физически), так и размагниченная, или вообще может быть проблема с читающей головкой или калибровкой шпинделя. Официальное описание говорит, что при err.22 привод не может прочитать блок данных в заголовке (#$01). И всё. А какова причина, нам не известно.
По этому для диагностики и выяснения неисправностей надо ориентироваться чаще на раздел откуда ошибка и проверять всё поэтапно:
- Проверяем привод на другой дискете, точно работающей
- Проеверяем пассик, не соскочил ли и как натянут. Нормально ли крутятся шестерёнки, наличие грязи зна головке.
- Осматриваем поверхность дискеты на наличие дефектов
Стоит так же учитывать после каких действий вознизкла ошибка. Если мы записали дискету, а потом она плохо читается это одно. Если она плохо читаеся но только на втором приводе — другое. Если дискета «магазинная» и не читается, это может быть третье.
В случае ошибок после перезазписи, у меня чаще всего была проблема с самой дискетой. Или надо было её размагнитить и заново перезаписать.
У меня для тестов есть идеально работающая дискета, благодаря ей удалось откалибровать привод. В дальнейшем при помощи эталонной дискеты и запасного привода я привёл в порядок два других. FDS это каприззная система.
К сожалению не все коды ошибок расшифрованы, но что удалось найти в интеренете собрал в кучку:
- Коды с 00 по 19: проблемы с приводом
- Коды с 20 до 29: чтение данных с дискеты
- Коды с 30 по 39: проблемы с файлами на диске, чтение и запись
- Коды с 40 по 49: программные ошибки, конфликты регистров и адресов
- Копирайты и дополнительная инфа
Коды с 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