PDA

Просмотр полной версии : Контроллер PS/2 mouse для MSX



caro
27.01.2009, 17:21
Контроллер PS/2 мышки, эмулирующий мышку компьютера MSX.
--------------------------------------------------------

Основой контроллера является микроконтроллер (МК)
ATTiny2313 фирмы Atmel.
Тактируется МК от встроенного генератора на 8 Мгц.
Схема получилась очень простая и дешевая.
Собрать её можно на куске макетки за 2-3 часа.

Версия прошивки 1.0 обеспечивает работу контроллера
в режиме эмуляции мышки, при его подключении в любой
из портов джойстика MSX.
В следующей версии предполагается добавить эмуляцию
работы джойстика.
Светодиод на плате при неисправности, подключенной
к контроллеру мышки мигает с частотой 1 герц.
При нормальном опозновании мышки, светодиод загорается.
При установленной перемычке JP1, разрешение подключенной
мышки уменьшается в 2 раза.
Контроллер проверен на реальной MSX Yamaha YIS503II,
и на OCM DE1 при работе в среде Symbos.
Проверил также на игре Breaker с поддержкой мышки.
Мне кажется с мышкой на много удобней чем с джойстиком.

http://www.caro.su/msx/mous4msx.htm

Error404
27.01.2009, 19:04
Контроллер PS/2 мышки, эмулирующий мышку компьютера MSX.
--------------------------------------------------------
Основой контроллера является микроконтроллер (МК)
ATTiny2313 фирмы Atmel.


А какую роль играет сигнал strobe ?
Как-то можно прочитать скорость движения мыши, или со стороны компа получается только аналог джойстика (замкнута/незамкнута соответствующая линия в зависимости от того, в каком направлении едет мышь)?

caro
27.01.2009, 19:24
А какую роль играет сигнал strobe ?
Как-то можно прочитать скорость движения мыши, или со стороны компа получается только аналог джойстика (замкнута/незамкнута соответствующая линия в зависимости от того, в каком направлении едет мышь)?Я уже написал, текущая прошивка (1.0) как раз и эмулирует работу мышки, а не джойстика.
Для MSX придуман механизм, как передавать информацию от мышки в комп, через разьем джойстика.
Для этого в каждом цикле опроса состояния мышки сигнал STROBE четыре раза меняет свою полярность:
; ------------- -------------
; | ст.нибл X | мл.нибл X | ст.нибл Y | мл.нибл Y
;----- ------------- ---------------
Таким образом за четыре полутакта передается информация о приращении координат X и Y.
4-рех битные половинки X и Y читаются по линиям джойстика, по которым идет информация о состоянии его ручки (UP,DOWN,LEFT,RIGHT).
Состояние кнопок читается по своим линиям порта джойстика TRIG1 и TRIG2.
Если говорить о длительности полутактов, то например в SYMBOS первый полутакт длится 80 мксек, остальные по 40.

Error404
28.01.2009, 12:01
А есть исходники обслуги (драйвера?) такой мыши на MSX ?
Я с какой целью интересуюсь: можно было бы приделать на Орион как модификацию Кемпстон-джойстика (делов то: для Strobe на запись в этот порт половинку TM2 повесить), благо мыши там в сущности нет (не поддержанные ПО потуги не считаются) и можно городить что угодно. А в этом случае будет даже некая "совместимость" (с MSX, по принципу решения). И что самое главное, у меня в запасах есть пара штук ATTiny2313. :)

caro
28.01.2009, 12:21
А есть исходники обслуги (драйвера?) такой мыши на MSX ?Как таковых исходников нет, для того что бы разобратся я копался в коде SYMBOS.
Ничего сложного в таком драйвере нет. Читаешь два байта приращений координат и состояние кнопок,
а дальше как для обычной мышки вычисляешь текущую координату.


Я с какой целью интересуюсь: можно было бы приделать на Орион как модификацию Кемпстон-джойстика (делов то: для Strobe на запись в этот порт половинку TM2 повесить), благо мыши там в сущности нет (не поддержанные ПО потуги не считаются) и можно городить что угодно. А в этом случае будет даже некая "совместимость" (с MSX, по принципу решения). И что самое главное, у меня в запасах есть пара штук ATTiny2313. :)Мне тоже решение, примененное в MSX нравится.
Через один и тот же разьем можно подключать хоть мышку, хоть джойстик.
Даже для Спектрума можно было бы добавить один бит на приеме Кэмпстон-джойстика и бит Строба, и цепляй мышку через контроллер, эмулируя Кэмпстон джойстик для старых программ и мышку для новых.

breeze
28.01.2009, 12:32
Интересно, а можно этот (или подобрый) девайс подключить к C64 в качестве мышки ?

breeze
28.01.2009, 16:32
В принципе сделать контроллер PS/2 мышки для C64 не проблема :)

я бы памятник поставил :) ибо найти оригинальную мышь просто не реально :( а попробовать порисовать очень хочется x_x

breeze
29.01.2009, 17:16
Будет время сделаю обязательно.
Только мне в этом случае понадобится Beta-ТЕСТЕР, поскольку у меня C64 пока нет :)

уффф... ну постараюсь им быть по мере сил :rolleyes:

easy_john
29.01.2009, 18:36
так амижные же мышки на c64 работают, значит обычный амижный переходник должен то же пахать?

yorgee
29.01.2009, 20:45
Любят у нас изобретать велосипед:))

breeze
29.01.2009, 21:41
так амижные же мышки на c64 работают, значит обычный амижный переходник должен то же пахать?

упс :) ну значит всё тогда намного проще :) где можно глянуть амижный контроллер ?

easy_john
30.01.2009, 00:25
схемы тут http://ps2m.sotchenko.ru/index_ru.html
но тебе можно даже еще проще варианты, без колеса.
готовые вроде были на amigasc.nm.ru

breeze
30.01.2009, 02:19
но тебе можно даже еще проще варианты, без колеса.

ну чего уж без колеса :) амига то у меня тоже есть :D

yorgee
01.02.2009, 21:06
Caro, извини за критику. Мне кажется, что время на разработку этого девайса, ты потратил зря. И откуда у тебя любовь к атмелам?

AlexBel
20.03.2009, 15:38
Caro, извини за критику. Мне кажется, что время на разработку этого девайса, ты потратил зря. И откуда у тебя любовь к атмелам?

А благодарности за этот девайс (в т.ч. и моя) говорят, что не зря.

У любых контроллеров есть свои плюсы и минусы. Да, у атмеловских контроллеров есть недостатки, мне самому больше нравятся PIC. Но в последнее время я все больше использую AVR и понимаю тех людей, которые весьма далеки от громких, но совершенно бесполезных споров типа "AVR vs PIC", "Altera vs Xilinx", "Creative vs Gravis vs Yamaha", "MAC vs PC" и т.п. Кому что удобнее, тот это и использует. Как говорится, не ндравится - не ешь :)

caro
18.07.2009, 20:19
Новый вариант контроллера мышки для MSX на базе микроконтроллера (МК) ATTiny2313.

http://www.caro.su/msx/mous4msx.htm

Его особенность - возможность программировать встроенный МК через разьем, которым
контроллер подключается к порту джойстика. Перемычка, установленная на плате, позволяет
задать режим контроллера - программирование МК или эмуляция мышки/джойстика.
Программирование МК выполняется прямо на MSX программой prg2313t.com
Текущая версия прошивки (1.2) обеспечивает работу контроллера в режиме мышка или
джойстик. Переключение режима - одновременным нажатием левой и правой клавиши
мышки. Индикация светодиодом: горит - работает мышкой, потух - джойстиком.

---------- Post added at 22:19 ---------- Previous post was at 22:14 ----------


Любят у нас изобретать велосипед:))Изобрёл очередной велосипед :)
http://www.caro.su/msx/mous4msx/msx_mous2.jpg

caro
24.03.2011, 11:54
Обновил прошивку контроллера мышки до версии 2.0
Исправил работу контроллера в режиме эмуляции джойстика.
Качайте, прошивайте и пробуйте: http://www.caro.su/msx/mous4msx.htm