Сборка эмулятора дисковода Gotek

В моей коллекции успешно трудятся аж три эмулятора дисковода, в основе которых лежит Ардуино Нано, но это всё только для ZX Spectrum. Задумался о приобретении мультиплатформенного эмулятора Gotek. В продаже имеются как готовые фабричные устройства, самосборные устройства, а также платы для самостоятельной сборки.

Для начала поизучал общие вопросы по «Готеку», и оказалось, что в данный момент на «АлиЭкспресс» торгуют этими эмуляторами не на оригинальном чипе STM32, а на его аналоге — Artery. Он и стоит вроде недорого, но функционал, как говорят, занижен, а на STM32 уже нет в продаже. Хотя если зайти на «Авито», то там ещё можно найти оригинальные, но цену за них просят космическую, около 4000 рублей, что для меня неприемлемо. Уж лучше «Ардуино»-эмулем буду дальше пользоваться, чем покупать такой. Тут-то я и решил пойти своим путём и собрать данный агрегат самостоятельно и, как всегда, на макетке!

Приобрел два чипа: STM32F105RBT и его аналог AT32F415RCT7. По цене Артери дешевле, чем СТМ, чуть не в три раза! Но в приоритете у меня, конечно, СТМ32. Раз уж решил делать на макетке, то и остальные детали тоже взял не smd, а выводные. Транзисторы в корпусе ТО-92, стабилизатор 3,3 вольта в таком же корпусе, резисторы мощностью 0,25 Вт, микросхема DIP. Поглядев несколько схем, остановился на этой:

готек. схема

Также возник вопрос по транзисторам, какие использовать. На каких-то схемах применялись обычные MMBT2222, на других мосфеты BSS123, как на схеме выше. Взял и обычных, и мосфетов, но, как уже сказал, в корпусах ТО-92, а на плату приготовил к установке мосфеты 2N7000.

Начальная сборка

Начал сборку с запайки чипа на специальную макетку QFP64 0.5mm.

Готек. Макетка 64

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

Готек. Микроскоп

Паял паяльником, жало применил Т12 KU, маленький (по фото не скажешь) топорик. Сначала пробовал острым BL, но у него припой не держится на самом кончике, а у топорика с этим всё хорошо. Паял так: брал мелкий кусок канифоли, клал на ноги, жалом размазывал, потом уже припой вносил. Иногда запаивал по две-три ноги и приходилось пользоваться оплеткой. Пройдя сторону, промывал спиртом, глядел под разными углами (микроскоп засвечивает, если смотреть прямо) на наличие непропаев или соплей. Результат:

Готек. Чип на месте

Осталось припаять к этой макетке PLS-пины, и «проц» готов. Далее стал прикидывать, как разместить детали на плате, не стал далеко отходить от заводской компоновки, примерно получилось так:

Готек. ПримеркаНа фото виден старый, надёжный, советский кварц 1982 года выпуска! Не удалось купить новый в магазине, и, порывшись в своих запасах, нашёл этот, его и установил. Решил спрятать его под чипом, чего месту пропадать.

Готек. Сборка

Туда же, под «проц», поставил конденсаторы кварца. На фото можно видеть, что я установил блокировочные конденсаторы по углам, там, где выводы питания чипа. Мне показалось, что так будет правильнее. На некоторых других платах видел, что эти конденсаторы просто собраны в ряд, как на схеме, но меня учили, что блокировочные ставятся как можно ближе к выводу питания микросхемы. А раз у STM32 четыре входа питания располагаются по углам, то так и расставил их.

Для удобства пайки, дабы не запутаться в количестве и месторасположении ног СТМ-ки, нарисовал их расположение с обратной стороны на бумажке. Крестиком пометил неиспользуемые ноги, от них удобно было считать.

Готек. Сборка

Сначала запаял минимальные подключения: питание, дисплей, USB-порт, гребёнку для прошивки.

Прошивка

Что ж, после начальной, минимальной сборки пришла пора прошить мой Готек. Прошивку я взял FlashFloppy, находится на GitHub в разделе Download. В скаченном архиве нужно найти hex-файл с прошивкой для чипов 415 и 105. И вот теперь самое интересное, как прошить? Для чипов STM есть специальная приблуда ST-Link, я её заказал, но прошивать-то уже сейчас хочется. Ребята в моей телеграм-группе скинули мне программу Flash Loader Demonstrator, вроде через неё можно простым USB-to-UART свистком прошить, и у меня есть что-то похожее на чипе CP2102, решил попробовать им, но ничего не вышло. Как ни крутил, не видит чип. Думаю, надо с сайта ST скачать их STM32CubeProgrammer и прошить через USB, но опять проблема, сайт не даёт что-либо скачать пользователям из России. Ладно, подключаю Planet VPN, делаю заморочки для получения ссылки, начинается загрузка. Загрузка идёт очень плохо, постоянно отваливается, три раза начинал заново, так и не смог скачать больше половины. Потом осенило, а нет ли на GitHub данной программы, и да, там оно есть! Вот ссылка, по которой качал.

Далее, взял USB шнур от какого то агрегата (то ли мышка, то ли шнур зарядки) с откушенным концом, нашел питание и линии данных, и припаялся к USB своего агрегата. Запустил «Куб Прогер», в настройках выбрал USB и удачно прошился! Не с первого раза, не знаю, что было, поперетыкал провода, чип увиделся, считал его сначала, там пустота, залил прошивку, и вот оно:

Готек. Прошивка

Залил последнюю на дату сборки стабильную версию 3.44. Самое главное, что чип живой и первоначальные мои соединения сделаны верно. Кнопки сначала не заработали, потому что по схеме подключается только энкодер, поэтому в файле FF.CFG поменял настройки энкодера на buttons, и кнопочки стали работать. Ещё сделал поднастройку дисплея на 128х64, плюс большой шрифт.

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

Продолжение сборки

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

Но выпаянный разъем вертикальный, а мне хочется горизонтальный! Не придумал ничего лучше, чем взять гребёнку угловых PLS-пинов и припаять их к ножкам. Получилось довольно неплохо:

Готек. Интерфейс

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

Микросхему поставил на панель, транзисторы и резисторы встали без проблем, места всем хватило. Пищалку не ставил, потом, возможно, поставлю. Ещё, не распаял настроечные перемычки, только переключалку для диска А и В впаял. Ну и фото сразу после окончания монтажа:

готек. готово

Тестирование

Настала пора тестировать собранный агрегат. Первым делом чтение. Здесь проблем не возникло, все образы читались отлично. Далее запись, и перед началом записи решил проверить формат образа. По Ардуино-эмулятору нам известно, что он не умел форматировать, проверим, как это делает Готек. Формат прошел на первый взгляд успешно, но почему-то на одну сторону.

Готек. Формат

Ребята у меня в группе подсказали, что это нормальная ситуация для эмуляторов, типа тут TR-DOS не распознает один из слоёв в образе и форматирует его только на одну сторону. Даже предложили небольшой «костыль», изменить кое-что в ПЗУ TR-DOS для исправления данной ситуации, а если быть точнее, то обнулить два бита по адресам 0x1F14 и 0x1F15, что я и сделал. Да, после этого форматирование пошло на две стороны, ТР-ДОС пишет, что всё ОК, но вот начались глюки. Например, записываю файл, вроде записался, но не отображается. Ещё: форматирую, достаю флешку, подключаю к «большому брату» (РС, то есть), образ вообще пустой, то есть даже метки диска нет. Включаю обратно в эмулятор, Disk Error. Обратно вернул стандартное ПЗУ, эти глюки ушли. Как и в ситуации с Ардуино-эмулятором, помогает программа RDS, которая как-то по-своему форматирует диск, причём с конца.

Готек. RDS

После такого формата образ в порядке, файлы записываются и впоследствии читаются. Также проверил это дело (форматирование то есть) на «Скорпионе 256» (не турбо), у него в теневом мониторе есть свой форматировщик, а в TR-DOS функция формата урезана. Поэтому он и до этого на обычных дискетах форматировал на одну сторону. С моим аппаратом всё то же самое, в теневике норм отформатировал.

Ещё решил проверить, как будет запускаться IS-DOS. У меня были образы формата *.FDI, но с такими аппарат не работает, нашел *.HFE, во, другое дело, всё нормально грузит, пишет, форматирует внутри ИС-ДОСа.

Заключение

Итак, подведу итог. Сборка Gotek заняла у меня несколько дней, работал только по вечерам, по часу-полтора. По цене, если посчитать все детали, то где-то около 1000 рублей вышло, а если не считать то, что у меня уже было (например, дисплей, макетка 7х9 см, резисторы и МГТФ), то и того меньше.

Ещё пару слов о том, на чем проверил агрегат. Выше я упомянул Scorpion 256, а также основной мой настольный комп — Дельта-С. Но у Дельты есть два вида БДИ, и вот с одним всё отлично, а вот со вторым… Тут не всё так хорошо. Проблемы с этим хитровыделанным БДИ были у меня и с Ардуино-эмулятором, в плане неудовлетворительного чтения. Я уж думал, что Готеку это всё нипочем, а оказалось ничего подобного. И что интересно, образы *.TRD он читает нормально, а вот с образами для IS-DOS работать отказался, выдавая ошибки чтения. Даже фикс этого БДИ в плане установленной на нем микросхемы 155ЛА3 не помогли! Пока вот думаю, что с этим делать, проблема открыта.

На этом всё! Собранным агрегатом я вполне доволен. Остаётся соорудить ему какой нибудь корпус, но пока даже не начинал думать про это.

Благодарность ребятам, которые помогали советами у меня в телеграм-группе, особенно Sprite, ZX_RemX, Mikkaa_A, а также Александру Михайлову, от сообщения которого я и решил, собственно, собирать данный девайс.

Схема в формате PDF: Gotek_Floppy_Disk_Emulator_V2.pdf

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *