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

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

Сколько было сломало джойстиков, сколько было потрачено времени... Все эти зарисовки уровней на листах тетрадки, записанные комбинации приёмов для Mortal Kombat 3. Бессонные ночи и дни за любимой игрой были обычным делом для школьника конца 90-х годов и начала нулевых. Хотя эпоха игровых приставок пришла на постсоветские земли с запозданием лет на пять, но всё же оставила свой след в жизни каждого молодого геймера того времени. 

Иметь у себя дома приставку было большой удачей. Чаще всего это была Dendy или один из её клонов BT, Lifa, Zhiliton, Subor и т.д. Хотя по сути Dendy это и есть клон Famicom. Немного выше по стоимости на тот момент была Sega Mega Drive 2. Она реже встречалась у любителей компьютерных игр, думаю, в силу своей стоимости. Игр было достаточно как на одной платформе, так и на другой. У каждой были свои бестселлеры. Правда, игры под Dendy уступали в плане графики, но на тот момент не это было главное. Главное было - сюжет игры, её реализация. Думаю, каждый играл в "примитивные" танчики на Денди и играть в них было действительно интересно, тем более если вдвоём. В то же время можно было найти игры с красивой графикой на Сеге, которые так и остались малоизвестными. 

Осталась у меня еще с тех "лохматых" девяностых стародельная Sega MD2 (фото приставки внутри ниже). Она не была оригинальной, естественно. Как и на всех пиратских Сегах у них монозвук - второй канал просто не распаян. И вот спустя сколько-то там лет захотелось поиграть с братом, вспомнить детство. Было несколько картриджей; небольшой ремонт шнура блока питания, перепайка шнура джойстика и Сега в строю. 

Приставка Sega Mega Drive 2 (вид внутри, плата)

Поиграли. Начали вспоминать игры детства. Всякие эти "а вот помнишь игру, начинается с космического корабля" или "там еще можно было ящики разбивать". Захотелось вспомнить, как всё было. Пересмотрел разного рода прохождения и топы игр на YouTube, вроде нашел названия игр, которые хотелось бы заполучить. Пошел смотреть объявления на местном сайте объяв - должны же старые игроманы сбывать ненужный хлам. Что касается самих б.у. приставок, с их покупкой проблем не возникнет - 10 уе и вполне рабочий экземпляр едет к вам. Что Сега, что Денди - примерно стоят одинаково. Но мне нужны были картриджи. Наткнулся я на продавана новодельных картриджей. Особо не понимал разницы между новоделом и староделом. А разница эта не особо и большая - в новодельных картриджах все радиокомпоненты помещены в одну бескорпусную микросхему в виде черной капли из компаунда на миниатюрной платке. Также новодельные "карики" бывают переведены на русский язык. Стоимость как стародела, так и новодела примерно одинакова - от двух долларов за малоинтересные игры; 4 уе за какие-то хиты или многоигровки. Но купить стародельный бестселлер уже проблема (например, Mortal Kombat 3 Ultimate в футляре) - цена там будет как несколько приставок. 

Нашел у продавца новодельных картриджей нужные игры (Top Gear 2, Road Rash 3, Mortal Kombat 3 Ultimate, NHL 97). Покупка приехала, начал включать. В итоге из 4 новоделов на старой Сеге запустились только 2. Возможно, ситуацию бы спас переключатель региона/режима, но это встречается на новых Сегах. Мне же пришлось возвращать неработающие картриджи. И что-то как-то осадок остался от такого frown Поиск стародельных либо ничем не заканчивался, либо опять же - цена слишком завышена. 

На тот момент я в курсе был, что можно было бы и на эмуляторе с пк поиграть в любую игру. Даже если заморочиться, то можно было бы и джойстик в виде сеговского под USB-порт купить. Но это не то. Что-то как-то не лампово smile Начал я искать решение по этой теме. Наткнулся на flash-картриджи. Тут много вариантов - можно с Алиэкспресс заказать, можно с Ebay, можно и на сайте самого продавца возможность купить из России/Украины. Но здесь вопрос в цене - такой картридж обойдется как 7-10 б.у. приставок. Причем нет уверенности, что пойдут все нужные игры. 

И тут опять что-то перехотелось. Начал искать самодельные решения. Вроде и есть материал в интернете по этому делу, но что-то как-то всё разбросано, не везде есть проверка схемы в железе, либо трудно повторить такое изделие. После вот таких периодических поисков наткнулся на статью "Вечный картридж для Sega Mega Drive 2", автор Сергей Рюмик, г. Чернигов, журнал "Радиохобби" №6, декабрь, от 2004 года. Сам журнал уже не существует и сайт недоступен. Но можно найти сканы журнала и материалы из него. Я собрал всё в кучу и прикреплю к этой статье, так как время идёт и, возможно, эти материалы могут быть со временем утеряны на изначальных источниках. Автор статьи всё подробно описывает. Обязательно к прочтению.

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

Чья-то неудачная попытка изготовления перезаписываемого картриджа для Sega

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

Картридж

Итак, что же нам придется делать согласно статьи из журнала. Основой картриджа будет микросхема flash-памяти аж на 4 мегабайта laughing. Как и говорит автор, само название "вечный картридж" весьма относительно, поскольку ничто не вечно и микросхема имеет ресурс циклов записи/чтения. Но на ваш век хватит. Эта микросхема и будет составлять основную стоимость картриджа. Еще не помешал бы корпус от старого сеговского картриджа для нашей поделки. Более подробно о картридже будет описано в следующей части статьи.

Программатор

Также чтобы записывать игры на наш перезаписываемый картридж нам нужен будет программатор. Он построен на 7-ти микросхемах. Все они копейки стоят. Основная запчасть тут скорее разъем для картриджа. Он на 32 контакта в два ряда (от Денди не подойдет т.к. он имеет меньше контактов). Как и подсказал автор, можно вместо оригинального использовать разъём ISA со старой материнской платы или какой-то платы расширения. Только такой порт также будет на 1 контакт короче. Поэтому придется с одного длинного разъема сделать один более короткий. Просто режем ножовкой на три части, серединку выбрасываем. Получается, что у нас часть разъема это 31 контакт и сбоку приклеен еще 1 контакт (такая же боковая часть). Но если у вас получится найти такой разъем уже в готовом виде - лучше купить цельный.

Плата расширения с ISA портами Самодельный слот для картриджа на 64 контакта

На рисунке выше такой самодельный слот. Но он сделан чуть иначе - я отпилил от основной части больше и оставил 20 контактов. Затем идет место под неиспользуемый контакт - в этом месте склеены две части. Затем идут недостающие 11 контактов. В сумме получается 32 шт. (если учитывать пустой, в котором склейка). Преимущество этого решения - такой слот получается более прочным и вы его не сломаете пополам когда будете вставлять картридж. А если же к 31 контакту приклеивать +1 сбоку (как это сделано в моём случае) - при неправильной вставке слот в месте склейки сломается. Я сделал оба варианта, но так как слот, что на рисунке, получился немного кривым, я оставил вариант склейки 31+1.

Но если вы будете делать так же как и на рисунке выше (20+11 контактов), тогда при впаивании слота в плату программатора не забудьте поставить нужной стороной, чтобы пустой контакт на слоте соответствовал неиспользуемому контакту на плате. 

Кстати, о выпайке слота из платы донора. Выпаивать его весьма трудно. Обычным термофеном от паяльной станции нормально разогреть не удалось. Забыл попробовать вариант со сплавом Розе. Выпаять пальником - совсем маловероятно. В моем случае пришлось отрезать кусок платы и на газовой плите прогревать. Затем слот нормально снялся. Будете выбирать плату-донора - ищите с несколькими слотами ISA, так как скорее всего первый блин пойдет комом embarassed Как я уже и сказал, в программаторе это будет самая трудная часть миссии.

Авторский вариант программатора

Ниже приведена схема программатора. Более подробно о ней можно будет почитать в самой статье автора. От себя добавлю, что при правильной сборке никаких дополнительных настроек программатор не требует (и картридж тоже). В архиве вы сможете найти разведённую плату от автора. 

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

В авторской задумке плата разведена на двухслойном текстолите. Это не есть проблема. Но в домашних условиях трудно сделать переходы с нижнего слоя на верхний. И таких переходов на плате большое количество. Особенно трудно повторить такие переходы под разъемами (который для картриджа или разъем DB-25 для LPT-порта). 

Авторская разводка платы для программатора Авторская разводка платы для программатора

Свой вариант программатора

Плата была сделана, проверена тестером на КЗ дорожек. Но когда начался процесс пайки, тогда я и понял что ничего качественного здесь не выйдет. Собранный программатор естественно работать не хотел. Решил выпаять все детали обратно. Тогда начался мозговой штурм о том, что же делать дальше. Затем, я решил попробовать сделать свою разводку платы. Параллельно были размышления о корпусе для программатора - оставлять его в виде платы не хотелось. Поскольку в этом программаторе есть разъем DB-25, сразу на ум пришла идея со старым модемом Acorp. 

Модем Acorp

Корпус от него весьма хорошо по задумке подходил для программатора: есть индикация на передней панели, есть разъем для подключения, гнездо питания, включатель, достаточно много места внутри. Тем более модем уже много лет просто валялся без дела. Но тут есть нюансы. Во-первых, если вы захотите использовать кабель для передачи данных от этого модема - то он не подойдет, поскольку в нём отсутствует часть контактов. Нужно будет купить такой кабель отдельно (типа "папа-мама") - он стоит около доллара; таким кабелем подключали раньше принтеры. Во-вторых, гнездо на модеме не подходит - оно типа "мама/female", а нужно типа "папа/male" (со штырьками). Распиновка контактов кабеля на рисунке ниже.

LPT-кабель DB25 распиновка

Еще не забудьте о том, что в современных пк уже нет LPT (параллельного) порта. Но бывает, что хоть сам порт не выведен на заднюю панель системного блока, но сама контактная площадка присутствует на плате (как это было в моём случае, фото ниже). Для подключения вам понадобится удлинитель, который также сейчас уже ничего не стоит.

Контактная площадка для DB-25 порта на материнской плате

Удлинитель для LPT-порта

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

Модем Acorp (вид сверху) Модем Acorp (вид внутри) Модем Acorp (нижняя крышка)

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

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

Плата программатора перед травлением Плата программатора перед травлением Плата программатора после травления

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

Плата программатора после травления и после снятия тонера Плата программатора покрыта сплавом Розе Плата программатора с установленными

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

  Где найти подходящую по размерам тару для травления большой платы?

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

Тара для травления из-под картонной коробки

После сверления отверстий и пропайки "заклёпок" устанавливаем радиокомпоненты на свои места. 

Готовая плата программатора Готовая плата программатора (вид сзади) Готовая плата программатора

Обратите внимание, что четырёх контактов в слоте картриджа не хватает - это было сделано специально, чтобы провести под ними дорожку. На схеме это будет видно. Далее уже установка платы в корпус. 

Корпус и плата программатора Задняя часть программатора Программатор собран и включен

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

Кстати, еще такой момент. Блок питания от Sega подходит к этому программатору. У такого БП контакты плюс с минусом изменены местами.

Для работы с программатором используйте программу EpromM51.exe (версия 0.97ja), будет в архиве к статье. Работа тестировалась как из-под Windows XP, так и Windows 7. Более подробно работа с программатором для чтения/записи будет рассмотрена во второй части, где будет изготовление самого перезаписываемого картриджа.

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

Если подключить программатор к ПК, запустить программу и перейти на вкладку "Test H/W", мы сможем вручную подавать сигналы на разъём под картридж. Немного информации относительно EzoFlash (это оригинальный программатор на основе которого сделан данный) можно почерпнуть здесь. Выставляете чекбоксы и замеряете питание на соответствующей линии (+5 вольт должно быть). Включаете по одному.

Тестирование программатора

На разъём приходят сигналы А0-А21, D0-D7. Чекбокс OE включает возможность тестирования D-линий. OE включает питание на контакте B16 (S6), CE - подает питание на A31 (S4). Vcc - включает светодиод записи, Vpp (как я понял) ничего не включает, поскольку питание на микросхему у нас через стабилизатор идет.

Тестирование программатора EzoFlash

Изначально все галочки сняты. На всех линиях А должно отсутствовать питание. Затем, например, мы включаем линию А11 (как показано на рисунке выше). На число 25 не обращаем внимание. Галочка А11 подает питание на контакт разъёма А4. Не нужно путать названия контактов на разъёме А и контактные линии (шины) А - это разные вещи. Далее проверяем, что на контакте А4 (разъём под картридж на программаторе) присутствует +5 вольт. Снимаем галочку и напряжение на А4 тоже должно отсутствовать. И так по всем контактам. Если все линии подают сигналы на соответствующие контакты - это хороший знак и можно считать что программатор теоретически исправен.

Если после такой проверки питание на нужные контакты не приходит - делайте визуальный осмотр платы программатора. Уделите особое внимание пайке заклёпок к дорожкам. Просто установить заклёпки недостаточно - их обязательно нужно пропаять. По схеме (или по файлу lay6 с программатором) пройдитесь мультиметром в режиме прозвонки.

UPDATE. Для владельцев Windows 7 x64, возможно, придется дополнительно настроить LPT-порт (ссылка). Также ниже добавлен архив с программатором версии 0.97ja для Windows 7 x64.

Стоимость радиокомпонентов

Стоимость сборки этого программатора (без корпуса и блока питания, который от приставки идёт) примерно следующая: 

  • 7 микросхем общей стоимостью около $2-3
  • кабель для подключения к ПК $1
  • текстолит $1.5
  • порт BD-25 $0.5
  • "рассыпуха" $1-2
  • "заклёпки" для двухстороннего контакта $1

Не учтена стоимость слота и удлинителя LPT-порта на мат. плату. Стоимость, как видите, минимальная и зависит от того, что у вас уже есть.

В следующей части будет изготовление картриджа и запись игры на него. Если у вас возникнут какие-то трудности со сборкой или другие вопросы - оставляйте их под этой статьёй wink

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

Статья из журнала "Радиохобби" №6 от 2004 г. 

Плата программатора для Sprint Layout 6 (lay6)

Программа-программатор EpromM51.exe (vers. 0.97ja)  Windows XP/7 32bit /  Windows 7 64bit

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

  • КФПУ
    Подскажите, пожалуйста, для общего развития, почему часть дорожек и областей синим и голубым цветом?Я новичек в изготовлении печатных плат.
    • Виталий
      Это просто скриншот платы с двумя слоями - верхним и нижним.
      Чтобы просмотреть саму плату нужно открывать файл programmator2.lay6 в программе Sprint Layout 6. Там можно будет увидеть что синие дорожки лежат на одной стороне платы, зеленые - на обратной.
  • ddainvest
    Здравствуйте. Подскажите пожалуйста, какие именно микросхемы, да и вообще элементы для установки на плату нужны ? Из статьи не совсем ясно, кроме как на скриншотах, ни где не увидел...
    • Виталий
      Привет. На самой схеме (в подразделе "Авторский вариант программатора") все номиналы и названия микросхем указаны. На плате в Sprint layout уже нужно выставлять радиокомпоненты согласно этой схемы, там не все подписаны. Также более подробно описано в прикрепленном pdf-файле (статья-оригинал от автора). Напишите если что-то не понятно.
    • Виталий
      Также если вы спрашиваете про радиодетали для самого картриджа - то во второй части это более подробно описано.
      • ddainvest
        Вроде бы разобрался. Не сразу понял что компоненты можно посмотреть на схеме от Авторского варианта. Получилось примерно так:
        C1 33 мк х (х16В) 1шт
        C2-С6, С8 0,1 мк 6шт
        C7 100 мк х25 В 1шт
        DD1,2 К561ЛН3 2шт
        DD3 К555ЛН1 1шт
        DD4 К555ИР9 1шт
        DD5,6,7 К561ИР2 3шт
        DR1 10 к 1шт
        R1 470 1шт
        R2 390 1шт
        R3,4 2,2 к 2шт
        R5,6 10 к 2шт
        VD1 КД212Б 1шт
        SA1 ПД9-2 1шт
        DA1 КР142ЕН5А 1шт
        HL1 АЛ307Б 1шт
        HL2 АЛ307Г 1шт
      • ddainvest
        Еще вопрос, в схеме указан диод КД212Б, посмотрел по chipdip, такой стоит дороговато и судя фото, вы его заменили каким то другим ?
        • Виталий
          Диод тут чтобы полярность при подключении блока питания не перепутать. Какой-нибудь 1N4007 вполне подойдет. Нужно обратить внимание, что блок питания от Сеги (который используется для программатора) имеет разъём у которого +/- местами изменены.
          Еще в программаторе не 6, а 5 керамических конденсаторов использовано в цепи питания микросхем.
          • ddainvest
            Спасибо) Да с кондерами обсчитался немного :) Еще вопрос на счет заклепок, какой диаметр вы использовали (я нашел НШВ 0,5-8 самый маленький)? И как их расклепать можно ?
            • Виталий
              http://radionavt.com.ua/articles/manufacture-of-circuit-board-and-metallization-of-holes-at-home
              Вот тут это описано.
  • denprox
    Подскажите пожалуйста! Какая распайка подойдет для провода LPT ? Искать или покупать готовый не хочется, тем более разъемы есть под рукой, хотел бы сам сделать.
    • Виталий
      Привет. Добавил в статью фото с распиновкой кабеля.
  • iGor
    Привет! Собрал программатор (с горем пополам), вроде бы даже что-то работает, но не могу понять, как проверить сам разъем под картридж. (В электронике совсем новичок, это мой первый опыт). Собственно, как именно проверить напряжение на контакте ? К чему приложить второй щуп мультиметра ?))
    p.s. извиняюсь за тупой вопрос ...
    p.s.s. единственное что точно работает это vcc, красный светодиод загорается или гаснет в зависимости от установленной галочки. Зеленый горит (очень тускло при подключенном LPT и ярко при включенном питании).
    • Виталий
      Привет. Я думаю дальше будет сложно если возникают вопросы как измерить напряжение :)
      В разделе "Тестирование работоспособности" описано как проверять программатор.

      Черный щуп мутриметра нужно ставить на минус питания. Напряжения измеряются относительно нуля (земли, массы, минуса). В нашем случае это всё одно и то же. Можно на корпус разъема DB25 (LPT) ставить, можно на корпус стабилизатора (который винтом прикручен к плате на фото) - они подсоеденены к минусу.

      Красный (плюсовой) щуп ставить на контакты разъема. Мультиметр будет показывать разность потенциалов между двумя щупами. В режиме измерения напряжения тут трудно что-либо "убить", потому нечего бояться, можно "тыкать" щупами в любые точки.
      В статье описано как проверить одну линию (контакт). Остальные по той же методике.
      Также нужно учесть, что напряжение на контакте от 0 до 1.5 В является отсутствием сигнала (низкий уровень), напряжение близкое к 5 В - высокий уровень (сигнал присутствует).
  • iGor
    Спасибо!) Неожиданный развернутый ответ! Буду проверять)
  • iGor
    Что-то не так. Установка галочки ни на одном контакте не подает питание. Но если нажать кнопку А0->А23, то появляется питание, но не пропадает...
  • Виталий
    Кнопки нажимать не нужно, я обходился только галочками.
    Чекбокс CE - включает контакт А31, OE - контакт B16.
    Нужно начать хотя бы с этого. Если на этих контактах никаких изменений - проверять плату мультиметром в режиме прозвонки. Начинать нужно с разъема LPT, убедиться что с одного конца кабеля контакт поступает непосредственно на плату для всех 25 контактов. Затем проверить питание на всех микросхемах.
    • iGor
      Вроде бы со всем разобрался, на плате было несколько непропаев ) Проверил еще раз, все контакты исправны) Осталось сделать картридж!

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