• Русский
  • Українська

Вечный перезаписываемый Flash-картридж для SEGA своими руками. Часть 2

  Эта статья является продолжением Вечный перезаписываемый 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 представлена ниже.

Электрическая схема перезаписываемого Flash-картриджа для SEGA

По схеме линейный стабилизатор 78L03 мне пришлось заменить на LD33, поскольку первый найти не удалось. Микросхема памяти рассчитана на напряжение 2.7 - 3.6 В. Не берите самые мелкие SMD-радиодетали, поскольку под некоторыми из них нужно будет пропустить дорожку. Для переключателей XT1-XT4 использованы джамперы (как на материнских платах). Об этих переключателях будет немного позже. 

Итак, радиодетали куплены, текстолит отрезан, шаблон напечатан, пора делать "карик". Авторская разводка платы мне изначально не совсем понравилась. Как в случае с программатором, так и в картридже используется двухсторонний текстолит. Соответственно, в некоторых местах нужно делать передачу контакта с одной стороны на другую Мне лично трудно понять автора о чем он думал в 2004 году когда писал статью и делал разводку плат. Мне казалось, что подобные поделки должны быть доступны для реализации без спец. оборудования. Не понятно, как среднестатистический радиоаматор того времени должен был делать металлизацию отверстий (для передачи контакта) в домашних условиях. Да, можно сделать отверстие, вставить кусок проволоки, запаять с двух сторон - не шибко красиво, но работать будет. Всё бы хорошо, но в авторской разводке платы эта металлизация должна была также присутствовать под микросхемой памяти. И вот каким чудом припаять потом "микруху" на эти бугры из торчащей проволоки под ней? Но про эту проблему я узнал уже в процессе монтажа радиокомпонентов на плату. Также перфекционистам не понравилась бы несимметричность переключателей на картридже - они не стоят по центру платы. Еще и плата по размерам не влазит в корпус. В общем, изначально ничего менять не стал, решил спаять как указано, если заработает - потом уже буду переделывать так, чтобы приятно смотреть было на свою работу. 

Первая версия картриджа (авторская)

Плата картриджа для SEGA перед травлением (вид сзади) Плата картриджа для SEGA перед травлением (вид спереди)

Фотобумага с остатками тонера после перевода рисунка на текстолит Фотобумага с остатками тонера после перевода рисунка на текстолит

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

Плата картриджа для SEGA после травления (вид спереди) Плата картриджа для SEGA после травления (вид сзади)

Плата картриджа для SEGA перед сверлением (вид спереди) Плата картриджа для SEGA перед сверлением (вид сзади)

Плата картриджа для SEGA после сверления и лужения (вид спереди) Плата картриджа для SEGA после сверления и лужения (вид сзади)

Плата картриджа на просвет

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

Плата картриджа перед установкой микросхемы памяти

Готовый Flash-картридж (вид сзади) Готовый Flash-картридж (вид спереди)

Изготовленный картридж заработал почти сразу. Пришлось только прозвонить дорожки и подправить отсутствующий контакт. 

Кстати, про "заработал почти сразу". Было всё так. Сначала был собран программатор. Как говорилось, проверить его работоспособность без картриджа весьма проблемно. Затем был изготовлен картридж, который на фото выше. Как вы понимаете, проверить работоспособность отдельно картриджа тоже проблемно - игры на нём еще нет. Получается, два вроде как готовых устройства, которые по отдельности нельзя проверить. Дальше вставляем картридж в Сегу, включаем. Тут мне было просто интересно что будет с пустой микрухой памяти. Как не удивительно, ничего не произошло и никакой картинки Сега не выдала. Ну, хотя бы ничего не бабахнуло laughing и приставка осталась живой. 

Затем, я подключил программатор к LPT-порту. На программаторе при включении засветились оба светодиода. Запустил программу-программатор EpromM51.exe, светодиод записи погас. Всё вроде как хорошо. В программе сам программатор никак нельзя отследить, то есть он не определяется как устройство, например. Выключаем программатор, вставляем картридж, заново запускаем программу. И вот тут была проблема, поскольку в списке поддерживаемых микросхем не было именно той, которая запаяна на картридже. В статье автора упоминается, что на момент публикации можно было скачать программу с предустановками. Но ничего такого я не нашел. Перебрав пару микросхем по списку ничего, конечно же, не заработало. А всё нужное было на виду - в статье есть скриншот с нужными настройками программы. 

К статье прикреплены авторские материалы, в которых можно найти разводку платы в формате PCB, а также импортированную мной версию под Altium Designer.

Вторая версия картриджа

Переделать картридж я решил уже после того как всё заработало - игры записывались/читались. Больше остального смущало то что плату картриджа нельзя было засунуть в пластиковый корпус - она по высоте не влазила. Но просто отпилить кусок текстолита тут не выйдет - нужно было заново делать разводку. Заодно решил и переместить "пятачки" из-под микросхемы где-то в сторону, чтобы микруха нормально легла на плату. Так вышло то, что вы можете видеть ниже.

Разведённая плата в Sprint Layout 6

Плата картриджа перед лужением (вид спереди) Плата картриджа перед лужением (вид сзади)

Плата картриджа после лужения (вид спереди) Плата картриджа после лужения (вид сзади)

Передняя сторона вышла хорошо. Но вот задняя сторона (под микруху памяти) как-то не зашла - дорожки слиплись из-за того, что утюгом слишком пережал на шаблон при переносе. Думал, что потом после лужение можно будет канцелярским ножом дорожки отделить. Но сделать это весьма трудно так, чтобы не разрезать соседние. Текстолит оставался, поэтому можно было еще раз повторить undecided

Третья версия картриджа

С третьей попытки всё получилось более-менее удачно. Уже не было слипшихся дорожек, ошибок разводки тоже не было. За исключением одного момента - средний контакт стабилизатора оказался плюсовым, а не землёй, как я полагал по аналогии со стабилизаторами L78XX. Поэтому пришлось средний контакт на текстолите канцелярским ножом отделить от земли. Также контактная площадка под микросхему вышла чуть больше нужного - где-то на 0.1 мм больше. Немного подвинув микруху к центру проблема была решена. 

Плата картриджа перед травлением (вид спереди) Плата картриджа перед травлением (вид сзади)

Плата картриджа перед лужением (вид спереди) Плата картриджа перед лужением (вид сзади)

Плата картриджа после лужения (вид спереди) Плата картриджа после лужения (вид сзади)

Плата картриджа после установки заклёпок и их пропайки (вид спереди) Плата картриджа после установки заклёпок и их пропайки (вид сзади)

Полностью готовый перезаписываемый Flash-картридж для Sega (вид спереди) Полностью готовый перезаписываемый Flash-картридж для Sega (вид сзади)

Последовательность действий при записи

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

Окно выбора напряжения (Willem Eprom)

Пару раз жмём на "ОК" и попадаем в главное окно программы. Вам не нужно ничего дополнительно настраивать кроме того, что указано на рисунке ниже.

Главное окно Willer Eprom

Обратите внимание на выбранную микросхему памяти 29LV320. Возможно, вам понадобится изменить порт (Printer port). Удостоверьтесь, что на программаторе погас светодиод записи (красный). Жмём на кнопку "Electronic ID". Должно отобразиться следующее (при условии, что вы используете микросхему памяти M29W320ET70N6E):

Определение микросхемы памяти ST Micro

Бывает, что не происходит определения. Повторите попытку еще раз. 

Далее нужно стереть всё возможные данные на микросхеме - жмём "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 МБ. Меньше игра - быстрее запись. После проверки в нижней части окна должна быть надпись об удачном завершении. Далее выключаете питание программатора выключателем, вынимаете картридж и понеслась cool 

Запись игры на картридж

Ах да, не совсем так. Время упомянуть про переключатели, те что на картридже находятся. Автор статьи предусмотрел запись нескольких игр на картридж, смена игр должна происходить путём нажатия кнопки RESET на приставке. Но игры нужно предварительно "склеить" в один файл специальной программой-склейщиком. Программа "округляет" файл игры до нужного размера, дописывая в конец каждого файла нули. Скажем, если у вас игры 300 кБ и 450 кБ - они будут дописаны нулями в конец, чтобы каждая составляла 512 кБ. Когда вы жмёте RESET происходит обращение сначала к нулевому адресу, памяти, потом к адресу где лежит начало второй игры (то есть по сути 0 + 512 кБ) и т.д. Я не стал заморачиваться со склейкой игр. Мне проще было писать по одной игре чего и вам советую. Если записывается только одна игра, тогда все четыре переключателя ставим в крайнее левое положение. Микросхема памяти находится сзади картриджа, соответственно в приставку вставляем микросхемой от себя.

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

Когда решитесь записать другую игру следует сначала стереть память и затем произвести запись как указано выше. 

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

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

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

Мультиметром проверьте, чтобы был контакт на каждую ножку микросхемы памяти (устанавливайте щуп мультиметра именно на ножку, а не на контактную площадку рядом). Проверьте на КЗ рядом находящиеся контакты. Оставляйте ваши вопросы в комментариях под этой статьёй - по возможности постараюсь вам помочь. 

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

Всё готово!

 Полностью готовый и собранный в корпус перезаписываемый Flash-картридж для Sega MD2 EzoFlash-программатор и Flash-картридж для Sega Double Dragon & Battletoads на самодельном картридже

Послесловие

На картридже удается запустить практически все игры, если соблюдать регион и расширение файла-рома. Я записал игр 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 у.е (в зависимости от того, что у вас есть уже).
 

Статьи из журнала "Радиохобби"

Плата картриджа для Sprint Layout 6 (lay6)

Другие авторские файлы

Комментарии к статье

  • КФПУ
    Доброго времени суток! Давно изучаю тему флеш-картриджей, купить готовый останавливает цена и желание собрать таки своими руками. Читал статью рюмика много раз, можно доделать сохранения для игр с ними и в принципе вещь неплохая. Используется память на 32 Мбита, на которую можно записать все оригинальные игры. Но в настоящее время производители картриджа используют память 128 Мбит с возможностью записи ромов до 80-120 Мбит. В настоящее время большой популярностью пользуются различные модифицированные ромы игр, поэтому увеличенный объем памяти является актуальным. в каком направлении стоит начинать исследования есть ли возможность модицифицровать устройство картриджа под микросхему с большой памятью?
    • Виталий
      Привет. Я просмотрел все доступные РОМы из старых игр и по размеру все они должны вместиться на такой самодельный картридж. Я модифицированными играми как-то не сталкивался. Не настолько хорошо изучал схему и принцип работы чтобы помочь советом как реализовать запись на другой микросхеме.
  • ddainvest
    Есть ли аналоги предложенных микросхем памяти ? У меня в городе как то туго с этими... только с Китая заказывать если
  • Виталий
    Может по характеристикам и есть какие-то аналоги по-новее, не подскажу.
    Заказывайте с доставкой из другого города если вообще в стране есть. Иначе только Китай.
  • ddainvest
    Из другого города получается дороже чем с Китая )
  • krssh
    У меня была w160. Так она не стиралась и не писалась пока 12В не подал на /rp (12).
    После get id по-видимому вываливалась в режим CFI и писала при read ерунду всякую.
    Так что стирать пришлось не получая ID.
    • Виталий
      Спасибо за комментарий. Возможно, это кому-то будет полезным.
  • Дмитрий
    Добрый день. Отличная статья. Как раз делаю эти 2 платы. Подскажите мне пожалуйста на схеме картриджа конденсатор С1 - 200 пкФ? И еще вопросик сама прога пойдет ли в седьмом либо 10м виндоусах?
    • Виталий
      Здравствуйте. Да, на 200 пф. На плате там 2 по 100 пф.
      В Windows 7 точно будет работать, проверено. В 10-ке - скорее да, чем нет.
  • Дмитрий
    Добрый день. Спасибо за подсказки Виталий. Все делается в программе EpromM51.exe, которая выложена в первой части статьи, я правильно понимаю?
    • Виталий
      Да, там ссылки на два архива для 32-х и 64-х битных систем.
  • Дмитрий
    Спасибо большое. Как раз купил такую же микросхему памяти которую и вы используете. Как вы считаете большинство игр можно пробовать записывать? Бесспорный хит Battletoads and Double dragon пробовали?
    • Виталий
      На сколько помню запустились все игры (штук 20-30 проверил) кроме NBA Jam. И то он запускался, но при настройках в игре зависал. ROM'ы игр могут быть в разных форматах и не все запускаются. По-моему, надо bin/gen ROM использовать. DD&BT работал. Точно работали Road Rash 2/3, Mortal Kombat 3 Ultimate, Wrestlemania, TopGear 2, Robocop, NHL 97, Comix Zone, Contra Hard Corps, Batman какой-то. Да вобщем все игры удавалось найти рабочими кроме NBA.
  • Дмитрий
    Спасибо большое Виталий. Буду пробовать на неделе. Очень приятно,что есть еще люди которым нравятся сеговские игры!

Поделитесь своим мнением о статье