Приставки > Джойстики и прочие манипуляторы
Собираем световой пистолет для MegaDrive'a своими руками
(1/3) > >>
masyanya:
Продолжаем, значит так. Дизасм Lethal Inforces II, дал свои результыты, после нескольких дней ковыряния алгоритм работы светового пистолета всё больше вырисовывается.
Значит так (учитывая что у меня никогда небыло конамевского Justifier'a):
Отстраненно.
Как и что
1. Сей агрегат состоит из двух половинок BlueGun и PinkGun.
2. BlueGun, втыкается только во второй порт приставки, в него втыкается PinkGun.
3. BlueGun содержит всю логику и фотодетектор (с интегрированным усилителем), в то время как PinkGun содержит только фотодетектор.
4. Каждый пистолет имеет в своем составе кнопки START и TRIGGER_HOOK (курок).
Как работает:
1. Определяется пистолет как класс наличием воткнутого во второй порт приствки BlueGun'a, происходит это так:
   а. Ставим SELECT=1 (STROBE), читаем с порта D0-D4, (D0-D1=0 и D2-D3=0 должны быть низкого уровня).
   b. Ставим SELECT=0, читаем с порта D0-D4, (D0-D1=1 и D2-D3=0).
   с. Если что-то не так, то пистолет не обнаружен.
2. Работает сам агрегат так:
   а. В момент когда один из фотодатчиков в пистолетах "видит" луч ЭЛТ, D06 внутри BlueGun переставляется в режим вывода и выставляется "0", что вызывает IO прерывание "в пиставке".
   b. После вызова прерывания, BlueGun переключает пин D06 в режим приема.
   с. Читаются данные с пистоля посредствам управления пинами D04 и D05. Данные с пистолетов определяются пинами D00, D01, D02.
       c.1 Читаем состояние BlueGun:
            D04=D05=0.
            Ждем 2 "клока"
            D00-D02 - Текущее состояние BlueGun.
       c.2 Читаем состояние PinkGun:
            D04=1,D05=0
            D04=0,D05=1
            Ждем 2 "клока"
            D00-D02 - Текущее состояние PinkGun.
       c.3 Возвращаем BlueGun в режим "IO прерываний".
            D04=D05=1
А вот и подтверждение того что я не пи..деть сюда пришел:


Добавлено позже:
Ждем окончания изготовления, забавно так, я решил не совать в достаточно простые устройства микроконтроллеры.
А тут захожу в мангазин, дайте мне 74HC157, - "Таких нету"  0_0
ну тогда 74HC158, - "И таких нету!"   0_0 0_0
ну тогда 74HC573, - "И таких тоже нету!!!"  0_0  0_0  0_0
а тогда GAL16v8, - "Ато ваще чё такое?"  >:(
ну может ATF16v8, - "Чё-то страноое такое просите... таких вообще никогда не завозили".  o_0
тогда мне 74HC00, - "Аааа, эти вчерв были, но закончились.  :)", да б..я, издеваетесь что-ли?
ну хоть транзисторы то есть...2SK160? - "Не таких нет."
а кварци на 15MHZ есть, "Есть"... долгое ковыряние в закромах... "Не, эти кончились"...  0_0 o_0 >:(
а ATTINY2313 и кварцы на 20MHz есть?,-"Ага, есть.", ну вот их и давайте.
Вот так я снова вернулся к микроконтроллерам...
HardWareMan:
А ATTiny 15L не хватит?
sergi:
Похвально - я рад что есть чел который реально больше делает чем говорит

Второй пистолет действительно суется в синий пистолет и действительно розового цвета
Но я его никогда не видел к сожалению :(
Там разъем в синем как у телефона или скорее как у витухи только 6 контактов ( у телефона 4 а у витухи 8)

Ну и как подсоединить тоже не очень понятно честно говоря

Т.е. нужно как раз как я понял 6 проводов для этого
Ну если конечно не земля для всех общая

Ну и кстати точ такойже пистолет с точ такойже игрой и для SNES существует ;)

И в идеале было бы круто чтобы и для SEGA master System и для Мегадрайва использовался один и тот же пистолет

Ну и момент такой - а как бы выглядела схема на обычной логике без навороченных микроконтроллеров?
Может комуто проще собрать на логике это дело :?
sergi:
Кстати - а как пистолет определяет положение точки попадания?
Мне лично всегда казалось что он считает число импульсов от верха левой части экрана до низу правой
И по этому числу определяет ее место положения
При этом нужно пристрелять пистолет - в центр или как у дримкаста по краям

Собственно также как и у DS с ее сенсорным экраном - тоже стик "пристреливать" нужно

И лучше тогда разрешить еще одну задачу - игры для менейсера тоже харошие

Можно добавить к пистолету еще 3 кнопки а игры пропатчить чтобы можно было бы играть не менейсером а justifisherом  :?
ajak:
Тоже задавался таким вопросом но так ответа и е нашол, <_< хотя не охотно искал, так что просим знатоков,
masyanya:

--- Цитата: sergi от 19 Декабрь 2007, 17:12:04 ---Т.е. нужно как раз как я понял 6 проводов для этого
Ну если конечно не земля для всех общая

--- Конец цитаты ---
Используются только 5, я бы их назвал так:
PIN  NAME
1     VCC
3     GND
4     Не используется.
?     START
?     TRIGGER_HOOK
?     LIGHT_DETECTOR
И вряд-ли я смогу точно сказать куда какой. Так как из кода не понять куда что паяется. А пистолета у меня нет и никогда небыло. 1,4 и 3 пины определены 100% извините за ламерство... по фотографии. Для опытов нужен тот у кого есть оригинальный пистоль.

--- Цитата: sergi от 19 Декабрь 2007, 17:12:04 ---Ну и момент такой - а как бы выглядела схема на обычной логике без навороченных микроконтроллеров?
Может комуто проще собрать на логике это дело :?

--- Конец цитаты ---
Ну я ещё не закончил, не совсем понятно на какие пины что раскидано (а именно куда START и куда TH, и каким уровнем сообщется о нажатии кнопочек, у меня сильно большое подозрение что высокий уровень-нажато, низкий не нажато... для сеги это как-то через Ж...).
Я думаю не обломаюсь спроектировать схему и на обычной логике.

--- Цитата: sergi от 19 Декабрь 2007, 17:55:37 ---Кстати - а как пистолет определяет положение точки попадания?

--- Конец цитаты ---
Блин ломы писать, мож завтра... ну в общем фишка в том что приставка считает сока раз пришло HBlank после каждого VBlank, а когда приходит IO прерывание от пистолета приставка фактически и вычисляет по этому числу положение луча, и смотрит нажимался ли TriggerHook, если нажимался значит стреляли и имеет смысл проверить точку попадания. Ну вот как-то так. Пропатчить можно, наверно, не пробовал... имхо проще менасера собрать.
sergi:
Менейсер сложно собирать - если только не его упрощенную версию чтобы без ИК передачи данных

А так пистолет то есть у меня - посмотреть что куда не проблема
Могу сказать замыкается ли кнопка на землю или нет у спускового крючка и как там старт себя ведет

В общем тема рульная т.к. такие аксессы сложно доставать а в некоторых местах невозможно

Ну а я лично за универсализм борюсь
Т.е. нужен пистолет - и чтобы его и к денди и к сеге и к мастер систему и короче ко всем старым приставкам

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

А так вроде у Денди только выстрел производится по перепаду с низкого на высокий уровень сигнала

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

PS
Есть пистолет и для Дрима, только японский  :(. Не в том смысле, что сделан в Японии, а в том, что с ПАЛ-консолями не работает
sergi:
Дело не в ТTSC и PAL - пистолет пристрелять можно
Я свой и на NTSС и на PAL играл без проблем ;)

У дримовского да вроде есть такие траблы - не понять чем вызванные :(
Rumata:

--- Цитата: sergi ---пистолет пристрелять можно
--- Конец цитаты ---
Нельзя. Не рассказывай. Пристрелка совсем для другого.
sergi:
Я лично играл на пистолете и в PAL и в NTSC и без проблем

И в мастер системский тоже самое - говорю как есть
Сеги регион не касается >:(

Тоже самое и у снес - да получается зона в которую пистолет попасть не может - скраю и снизу
Но всеравно играть им можно
masyanya:

--- Цитата: Rumata от 19 Декабрь 2007, 23:05:35 ---Конечно, желательно собирать на дискретной логике. В оригинале ни каких контроллеров нет.

--- Конец цитаты ---
Ну дак я бы и собирал, токак в магзине деталек нет...  :lol:

--- Цитата: Rumata от 19 Декабрь 2007, 23:05:35 --- Рабочий пистолет найти можно, правда, не оригинал. По разъемам вроде у меня где-то были записи.

--- Конец цитаты ---
У нас в ж..пе их не купить!

--- Цитата: Rumata от 19 Декабрь 2007, 23:05:35 ---Есть ещё один нюанс: координаты отсчитываются по развертке, и на PAL консолях NTSC игры работают очень плохо - часть экрана не простреливается, да и точность оставляет желать лучшего.

--- Конец цитаты ---
Судя по коду непростреливание происходит из-за того что там счетчик "короче" (в PAL версии). И по идее должен получаться не меньший прямоугольник (подрезанный), а что-то типа такого:
                     ____
экран слева->|  /..|<-экран справа 
                     ----
Типа справа и снизу, и при пристреливании эта ересь может смещаться по экрану.

--- Цитата: Rumata от 19 Декабрь 2007, 23:05:35 ---PS
Есть пистолет и для Дрима, только японский  :(. Не в том смысле, что сделан в Японии, а в том, что с ПАЛ-консолями не работает

--- Конец цитаты ---
А за какие деньги его мне можно заиметь, если вообще можно?
sergi:
Ну она не  может постоянно смещаться - сброс счета по новому кадру должен производиться
Просто может смещение и на искосок - не вдавался в подробности :-\
masyanya:
А я и не писал что она постоянно смещается.
sergi:
GAL16V8B
Масяня, ты говорил выше что умеешь пользоваться контроллерами этими
Не в курсе - можно ли их задампить?
Просто их часто используют в переходниках особенно мегадрайва и в других устройствах тоже видел
В чипе сатурна, в картридже NEO-GEO MVS
Можно или нельзя их задампить? :? и как их програмить - инфы так и не нашел

Кстати странно - в переходниках он просто стоит параллельно дорожкам припаян - я как понимаю он давит своим сигналом приходящий набор бит на ножках - 8 бит помоему
Короче не понятно мне до сих пор как они работают :(
masyanya:
GAL и ATF это микросхемы программируемой логики, и их тока писать через JTAG.
sergi:
Ну они защищены от копирования? - просто я еще не смотрел и в общен не в курсе :(
Сайчас даташит читаю но лучше опыт старшего товарища :blush:
masyanya:
Из ATF прочитать мне не удавалось, ATF говорят аналог гал полный, но из GAL читать не пробовал.
masyanya:
Меня постигла нерадость, сгорел Damper/Flasher... какого-то хрена постоянно горит КР850ВВ55А, причем линия в адресном пространстве между A20 и А23 (если считать начиная с А1), блин, в чем дело... понять не могу... в среднем раз в 2 года его менять приходиться... мож глюк микросхемы? ...кто мож сталкивался?
HardWareMan:
Ну по сути ВВ55 то еще говно... Лучше бы не поленился и на 374х (или 574х) собрал. 3 корпуса поменьше, но зато хоть короти. У меня один такой регистр минут 15 на КЗ работал, прежде чем я просек в чем дело. И ниче - работает. Кстати, чистокровный 8255 работает надежнее, чем наш КР580ВВ55А.
Навигация
Главная страница сообщений
Следующая страница

Перейти к полной версии