PDA

Просмотр полной версии : ZX-PAD - новый геймпад для Спектрума (подключаем контроллер от Sony Playstation)



reddie
03.05.2022, 15:52
Основной материал (предыстория создания, описание, раскладка, плюсы-минусы и прочее):

Приветствую всех неравнодушных к детищу Клайва Синклера! Особенно почитателей самых разных игрушек, поскольку материал, в первую очередь, адресован геймерам и игроделам.
Хочу освежить ту область спектрумизма, где уже много лет царит полный застой. А именно в части джойстиков/геймпадов, устройств управления игровым процессом. За тридцать с лишним лет был улучшен и прижился лишь один стандарт: расширенный кемпстон-джойстик. Обладая некоторыми преимуществами перед однокнопочным, он имеет жирный минус, напрочь перечеркивающий все достоинства: ни одна старая игра не понимает дополнительных кнопок (битов) расширенного кемпстона. Ладно, если бы речь шла о малой части игрового софта, но 95%, если не больше, написано до внедрения восьмибитки. И в любой классической игре 80-90-х будет работать только кнопка "огонь". Остальное придется жать на клаве.

Размышляя над реализацией чего-то нового, обдумывал идеи новых портов ввода, модификацию уже имеющихся, но все это было отвергнуто по одной простой причине: весь существующий софт перестанет работать. Учитывая вышесказанное, я пошел другим путем. Предлагаемый мной вариант игрового девайса "эмулирует" нажатия клавиш. Да, подобные разработки уже были, в том числе и на форуме. Но все они завязаны на тот же Сеговский джойстик, ставший, по сути, официальным воплощением расширенного кемпстона, либо на джойстик от Денди. То бишь коренных различий в плане игровых возможностей между ними и 8-бит кемпстоном нет. Я же выбрал для подключения геймпад от Sony Playstation. Считаю его лучшим, что было придумано в плане игровых контроллеров. Это мое личное мнение, можно с ним не соглашаться, но такой геймпад обладает явным преимуществом за счет наличия спереди курков или, как мы их называли в древние времена, шифтов. Потом эту фичу подхватили другие производители приставок, но первой была именно Sony. За счет этих самых курков становятся возможными комбо-нажатия, т.е. двух-трех (да хоть четырех) кнопок одновременно, и это без учета кнопок направлений. Джойстики от Денди/Сеги на такое физически не рассчитаны. Спросите, а для чего нужны комбо-нажатия? Да пожалуйста: разнообразные удары в файтингах, быстрая активация функций без необходимости лазить по меню, простая реализация дополнительных умений/действий без клавиатуры и так далее. Кроме всего, у геймпада от Sony тупо больше кнопок =) Четырнадцать, если конкретизировать. Вроде бы, куда столько Спектруму? Поверьте, будет девайс - появится и софт под него. И "куче" кнопок сразу найдется применение. (спойлер: в условной Элите можно было бы рулить кораблем прямо с геймпада, для основных функций - маневрирование, обзор, работа с вооружением - кнопок хватает)

Так вот. В моей реализации, с точки зрения компьютера, нажатия на геймпаде это нажатия на клавиатуре. Такой подход дает поддержку "из коробки" любой существующей игрой, где можно переназначить клавиши. Причем крестовина направлений и условная кнопка "огонь" дублируют стандартный Sinclair-джойстик (клавиши 6-0), а он предлагается практически в любой игре, даже там, где переназначения клавиш нет. Второй полуряд цифр (1-5) также использован целиком, что дает, в большинстве случаев, лазить по пунктам меню, не притрагиваясь к клавиатуре. Вспомните старые игры: практически везде меню управляется "цифрами". Полная раскладка приведена ниже, и хочу заметить, что соответствие клавишам выбрано не от балды, а с учетом максимального удобства как для юзера, так и для программиста.

https://pic.maxiol.com/thumbs2/1651583108.1597255554.zxpad.jpg (https://pic.maxiol.com/?v=1651583108.1597255554.zxpad.jpg&dp=2)

Видим, что 1-5 "ложатся в ряд", легко запомнить. 6-0 чуток сложнее, но быстро осваивается. А для курков выбран полуряд с Enter, и не просто так. Изначально вешал их на полуряд P-Y, но поступило предложение от бета-тестера девайса. Суть: по завершении игры часто требуется ввести имя в таблицу рекордов (актуально для многих старых игр). Само имя роли не играет, можно набарабанить любые кнопки. Но для подтверждения обычно надо нажать Enter. И, чтобы не тянуться лишний раз к клавиатуре, жмем "Enter" прямо с геймпада. Весьма удобно. Или, скажем, надо ввести кол-во денег/патронов/предметов для покупки/продажи/выброса, либо цифровой код/пароль. Все цифры на геймпаде есть, набираем число и жмем "Enter". Заодно получаем пару побочных функций навроде просмотра листинга Бейсик-программы ("K"List+Enter) или удаления строк =) В принципе, можно повесить контроллер на любые полуряды, грамотно написанная программа проведет тестирование и сконфигурирует управление сама. Именно так работает мой тест, в нем заложена возможность выбрать любые полуряды. Но для закрепления стандарта и исключения возможных конфликтов в будущем (например, подключение второго геймпада) желательно использовать предложенный вариант с цифровым рядом + полуряд с Enter.

Да, предлагаемый девайс не просто имитирует кусок клавиатуры; есть важное отличие со знаком плюс. Думаю, любому спектрумисту известно о такой проблеме, как конфликт полурядов. Напомню, что при зажатии нескольких клавиш в разных полурядах (если кнопки попадают на один и тот же бит в портах) они как бы микшируют задействованные полуряды по маске AND. Говоря проще, кнопки, например, Q,A,P,Enter (и еще четыре) относятся к нулевому биту. И зажав, допустим, Q и A, а затем нажав R, в любой программе опроса портов увидим нажатой еще и клавишу F, соответствующую биту клавиши R. Наглядно это показано в видеообзоре, ссылка в конце поста. Так работает механическая клавиатура Спектрума, и эту фичу, насколько мне известно, копируют все существующие эмуляторы и контроллеры писишных клавиатур (upd: в эмуляторах, как выяснилось, конфликта либо нет, либо он отключается через опцию, как в Unreal). Но в геймпаде с 14-ю кнопками такое смешение неприемлемо. Благодаря простому схемному решению конфликта не происходит, что делает возможным любые комбинации нажатий.

Вроде бы все плюсы перечислил, опишу и минусы. Их немного, но они есть.
Во-первых, требуется физическая переделка геймпада, и с приставкой он больше работать не будет. Совсем без переделок в любом случае не обойтись: как минимум, нужно менять родной проптиеарный разъем. Поэтому мысли вида "теперь поюзаю любимый геймпад от своей старой Соньки еще и на Спектруме" придется отбросить. Но разъемом дело не ограничится. Я принципиально отказался от использования микроконтроллеров и прочих чипов. Задумка была сделать устройство максимально простым, легким в подключении к старым моделям без слотов расширения, желательно на элементной базе эпохи активного спектрумизма (80-е годы), дабы не выбиваться из ретро-стилистики. Первая Playstation, напомню, пошла в массы в 1994 году, и вполне может быть отнесена к ретро-технике. Так что никаких CPLD и Атмег. Только МГТФ, только хардкор =) Отсутствие микросхем - еще один плюс: устройству не требуется питание (и лишние провода для него). Из электронных компонентов - самые распространенные диоды 1N4148 (КД521/522) в количестве 14 штук, по числу кнопок. Как раз применение диодов позволило устранить конфликт клавиш из разных полурядов. А полная диодная развязка и отсутствие питания исключают шансы спалить комп при неправильном подключении.

Во-вторых, любой консольный геймпад не совсем рассчитан на активную работу с диагоналями направлений. Это не джойстик и тем более не клавиатура, где можно долго удерживать диагонали и на ходу менять их. Нет, при умеренном использовании трудностей не возникает, но в играх наподобие Commando это становится проблемой. Однако, за счет наличия курков, решение очевидно: назначаем "вверх" (можно и "вниз") на правые или левые - кому как удобней - курки, а влево-вправо давим на крестовине. Или, наоборот, влево-вправо вешаем на левый и правый курки, а вверх-вниз оставляем стандартно. Какой вариант подойдет больше, зависит от конкретной игры. Плюс на контроллере для Соньки, да и не только на нем, диагонали могут активироваться сами при сильных или неаккуратных нажатиях какого-либо направления. И это не следствие переделки, родной геймпад ведет себя аналогично. Недостаток был устранен с помощью волшебной синей изоленты, теперь нажимается ровно то, что нужно :)

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

+ намного больше кнопок, чем у 8-бит кемпстона;
+ возможность комбо-нажатий нескольких кнопок одновременно;
+ поддержка всем старым софтом за счет эмуляции нажатия клавиш;
+ простое подсоединение к любому Спектруму с обычной матричной клавиатурой, то есть, почти к любому отечественному клону, без каких-либо переделок платы. Тем, у кого выведен пассивный Sinclair-джойстик, для подключения достаточно припаять _всего_ два проводка к разъему DB-9 или DIN7 на корпусе компа;
+ девайс несложно собрать самому, никаких заказных микросхем или плат не требуется;
+ можно использовать даже "дохлый" в плане электроники геймпад, был бы цел механически;
+ необязателен именно контроллер от Sony PS, есть функционально аналогичные от других консолей;
+ проверка исправности переделанного геймпада не требует подключения к компу и может быть выполнена обычным тестером, причем каждой кнопки в отдельности, что полезно при сборке и диагностике;
+ безопасное подключение к работающему компьютеру за счет отсутствия питания.

- нужна механическая переделка геймпада, придется вечерок посидеть попаять;
- к моделям без входа под матричную клаву сей вариант устройства не подойдет;
- варианта под ZX-BUS (пока) нет, так что немного попаять придется, даже если купить готовый девайс;
- на моделях без буферизации клавиатурных линий возможны ложные "срабатывания" ненажатых кнопок при активной работе с геймпадом. Это проблема именно компа, а не геймпада: аналогичные глюки проявляются при слишком длинном клавиатурном шлейфе. Лечится подбором номинала подтягивающих резисторов на входах мультиплексоров клавиатуры.

Словесное описание эт хорошо, но, дабы иметь наглядное представление о девайсе, прилагаю видеобзор подключения к двум легендарным клонам начала 90-х: Ленинград-48 и Скорпион-256. Они во многом схожи, но в Ленине нет буферизации клавы, и вообще, мой экземпляр сам по себе с глюками по ее части. Тем не менее, геймпад успешно работает на обоих. А втыкается в то самое советское гнездо для джойстика (в Ленинграде заменил СГ5 на СГ7; в трех моих Скорпионах СГ7 стояли изначально). Представьте лицо какого-нибудь старого знакомого, зашедшего "на огонек", когда вы подрубаете плейстешновский контроллер прямо в древний Спектрум =)
Видео снято одним дублем, без монтажа, так что простите за некоторую затянутость :v2_dizzy_facepalm: лишь вырезаны самые "скучные" места. Заодно в ролике показан конфликт полурядов в действии. Кто не в теме - посмотрите.

Отдельно остановлюсь на такой модели, как ZX-Evo. На плате есть разъем под мех. клаву и старые джойстики - казалось бы, делов-то, спаять переходничок, воткнуть в плату и радоваться. Но не тут-то было. Похоже, создатели Evo решили, что они - отдельная цивилизация, и реализовали опрос механики через задницу. Адресные линии, задающие полуряды, тут являются входами данных, а биты кнопок - выходами на клавиатуру. Короче, сделано наоборот. Для обычной клавы разницы никакой, там банально замыкаются контакты. Но в схеме геймпада стоят диоды, а они, как известно, проводят ток в одном направлении. Поэтому рассчитанная на нормальный комп схема не работает. И это лишь полбеды. Судя по мануалу, внутриплатные порты ZX-Evo не выводятся на слоты ZX-BUS, что означает невозможность подключения внешних контроллеров клавиатуры (например, геймпада, имитирующего клаву). Короче, забетонировано все. Зачем так было делать - лично мне непонятно.
(по моей просьбе владелец Evo проверил насчет блокировки портов: да, внешняя писи-клавиатура, подлюченная через DivGMX, не работает)

В принципе, развернув диоды и переделав схему, можно подрубить ее к разъему механики Evo. Но проще, на мой взгляд, будет переписать код наплатной Атмеги, заведующей опросом устройств ввода. Причем тут два варианта: либо вернуть нормальный опрос полурядов механики, либо убрать кастрированный однокнопочный кемпстон, освободив пины Меги, и подключать родной геймпад от Sony напрямую, без переделок. Желающие могут объединиться и заняться, дело полезное.

И вообще, тем, кто хотел бы подключать геймпад в слот ZX-BUS, в идеале родной, без переделки, могу рекомендовать выбрать среди уже имеющихся контроллеров PS/2 клавиатур-мышей тот, где найдутся свободные пины и найти кодера, чтоб переписал прогу микроконтроллера/написал новую. Я только за. Чем более доступен будет девайс - тем лучше. Давайте вместе приложим все усилия для этого. Протокол обмена с геймпадом несложный, информацию при необходимости предоставлю.

Желающих повторить конструкцию категорически приветствую, подробная инструкция с фотографиями будет чуток позднее. Микросхем и плат из Китая заказывать не нужно, достаточно кусочка макетной платы для компоновки диодов, ну и самих диодов (14 штук). Суть моей железяки как раз в простоте изготовления "на дому". А чем больше народа обзаведется девайсом, тем быстрее он станет - надеюсь - новым стандартом в играх. Уж сколько всего наизобретали для Спектрума, а по части геймпадов печаль и тоска...

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

Еще раз уточню: моя основная идея - именно популяризация нового игрового стандарта, а не просто реализация нажатий абстрактного набора кнопок. Согласитесь, конечному пользователю удобней видеть в описании управления именно то, как обозначены кнопки на геймпаде, то есть их иконки/подписи, а не переводить в уме "так, клавиша 3 это у меня квадрат, J это будет R2, а оружие... черт, забыл, где". Чтобы управление выбиралось/менялось в таком же виде, как на приставке, а не буквами клавиатуры. Конечно, это задел для будущего и новых игр, но главное - начать внедрение нового устройства в массы и его поддержку. И тут многое зависит от игроделов, создателей нового софта. Прошу обратить внимание на перспективное направление и открывающиеся возможности в плане управления игровым процессом. Раскрыть тему могу позже, в обсуждении.

Новому интерфейсу неплохо бы дать название. Есть же кемпстон, есть интерфейс-2, он же синклер-джойстик. Предлагаю обозвать его ZX-PAD. Кратко и отражает суть: геймпад для ZX Spectrum. Да, PS-PAD aka Playstation pad было бы логичней, но конкретная модель приставки/геймпада не должна, как считаю, ассоциироваться с интерфейсом, как это произошло с восьмибитным кемпстоном (сеговский джойстик стал синонимом 8-бит кемпстона). Народ может изготовить девайс из любого подходящего контроллера, одним плейстейшновским выбор не ограничивается. Главное - совместимость в аппаратно-программной части. Так что пусть будет ZX-PAD. Но если имеются возражения - предлагайте свои варианты. SPECTRUM-PAD тоже звучит :)
Подумав, добавлю: можно назвать просто "геймпад". В играх будет выбор: Keyboard, Sinclair, Kempston, Gamepad - очень даже смотрится, абсолютно нейтрально, без привязки к фирме-производителю, и сразу понятно, о каком типе управления речь.

Конечно, картина будет неполной без отзывов реальных людей. Несколько человек, кому высылал геймпады, остались вполне довольны. Как выразился один из них, "будто с Оки на Лексус пересел". Надеюсь, те, кто зареган на форуме, отпишут в топике о своих впечатлениях. Пользуясь случаем, выражаю благодарность форумчанам izzx и Evgeny Muchkin за участие в тестировании устройства и ценные замечания/предложения по его улучшению: с вашей помощью удалось довести конструкцию до ума. Те, кто в дальнейшем соберет/заполучит игрушку, тоже отписывайтесь. Для оценки перспективности и нужности геймпада сделаю опрос - голосуйте, увидим, насколько востребован новый интерфейс.

Касаемо приобретения готовых девайсов. В небольших количествах могу делать сам по мере сил, запас материалов у меня достаточный. Будет интерес - создам тему на барахолке, чтобы не засорять форум и соблюсти правила. Но изготовление требует некоторого времени, быстрое массовое производство я не осилю. Как уже написал, запас материалов есть, могу рассылать полные наборы для самостоятельной переделки (родной геймпад, разъемы, диоды, шлейф для переходника и т.д.) - если будет спрос, тоже могу вынести на барахолку.

Позже, при наличии интереса, выложу подробную инфу по переделке с описанием нюансов, с фотографиями внутренностей и прочими ужасами. Лицам с тонкой душевной организацией на результаты препарирования геймпадов смотреть не стоит =) А если вы паяльник держали в руках от силы пару раз - переделкой лучше самостоятельно не заниматься. Помимо пайки, пригодится навык вырезания ножницами мелких фрагментов (доводка до ума включает наклеивание кусочков изоленты и фольги). Вся работа по переделке хоть и занимает, при должной сноровке, пару часов, но требует аккуратности и терпения.

По мере поступления отзывов пост будет редактироваться и пополняться информацией. Ответы для удобства буду структурировать и складывать под кат - сперва поглядите, нет ли там ответа на ваш вопрос. Спрашивайте, постараюсь оперативно отвечать на все. Если они будут по делу, а не пустая критика в духе "а зачем оно нам" или "я бы сделал свое/сделал лучше". Так сделайте, кто вам не дает? Повторюсь, но за кучу лет не реализовано ни-че-го в плане улучшения управления. Развития ноль. Меня это не устроило, и я сделал свой вариант, с прицелом на будущее, с хорошим потенциалом. Кто-то критикует, а кто-то делает - каждому свое.

Благодарю всех дочитавших длиннопост. Пишите свое мнение, задавайте вопросы. Вместе мы сделаем Спектрум лучше ;)

Отзывы владельцев (можете добавить свой, оформлю ссылку на пост):

https://zx-pk.ru/threads/34383-zx-pad-novyj-gejmpad-dlya-spektruma-(podklyuchaem-kontroller-ot-sony-playstation).html?p=1152636&viewfull=1#post1152636 от izzx
https://zx-pk.ru/threads/34383-zx-pad-novyj-gejmpad-dlya-spektruma-(podklyuchaem-kontroller-ot-sony-playstation).html?p=1154740&viewfull=1#post1154740 от Evgeny Muchkin

FAQ (вопросы и ответы, пополняется по мере поступления):

Q_00: Где схема, инструкция по переделке, распиновка разъемов?
A_00: На данном форуме особой заинтересованности пока не вижу. Если будет - дополню тему.
Q_01: Какова цена готового девайса и набора для самостоятельной сборки?
A_01: 1000р готовый, 500р - полный набор "сделай сам". Плюс за пересылку отдельно.
Разница - это минимальная цена за работу. Бесплатно делать никто не будет, согласитесь.
Тема на барахолке: https://zx-pk.com/forum/viewtopic.php?f=32&t=21110
Q_02: А если оно у меня не заработает? Или не понравится? Возврат возможен?
A_02: Да, в течение, скажем, двух недель от получения могу принять обратно при наличии веских на то причин.
Предварительно стоит провести несложные тесты для профпригодности вашего компа =)
Хотя бы потыкать диодом в разъем Синклер-джойстика и убедиться, что замыкание в нужную сторону работает.
Q_03: Что за геймпад берется за основу? Могу переделать имеющийся у меня, какой нужен?
A_03: Разумеется, китайская подделка. Если не швырять на пол и не гасить об него бычки, прослужит долго.
Можно взять за основу любой аналогичного функционала: крестовина, 4 кнопки справа, 2 в центре.
Плюс четыре кнопки курков спереди. Дополнительные кнопки и аналоговые стики роли не играют.
Другой вопрос, насколько удобной будет переделка платки. От Sony PS 1 переделать проще всего.
Речь про самый дешевый вариант без вибро и стиков. У дуалшока разводка платки сложнее.
К тому же, дуалшок и весит ощутимо больше, а вибрация в играх на Спектруме вряд ли появится.
Q_04: Какой разъем нужен для подсоединения к компьютеру? Что еще понадобится купить?
A_04: Предлагаю к пересылке с разъемом DE-9 и ответной частью с припаянным шлейфом.
Ничего искать/докупать не потребуется, нужно лишь припаять шлейф внутри компьютера.
Если плата компа на разъемах - отлично, ничего к ней паять не придется. Паяем к разъемам.
Либо, при свободном разъеме матричной клавы и наличии ответной части, втыкать туда.
Также есть вариант подключения в разъем Sinclair-джойстика, в наших клонах это обычно СГ5.
Нужно заменить его на СГ7 (DIN7), соответственно, на геймпаде будет СШ7 (DIN7-"папа").
Есть небольшой запас DIN7 и ответных частей, с DB-9 проблем нету. Так что на ваш выбор.
При самостоятельном изготовлении еще нужно немного изоленты, фольги и скотча.
Они, думаю, найдутся у всех, занимающихся самоделками и пайкой.
Q_05: Нужно ли что-то дорабатывать на плате компьютера? Не хотелось бы туда лезть...
A_05: Возможно, понадобится заменить пять резисторов подтяжки входов клавиатуры.
Актуально, в основном, для компов без буферных усилителей клавы. Не фатально, но учитывайте.
Q_06: Будет ли вариант под слот ZX-BUS, без переделки геймпада?
A_06: В будущем - возможно. Но сам этим заниматься пока не планирую. Я за простоту и ретро-стиль =)
Именно простота и дешевизна сделали Спектрум массовым. Применение микроконтроллеров усложнит схему,
плюс имеем ненулевые шансы на дохлый чипы, заказывая их. Чем проще схема - тем надежнее.
Q_07: Хорошо бы сделать кнопку с Autofire, это осуществимо?
A_07: В текущем виде - нет. Даже если заморочиться и доработать, получаем минус одну "обычную" кнопку.
Функция должна быть отключаемой, по-человечески это реализуется с микроконтроллером.
Q_08: Фольга на кнопках не внушает доверия, насколько надежен такой моддинг?
A_08: Она не вечная, да. Но хватает надолго, а заменить просто. Без нее кнопки надо жать с силой.
Из-за относительно большого сопротивления токопроводящей резины приходится ее клеить.
Возможно, в компах с CMOS-микросхемами на входах клавы фольга и не понадобится. Не проверялось.
Для TTL можно слепить двойной инвертор сигналов, но это лишние микросхемы. Вариант был отвергнут.
Q_09: А шнур геймпада долго протянет? Тем более китайского, они ж на всем экономят, заразы.
A_09: Если не вязать в узел, то послужит. И не сматывать вокруг геймпада каждый день, это хуже всего.
От такой "заботы" рано или поздно ломается даже шнур на оригинальном геймпаде. Не делайте так.
В части девайсов (где родной шнур 7 жил) заменяю проводки на МГТФ, шнур становится, по сути, вечным.
Возможна отсылка с родным шнуром, но их меньшинство, и в наличии может не быть.
Шнур для удобства сделан съемным, на разъеме-колодке (внутри контроллера).

Тест от производителя :D : https://disk.yandex.ru/d/WrHCYv3eAw65aA
Также прикреплен в аттаче в конце поста, если кто не может скачивать с Яндекс-диска.

Видеообзор с подключением к Ленинграду и Скорпиону:


https://youtu.be/mk4GZp2RQFo

Видеообзор работы в играх на реале и поддержки в эмуляторах:


https://youtu.be/7hkz7VEKHYQ

izzx
03.05.2022, 16:30
Мне достался пред серийный образец этого устройства. Бесплатно, в обмен на тест и отзыв.
Коротко: вещь хорошая, можно брать. Но, возможно, потребуется доработка напильником. Я дорабатывал.

Внешний вид новенького, конечно, шикарный. Запах пластика нормальный. Упаковка добротная. В комплекте всё, что надо – пад, разъёмы, ПО для теста (где-то по ссылке).
https://pic.maxiol.com/thumbs2/1651495146.2990584670.00.jpg (https://pic.maxiol.com/?v=1651495146.2990584670.00.jpg&dp=2)

Дублирует три полу ряда клавиатуры: кнопки 1-0 и ещё ряд на выбор. У меня U-P. Хотя, можно запаять как душе угодно.
https://pic.maxiol.com/thumbs2/1651494403.2990584670.01.jpg (https://pic.maxiol.com/?v=1651494403.2990584670.01.jpg&dp=2)

Внутри пада несколько диодов на платке, провод МГТФ. Тонкая работа. На кнопках нано слой фольги. Если будете разбирать, обратно шурупы надо закручивать осторожно, чтобы не провернуть.
https://pic.maxiol.com/thumbs2/1651494795.2990584670.02.jpg (https://pic.maxiol.com/?v=1651494795.2990584670.02.jpg&dp=2)https://pic.maxiol.com/thumbs2/1651494851.2990584670.03.jpg (https://pic.maxiol.com/?v=1651494851.2990584670.03.jpg&dp=2)

Я подключил к Скорпиону на стандартный разъём клавиатуры, внутрь компа лезть не пришлось.
https://pic.maxiol.com/thumbs2/1651494905.2990584670.04.jpg (https://pic.maxiol.com/?v=1651494905.2990584670.04.jpg&dp=2)

Подключение к Эве и +2A не задалось из-за особенностей схемы включения клавиатуры и джоя на них.

Геймпад я проверял в основном на играх Exolon, Delta's Shadow, Commando.
В DS на радостях пробежал 2 уровня за короткое время. До этого, наверное, год мыкался на первом. Как-то не мог привыкнуть к управлению на клавиатуре. А тут красота.
Для таких игр, где кнопка вверх не завязана на прыжок, а отдельная, подходит идеально.

По сравнению с геймпадом от денди, который у меня был по-старинке перепаян, кнопки нажимаются очень легко. На дендевском надо с усилием прожимать. А тут нет. Любая кнопка чётко срабатывает.
Зато на старом паде у меня продублирована кнопка вверх, что бывает очень удобно. А на новом устройстве, к сожалению, такого нет.
https://pic.maxiol.com/thumbs2/1651494925.2990584670.05.jpg (https://pic.maxiol.com/?v=1651494925.2990584670.05.jpg&dp=2)

Минус может быть в работе диагоналей. Чуть качнёшь кнопку направления и сработает диагональ. Например, в Exolon персонаж может внезапно прыгнуть или улететь в портал и прилететь тут же обратно, прямо под пули.
Для таких случаев доработка изолентой описана автором.

В Commando можно назначить бег вперёд на переднюю кнопку. Тогда палец намного меньше устаёт, но надо перестраивать мозг на новое управление.

Удобно: во многих меню можно выбирать управление и нажимать старт прямо с пада.
По умолчанию работает как обычный Sinclair 1 джой.

Спасибо автору, у меня не было повода не играть ).

Eltaron
04.05.2022, 07:40
Потом эту фичу подхватили другие производители приставок, но первой была именно Sony.
Не совсем. Как минимум у Супер Нинтендо (1990) шифты уже есть.

Black Cat / Era CG
04.05.2022, 12:39
Подключение к Эве... не задалосьА там и не надо, если конфа двойная.

izzx
04.05.2022, 13:31
А там и не надо, если конфа двойная.
Имеется в виду прошивка, которая для сега-пада и полного кемпстона? Знаю, но ещё не пробовал. Её тоже кто-то будет постоянно обновлять по мере выхода официальных версий?

Shadow Maker
04.05.2022, 15:37
Имеется в виду прошивка, которая для сега-пада и полного кемпстона? Знаю, но ещё не пробовал. Её тоже кто-то будет постоянно обновлять по мере выхода официальных версий?
Ну если кого-то ткнуть, то обновят, да.

Black Cat / Era CG
04.05.2022, 15:50
Её тоже кто-то будет постоянно обновлять по мере выхода официальных версий?
Ага. Параллельно с обычной двойной. По идее там конфигуратор позволяет использовать два сеговских пада. Один можно как Кемпстон, второй как клавиатуру, или наоборот, или оба как клавиатуру. Если настроить первый, как обычный Кемпстон, а второй в настройках вырубить, то теоретически сохраняется совместимость с "механической" клавой. Работают джои в обоих прошивках.

Gutten
04.05.2022, 16:12
Учитывая нынешнее непростое время и то, что ДО НЕГО ветку с поддержкой двух джоев так и не слили с основной, я не сильно уверен, что двойная конфа вообще будет обновляться

reddie
04.05.2022, 17:31
Как минимум у Супер Нинтендо (1990) шифты уже есть.
С Нинтендами у меня как-то не сложилось. Что 8-биткой, что 16-ти, играл на них очень мало, а геймпад вообще не помню у 16-й. Глянул - да, одна пара курков там есть. Но две лучше =) И эргономика у Соньковского явно выигрышней. Как этот безрукоятный от Супер Нинтендо держать и при этом нажимать курки плюс ещё кнопки - с трудом представляю.


там конфигуратор позволяет использовать два сеговских пада. Один можно как Кемпстон, второй как клавиатуру
Да, хороший вариант, но у Сеговского нет курков... хотя и это уже прогресс, если все кнопки передавать, а не только три.
В общем, кто допинается до авторов прошивок, либо сам созреет на это - прошу рассмотреть и подключение геймпада от Сони. Вместо урезанного Кемпстона как раз подойдёт: отдаём задействованные под него пины, Соньковскому нужно как раз 5 штук, протокол обмена - SPI плюс ещё один сигнал. Можно программно эмулировать SPI, там особых сложностей нет.

reddie
07.05.2022, 22:22
Авторам эмуляторов предлагаю внедрить поддержку
Тут я слегка отстал от жизни)) Погонял писишный USB-геймад в нескольких эмуляторах, итоги весьма обнадеживающие.
Но с оговорками, как выяснилось в процессе тестирования. Тесты проводились на такой вот штуке:

https://pic.maxiol.com/thumbs2/1651815095.1597255554.padfront.jpg (https://pic.maxiol.com/?v=1651815095.1597255554.padfront.jpg&dp=2) https://pic.maxiol.com/thumbs2/1651814864.1597255554.padback.jpg (https://pic.maxiol.com/?v=1651814864.1597255554.padback.jpg&dp=2)

Во-первых, крестовину направлений понимает только один, в остальных в ее качестве упорно предлагается аналоговый стик.
Что на Спектруме, по понятным причинам, лишено смысла, а то и создает проблемы ("жмется" диагональ, срабатывает противоположное направление при отпускании).
Во-вторых, с кнопками какая-то беда. Слепить полноценный аналог Sony получилось только в одном эмуляторе.

Хуже всего дела во Fuse. Крестовину не видит. Благо, аналоговый стик можно врубить вместо нее как Синклер-джойстик (что и требуется).
Но из кнопок видит только четыре правых (ABXY) - соответственно, ни центральных, ни ряда курков для подобия Sony не будет.
То бишь имеем полноценный заменитель восьмибитного Кемпстон-джойстика. С оговоркой на аналоговые "направления" - вполне юзабельно.
Да, при активации стика в роли Синклер-джойстика, на клавиатуре отключаются клавиши направлений (6-7-8-9). Маразм.
Что интересно, эмуль предлагает задать аж 15 кнопок геймпада. Но по факту работают лишь четыре.

Получше ситуация в Unreal. Видятся, насколько понял, все кнопки (кроме направлений), за одним БОЛЬШИМ исключением, дающим жирный минус.
А именно: задаются кнопки через ini-файл, как JB1...JB31, но! Кнопка "Y" является нулевой, с точки зрения драйвера. И ее как JB0 не задать, увы.
Можно, конечно, задействовать что-нибудь другое, но это неудобно. В общем, опять пролетаем мимо (а счастье было так близко).
В роли направлений опять выступает аналоговый стик, крестовина с ними в роли таковой не воспринимается.
Задание кнопок через конфиг-файл - то еще удовольствие: сперва в какой-нибудь другой проге надо узнать, где какая кнопка находится (ее номер).
Затем, зная номер, вписывать в ini-файл нужные значения. И лишь потом запускаем эмулятор и видим результат. Каменный век, как по мне.

Ну, а победителем по праву становится Spectaculator. После настройки заработало все. Вот что значит платный софт =))
Активируем в разделе Joystick строку Sinclair ZX Inteface 2 (Port 1), после чего стрелки направлений - ура - выдают нажатия клавиш 6-7-8-9. Победа!
В опции Change Button Mappings задаем соответствие кнопок геймпада клавишам Спектрума. Причем сделано это идеально, конкуренты отдыхают.
Настройка кнопок реализована наилучшим способом среди всех рассмотренных эмулей: нажимаем кнопку пада и следом кнопку "Спектрума" на клаве.
Ничего искать "методом тыка", как в других, не придется. В общем, Спекуль вполне заслуженно считается лучшим эмулятором ZX Spectrum.

Слепил еще одно видео с проверкой в играх на реале, а также кратко резюмировано все вышеизложенное по эмуляторам.
Итог: эмуляторщики могут пользоваться новым интерфейсом уже сейчас, был бы софт. Но это, как говорит один дядя, уже совсем другая история...


https://youtu.be/7hkz7VEKHYQ

izzx
08.05.2022, 21:52
У меня был геймпад с переключателем аналог-цифра. В одном эмуляторе работал стик, в другом наоборот крестовина. Если ещё переключатель правильно поставить.
Смутно помню, что в EmuZWin 2.8 больше понравилась работа с падом. Там крестовина работала.

Evgeny Muchkin
06.06.2022, 21:39
Являясь счастливчиком, будучи одним из немногочисленных тестеров, считаю необходимым отметиться! :)

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

ZX-PAD Автор прислал мне в такой же комплектации, как и у IZZX. Но переходник я делать не стал,
а сразу припаял раъем DB-15 (двухрядный), которым у меня давно уже был заменен родной клавиатурный
разъем от Скорпионщиков, т.к. ввиду его экзотичности, пришлось от него отказаться.

Девайс реально удобный, раскладка по клавишам почти устраивает.

Из размышлений - перенести огонь на квадрат, а кнопки Select и Start сделать, как Enter и Space. Ну, и, как уже упоминалось - продублировать Вверх на треугольник, например.

От души порубился в Migthty Final Fight, Каслванию, Марсмаре, Dizzy, Zynaps... Ощущения, как будто не играл раньше; совсем другие, как-то теперь удобно и цивилизованно что ли. Юзабилити на высоте!

Касательно подключения. Кому-то может показаться, что подключение без бубнов, прямо к разъему клавиатуры не такое уж и большое преимущество. Так вот, исходя из опыта, скажу - это офигенно! Пятнадцать минут паяния разъема и можно играть, комп разбирать не надо, красота!
Когда хочется поиграть на расслабоне с удобным манипулятором; лазить в комп, собирать левые контроллеры, что-то там в них прошивать, ну лениво, честное слово; да и без надобности при наличии ZX-PAD; с ним все быстро и просто.

PS/2 Клавиатура у меня подключена через ZXMC2, поэтому разъем родной клавы у меня свободен, что оказалось очень кстати.

Была проблема с ложными срабатываниями "вверх", когда вбок сильно зажимаешь. Не поленился, залез внутрь ZX-PAD. Пара слоев старой доброй изоленты, приклеенной в центре "крестовины", с проблемой справились. Далее был длительный тест в Zynaps, в результате прошел в игре очень далеко, как раньше никогда не заходил. :)

В общем. Девайс отличный! Рекомендую!
Ранее я экспериментировал с джойстиками от Денди, но что-то как-то не то это все.

ZX-PAD же у меня прижился и теперь всегда подключен к моему Скорпиону.

Большое спасибо Автору, вопрос с игровым манипулятором для меня теперь полностью решен! :)

Пара фоток под спойлером:


https://i7.imageban.ru/out/2022/06/06/e6c0606c969495ab162517abb24660a9.jpg

https://i5.imageban.ru/out/2022/06/06/9159e1b0dd9fbebe89dab358d5ec1b7e.jpg

Xela
07.06.2022, 01:57
ZX-PAD же у меня прижился и теперь всегда подключен к моему Скорпиону.
Пара фоток под спойлером:

на фото: DualShock, Acer, Norton Commander, хм... :v2_conf3:

reddie
07.06.2022, 06:57
на фото: DualShock, Acer, Norton Commander, хм...
Никого же не коробят PC-клавиатуры, SD-карты и куча всего еще. Причем на микроконтроллерах в десятки (порой и сотни) раз мощнее Зайлога =-)
Спектрум уже мало напоминает то, чем был изначально. Можно ворчать по этому поводу, но любая вещь/организм либо приспосабливается, либо умирает.
Хотя насчет PC-клавиатур имею сугубо личное мнение, что это мазохизм. Ничего лучше расширенной от 128-го +2 (ака наша Дельта-С) нету.
А на фотке все же обычный цифровой пад, без вибро и Дуалшока.

Evgeny Muchkin
07.06.2022, 10:54
Acer
Внутри то Скорпион! Даже наклейка на морде соответствующая.


Norton Commander
То не нортон, то TR-DOS Navigator. Вот: https://zx-pk.ru/threads/2952-tr-dos-navigator-(trdn).html

Dexus
07.06.2022, 11:09
reddie, список проверенных эмуляторов куцеватый. Как минимум из живых (спектакулятор уже давно мертвенький) еще можно было проверить Xpeccy (http://speccy.info/Xpeccy) (относительно недавно добавили детект горячего включения геймпада).

Gutten
07.06.2022, 11:11
Ничего лучше расширенной от 128-го +2 (ака наша Дельта-С) нету.
Где бы их ещё найти в приличном состоянии и комплектации...

reddie
07.06.2022, 12:14
Где бы их ещё найти в приличном состоянии и комплектации...

Если нужна именно клавиатура - на том же Авито куча объявлений о продаже Дельты. Порой за вполне вменяемые деньги, начиная от пары тысяч. Получаем готовую клаву с корпусом, а новодельные плёнки ( при необходимости) продаются у нас на барахолке. Плата самого компа, если нерабочая, пойдёт на запчасти, а рабочую можно толкнуть. Ну или оставить себе на память.
И не надо писать, мол, неразумно тратиться на целый клон ради клавиатуры. Для тех, кому нужна родная механика - наилучший вариант.

- - - Добавлено - - -


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

Gutten
07.06.2022, 12:23
чаще всего полустертые надписи, да и красный брейк редко попадется.
так что не всё так радужно.

reddie
07.06.2022, 13:00
чаще всего полустертые надписи, да и красный брейк редко попадется.
Можно попросить продавца сделать хорошее фото клавиш, хотя "тертые" обычно видно сразу.
А про некрасный Break...ну смешно же. Вам шашечки или ехать? =) У оригинала вообще чёрная клавиатура.
На писишных клавах все кнопки белые, токены не подписаны (огромный минус), расширенные клавиши вешают кто куда придумает, но неудобства в любом случае обеспечены... и вот этот весь мазохизм считается нормальным, все молча проглатывают. Вместо того, чтоб купить Дельту или что-то аналогичное и с комфортом пользоваться удобной и привычной с детства/юности клавиатурой.
Ладно, что-то я разошёлся не по теме)) больше не буду.

Gutten
07.06.2022, 13:03
если выбирать "как в детстве", то только с красным и без русских букв.
если выбирать компромисс, то и РС-клава прекрасно работает.

А токены... Так на 128 фирменных клавах их не было и бейсике 128 они не нужны.

Black Cat / Era CG
07.06.2022, 13:33
А токены... Так на 128 клавах их не было и бейсике 128 они не нужны.Были. 128 бейсик - убог, на клавах 128-х на фирме той же токены были нарисованы, на клаве атмки у меня тоже были нарисованы.

Gutten
07.06.2022, 13:37
я про фирменные, там были несколько токенов для загрузки и запуска игр.

Black Cat / Era CG
07.06.2022, 13:52
я про фирменные, там были несколько токенов для загрузки и запуска игр.ммм... это не фирменный 128?https://www.old-computers.com/museum/photos/sinclair_zxspectrum128_left1.jpg

goodboy
07.06.2022, 13:53
фирменный 128?
Enter там ужасно сделан (постоянно перекашивает/может залипнуть)

gdv2002
07.06.2022, 14:00
это не фирменный 128?

А у нас 1 в 1 копия - это Синтез-2

Black Cat / Era CG
07.06.2022, 14:01
Enter там ужасно сделан (постоянно перекашивает/может залипнуть)А я ваще не фанат фирменных спеков. Большую часть времени просидел за 7007 клавой, а щас Эва с пс/2. И я тогда был доволен, и сейчас доволен. Про 40 клавиатуру вспоминаю, как пальцы растягивал, но это, к счастью, было совсем недолго. За Дельта-подобными клавами не сидел, общего чувства ностальгии по ним разделить не могу.

Gutten
07.06.2022, 14:14
ммм... это не фирменный 128?https://www.old-computers.com/museum/photos/sinclair_zxspectrum128_left1.jpgэто не единственный вариант фирмы. от амстрада тоже фирменные.

Evgeny Muchkin
07.06.2022, 17:03
Чо флейм то клавиатурный развели? :)

ilgiz83
10.02.2023, 08:41
Всем привет.
Наконец-то руки дошли и до джостика. Подключил я его к своей Дельте. Вещь классная, если в игре есть распределение клавиш. Можно задействовать любые кнопки, как удобно. Но есть и минусы - упорно не хочет в играх нормально работать при нажатии верх и стрельба, да и диагональ (верх-вправо, верх-влево) тоже. Удается добиться нормальной работы только когда распределяешь верх и низ на кнопки L и R. Не совсем удобно, но привыкнуть можно. А так вещь классная. Рекомендую.

- - - Добавлено - - -

Еще раз здравствуйте.
Глянул в инструкцию по подключению. У меня не соответствуют кнопки. При нажатии Х, Up, Down, Right, Left появляются r,t,e,w,q вместо 0,9,8,7,6. Остальные Select, Start, квадрат, треугольник, ноль - 45321. L1, L2, R1, R2 - j, h, k, l. Что я мог не так сделать, где накосячил?

reddie
10.02.2023, 10:06
При нажатии Х, Up, Down, Right, Left появляются r,t,e,w,q вместо 0,9,8,7,6
Входной сигнал адресной линии неверный (подается с полуряда Q-T), надо подать с полуряда 0-6. И, судя по приведенным соответствиям кнопок, надо еще поменять местами биты D3 и D4. то бишь проблема в путанице сигналов. Вообще, тем и удобен вариант с эмуляцией клавы, что без разницы, на какие кнопки/ряды подключать =)) работает в любом случае (если можно переназначать кнопки в игре), но желательно cделать "по стандарту", тогда будет корректно работать и как синклер-джойстик.
У себя девайс, разумеется, проверял перед отсылкой. Возможно, неуверенное срабатывание связано с особенностями конкретного экземпляра компа, как было у меня с Композито-Ленинградом. Исключить проблемы на стороне джойстика можно, промеряв сопротивление кнопок мультиметром в режиме диодной прозвонки: любая замкнутая линия должна выдавать одно и то же "сопротивление", у примененных диодов это 560-580 попугаев. Мерять на разъеме, подключась к линии нужного ряда и соответствующему кнопке биту. Дополнительные инструкции могу дать в личке при необходимости.

ilgiz83
10.02.2023, 13:15
Нашел ошибку. Оказывается последний разъем на Дельте это Kemston, а я его по другой схеме сделал. Хотя по схеме последний разъем XS5 это sinclair или interface 2. Исправил. Теперь ряды 1 и 3 совпадают, а вот ряд 2 теперь q,w,e,r,t. Если "Х" опрелять как выстрел, то совместно с кнопкой "Верх" тормозит. Определяю "R2" выстрел, уже играть можно.

Black Cat / Era CG
10.02.2023, 13:56
q,w,e,r,t. Если "Х" опрелять как выстрел, то совместно с кнопкой "Верх" тормозитТам получается конфликт скорее всего, если Вверх это E. Просто столбец совпадает с X.

reddie
10.02.2023, 15:52
ряд 2 теперь q,w,e,r,t
Да, биты в ряду "встали" правильно, но адресная линия подана не та на вход (A10 от ряда Q-T, а нужно A12 от ряда 0-6). Но, в принципе, на рабочесть выбор других рядов не влияет, просто синклер-джойстик в большинстве игр "прибит" именно к полуряду 0-6, иногда к 1-5. В основной своей массе игрухи дают переназначить кнопки, но немало и таких, где либо джойстики, либо жестко заданные клавиши. И вот в них синклер-джойстик будет оптимальным выбором.



получается конфликт скорее всего, если Вверх это E. Просто столбец совпадает с X
Не, внутри пада стоят диоды, конфликт исключается. Но на компах без буферизации клавы, где с ША диоды, порой надо играться с подтяжкой входов данных от клавы.

ilgiz83
21.02.2023, 08:39
Всем привет.
Разобрался. Работает как надо. Не туда подключил А12. Для удобства нарисовал схему, что и куда подключать. 8 диодов не хватило места нарисовать, пронумеровал. Когда припаивал, не посмотрел на нумерацию, поэтому ошибка. Но есть нюанс, "Х" для стрельбы лучше не ставить, совместно с верхом работать не хочет. Определяю стрельбу "квадрат", проблем нет. Классная вещь.