PDA

Просмотр полной версии : Идея простого безвайтового контроллера клавиатуры



vinxru
11.08.2011, 14:21
У меня появилась идея, как сделать простой безвайтовый контроллер клавиатуры из хлама. То есть контроллер подключается только к разъему клавиатуры 8+5. То есть берется любая ПЗУ на 64 Кб (или больше) и любой микроконтроллер с 10-ю выводами.

http://tmaplatform.ru/vinx_home_page/zx1.gif

У этой схемы есть одно явное ограничение, лишь 256 комбинаций нажатых клавиш. Это можно исправить заменив ПЗУ на более ёмкую. Но мне 256 хватит :)

256 - это возможность нажать любую из 38 клавиш с 2-мя шифтами = 152 комбинации.

Плюс возможность одновременно нажать 6 игровых кнопок = 64 комбинации. Обычно это Q,A,O,P,N,M.

Плюс еще 40 комбинаций остается под ваши нужды.

Titus
11.08.2011, 14:54
256 - это возможность нажать любую из 38 клавиш с 2-мя шифтами = 152 комбинации.

Плюс возможность одновременно нажать 6 игровых кнопок = 64 комбинации. Обычно это Q,A,O,P,N,M.
Совершенно недостаточно для игр. Не говоря уже о всяких фирменных и нефирменных CheatMode, где нужно по нескольку клавиш одновременно нажимать.

vinxru
11.08.2011, 15:08
Надо посчитать, сколько действительных комбинаций клавиш существует.
Ведь для стандартной клавиатуры разницы между 1+2+Q и 1+2+W нет.

Тем более, что у PS-2 клавиатуры есть аналогичное собственное ограничение, там такая же мембрана. Когда два таких ограничение накладываются друг на друга, об одновременном нажатии 3-х клавиш можно только мечтать.

А ваши читы можно прошить в оставшиеся 40 (кстати значительно больше) комбинаций.

Titus
11.08.2011, 15:43
Надо посчитать, сколько действительных комбинаций клавиш существует.
Ведь для стандартной клавиатуры разницы между 1+2+Q и 1+2+W нет.

Тем более, что у PS-2 клавиатуры есть аналогичное собственное ограничение, там такая же мембрана. Когда два таких ограничение накладываются друг на друга, об одновременном нажатии 3-х клавиш можно только мечтать.

А ваши читы можно прошить в оставшиеся 40 (кстати значительно больше) комбинаций.
Автоматическое нажатие 'фантомных' клавиш, завершающих четырехугольник, например, при 1, 2 и Q - фантомной клавишей будет W, т.к. она четвертая в этом четырехугольнике - есть только на бездиодных клавиатурах. Если же на шинах стоят диоды, то дефект 'фантомных' клавиш отсутствует. А вообще на бездиодных обычных клавиатурах в одном ряду можно нажимать любое количество клавиш, ограниченное лишь контроллером конкретной клавиатуры.

p.s.: Для читов нельзя прошить заранее заготовленные комбинации, т.к. они во всех играх разные. Да и комбинаций клавиш управления в играх тоже великое множество.

---------- Post added at 15:43 ---------- Previous post was at 15:39 ----------

p.p.s: Наверное вместо ПЗУ лучше поставить двухпортовое ОЗУ, которое будет эмулировать собой матрицу клавиатуры, а микроконтроллер будет со своей стороны записывать в это ОЗУ нажатые клавиши. ОЗУ потребуется совсем малюсенькое.

vinxru
11.08.2011, 16:06
Наверное вместо ПЗУ лучше поставить двухпортовое ОЗУ, которое будет эмулировать собой матрицу клавиатуры, а микроконтроллер будет со своей стороны записывать в это ОЗУ нажатые клавиши. ОЗУ потребуется совсем малюсенькое.

Я публиковал тут такую схему. Только я не нашел двухпортового ОЗУ в продаже и использовал аналог - 8 регистров в параллель. Но это слишком много микросхем.


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

А на что программатор? И какие это игры которые не поддерживают: стрелки, QAOP или кемпстон; при этом требуя нажимать более 2-х клавиш одновременно?

Дмитрий
11.08.2011, 16:38
p.p.s: Наверное вместо ПЗУ лучше поставить двухпортовое ОЗУ, которое будет эмулировать собой матрицу клавиатуры, а микроконтроллер будет со своей стороны записывать в это ОЗУ нажатые клавиши. ОЗУ потребуется совсем малюсенькое.
Поставить CPLD, в ней реализовать ОЗУ 5*8 и получится КОЕвский безвейтовый контроллер :)

Titus
11.08.2011, 16:47
А на что программатор? И какие это игры которые не поддерживают: стрелки, QAOP или кемпстон; при этом требуя нажимать более 2-х клавиш одновременно?
Какой программатор? Это я, допустим, запускаю какую-то игру, в которой встроенный cheat, допустим, M+K+H+G. Вынимаю ПЗУ, перешиваю ее, чтобы можно было нажать это MKHG, и играю? И так для каждой игры?
Похоже, вы не очень много играли на Спекки в игры)
А на счет кемпстона - приспособиться можно, смеппив, допустим, кемпстон на какие-то клавиши, типа дополнительных стрелок, но проблему это не решит. Я считаю, что две одновременно нажатые клавиши - это обязон. А 3 - это нормальный минимум. 4 и более - это уже совсем хорошо.

vinxru
11.08.2011, 17:04
Какой программатор? Это я, допустим, запускаю какую-то игру, в которой встроенный cheat, допустим, M+K+H+G. Вынимаю ПЗУ, перешиваю ее, чтобы можно было нажать это MKHG, и играю? И так для каждой игры?

Угу. У людей не большой набор любимых игр, в новое мало кто играет. И спустя 15-20 лет читерить - это не правильно. Правильно научится проходить эту игру с закрытыми глазами :)



А на счет кемпстона - приспособиться можно, смеппив, допустим, кемпстон на какие-то клавиши, типа дополнительных стрелок, но проблему это не решит. Я считаю, что две одновременно нажатые клавиши - это обязон. А 3 - это нормальный минимум. 4 и более - это уже совсем хорошо.

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

QWERT на моей PC-клавиатуре уже не на одной линии. Не получится используя PS/2 клаву добиться полноценной работы. На Спекки то они нажимаются. А вот в Dizzy или Saboteur побегать, этого хватит.

goodboy
11.08.2011, 17:09
во многих `драках` одновременное нажатие вверх,всторону и огонь обычное явление

CodeMaster
11.08.2011, 17:17
А вот в Dizzy или Saboteur побегать, этого хватит.

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

goodboy
11.08.2011, 18:52
а почему в 10ом посту цитата от меня :v2_conf2:

CodeMaster
11.08.2011, 19:00
а почему в 10ом посту цитата от меня

Косяк движка, в каком посте ткнёшь на Цитата выделенного того и будет ;-) несмотря на то что текст выделен в совсем другом посте.

vinxru
11.08.2011, 21:36
во многих `драках` одновременное нажатие вверх,всторону и огонь обычное явление

Сам контроллер легко эмулирует одновременное нажатие 6-и "игровых кнопок". Надо только выбрать, какие это будут 6 кнопок. Но PS/2-клавиатура вряд ли сможет такое осилить.

vinxru
18.08.2011, 09:24
Времени мало, успел только плату сделать.
http://tmaplatform.ru/vinx_home_page/zxkeyb.jpg

Но тут обнаружилось, что мой Спектрум страшно глючит. После перезагрузки на экране остается мусор. И сам комп иногда перезагружается. Первым делом заменю РУ5, но по закону подлости они окажутся не при чём.

CodeMaster
18.08.2011, 09:29
Времени мало, успел только плату сделать.

МК бы тоже для полной простоты в DIP.