retrogaming
May 13, 2022

Famicom Disk System: ремонт привода и перезапись дискет

Здесь я расскажу о том, что нужно знать и иметь для записи FDS дискет основываясь на своём личном опыте, при помощи Famicom Dumper от Кластера, по этому часть информации будет актуальна только при использовании такого же дампера.

Первое что нам нужно — полностью рабочий FDS, внешний, как писать через twin famicom я не знаю, мне кажется к нему не получится без разврата и паяльника подцепить ram адаптер.

FDS должен быть с новым пассиком, откалиброванным шпинделем, чистой головкой, со свежей смазкой.

Замена пассика и калибровка шпинделя

Вы можете приобрести китайские наборы с миллионом пассиков и попробовать подобрать нужный или найти «фирменный», полиуретановый (прозрачный) пассик. Последние поштучно стоят дороже чем набор из 50 обычных, чёрненых. Работать будет с любым, весь вопрос в том, чтобы подобрать нужного размера.

Сначала я купил на AliExpress большой набор, описание обещало все ходовые размеры. А в итоге ни один не подошёл, или маленькие, или крупные. Я расстроился и купил «фирменных» полиуретановых.

Их размеры: Длина 90мм, ширина 3мм.

Поменять пассик оказалось не так сложно и страшно. Я пересмотрел огромное количество видео на ютюбе и фоток на форумах перед тем как приступить к этому занятию.

Лучшим оказался этот видос:

Сами дисководы что в twin famicom, что в внешнем FDS — одинаковые, по этому данное видео можно применить к любому из них.

Кроме обычных крестовых отвёрток понадобится шестигранный ключ 1.5мм, для шпинделя, это важно, я вот не подготовился заранее и страдал.

В большинстве случаев достаточно заменить пассик и выставить правильно шпиндель, иногда отрегулировать скорость двигателя (об этом будет далее) и очень редко крутить саму головку в дисководе. В последнее крайне не рекомендуется лезть, можно провести миллион часов подбирая нужные позиции.

В этой статье довольно подробный рассказ как чувак занимался регулировкой всего и вся: http://www.goodsquid.com/2011/02/repairing-nintendo-famicom-disk-system.html

Насчёт смазки для шестерёнок, идеального средства я не знаю. Могу сказать лишь то, что жидкие и спреи не подходят, они быстро стекают. Нужно что-то густое и не высыхающее, дружелюбное к пластику и металлу.

Взял на пробу густую силиконовую смазку с фторопластом (на банке написано silicot gel ВМПАВТО), вроде бы держится, а флоппик не скрипит.

Смазывать пассик или поверхность валов, на которые он надевается нельзя! Только зубья шестерёнок и части движущихся механизмов, аккуратно, по чуть-чуть. Чтобы ничего лишнего не брызгало ни в пассик, ни на дискету.

Как только дисковод начнёт идеально читать любые дискеты, переходим к следующему этапу.

Обходим защиту от пиратства

Удивительно, но у FDS целых три механизма защиты:

  • Микроконтроллер внутри самого дисковода
  • Логика на плате питания
  • Механическая защита внутри привода (та самая надпись NINTENDO выдавленная на дискетах )

Для перезаписи надо обойти первые два пункта. Последний это уже для изготовителей дискет.

Микроконтроллер внутри дисковода

На сколько мне известно использовалось всего две разновидности:

  • FD7201P не имеет защиты.
  • FD3206P с защитой. Он каким-то образом отслеживает что и как перезаписывается. Сохранения работают, но при попытке перезаписать дискету полностью — препятствует этому.

Чтобы узнать версию нужно снять крышку с FDS и посмотреть в щель рядом с пружинкой:

Если ваш привод FD3206P, то смотрите этот материал о том как отключить защиту

А если FD7201P сразу переходим на следующий этап

Ещё раз упомяну: дисководы в внешних FDS и TwinFamicom одинаковые и взаимозаменяемые. Если у вас есть твин и внешний FDS, и так сложилось, что в твине дисковод без защиты от записи, а в fds наоборот, то их можно безболезненно поменять местами.

Проверка защиты в платах питания

Важная информация: если вы используете famicom dumper от Кластера, то не имеет значения какая у вас плата питания! Он обходит эту защиту программно. Протестировано на плате FMD-POWER-05.

Было выпущено пять модификаций платы питания, они имеют обозначения: с FMD-POWER-01 по FMD-POWER-05.

Источник изображения

Разбираем FDS, вынимаем плату питания и осматриваем, обычно рядом с копирайтами есть маркировка FMD-POWER-XX, где XX это число от 1 до 5.

  • FMD-POWER-01: Первая версия, без защиты. Не нуждается в модификации.
  • FMD-POWER-02: Некоторые платы имеют защиту, а другие нет. Возможно, потребуется простая модификация. Подробнее смотри далее.
  • FMD-POWER-03: Неизвестно. Предположительно незащищенная или аналогична FMD-POWER-02.
  • FMD-POWER-04: Плата с защитой от копирования. Требует модификации.
  • FMD-POWER-05: Плата с защитой от копирования. Требует модификации.

Подробности о том как модифицировать плату смотри здесь

Дополнительные проверки дисковода и запись

Дальше про работу с дампером.

Дампер на GitHub

Программа для работы с дампером

Программа только консольная, версий с графическим интерфейсом нет. У меня ПК с windows 11, по этому могу прокомментировать опыт работы с ней.

Для запуска программы заходим в её папку, тычем мышкой в адресную строку проводника, набираем там CMD, жмём enter. И откроется окно терминала в этой папке.

Далее мы формируем нужную команду по следующему принципу:

famicom-dumper \<command\> [options]`

В readme файле есть примеры команд. А если каждый раз набирать лень, можно создать *.bat файл для часто используемых функций.

Когда мы разобрались с работоспособностью дисковода, перед записью дискет нужно проверить скорость двигателя. Для этого есть специальный скрипт, вызывается следующей командой:

famicom-dumper script --cs-file FdsSpeedMeasure.cs

После чего дисковод начинает работу, а программа считает время полного цикла

Лёша Кластер выявил опытным путём, что максимальная скорость для нормального чтения составляет 7600мс на цикл, минимальная 8700мс.

Из чего следует, что оптимальная (7600 + 8700) / 2 ~= 8150мс

Я проверил три дисковода, они хорошо читают дискеты и их скорость как раз укладывается в диапазон 8100-8200, с небольшим разбросом.

Скорость регулируется при помощи винта на самом двигателе.

.

Если FDS нормально читает дискеты и скорость укладывается в описанные ранее значения, то ему не требуется регулировка.

Запись дискет

Запись при помощи famicom dumper осуществляется следующей командой:

famicom-dumper write-fds --verify --file "имя игры.fds"

Если привод не защищён от записи и дискета не имеет дефектов, то процесс пройдёт быстро и интуитивно. По ходу записи программа попросит перевернуть дискету если игра занимает две стороны, проверит данные.

В конце получим сообщение:

Reading disk... Done Verification successful.

Здесь для нас самое важное это «Verification successful», значит всё в порядке.

Проблемы с записью

Чаще всего возникают по следующим причинам:

  1. Плохо вставили RAM адаптер (в этом случае процесс записи не начнётся)
  2. Дискеты имеют физические дефекты
  3. Проблемы с калибровкой привода

Для меня наибольшей проблемой было то, что все мои дискеты оказались царапаные, с пятнами и т.п. По этому запись постоянно проходила с ошибками, например такой:

ERROR System.IO.IOException: Invalid CRC on block #13 (file #5)

Или такой:

Reading disk... ERROR System.IO.InvalidDataException: Received data CRC error

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

Я купил ещё одну дискету на авито, предварительно осмотрев поверхность и всё стало записываться хорошо.

Есть конечно вариант выжать хоть что-то из плохой дискеты, это попробовать записать игру меньшего размера, возможно запись не попадёт на испорченные сектора. Или записать игру только на одну сторону, частенько подпорчена только одна. Но как вы понимаете нет никаких гарантий что оно будет работать нормально.

По этому я рекомендую:

  1. Не использовать дискеты с видимыми дефектами (еле-еле заметные потёртости это норм)
  2. После успешной записи сделать дамп дискеты и проверять его
  3. Проверять записанные дискеты на нескольких приводах

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

Немножко про магниты

Обсуждая ошибки во время записи дискеты с Кластером, он выдал следующее:

— Ещё иногда помогает предварительное стирание дискеты магнитом. Не знаю почему, но факт.

На что у меня возник вопрос:

— Как это делать?

— Просто поводить магнитом

— А дампер не умеет стирать дискету?

— Умеет, но стирание магнитом почему-то лучше помогает. Будто при многократной записи там что-то накладывается друг на друга.

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

Для этого нужен мощный магнит, например из акустики или жёсткого диска. Маленький от зарядки часов или для холодильника не дал никакого эффекта.

Итого

Запись дискет на деле оборачивается огромным количеством странных нюансов, в тех местах, где этого совсем не ожидаешь. А Famicom Disk System это интересная, но гемморойная платформа.

Во всём этом реально разобраться, привести в порядок и наслаждаться кастлой с сохранениями и улучшенным звуком. Думаю оно того стоило :)

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

А ещё я потихоньку наполняю свою вики про геймбои: https://gbdb.ru

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

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

Спасибо Руслану за дисководы для экспериментов

Кластеру за терпение и ответы на глупые вопросы