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

USB Sega gamepad

Чт янв 10, 2013 16:43:50

Доброго времени суток, уважаемые Коты и Кошечки. Спешу поделиться бесполезной но ностальгически приятной поделкой. Завалялись у меня 2 геймпада к приставке Sega с фирменной надписью "Zoga". Вот такой :
Изображение
а внутри такой :
Изображение
Геймпады дохлые. (Забрал на халяву в какой-то точке по продаже китайских приставок)
И чего-то мне его оживить захотелось :) к тому-же праздники, поиграться вздумал...
После минутных поисков обнаружился этот проект.
Сваял я по-быстрому маленькую платку с мыслью просто допаять проводками...
Но потом толи последствия валерьянки, толи помутнение разума изза выходных, незнаю.. Но решил я плату прямо в джойстик изготовить. И изготовил же!
Во :
Изображение
Извиняюсь за качество фото, плата блестит, раз 40 фотал на разных режимах и с разного расстояния, и с разных углов. (И очень сильно извиняюсь за качество платы - лапы тряслись. Все валерьянка проклятая!)
Разъем для программирования не выводил, прошивал припаивая проводки.
Фьюзы : high byte = 0xc9, low byte = 0x9f

Ну вот, как-то так. Пользуйтесь, кому нужно. Девайс определяется сразу, драйверов не требует.
P.S. Гасился в эмулятор Sega 2 дня. Работает идеально.

Re: USB Sega gamepad

Вт янв 15, 2013 05:02:23

Ох ох... 80 просмотров, и ведь никто не сказал, что ни файлов нет, ни картинки не показываются. У меня-то и файлы видно и картинки. И не заметил бы, если бы с чужого компа неавторизированным на форум не зашел.
Засим добавляю файлы и фотки
Вложения
test.png
Вот так определяется
(45.13 KiB) Скачиваний: 3983
IMG.JPG
Фото вытравленной платы
(34.6 KiB) Скачиваний: 4863
usb_game12-1.0.tar.gz
Прошивка + исходники
(72.02 KiB) Скачиваний: 2256
usb_game12_schematic.png
Схема
(10.84 KiB) Скачиваний: 4007
2.lay
Печетная плата
(81.27 KiB) Скачиваний: 2150

Re: USB Sega gamepad

Вт янв 15, 2013 07:16:53

Интересная штука, молодость вспомнить :) Главное не сложная.
А эмулятор я себе тоже поставил, благо архивы игр сейчас не проблема.

Re: USB Sega gamepad

Вт янв 15, 2013 16:56:26

Обожаю старые 8 и 16 битные игры.Скачал эмулятор но быстро разочаровалчя- играть с клавиатуры совсем не то.Нужно подключить джойстик и ваша идея как раз подходит.У меня была другая идея.Есть старая клава, да и новую можно использовать, стоит всего то 150 рэ, вытащить схему и адаптировать контакты старого сеговского джойстика к этой схемке потом подключить вместо клавы в комп и играть.Только повозится придется методом тыка наверное что бы узнать где какие контакты замыкать.

Re: USB Sega gamepad

Вт янв 15, 2013 20:17:14

Pascat писал(а):Обожаю старые 8 и 16 битные игры.

Вот и у меня тоже временами находит...
Собрал я ещё один такой геймпад. И в его корпус запихнул USB концентратор и флэшку (идея не моя, честно сворована). На флэшке все игры и эмуляторы Sega и Nes и SuperNintendo и ещё каких-то приставок (ну и пару Пи-Сишных игр-платформеров, что под Вайном неплохо бегают, на всяк случай, если что-нить с более крутой графикой игры сознание запросит). Все с основной идеей - можно взять девайсы, придти к другу и зарубиться под пиво например в танчики или StreetFighter или вообще в Чипа и Деила :kill: , вспоминая детство.
Можно было бы, конечно, и отдельно флэшку таскать, но вдруг она понадобится прям срочно, или оставишь где... А так все игры в нужном месте - в геймпаде!

Re: USB Sega gamepad

Вс апр 14, 2013 21:05:52

Геймпад хороший получился. Рекомендую любителям ретро игр.
ИзображениеИзображениеИзображение

Re: USB Sega gamepad

Пн сен 16, 2013 22:30:34

ребят, ну я плату сделал, а что и как надо припаять, скажите пожалуйста, я просто новичок в этом)

Re: USB Sega gamepad

Вт сен 17, 2013 06:13:29

Там деталей то с гулькин нос, ничего сложного. А у тебя программатор для atmel есть?

Re: USB Sega gamepad

Вт сен 17, 2013 18:05:31

нету(
скажите пожалуйста, какие детали должны стоять и где) (лучше с фото, визуально легче воспринимается)
буду очень признателен)

Re: USB Sega gamepad

Вт сен 17, 2013 18:44:41

Ну, для начала нужно было не плату делать а почитать про микроконтроллеры. :facepalm: Обзавестись программатором и только потом думать о сборке этого девайса. :)) Вам, батенька, для начала нужно (тут же на радиокоте) почитать в обучалке про микроконтроллеры AVR и неплохую статью про программаторы. Ну и собрать себе какой нибудь из них. Как же вы хотите что-то делать не разобравшись со схемой? :dont_know:

Re: USB Sega gamepad

Вт сен 17, 2013 18:49:25

да, хорошо, почитаю :)

Re: USB Sega gamepad

Чт окт 10, 2013 11:10:07

Очень хочу сделать такую штуку, нашел уже корпус джойстика.
Есть несколько вопросов:

Через какую программу шить? Как там фьюзы расставлять? (Я с ними совсем не разбираюсь...)

Какой эмулятор на Ubuntu вы используете?

Можно ли туда всунуть Atmega в DIP корпусе? Не люблю я эти мелкие SMD...

Я уже шил Atmega8 для металлоискателя, подойдет ли мой программатор:
Изображение

Это дырочки для впаивания деталек или просто так (фиолетовые)?
Изображение

Re: USB Sega gamepad

Чт окт 10, 2013 17:08:01

Ох...
Давай по порядку...
Фьюзы : high byte = 0xc9, low byte = 0x9f
Шить можешь через ту же программу, что и металлоискатель шил. Если на Ubuntu, то avrdude.
В DIP корпусе - это нужно либо плату переделывать, либо проводами подпаиваться. Рекомендую всё-таки мелочь освоить - паяется обычным паяльником и стоит дешевле. И ещё, если всё-таки будешь DIP корпус использовать и подпаиваться проводеми, то посмотри распиновку. У разных корпусов она разная!!!
Теперь по "кружочкам" :
Вот я тебе подрисовал всё
Изображение
ах да.. Эмуляторами поддерживается абсолютно всеми. Я на чем только не испытывал, и ПиСишные игрухи, которые с геймпадом работают с ним дружат.

Re: USB Sega gamepad

Чт окт 10, 2013 17:50:48

Почему на печатке диоды выводные, потому что были под рукой?

Re: USB Sega gamepad

Чт окт 10, 2013 17:55:34

radteh писал(а):Почему на печатке диоды выводные, потому что были под рукой?

Да, SMD стабилитронов небыло, а выводных пакет. :))
Вот, уважаемый кот Wirehead усовершенствовал и переделал под SMD стабилитроны:
Изображение

Re: USB Sega gamepad

Пт окт 11, 2013 07:17:26

Трутень:), хочется немного добавить по ответам на ваши вопросы.

Reloader молодец, что развел печатку под корпус геймпада Сеги. Сэкономил нам часа полтора времени, спасибо :beer: .

Итак, что мы получаем. Автор данной конструкции разработал схему HID USB устройства ввода информации. Т.Е. перед вами самый ОБЫЧНЫЙ USB геймпад, который без проблем работает практически с любой операционной системой у которой есть поддержка HID устройств. Это все современные ОС и даже некоторые сборки Win95 (проверял лично по воли случая). Итак, собрав этот контроллер мы получаем HomeMade USB геймпад который можно собрат в любой понравившийся корпус. Корпус геймпада от Сеги подходит идеально т.к. у него необходимое нам количество кнопок (12) и тогда его можно приладить к любому эмулятору MegaDrive (и не париться в МК выполняя фаталити :)) ). Хоть в GTA V на нем играйте. :))

Прошивать МК можно ЛЮБЫМ современным (не берем во внимание те программаторы в которых MEGA8 не поддерживается, т.к. не была еще изобретена. Например у меня есть такой древний прогер на серию 90S) программатором AVR в связке с управляющей программой. Хоть STK200 и PonyProg, AVR910 и Code Vision AVR... (можно продолжать очень долго).

Эмулятор на Ubuntu любой. Просто настраиваете в нем управление на геймпад и вперед.

Втиснуть DIP корпус конечно можно, он влазит по высоте. Но, так ли это нужно? У DIP совершенно другая распайка. Вам придется все переразводить практически с нуля. А так уже есть готовая плата, бери да делай называется.

По "фиолетовым дырочкам" Reloader очень красиво, графически вам все указал.

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

Про стабилитроны. Ставил SMD т.к. есть их у меня. Постоянно пригождаются поэтому есть в наличии, их и ставил. Честно говоря спаял всю платку из подножного корма Б\У компонентов. Чтобы не бегать в радиотовары зря.

Ну и напоследок еще немного личного опыта из 90-х по поводу кнопочки "MODE". Её мы выпаиваем из платы донора. Тут нужно быть внимательным. Китайцы такие китайцы В разных контроллерах точное местоположение этой кнопки отличается. Ну нет у луноликих наших братьев общего стандарта по этому поводу. Например на одном геймпаде она впаяна так, на другом на 5 мм левее, на третьем левее и утоплена в глубь. :facepalm: Поэтому, перед травлением платы проверьте, попадает ли толкатель в саму кнопку. Сделать это можно довольно просто - распечатать платку на листке, приклеить на картон, вырезать, подставить кнопку и прикинуть как это все умещается в корпусе.

Редко бывает даже, что отверстия под сами кнопки расположены с некоторым смещением. Поэтому предварительная распечатка платы поможет отследить возможные косяки.

Ну вот, вроде и все. Всем удачной сборки. :beer:

Re: USB Sega gamepad

Пт окт 11, 2013 15:34:48

Спасибо всем за ответ.

Еще кто что о прошивке:
Ранее я пользовался PonyProg, там нужно галочки ставить:
Изображение

Поставленая галочка отвечает за запрограмированный фьюз. Вот что я имею ввиду. Где эти галочки ставить?
Вот такой сайт есть: http://payalo.at.ua/c_fuse/calc.html (или http://avr.roboforum.ru/)

avrdude - консольная? :shock:

Также, программатор у меня для DIP корпуса. Прямо с платы или выводы сделать для него или сам программатор нужно будет переделывать? Если я ее туда впаяю, а потом в плату, она у меня факт что выживет.. :) Извиняюсь, за возможно, столь глупые вопросы, просто раньше дела с SMD не имел.

Re: USB Sega gamepad

Пт окт 11, 2013 15:54:00

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

Re: USB Sega gamepad

Сб окт 12, 2013 16:12:21

Трутень:), как запустишь - отпиши, мы за тебя порадуемся :)

Re: USB Sega gamepad

Вс окт 13, 2013 13:20:07

То-есть из платы вывести проводки и воткнуть в программатор?
А где hex-файл взять? Там одни исходники - самому собирать?

Как я все понял, если "галочки", то вот так ставить:
Изображение

А если через консоль, по примеру:
Код:
#!/bin/bash
avrdude -p m8 -c ??? -P COM1 -U flash:w:~/gamepad.hex -u hfuse:w:0xc9 -u lfuse:w:0x9f

Там обязательно указывать тип программатора, а как узнать, какой у меня?
Ответить