Важная информация

User Tag List

Страница 6 из 10 ПерваяПервая ... 2345678910 ПоследняяПоследняя
Показано с 51 по 60 из 91

Тема: Адаптер мыши PS/2 в стандарт мыши Марсианка

  1. #51
    Master Аватар для electroscat
    Регистрация
    27.08.2019
    Адрес
    г. Ростов-на-Дону
    Сообщений
    989
    Спасибо Благодарностей отдано 
    437
    Спасибо Благодарностей получено 
    182
    Поблагодарили
    114 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от reddie Посмотреть сообщение
    Можно без особых запар подключить пассивную мышь по спектрумовской схеме, но это будет уже не "Марсианка" софтово и технически.
    Да, идея в целом хорошая, но после этого придется либо портировать спектрумовское П.О. на БК, или переписывать весь софт под БК для поддержки сего девайса..

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

    Посмотрел внимательно на схему, действительно, "сброс" не просто так подается на Марсианку. Если после сигнала сброс - на выходе единицы - то движения нет, если сразу после сброса единица на... В обшем, чего тут кривляться, похоже, что БК снимает изменение направления сразу после прихода "сброса", потому что уже после прохода колесика через второе отверстие на Х-ВНИЗ И Х-ВВЕРХ будет два нуля, и толку от этого не много. Важно именно прохождение первого окна "колеса", только в этой ситуации есть разница, либо первым пройдет нижний диод, либо верхний.. По этому реально все это нужно учитывать.

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

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

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

    А без этого будет достаточно трудно заставить ардуино выдавать необходимую последовательность на "ПУ" ....
    Может кто то снимет диаграммы работы мыши, по выводам мыши X-вниз, Х-вверх, Y-вниз, Y-вверх, сброс....
    Честно сомневаюсь, что кто то это сделает, ибо те у кого есть "Марсианка" - ему не очень нужна PS/2 мышь, а те у кого нет Марсианки - тот и снять никакие диаграмы не сможет..

    Может кто то сможет марсианку прислать на исследования ? Можно не рабочую, на восстановление ?
    Сейчас в коллекции:
    Вектор 06Ц.01(Минск), Вектор 06Ц.01(Волжский), Вектор 06Ц.02(Кишенев), Агат 7, Агат 9, Электроника 0511 УКНЦ (СЭМЗ), Электроника 0511 УКНЦ (КВАНТ) Х2, Поиск-1.03 (VGA),Электроника БК-0011(10,11M) [3IN1], Корвет ПК8010, Партнер 01.01, Спектр-001, БАЙТ(БПО_СВТ), Волна 48, Ленинград 48, Веста 30, Компакт 256(новодел),
    и ... Pentium 200 mmx, 386SX-16, AMD K6-300 ...

  2. #52
    Master
    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    905
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    205
    Поблагодарили
    153 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от electroscat Посмотреть сообщение
    придется либо портировать спектрумовское П.О. на БК, или переписывать весь софт под БК для поддержки сего девайса
    Ну, софта (игрушек) и так со Спектрума портировали довольно много =) Естественно, без мышиного управления, хотя и на Спектруме оно было нечастым гостем.
    на БК да, придется, как минимум, менять драйвер мыши, причем банальная замена не поможет, т.к. совсем другая механика вызовов.
    С другой стороны, в играх мышь для БК отсутствует, как таковая, а посему хуже не будет. При текущей реализации нисколько не удивился такому положению вещей.
    Новые же игры/софт можно сразу писать с поддержкой нового девайса, главное договориться о стандарте, чтоб не клепать кучу несовместимых вариантов.
    Преимущества управления мышью, думаю, в пояснениях не нуждаются. Даже в операционке (коммандере) она порой удобней, нежели клавиатура.

  3. #53
    Master Аватар для electroscat
    Регистрация
    27.08.2019
    Адрес
    г. Ростов-на-Дону
    Сообщений
    989
    Спасибо Благодарностей отдано 
    437
    Спасибо Благодарностей получено 
    182
    Поблагодарили
    114 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В общем, если по простому, с PS/2 мы получаем прирост или уменьшение числа координаты Y или X (от 127 до -127 помоему) - при помощи Ардуино, и по сигналу "сброс" нужно БК отдавать комбинацию например 0 на X-вверх и 1 на X-вниз, Y-вверх, Y-вниз если в некоторый предидущий момент c PS/2 поступили данные о том, что координата Х получила определенный прирост, а координата Y не поменялась... С приростом там все сложно, нужно экспериментальным путем выяснить, на сколько DPI "современной" PS/2 мыши больше DPI "Марсианки" - то есть возможно нужно защитывать прирост сразу 10 позиций с PS/2 как 1 позицию "Марсианки" и т.д.
    ВОт примерно так я теоретически вижу алгоритм работы ардуино.
    НУ а как это на практике реализовать, скорее всего понятно станет после того как тут кто то опубликует осцилограммы работы марсианки с БК, а точнее с "православным" приложением, которое поддерживает мышь на БК.

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

    Диаграммы нужны еще и для того чтобы понять какая задержка и на сколько отдаются сигналы координат на порт БК. Это важно на ксолько я понимаю.

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

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

    Я прошу прощения, я пишу все это чисто теоретически, потому что у меня БК появилась только пол года назад, а уж про мышь и джойстик я узнал только пару дней назад, так что прошу сильно не пинать, а лишь для поднятия моего уровня понимания, за это буду только благодарен !

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

    Тема очень интересна, потому что поняв, как подключить PS/2 мышь к БК - следом получится подключить PS/2 мышь к Агату, а этот аппарат мне тоже очень нравится, и хотелось бы его укомплектовать как пологается.. Так что, гарантирую большой жирный плюс к карме за любую помощь !!! XD
    Последний раз редактировалось electroscat; 08.01.2022 в 00:00.
    Сейчас в коллекции:
    Вектор 06Ц.01(Минск), Вектор 06Ц.01(Волжский), Вектор 06Ц.02(Кишенев), Агат 7, Агат 9, Электроника 0511 УКНЦ (СЭМЗ), Электроника 0511 УКНЦ (КВАНТ) Х2, Поиск-1.03 (VGA),Электроника БК-0011(10,11M) [3IN1], Корвет ПК8010, Партнер 01.01, Спектр-001, БАЙТ(БПО_СВТ), Волна 48, Ленинград 48, Веста 30, Компакт 256(новодел),
    и ... Pentium 200 mmx, 386SX-16, AMD K6-300 ...

  4. #54
    Master Аватар для Sandro
    Регистрация
    20.01.2010
    Адрес
    г. Зеленоград
    Сообщений
    590
    Спасибо Благодарностей отдано 
    27
    Спасибо Благодарностей получено 
    212
    Поблагодарили
    115 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Блин, да всё просто там. 4 бита X+ X- Y+ Y-. При обнаружении движения туда нужный бит взводится. Передёргиванием бита в порту сбрасывается всё разом. Не нужно никаких хитрых теорий изобретать. Конвертор из PS/2 в это тривиален и очевиден. Можно на какой-нибудь ATTiny сделать или кому чего нравится.

  5. #55
    Master Аватар для electroscat
    Регистрация
    27.08.2019
    Адрес
    г. Ростов-на-Дону
    Сообщений
    989
    Спасибо Благодарностей отдано 
    437
    Спасибо Благодарностей получено 
    182
    Поблагодарили
    114 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sandro Посмотреть сообщение
    Блин, да всё просто там. 4 бита X+ X- Y+ Y-. При обнаружении движения туда нужный бит взводится. Передёргиванием бита в порту сбрасывается всё разом. Не нужно никаких хитрых теорий изобретать. Конвертор из PS/2 в это тривиален и очевиден. Можно на какой-нибудь ATTiny сделать или кому чего нравится.
    Там два фотодиода на направление, один из них выступает тактирующим для обоих (+ и -) триггеров, второй работает только на (-), то есть с первым после резета тактом (+) в любом случае должен "взвестись", потому что его вход данных сидит на питании,... Следом, осветится второй фотодиод, и вполне возможно, что это совпадет с освещением первого (тактирующего) следующим отверстием, и тогда "взведется" и (-)... А если до того как пришел сброс - движение было и в + и в (-) то что взводится, тоже оба ? Вопросов много на самом деле, просто все, когда есть возможность посмотреть как работает осцилом или лучше анализатором... А у меня пока чисто теоретичнеская проработка, и в следствии того, что конструкция оптических датчиков мне не известна, у меня пока больше вопросов, чем решений.
    Последний раз редактировалось electroscat; 08.01.2022 в 01:42.
    Сейчас в коллекции:
    Вектор 06Ц.01(Минск), Вектор 06Ц.01(Волжский), Вектор 06Ц.02(Кишенев), Агат 7, Агат 9, Электроника 0511 УКНЦ (СЭМЗ), Электроника 0511 УКНЦ (КВАНТ) Х2, Поиск-1.03 (VGA),Электроника БК-0011(10,11M) [3IN1], Корвет ПК8010, Партнер 01.01, Спектр-001, БАЙТ(БПО_СВТ), Волна 48, Ленинград 48, Веста 30, Компакт 256(новодел),
    и ... Pentium 200 mmx, 386SX-16, AMD K6-300 ...

  6. #56
    Master Аватар для Sandro
    Регистрация
    20.01.2010
    Адрес
    г. Зеленоград
    Сообщений
    590
    Спасибо Благодарностей отдано 
    27
    Спасибо Благодарностей получено 
    212
    Поблагодарили
    115 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от electroscat Посмотреть сообщение
    Там два фотодиода на направление, один из них выступает тактирующим для обоих (+ и -) триггеров, второй работает только на (-), то есть с первым после резета тактом (+) в любом случае должен "взвестись", потому что его вход данных сидит на питании,...
    Mein Gott ... А декодера на D5 ты не видишь?

    Цитата Сообщение от electroscat Посмотреть сообщение
    Вопросов много на самом деле, просто все, когда есть возможность посмотреть как работает осцилом или лучше анализатором...
    Смотреть -- карандашом и тетрадкой. Карандашом и тетрадкой. Только так. Иначе никогда не поймёшь.

    Цитата Сообщение от electroscat Посмотреть сообщение
    А у меня пока чисто теоретичнеская проработка, и в следствии того, что конструкция оптических датчиков мне не известна, у меня пока больше вопросов, чем решений.
    Причём тут конструкция фотодиодов? Изучай схемотехнику. Если ты не понимаешь работу схемы, то разберись с ней, а не теоретизируй. Иначе никак.

    Там совершенно классический, до скукоты, квадратурный декодер. Они все такие. Эта схема есть в любом нормальном букваре. Один триггер ловит сам "щелчок", второй, одновременно, -- направление. Дальше декодер на элементах "И". Ну всё же просто совсем.

  7. Этот пользователь поблагодарил Sandro за это полезное сообщение:

    electroscat (08.01.2022)

  8. #57
    Master
    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    905
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    205
    Поблагодарили
    153 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от electroscat
    в следствии того, что конструкция оптических датчиков мне не известна, у меня пока больше вопросов, чем решений.
    Да всё куда проще, не нужны никакие лог. анализаторы. Схема "Марсианки" примитивна и убога до безобразия, выше уже расписали в деталях. Это называется пассивная мышка, такие подключались к Амигам, а потом и к Спектрумам, причём безо всяких переделок. Вот только на этих мышках сигнал сброса не требуется, с датчиков лишь отдаются сигналы в плюс/минус координат, а дальше уже заботы контроллера, что с этим делать.
    Почему советские разрабы сделали свой, до ужаса примитивный вариант - непонятно, но уж как вышло. Для полноценной работы мышке нужно обслуживание в виде сброса координат, без него (сброса) можно лишь понять, что мышу двигали, и всё. То бишь с "Марсианкой" без доп. контроллера (например, для "Агата" таковой имеется) управлять мышкой приходится софтово, причём по откату. Не как на Спектруме, читая данные 50 раз в секунду (в общем случае) или на РС, где схожий принцип у PS/2 мыши. На БК драйвер вынужден, по сути, вызываться всё время, чтобы более-менее правильно интерпретировать движения мыши. Разумеется, в играх и прочем софте с нормальной загрузкой проца о таком варианте речи быть не может. Вот потому Марсианка и не прижилась, ибо без контроллера толку от неё чуть более, чем никакого.

    Так что, пока не поздно, предлагаю внедрить как стандарт вариант спектрумовской Кемпстон-мыши с небольшими улучшениями. Два байта координат, X и Y, причём в виде смещения от предыдущего значения, плюс байт с данными трёх кнопок и колеса. В общем, почти тот же PS/2 формат в слегка упрощённом виде. Вся обработка ложится на контроллер, а в порт он выдаёт уже сформированные данные.

    Сейчас приспосабливаю пассивную мышь от Спектрума, подключаться будет в порт УП. Плюс одновременно расширенный джойстик. Подробнее опишу позже, пока девайс в стадии "подопытный на макетке". Да и с одного лишь девайса народ не впечатлишь, нужна наглядная демонстрация возможностей через софт. Потихоньку занимаюсь, сырой вариант выкладывать не хочу, чтоб не получилась ещё одна " видеокарта Метеор" в стадии вечного строительства.
    Последний раз редактировалось reddie; 08.01.2022 в 12:21.

  9. #58
    Master Аватар для electroscat
    Регистрация
    27.08.2019
    Адрес
    г. Ростов-на-Дону
    Сообщений
    989
    Спасибо Благодарностей отдано 
    437
    Спасибо Благодарностей получено 
    182
    Поблагодарили
    114 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sandro Посмотреть сообщение
    Mein Gott ... А декодера на D5 ты не видишь?
    Да, увидел, спасибо ! Реально только либо (+) либо (-).
    То есть, если так, то это работает как джойстик ? Или все таки чтение координаты происходит после сброса только ? Пока не могу понять, если она показывает направление на 4х битах порта, смысл тогда в сбросе ?

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

    Цитата Сообщение от reddie Посмотреть сообщение
    Вот только на этих мышках сигнал сброса не требуется, с датчиков лишь отдаются сигналы в плюс/минус координат, а дальше уже заботы контроллера, что с этим делать.
    А зачем он тогда вообще нужен ? То есть, по факту, без сигнала сброса мышь работает как джойстик получается, а координатной она становится если снимать из порта данные только после сигнала сброса, тогда можно в конкретную единицу времени, обусловленную периодом сброса, получить изменение направления, так чтоли ?
    Сейчас в коллекции:
    Вектор 06Ц.01(Минск), Вектор 06Ц.01(Волжский), Вектор 06Ц.02(Кишенев), Агат 7, Агат 9, Электроника 0511 УКНЦ (СЭМЗ), Электроника 0511 УКНЦ (КВАНТ) Х2, Поиск-1.03 (VGA),Электроника БК-0011(10,11M) [3IN1], Корвет ПК8010, Партнер 01.01, Спектр-001, БАЙТ(БПО_СВТ), Волна 48, Ленинград 48, Веста 30, Компакт 256(новодел),
    и ... Pentium 200 mmx, 386SX-16, AMD K6-300 ...

  10. #59
    Master
    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    905
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    205
    Поблагодарили
    153 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от electroscat Посмотреть сообщение
    если так, то это работает как джойстик ? Или все таки чтение координаты происходит после сброса только ? Пока не могу понять, если она показывает направление на 4х битах порта, смысл тогда в сбросе ?
    Смысл сброса в разрешении указания новых изменений, если кратко и попроще. Повторюсь, но такая реализация весьма убога.
    Исходно, пока мышу не трогают, везде нули. Куда-то сдвинули - появились единички, означающие, что мышь сдвинули. На сколько именно сдвинули - понять невозможно, фиксируется сам факт передвижения. И пока не произвести сброс, единички так и останутся. Хоть полчаса возите мышь - факт уже зафиксирован.
    Отсюда и следует необходимость максимально частого опроса и сброса, если хотим добиться подобия управления мышью. Если же опрашивать её один раз в кадре (по прерыванию или после его процедуры) - мыша фактически превращается в джойстик. Само собой, пользы от такого девайса мало, если она вообще есть.

  11. Этот пользователь поблагодарил reddie за это полезное сообщение:

    electroscat (08.01.2022)

  12. #60
    Master
    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    546
    Спасибо Благодарностей отдано 
    14
    Спасибо Благодарностей получено 
    137
    Поблагодарили
    106 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Может быть вы не в курсе, но изначально разработчиками мышки Марсианка было задумано, что она будет работать через блок КМ, а не непосредственно подключённая к УП. А через блок КМ она задумывалась работать по прерываниям. Вектор 0100 или 0270 выбирался перепайкой перемычки. Т.е. при движении или нажатии клавиши мыши генерируется прерывание, и драйвер обрабатывал результаты от мыши. Именно из-за этого и нужен сброс. Чтобы мышь не фигачила не нужных прерываний, когда их не получается обработать. В конце работы драйвера подавался этот сигнал мыши и снова можно было ожидать от неё прерывания.
    Но т.к. блок КМ - крайне редкая, и для многих непонятная фигня, то на него забили, и мышь подключили напрямую. А обрабатывали сигналы от неё в прерывании от таймера 50Гц на БК11, тоже получается примерно 50 раз в секунду.

  13. Этот пользователь поблагодарил gid за это полезное сообщение:

    electroscat (08.01.2022)

Страница 6 из 10 ПерваяПервая ... 2345678910 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Адаптер PS/2 мыши для Commodore
    от tnt23 в разделе Commodore 16/64/128
    Ответов: 59
    Последнее: 08.02.2016, 20:42
  2. Эмуляция мыши на джойстика
    от Граф Куракин в разделе Поиск
    Ответов: 4
    Последнее: 19.10.2013, 14:07
  3. Помогите опознать стандарт COM-мыши.
    от Alex2 в разделе Устройства ввода
    Ответов: 7
    Последнее: 10.07.2010, 22:47
  4. кнопки мыши в BGE 3.05
    от SaaB в разделе Графика
    Ответов: 8
    Последнее: 04.03.2006, 16:53
  5. Подключение кемпстон мыши
    от Aprisobal в разделе Устройства ввода
    Ответов: 14
    Последнее: 10.02.2005, 15:04

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •