Эта статья является продолжением Вечный перезаписываемый Flash-картридж для SEGA своими руками. Часть 1 |
В прошлый раз мы обсудили детали изготовления программатора для записи файла с игрой. Проверить полную работоспособность сделанного устройства весьма проблемно, если не иметь под рукой сам картридж. Более того, даже изготовив картридж, будет весьма трудно понять в чем неисправность сборки, когда "лампочки" мигают, вроде что-то записывается, но ничего не запускается на приставке и ничего не считывается обратно. Поэтому придется не раз проверять качество пайки, разводку платы (если захотите сделать её самостоятельно), правильность установки радиокомпонентов на плату.
Самой большой трудностью в изготовлении картриджа является перенос тонера с бумаги на текстолит (мы же изготавливаем плату методом ЛУТа?). Дорожки под микросхему памяти должны быть шириной в 0.3 мм, расстояние между дорожками составляет около 0.2 мм. Поэтому будьте готовы к тому, что с первого раза перенести рисунок на плату не удастся.
Стеклотекстолит, используемый для картриджа, должен быть толщиной строго в 1.5 мм. Автор в своей статье указывает небольшой список взаимозаменяемых микросхем памяти:
- AM29DL32x
- MBM29DL32x
- MX29LV32x
- LE28DW3212
- M29W32x
- TC58FVTB32x
- W19B32x
Большая часть из них уже не выпускается. Только одна M29W320ET70N6E была доступна для покупки в моем городе. Возможен еще вариант заказа из Китая или у другого поставщика, но там трудно заказать поштучно. Остальные комплектующие для картриджа найти будет не проблема. Также вам понадобится корпус от старого сеговского картриджа, в который, после некоторой модификации, мы поместим нашу самоделку. Размеры печатной платы автор указывает как 84х68 мм. Да, по ширине всё так - 84 мм. Но по высоте плата должна быть 64 мм, чтобы её потом можно было поместить в корпус. Очень важно соблюсти размер платы по ширине, чтобы при вставке ламели (контакты) картриджа совпадали с контактами гнезда программатора (и приставки потом). Поэтому лучше обрезать плату на 0.5-1.0 мм больше и потом подгонять по месту.
Электрическая схема картриджа для SEGA представлена ниже.
По схеме линейный стабилизатор 78L03 мне пришлось заменить на LD33, поскольку первый найти не удалось. Микросхема памяти рассчитана на напряжение 2.7 - 3.6 В. Не берите самые мелкие SMD-радиодетали, поскольку под некоторыми из них нужно будет пропустить дорожку. Для переключателей XT1-XT4 использованы джамперы (как на материнских платах). Об этих переключателях будет немного позже.
Итак, радиодетали куплены, текстолит отрезан, шаблон напечатан, пора делать "карик". Авторская разводка платы мне изначально не совсем понравилась. Как в случае с программатором, так и в картридже используется двухсторонний текстолит. Соответственно, в некоторых местах нужно делать передачу контакта с одной стороны на другую Мне лично трудно понять автора о чем он думал в 2004 году когда писал статью и делал разводку плат. Мне казалось, что подобные поделки должны быть доступны для реализации без спец. оборудования. Не понятно, как среднестатистический радиоаматор того времени должен был делать металлизацию отверстий (для передачи контакта) в домашних условиях. Да, можно сделать отверстие, вставить кусок проволоки, запаять с двух сторон - не шибко красиво, но работать будет. Всё бы хорошо, но в авторской разводке платы эта металлизация должна была также присутствовать под микросхемой памяти. И вот каким чудом припаять потом "микруху" на эти бугры из торчащей проволоки под ней? Но про эту проблему я узнал уже в процессе монтажа радиокомпонентов на плату. Также перфекционистам не понравилась бы несимметричность переключателей на картридже - они не стоят по центру платы. Еще и плата по размерам не влазит в корпус. В общем, изначально ничего менять не стал, решил спаять как указано, если заработает - потом уже буду переделывать так, чтобы приятно смотреть было на свою работу.
Первая версия картриджа (авторская)
Как видно выше, для переноса тонера была использована фотобумага. Про этот способ будет рассказано в ближайшей статье. Подчеркну здесь важность хорошего переноса участка с контактной площадкой под микросхему. Остальное можно дорисовать маркером.
На фото выше плата первой "ревизии". Не с первой попытки получилось удачно перенести тонер на текстолит, но с первой попытки всё вытравилось без слипшихся или оборванных дорожек. Как можно увидеть, под микросхемой памяти находятся 6 отверстий под металлизацию. Вот с ними и пришлось повозиться, чтобы вставить проволочку, припаять её с двух сторон и потом напильником "под ноль" сточить контакт, чтобы потом микросхема плотно прилегала к плате. Уже на этом этапе мне такой "колхоз" был не по душе, но продолжал делать только ради того, чтобы это включилось и заработало.
Изготовленный картридж заработал почти сразу. Пришлось только прозвонить дорожки и подправить отсутствующий контакт.
Кстати, про "заработал почти сразу". Было всё так. Сначала был собран программатор. Как говорилось, проверить его работоспособность без картриджа весьма проблемно. Затем был изготовлен картридж, который на фото выше. Как вы понимаете, проверить работоспособность отдельно картриджа тоже проблемно - игры на нём еще нет. Получается, два вроде как готовых устройства, которые по отдельности нельзя проверить. Дальше вставляем картридж в Сегу, включаем. Тут мне было просто интересно что будет с пустой микрухой памяти. Как не удивительно, ничего не произошло и никакой картинки Сега не выдала. Ну, хотя бы ничего не бабахнуло и приставка осталась живой.
Затем, я подключил программатор к LPT-порту. На программаторе при включении засветились оба светодиода. Запустил программу-программатор EpromM51.exe, светодиод записи погас. Всё вроде как хорошо. В программе сам программатор никак нельзя отследить, то есть он не определяется как устройство, например. Выключаем программатор, вставляем картридж, заново запускаем программу. И вот тут была проблема, поскольку в списке поддерживаемых микросхем не было именно той, которая запаяна на картридже. В статье автора упоминается, что на момент публикации можно было скачать программу с предустановками. Но ничего такого я не нашел. Перебрав пару микросхем по списку ничего, конечно же, не заработало. А всё нужное было на виду - в статье есть скриншот с нужными настройками программы.
К статье прикреплены авторские материалы, в которых можно найти разводку платы в формате PCB, а также импортированную мной версию под Altium Designer.
Вторая версия картриджа
Переделать картридж я решил уже после того как всё заработало - игры записывались/читались. Больше остального смущало то что плату картриджа нельзя было засунуть в пластиковый корпус - она по высоте не влазила. Но просто отпилить кусок текстолита тут не выйдет - нужно было заново делать разводку. Заодно решил и переместить "пятачки" из-под микросхемы где-то в сторону, чтобы микруха нормально легла на плату. Так вышло то, что вы можете видеть ниже.
Передняя сторона вышла хорошо. Но вот задняя сторона (под микруху памяти) как-то не зашла - дорожки слиплись из-за того, что утюгом слишком пережал на шаблон при переносе. Думал, что потом после лужение можно будет канцелярским ножом дорожки отделить. Но сделать это весьма трудно так, чтобы не разрезать соседние. Текстолит оставался, поэтому можно было еще раз повторить
Третья версия картриджа
С третьей попытки всё получилось более-менее удачно. Уже не было слипшихся дорожек, ошибок разводки тоже не было. За исключением одного момента - средний контакт стабилизатора оказался плюсовым, а не землёй, как я полагал по аналогии со стабилизаторами L78XX. Поэтому пришлось средний контакт на текстолите канцелярским ножом отделить от земли. Также контактная площадка под микросхему вышла чуть больше нужного - где-то на 0.1 мм больше. Немного подвинув микруху к центру проблема была решена.
Последовательность действий при записи
При запуске программы выскочит следующее окошко:
Пару раз жмём на "ОК" и попадаем в главное окно программы. Вам не нужно ничего дополнительно настраивать кроме того, что указано на рисунке ниже.
Обратите внимание на выбранную микросхему памяти 29LV320. Возможно, вам понадобится изменить порт (Printer port). Удостоверьтесь, что на программаторе погас светодиод записи (красный). Жмём на кнопку "Electronic ID". Должно отобразиться следующее (при условии, что вы используете микросхему памяти M29W320ET70N6E):
Бывает, что не происходит определения. Повторите попытку еще раз.
Далее нужно стереть всё возможные данные на микросхеме - жмём "Erace Chip". Стирание всей памяти занимает около 40 сек.
Обратите внимание на заголовок программы (Willem Eprom (0.97ja) - ). После дефиса пустота, значит не выбрана прошивка. Также на вкладке Buffer мы можете увидеть что всё заполнено значениями FF (пусто).
Дальше нам нужно выбрать файл прошивки, то есть игру (ROM). Игры вы можете брать с таких сайтов как emusega.ru или gamewoods.ru/Games.html. Файл игры должен быть в формате bin/gen/smd. РОМы могут быть под разный регион. Если у вас новая приставка, то регион можно сменить переключателем на ней. Если старая (как в моём случае), тогда нужно выбирать соответствующий под неё РОМ. Жмём на кнопку "Open File", выбираем РОМ. Далее ОБЯЗАТЕЛЬНО делаем Action -> Swap Byte. Вот про это в статье ничего не было указано. А без этого трюка игра останавливается на первом кадре заставки или вовсе не запускается.
Всё готово, осталось только записать. Жмём "Program Chip". Должен запуститься процесс записи, после которого будет проверка (Verifing chip). Весь процесс записи/проверки занимает около 25 минут для РОМа в 4 МБ. Меньше игра - быстрее запись. После проверки в нижней части окна должна быть надпись об удачном завершении. Далее выключаете питание программатора выключателем, вынимаете картридж и понеслась
Ах да, не совсем так. Время упомянуть про переключатели, те что на картридже находятся. Автор статьи предусмотрел запись нескольких игр на картридж, смена игр должна происходить путём нажатия кнопки RESET на приставке. Но игры нужно предварительно "склеить" в один файл специальной программой-склейщиком. Программа "округляет" файл игры до нужного размера, дописывая в конец каждого файла нули. Скажем, если у вас игры 300 кБ и 450 кБ - они будут дописаны нулями в конец, чтобы каждая составляла 512 кБ. Когда вы жмёте RESET происходит обращение сначала к нулевому адресу, памяти, потом к адресу где лежит начало второй игры (то есть по сути 0 + 512 кБ) и т.д. Я не стал заморачиваться со склейкой игр. Мне проще было писать по одной игре чего и вам советую. Если записывается только одна игра, тогда все четыре переключателя ставим в крайнее левое положение. Микросхема памяти находится сзади картриджа, соответственно в приставку вставляем микросхемой от себя.
Вставляете записанный картридж в приставку, включаете её, жмёте RESET (если сразу не загрузилась игра). Далее должен произойти запуск игры. Сам картридж во время работы никак не отличается от заводского - те же цвета, скорость игры и т.д.
Когда решитесь записать другую игру следует сначала стереть память и затем произвести запись как указано выше.
Тестирование работоспособности
Во-первых, чтобы пенять на картридж, нужно сначала быть уверенным в работоспособности программатора. Как тестировать программатор указано в первой части статьи.
Во-вторых, на плате картриджа минимум радиодеталей, как вы сами видите. Я считаю, что основной неисправностью из-за которой ваш картридж может неправильно или вовсе не работать - это непропаи или плохой контакт около заклёпок. Уделите им особое внимание. Каждую заклёпку нужно припаять к контактной площадке. Просто вставить заклёпку и расплескать - этого недостаточно.
Мультиметром проверьте, чтобы был контакт на каждую ножку микросхемы памяти (устанавливайте щуп мультиметра именно на ножку, а не на контактную площадку рядом). Проверьте на КЗ рядом находящиеся контакты. Оставляйте ваши вопросы в комментариях под этой статьёй - по возможности постараюсь вам помочь.
На момент написания этой второй части статьи перестала работать запись игр на картридж. Изначально я подумал, что дело в LPT-порте, возможно какие-то конфликты оборудования. Но на другом пк всё было точно также. А именно: микросхема определялась в одном случае из десяти, записать ничего нельзя было (прерывалось с ошибкой), стирание вроде работало, чтение с памяти выдавало не то, что нужно. Всё это было именно из-за плохого контакта дорожки с заклёпками, а также каким-то странным образом одна ножка микрухи потеряла контакт с дорожкой.
Всё готово!
Послесловие
На картридже удается запустить практически все игры, если соблюдать регион и расширение файла-рома. Я записал игр 20. Из них только одна (NBA) зависала в меню настроек игры. Такие хиты как Mortal Kombat 3 Ultimate, Wrestlemania, Battletoads and Double dragon, Dune - The Battle for Arrakis, Road Rash, Robocop vs The Terminator и другие без проблем запустились.
Стоимость радиокомпонентов
- M29W320ET70N6E - около 2 у.е.
- текстолит, рассыпуха, переключатели, стабилизатор, заклёпки и др. всё вместе около 3 у.е (в зависимости от того, что у вас есть уже).
Статьи из журнала "Радиохобби" |