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

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


Краткая предыстория

Famicom Disk System: ремонт привода и перезапись дискет Famicom, Ретро-игры, Дискета, 8 бит, Dendy, Видео, YouTube, Длиннопост

Купил на японских аукционах красивенький twin famicom, яркого, красного цвета. Оказался полностью рабочим, но требовалась замена пассика и чистка привода. После всех процедур гаджет стал читать дискеты. И мне они очень понравились, странный, практически изотерический ритуал — считать одну сторону, потом вторую, насладится жужжанием моторчика и шестерёнок. Красота.

Захотелось хороших игр, но ценник оказался кусачий, плюс огромные шансы, что дискеты приедут не рабочие.


Стал активно гуглить и читать про возможность самому перезаписывать дискеты. Логика была простая .— раз привод умеет писать сохранения, то почему бы и не писать дискеты целиком? Выяснилось очень много нового и интересного.


Самым простым (на мой взгляд) способом показалось взять классический, внешний FDS и Famicom Dumper от Кластера. Взял у друзей FDS, купил дампер и началось...


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



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


Нам нужен полностью рабочий FDS, внешний, как писать через twin famicom я не знаю, мне кажется к нему не получится без разврата и паяльника подцепить ram адаптер. Именно его (ram adapter) мы будем подключать в дампер.


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

Famicom Disk System: ремонт привода и перезапись дискет Famicom, Ретро-игры, Дискета, 8 бит, Dendy, Видео, YouTube, Длиннопост

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


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


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


Не знаю почему, но оказалось сложно выпытать точные размеры пассиков у продавцов. Измерил сам:


— Длина 90мм

— Ширина 3мм.

Famicom Disk System: ремонт привода и перезапись дискет Famicom, Ретро-игры, Дискета, 8 бит, Dendy, Видео, YouTube, Длиннопост

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


Лучшим оказалось это видео, именно его рекомендую:

По этой инструкции было обслужено 3 привода и все работают отлично


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

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


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

Вот здесь рассказ как чувак занимался регулировкой всего и вся.


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


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


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



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


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

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

- Логика на плате питания

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


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



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


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


- FD7201P не имеет защиты.

- FD3206P с защитой. Он каким-то образом отслеживает что и как перезаписывается.


Сохранения работают, но при попытке перезаписать дискету полностью — препятствует этому.


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

Famicom Disk System: ремонт привода и перезапись дискет Famicom, Ретро-игры, Дискета, 8 бит, Dendy, Видео, YouTube, Длиннопост
Famicom Disk System: ремонт привода и перезапись дискет Famicom, Ретро-игры, Дискета, 8 бит, Dendy, Видео, YouTube, Длиннопост

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


оригинал на famicom world

мой вольный пересказ на Русский язык


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


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



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


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


дальнейшую информацию оставляю на всякий случай.


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

Famicom Disk System: ремонт привода и перезапись дискет Famicom, Ретро-игры, Дискета, 8 бит, Dendy, Видео, YouTube, Длиннопост

Разбираем 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: Плата с защитой от копирования. Требует модификации.


Как модифицировать плату питания:


Оригинал на famicom world

Мой вольный пересказ



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


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


Дампер на GitHub

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

Famicom Disk System: ремонт привода и перезапись дискет Famicom, Ретро-игры, Дискета, 8 бит, Dendy, Видео, YouTube, Длиннопост

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


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


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

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

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


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


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

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

Famicom Disk System: ремонт привода и перезапись дискет Famicom, Ретро-игры, Дискета, 8 бит, Dendy, Видео, YouTube, Длиннопост

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


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


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


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

Famicom Disk System: ремонт привода и перезапись дискет Famicom, Ретро-игры, Дискета, 8 бит, Dendy, Видео, YouTube, Длиннопост

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



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

Famicom Disk System: ремонт привода и перезапись дискет Famicom, Ретро-игры, Дискета, 8 бит, Dendy, Видео, YouTube, Длиннопост

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

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

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


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

Reading disk... Done
Verification successful.

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



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


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


- Плохо вставили RAM адаптер (в этом случае процесс записи не начнётся)

- Дискеты имеют физические дефекты

- Проблемы с калибровкой привода


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


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

Или такой:

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

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


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


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


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


- Не использовать дискеты с видимыми дефектами (еле-еле заметные потёртости это норм)

- После успешной записи сделать дамп дискеты и проверять его

- Проверять записанные дискеты на нескольких приводах


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


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


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


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

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

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

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

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

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


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

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



Про коды ошибок


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


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


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


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


- Проверяем привод на другой дискете, точно работающей

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

-Осматриваем поверхность дискеты на наличие дефектов


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


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


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


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


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

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

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

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


Подробней о них можно почитать здесь:


famicom world


famicomdisksystem


Мой вольный пересказ и компиляция инфы



Итого

Famicom Disk System: ремонт привода и перезапись дискет Famicom, Ретро-игры, Дискета, 8 бит, Dendy, Видео, YouTube, Длиннопост

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


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



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

Там я публикую свои заметки про ретро, новости, картиночки на мотив.


Ещё у нас есть уютный чатик в телеграмме где мы обсуждаем ретро, всё вокруг ретро гейминга. Регулярно собираемся на встречи и общаемся в живую.

Уголок ретрогеймера

2.5K поста11.4K подписчиков

Добавить пост

Правила сообщества

(Ранняя альфа-версия правил) -Да не будет создано здесь отдельных постов об играх, вышедших изначально менее 15 лет назад (возможно временная формулировка).

-Не оскорбляй других пользователей.

-Не спамь.

-Все вопросы по поиску каких-то определённых игр задавайте здесь: http://pikabu.ru/story/pomoshch_po_poisku_kakoyto_opredelyon...

-Спросить совета про то, во что поиграть можно здесь: http://pikabu.ru/story/posovetuyte_vot_kakuyu_igru_5005075