Найти тему
Техник

Ремонт геймпада Sega, замена капли.

Здравствуйте уважаемые читатели!!! История такова, сломался геймпад для "Sega", просто перестал реагировать на все кнопки. Геймпад не оригинальный, какой то клон из неизвестных мне годов. Конечно можно было купить новый на том же алиэкспресс или даже в магазине, но тогда нужно было бы ехать в областной центр. Но как и все радиолюбители, мы не ищем простых путей и вдобавок хотелось реализовать задумку по приспособлению старой палки счастья, настоящего джойстика со времен "ZX Spectrum" к "Sega". Джойстик очень качественный, с микровыключателями по всем осям и в кнопках, тактильно пощелкивающих при движении рукоятки.

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

Для тестирования геймпада, использовал игру "Contra The Hard Corps",

-2

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

найдено в свободном доступе
найдено в свободном доступе

найдено в свободном доступе
найдено в свободном доступе

Вот в этом 8 кнопочном варианте( у него отсутствуют кнопки X, Y, Z и MODE) действительно установлена обычная микросхема коммутатор типа К555КП16 (74LS157) или К555КП13 (74LS257). Эти микросхемы отличаются назначением одного входа (№15), который не используется в данной схеме, поэтому подойдет любая из них. Для серий TTL микросхем можно не устанавливать резисторы, у меня работало надежно и без них, но если использовать КМОП версию этих микросхем, то резисторы обязательно нужны.

Но хотелось сделать нормальный 12 кнопочный геймпад, интернет выдал вот такую схему.

эта схема не работает должным образом
эта схема не работает должным образом

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

осциллограмма для опроса 8 кнопочного варианта
осциллограмма для опроса 8 кнопочного варианта
а это 12 кнопочный вариант опроса
а это 12 кнопочный вариант опроса

И геймпад самостоятельно определяет какой тип опроса и соответственно по разному реагирует и если игра использует 8 кнопочный опрос, то геймпад игнорирует нажатие этих дополнительных кнопок.

Для 12 кнопочного геймпада Sega изготовила заказной чип "SEGA 315-5638-01" по которому информации я не нашел. Получается, что в этой капле и используется клон этой микросхемы.

Я решил, что все это можно реализовать на микроконтроллере и ATMEGA8 вполне может справиться с этой задачей. Даже как то символично получается в названии приставки и микроконтроллере присутствует слово "MEGA".

Программу решил писать на ассемблере, все же проще контролировать все тайминги, ведь приставка не будет ждать ответа геймпада и микроконтроллер должен максимально быстро отвечать приставке соответствующем образом. Вначале было решено тактировать контроллер кварцем 16 мГц, это максимальная частота для данного типа чипа, порты контроллера использовались по максимуму, ни одного свободного не оставалось. Но практика показала, что ATMEGA8 вполне себе успевает работать и на своем внутреннем генераторе в 8 мГц. поэтому вместо кварцевого резонатора освободились еще 2 порта, которые можно будет использовать как то еще.

Использовал несколько экзотический визуальный макроассемблер от Громова "Algorithm Builder", который он к сожалению перестал поддерживать и выпустил крайнюю версию полностью бесплатную и без каких либо ограничений. Еще одно преимущество этой программы, очень простая схема программатора, именуемая в народе, пять проводков.

 программатор Громова 5 проводков.
программатор Громова 5 проводков.
все размещается прямо в корпусе коннектора фото не мое, у меня тоже в коннекторе, но на печатной плате и детали SMD.
все размещается прямо в корпусе коннектора фото не мое, у меня тоже в коннекторе, но на печатной плате и детали SMD.

но... как же без этих то "но".. этот программатор требует уже тоже не менее экзотический "COM" порт на компьютере. переходник USB -->COM не подходит к сожалению от слова совсем. Правда есть у него схема программатора USB, но опять но... там используется микроконтроллер который нужно тоже чем то прошивать. Вот такой замкнутый круг получается. Конечно можно использовать любой программатор, который есть в доступности, хотя бы тот же народный "TL866" или там еще какими китайцы торгуют, у меня таких нет и ничего конкретно советовать не буду.

Ладно, хватит о программаторах, все равно есть люди, которые от слова "прошить МК" впадают в ступор и после слов о МК просто бросят дальнейшие прочтение, а другая часть людей и так знают как и чем прошивать.

собственно схема, как есть на листочке в клеточку. резистор 1-10 кОм конденсаторы по 0,1 мкф. Резистор и конденсаторы возможно можно и не устанавливать, с ними как мне кажется понадежней будет. буду вставлять эту плату в джойстик, попробую без них. посмотрим как работать будет.
собственно схема, как есть на листочке в клеточку. резистор 1-10 кОм конденсаторы по 0,1 мкф. Резистор и конденсаторы возможно можно и не устанавливать, с ними как мне кажется понадежней будет. буду вставлять эту плату в джойстик, попробую без них. посмотрим как работать будет.

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

Плату приклеил двухсторонним скотчем. дополнительные проводки, это к программатору. потом просто отпаяю. кнопку MODE пока не ставил, через нее проходят проводки к программатору.
Плату приклеил двухсторонним скотчем. дополнительные проводки, это к программатору. потом просто отпаяю. кнопку MODE пока не ставил, через нее проходят проводки к программатору.
-13

Это геймпад был проверен на эмуляторе HAMY4, новодельной SEGA MEGA DRIVE2 и стародельном клоне какой то sega, плата без корпуса найдена на помойке и восстановлена.

-14

-15
кварцевый генератор не работал, найти такой не удалось, пластина кварца была разбита. намотал катушку и поставил вместо кварца, стабильности для формирования цвета не хватало, на плате оказалось место для установки кварца PAL кодера. туда поставил кварц на 4.43 мГц и цвет появился. При растяжении или сжатии витков катушки, можно ускорить или замедлить работу приставки, звук соответственно тоже меняет скорость.
кварцевый генератор не работал, найти такой не удалось, пластина кварца была разбита. намотал катушку и поставил вместо кварца, стабильности для формирования цвета не хватало, на плате оказалось место для установки кварца PAL кодера. туда поставил кварц на 4.43 мГц и цвет появился. При растяжении или сжатии витков катушки, можно ускорить или замедлить работу приставки, звук соответственно тоже меняет скорость.

Корпус выпилен из фанеры 4мм и покрыт лаком.
Корпус выпилен из фанеры 4мм и покрыт лаком.

Плата для изготовления методом ЛУТ в формате Sprint Layout.

прошивка и исходники в формате "Algorithm Builder"