| Приставки > Джойстики и прочие манипуляторы |
| Собираем световой пистолет для 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А. |
| Навигация |
| Главная страница сообщений |
| Следующая страница |