| Приставки > Джойстики и прочие манипуляторы |
| SEGA MD Vibro |
| (1/4) > >> |
| Rumata:
Где-то в году 2005 (в Китае, думаю, раньше) наше солнышко GlorySun замутило вибро-джойстики для Сеги. Был сделан специальный джойстик и к нему некоторое количество специальных хаков. Всё это прошло тихо и незаметно. Никакой рекламы не было, только в прайсах появился маленький раздельчик. Сами картриджи тоже ни чем особо не отличались, на боксах, вроде, ещё была какая-то мелкая наклейка. В общем всё это успешно кануло в вечность И тут на меня внезапно относительно недавно вышло это чюдо: Со схемой, честно признаюсь, не разбирался, не досугъ Есть некоторое количество дампов, в прайсе было больше, но что есть - то есть. Я тут уже дин выкладывал, Segaman (если не ошибаюсь) интересовался. На всякий случай продублирую. ! В заголовке коммент "vibro" - это моё, иначе дампы хрен отличишь. В оригинале ничего нет. |
| bgr:
Хотеть, даже два :D Контроллер джоя тоже имеет изменения или же используется стандартный сигнал порта джоев? |
| Rumata:
Ещё не разбирался. Вот оттащу на работу, помою, там же всё во флюсе. Да ещё напаяно как попало. Буду под мелкоскопом смотреть. Думаю, что микросхема стандартная. Свою мутить дорого. |
| murgatroid_79:
:wow: Очень интересно. Видимо один бит порта джоя ,в определенный момент,работает на вывод...или два бита,в противофазе. :-\ Какой там моторчик (на какой ток) ? Ведь на плате никакого ключа/транзистора даже нет o_0 |
| SavitarSvit:
Что за Vibro, на контроллере написано Shaking! |
| Rumata:
--- Цитата: murgatroid_79 от 08 Июль 2024, 21:15:11 ---Ведь на плате никакого ключа/транзистора даже нет --- Конец цитаты --- Есть. SS8050. Рядом с выключателем. И кстати таки микросхема используется. --- Цитата: murgatroid_79 от 08 Июль 2024, 21:15:11 ---Видимо один бит порта джоя --- Конец цитаты --- Видимо да. Я даже когда-то пытался что-то смотреть, только тогда возможности разобрать джойстик не было. |
| bgr:
Rumata, у тебя Джой рабочий? Надо бы проверить его совместимость со всякими клонами, думаю, что из-за дополнительной логики он не на всех будет корректно работать. Так же есть мнение, что многие дампы русских версий, сделанные в районе 2005 года уже хакнуты под джой 🤔 Так что проверяй или отправь кому-то :D Но если подробно опишешь устройство Джоя - тоже хорошо :) Кстати, ты такими джоями не торговал? :lol: |
| Rumata:
Возможно рабочий :) По крайней мере выглядит хорошо. Не вижу, почему бы ему не работать с клонами. Устройства там, по сути, никакого нет. Ключ, базой уходящий в каплю. Хакала GlorySun, много или нет - не ведомо, но в прайсе это шло отдельно. При чём в реальности было доступно не всё. И я не торговал, я ремонтировал. А поскольку всё было под пломбой, то лезть внутрь резону не было. |
| bgr:
Интересный списочек. В итоге долго это продолжалось? Около года, а после забыли? Я нашёл старый прайсик от нью-гейм, там этот Джой стоил 232 рубля, русские версии на 60 рублей дороже английских, при чем без разницы какая игра, но вот русских рпг, кроме финалки в прайсе не было, и финалка самая дорогая, мол новинка, на русском, да и к тому же рпг, тоже в районе цены этого джоя :lol: А сколько прибавляли к прайсу за вибрацию? :lol: |
| Rumata:
Ну так русская "финалка" - это тоже ГлориСан. За цены не скажу, не запоминал, не интересно. И вряд ли сейчас можно найти тот прайс. |
| bgr:
В общем, купил несколько кариков с вибрацией. Сегодня получил. Аладдин и мк3У. Аладдин с этикеткой русская версия, весь побитый, внутри пазы переломаны, поддет деревяшкой и... на плате контра хард корпс новодельная с переводом от шедевра и хаком на три хит поинта. А в мк3У - обычный мк3. В общем, едет ещё карик, но уже ясно, что эксперемент не удался. Ориентироваться на наклейки не имеет смысла, потому что всем срать какую наклейку куда лепить, что было - то и взяли. Так же наткнулся на объявление в Новосибирске на джой, но его уже нет. Rumata, это ты его выкупил? >:( Отправь мне джой на безвременный тестинг за барыши или за ши-ши. Я прочекаю дампы на наличие вибрации, накатаю подробный обзор, что поможет и в хацкинге и просто интересно будет. Есть все основания предполагать, что пираты долгое время юзали хакнутые Ромы и сами того не зная. Нарыл инфу, что игра зиро толлеренс с переводом от нью гейм поддерживала вибрацию. Так же новодельные многоигровки с меню середины и конца 00х тоже запускали вибру нон-стоп, но это скорее из-за кривизны написанного софта под меню. Добавлено позже: А вот и пример самой многоигровки: |
| Rumata:
--- Цитата: bgr от 17 Июль 2024, 19:05:02 ---Rumata, это ты его выкупил? --- Конец цитаты --- Кого? o_0 --- Цитата: bgr от 17 Июль 2024, 19:05:02 ---Нарыл инфу, что игра зиро толлеренс с переводом от нью гейм поддерживала вибрацию --- Конец цитаты --- Эта информация есть в посте #7 :biggrin: Да, табличка из прайса, но комменты (рус / англ) мои. Если не отмечено - значит у нас этого не было. --- Цитата: bgr от 17 Июль 2024, 19:05:02 ---Я прочекаю дампы на наличие вибрации --- Конец цитаты --- Дамп в первом просте. Как раз английский, то есть все отличия от оригинала - это вибрация. Там порядка 370 байт. Кстати, 4 года назад этот вопрос уже поднимался: https://www.emu-land.net/forum/index.php/topic,84094.msg1454229.html |
| bgr:
--- Цитата: Rumata от 17 Июль 2024, 19:39:49 ---Кого? --- Конец цитаты --- Джой :lol: --- Цитата: Rumata от 17 Июль 2024, 19:39:49 ---Дамп в первом просте. Как раз английский, то есть все отличия от оригинала - это вибрация. Там порядка 370 байт. --- Конец цитаты --- Дык я про то, что обычные ромы могут обозначены в сэте как p1 или hc1 и так далее... Поскольку многие карики могли быть не обозначены, ну или при дампинге не обращали внимания на всякие надписи. --- Цитата: Rumata от 17 Июль 2024, 19:39:49 ---Эта информация есть в посте #7 --- Конец цитаты --- Дык, что именно перевод от ньюгейм не написано :) Ко мне карики приехали в боксах и ньюгейм и симбас, вот интересно, они под каждую контору пилили ром или чисто на заказ, мол кто хочет повыпендриваться, тот и заказывает 🤔 --- Цитата: Rumata от 17 Июль 2024, 19:39:49 ---Кстати, 4 года назад этот вопрос уже поднимался: https://www.emu-land.net/forum/index.php/topic,84094.msg1454229.html --- Конец цитаты --- Я как раз тогда отошёл от всей ретро мути :D Но тогда у тебя хоть прайс был, знал, что именно 27 игр было, ща бы список не помешал :) |
| Rumata:
Занималась всем этим ГлориСан. Они одно время достаточно активно фигурировали на нашем рынке. Какие у них были взаимоотношения с Москвой - я не знаю. Кстати, московский прайс - тоже не истина в последней инстанции. |
| bgr:
--- Цитата: Rumata от 07 Июль 2024, 21:27:53 ---Есть некоторое количество дампов --- Конец цитаты --- Я ща только въехал. Есть некоторое количество дампов, но выложил ты один. То есть, я прав, что многие русские версии дампились без разбора и содержат на борту вибрацию, но это никто не проверял? 🤔 Или ты зажал дампы? 🤨 На гбо писали, что у этого джойстика отваливалась крестовина, возможно, это просто слэнг и крестовина просто не реагировала, по схеме как раз тумблер расположен на этих дорожках🤔 С какой вероятностью кривая распайка и данная схема убивает функционал капли? 🤔 Можно ли воспроизвести данный Джой своими руками? Контроллер там ведь стандартный, просто он дополнительно передаёт сигнал на схему моторчика? 🤔 |
| bgr:
Rumata, делись джойстиком >:( Я его в дело пущу, лучше так, чем у тебя сто лет лежать будет :D Продолжаю собирать инфу, нарыл некоторое количество фотографий картриджей, ну и парочку купил, без Джоя или дампера не разобраться хакнутые там ромы или нет :neznayu: Что я нашёл: - Дюну, перевод там от китайцев, поэтому есть вероятность, что имеющийся в интернете ром уже с вибро - Desert strike (в картридже с наклейкой "русская версия" оказалась английская) - aladdin (перевод от ньюгейм с потертыми копирайтами) Ну, и на последок, во вложении прикрепляю рекламку приставки magic drive, которая комплектовалась такими же джойстиками, но со своим логотипом, так же как и и приставка в виде дримовского джоя продавалась весьма не продолжительный срок. Добавлено позже: З.Ы. Более шакального jpg не будет, даже не просите. |
| stargazer:
Внесу свои 5 копеек в эту тему :) Немного поковырял ROM из первого поста, рассмотрел фотографии платы, привожу результаты своих изысканий :) Сразу скажу, что ничего из этого на практике не проверялось и такого джойстика у меня нет, так что вполне возможно, я где-то ошибся. Обмен данными выглядит так: после стандартных 4-х опросов для 6-и кнопочного джойстика 2 младших бита (соответствующие кнопкам вверх и вниз) порта джойстика переводятся в режим вывода. Бит 6 (сигнал select), вероятно, используется для клок для загрузки данных. Далее в два этапа загружаются 4 бита данных вибрации (уровень вибрации ?) Игра использует только значения 3,2,0 причем они всегда одинаковые для обоих пар. Также используется счетчик, который уменьшается на 1 каждый кадр, и когда он достигает 0, значение данных тоже становиться 0. Игра использует только 2 значения счетчика 255 и 30. Я написал алгоритм работы с джойстиком данного хака в виде С кода. # define DELAY_INPUT() asm volatile("nop \n\t nop"); //Usual delay for reading controllers # define SMALL_DELAY() asm volatile("nop"); typedef unsigned char u8; typedef unsigned short u16; struct vibro { u8 value; //only bits 0,1,4,5 are used u8 counter; }; void reset_vibro_data(struct vibro *p_vibro) { p_vibro->value = 0x33; p_vibro->counter = 0xff; } //Called from vblank (after handle_vibro_controller()) void update_vibro_counter(struct vibro *p_vibro) { if (p_vibro->counter == 0) p_vibro->value = 0; else p_vibro->counter--; } void set_vibro_data(struct vibro *p_vibro, u16 param) { if ( param < 0x8000 ) return; if (param < 0xfffc ) p_vibro->value = 0x33; else p_vibro->value = 0x22; p_vibro->counter = 0x1e; } //Called from vblank interrupt handler void handle_vibro_controller(struct vibro *p_vibro) { volatile u8 * data_port = (volatile u8 *)0xA10003; //1st phase *data_port = 0x40; //Set select signal DELAY_INPUT(); u8 btns_lo = *data_port; *data_port = 0; //Reset select singal DELAY_INPUT(); u8 btns_hi = *data_port; //2nd phase *data_port = 0x40; //Set select signal DELAY_INPUT(); *data_port = 0; //Reset select signal DELAY_INPUT(); //3rd phase *data_port = 0x40; //Set select signal DELAY_INPUT(); *data_port = 0; //Reset select signal DELAY_INPUT(); u8 dummy_read = *data_port; //4th phase *data_port = 0x40; //Set select signal DELAY_INPUT(); dummy_read = *data_port; *data_port = 0x0; //Reset select signal DELAY_INPUT(); //5th phase *data_port = 0x40; //Set select signal volatile u8 * control_port = (volatile u8 *)0xA10009; *control_port = 0xff; //Set all pins as outputs, enable external interrupt. Should it be 0x43 instead ? //Write bits 4, 5 to data port u8 vibro_hi_bits = (p_vibro->value >> 4) & 3; *data_port = vibro_hi_bits; vibro_hi_bits |= 0x40; //Latch data ? SMALL_DELAY(); *data_port = vibro_hi_bits; DELAY_INPUT(); //Write bits 0, 1 to data port u8 vibro_lo_bits = p_vibro->value & 3; *data_port = vibro_lo_bits; vibro_lo_bits |= 0x40; //Latch data ? SMALL_DELAY(); *data_port = vibro_lo_bits; DELAY_INPUT(); *control_port = 0x40; //Return port to standard pad mode (bit 6 is output, others are input, interrupt is disabled) //process intput... } В принципе, можно взять какую-нибудь 5-вольтовую Ардуину, подключить ее к этому джойстику и попробовать послать какую-нибудь команду. Обвязка капли: Интересно, как осуществляется управление вибромотором, через ШИМ или линейно через ЦАП ? И для чего там делитель напряжения (а скорее всего это он, раз там стоят 1% резисторы), это какое-то референсное напряжение, 3.4В ? |
| bgr:
stargazer, я хочу сдампить свои карики, чтобы можно было сделать вывод, какие команды используются и к чему они привязаны. --- Цитата: stargazer от 14 Август 2024, 23:49:02 ---Игра использует только значения 3,2,0 причем они всегда одинаковые для обоих пар. --- Конец цитаты --- Они привязаны к звукам или же к командам, таким как изменение хитпоинтов? Z80 одновременно с этими командами нагружается? Насчёт одинаковых значений - вполне логично, что два контроллера будут работать одинаково. --- Цитата: stargazer от 14 Август 2024, 23:49:02 ---Также используется счетчик, который уменьшается на 1 каждый кадр, и когда он достигает 0, значение данных тоже становиться 0. Игра использует только 2 значения счетчика 255 и 30. --- Конец цитаты --- А зачем? 🤔 --- Цитата: stargazer от 14 Август 2024, 23:49:02 ---Я написал алгоритм работы с джойстиком данного хака в виде С кода. --- Конец цитаты --- Полезная штука, когда нет ни Джоя, ни ардуино😁 З.Ы. Недавно попалась mega drive shock, но продаван не отправляет, в итоге ушла консолька🙄 |
| Rumata:
--- Цитата: stargazer от 14 Август 2024, 23:49:02 ---Обвязка капли: --- Конец цитаты --- Да, так и есть. Что, в общем-то, не даёт ничего. Ключ с мотором до неприличия стандартны. Делитель... а фиг его знает. На 1% я бы внимания обращать не стал, зачастую просто используется что было. Жаль второго нет, а то можно было бы каплю вскрыть, может там не один чип :neznayu: --- Цитата: stargazer от 14 Август 2024, 23:49:02 ---Обмен данными выглядит так: --- Конец цитаты --- Вот это уже интересно :thumbup: |
| bgr:
Rumata, ты Ромы никакие не проверял? --- Цитата: Rumata от 15 Август 2024, 22:21:50 ---Жаль второго нет, а то можно было бы каплю вскрыть, может там не один чип --- Конец цитаты --- Подари мне его и будет не жаль😁 |
| Навигация |
| Главная страница сообщений |
| Следующая страница |