nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 30 May 2024 12:23



Reply to topic  [ 54 posts ]  Go to page 1, 2, 3, 4  Next
«Мышь» к «Специалисту» 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Кто бы мог подумать, но я лично не знал, что к «Специалисту» прицепляли «Мышь»...


«Мышь» к «Специалисту»

И. ИВАНОВ
«Моделист-конструктор», 1994 г., «М-К» 2'94, с. 30.

Среди известных средств ввода графической информации в ЭВМ наиболее простым и удобным, на мой взгляд, является устройство типа «Мышь», или «Координатный шар». И если таковое у вас имеется, рекомендую, не мешкая, подключить его к своему компьютеру «Специалист» — через БИС КР580ВВ55. Убедитесь, что сделать это (см. рис.) вполне по силам даже начинающему пользователю. А результат — уверен! — превысит самые смелые ожидании.

Image

Схема подключения УВК типа «Мышь» к персональному компьютеру «Специалист».

Работа устройства координатного ввода информации (УВК) типа «Мышь», подключенного к ПК «Специалист» по приведенной схеме, протекает следующим образом. Сигнал от УВК поступает на порт «В» (адрес 0FEFDH). Микропроцессор считывает их и выдает сигнал сброса УВК (вывод B7 порта), тем самым, приводя триггеры устройства в исходное состояние. Затем в соответствии с полученной информацией компьютер выполняет действия по перемещению курсора или другого графического объекта. Ну а для проверки работоспособности подключенного к «Специалисту» УВК служит приводимая ниже специальная программа.

Программа проверки работоспособности устройства координатного ввода информации.

Code:
21 D9 00 CD 18 C8 3E 80
32 FF FE 3E FF 32 FD FE
2F 32 FD FE 3E 82 32 FF
FE 00 00 3A FD FE 4F 3E
80 32 FF FE 3E FF 32 FD
FE 2F 32 FD FE 79 E6 1B
FE 00 CA 70 88 79 E6 20
FE 00 CC 10 C0 79 E6 01
FE 00 C2 4C 00 3A DF 00
3D 32 DF 00 79 E6 04 FE
00 C2 5B 00 3A DF 00 3C
32 DF 00 79 E6 02 FE 00
C2 6A 00 3A E9 00 3C 32
E0 00 79 E6 08 FE 00 C2
79 00 3A E0 00 3D 32 E0
00 3A E0 00 21 CC 00 CD
18 C8 CD 15 C8 3A DF 08
21 8F 00 CD 18 C8 CD 15
C8 3A E0 00 E6 FC 1F 1F
C6 90 32 85 6F 3A DF 00
17 17 17 32 84 8F 0E 2B
CD 09 C8 06 FF CD 90 C1
CD 90 C1 CD 90 C1 CD 90
C1 CD 90 C1 C3 14 00 1B
5A 64 0A 4D 4F 56 45 20
01 12 20 00 1B 5A 6E 0A
4D 4F 56 45 20 01 1D 20
00 1B 4C 1B 50 1F 00 0C
42 90 39 00 39 00 39 00


PS. Коды не проверял - всё как распознал Файнридер. Исходник был плоховат.
У мыши весьма странный интерфейс. я таких мышей не встречал в своей жизни... но автор, видимо, встречал.
Схема подключения - также оставляет желать лучшего... но, по-моему, специалистам достаточно... :wink:


10 Dec 2010 08:20
Profile
Maniac
User avatar

Joined: 05 Oct 2006 04:45
Posts: 269
Location: Moscow
Reply with quote
Post 
Какая же это мышь? Это джойстик какой-то.

_________________
Всем добра!


10 Dec 2010 14:23
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Исходный скан делал не я, и он был плоховат - *.TIFF в два цвета, поэтому Файнридер разбирал его плоховато,
хотя там и на глаз не всё было столь очевидно.
Если кому-то кажется, что я что-то упустил - выкладываю сам скан.

http://www.nedopc.org/nedopc/upload/MK199430.jpg

Никаких контрольных сумм не было, поскольку дамп был напечатан в виде картинки. Некоторые непонятные переходы видны, как назло, очень отчётливо - как, например, адрес 8870Н - это переход в никуда. Но если бы были полутона, это могло бы быть, к примеру, 0079Н - приемлемый переход.
Программа написана под МОНИТОР Доможирова, о чем подсказывала строка перед дампом:
CLI> D0,E1

В итоге у меня получился следующий текст.

Code:
;---------------;
;   SP_MOUSE    ;
;---------------;

    ORG  0000H

    LXI  H,MS3
    CALL LIN

    MVI  A,80H; 1000.0000b
    STA  PYC;   все - на вывод
    MVI  A,0FFH
    STA  PRF;   PRB
    CMA
    STA  PRF;   PRB
K00:
    MVI  A,82H; 1000.0010b
    STA  PYC;   все - на вывод, B - на ввод
    NOP
    NOP
    LDA  PRB
    MOV  C,A

    MVI  A,80H; 1000.0000b
    STA  PYC;   все - на вывод
    MVI  A,0FFH
    STA  PRF;   PRB
    CMA
    STA  PRF;   PRB
;             _321.DLRU
    MOV  A,C
    ANI  10H; 0001.0000b
    CPI  00H;    1
    JZ   K0F; 8870H ???

    MOV  A,C
    ANI  20H; 0010.0000b
    CPI  00H;   2
    CZ   CLS

    MOV  A,C
    ANI  01H; 0000.0001b
    CPI  00H;         U
    JNZ  K01

    LDA  K08; Up
    DCR  A
    STA  K08
K01:
    MOV  A,C
    ANI  04H; 0000.0100b
    CPI  00H;       L
    JNZ  K02

    LDA  K08; Left
    INR  A
    STA  K08
K02:
    MOV  A,C
    ANI  02H; 0000.0010b
    CPI  00H;        R
    JNZ  K03

    LDA  K09; Right
    INR  A
    STA  K09
K03:
    MOV  A,C
    ANI  08H; 0000.1000b
    CPI  00H;      D
    JNZ  K04

    LDA  K09; Down
    DCR  A
    STA  K09
K04:
    LDA  K09
    LXI  H,MS2;
    CALL LIN
    CALL HEX

    LDA  K08
    LXI  H,MS1;
    CALL LIN
    CALL HEX

    LDA  K09
    ANI  0FCH; 1111.1100b
    RAR;
    RAR;
    ADI  90H;
    STA  CHI

    LDA  K08
    RAL;
    RAL;
    RAL;
    STA  CLO

    MVI  C,2BH; +
    CALL SCR
    MVI  B,0FFH
    CALL DEL
    CALL DEL
    CALL DEL
    CALL DEL
    CALL DEL
    JMP  K00

MS1:
    DB   1BH, 5AH, 64H, 0AH, 4DH, 4FH, 56H, 45H
    DB   20H, 01H, 12H, 20H, 00H
;   MOVE ↕

MS2:
    DB   1BH, 5AH, 6EH, 0AH, 4DH, 4FH, 56H, 45H
    DB   20H, 01H, 1DH, 20H, 00H
;   MOVE ↔
MS3:
    DB   1BH, 4CH, 1BH, 50H, 1FH, 00H
;
K08:
    DB   0CH; U↕D
K09:
    DB   42H; L↔R
PRF:
    DB   00H

K0F:EQU  0C800H; 8870H ???

CLO:EQU  8F84H; адpес куpсоpа
CHI:EQU  8F85H; 9000H-0BFFFH

CLS:EQU  0C010H; очистка экрана
DEL:EQU  0C190H; задержка [B]
SCR:EQU  0C809H
HEX:EQU  0C815H
LIN:EQU  0C818H

PRB:EQU  0FFE1H;<-0FEFDH
PYC:EQU  0FFE3H;<-0FEFFH
    END


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

Image

Согласно движению мыши, по эрану движется символ "+" и отображаются относительные координаты. Нажатие одной из кнопок - чистит экран. Нажатие другой уводит на 8870Н (я заменил на 0С800Н). Третью кнопку не обслуживают, хоть она и есть на схеме.
Кому интересно - выкладываю МОНИТОР Доможирова и саму программу в формате *.ALL эмулятора Шевцова.

http://www.nedopc.org/nedopc/upload/MONITORS.ALL

Вначале сажаем прогу SPMOUSE по 0000Н через Дебаггер. Затем запускаем МОНИТОР> даём команду G0 и пробуем понажимать клавиши. Некоторые сработают за Мышь.


14 Dec 2010 02:53
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Quote:
Начинаю понимать логику работы мышки: триггеры, которые устанавливаются когда "трещетка" давит на микрик (этакий механический аналог оптического датчика шариковой мышки). Каждая "трещетка" срабатывает только в свою сторону (диагонали работают или нет - хз).

Наверное мышь ИВАНОВА была клоном вот этого девайса... :lol:
Attachment:
Dug_mouse.png
Dug_mouse.png [ 67.5 KiB | Viewed 5286 times ]


История создания компьютерной мышки (копия, ибо "домен продаётся)
https://it-master.biz/istoriya-sozdaniya-kompyuternoj-myshki


28 Dec 2010 20:15
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Адаптер мыши к ПК "ПОИСК"

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


http://sgu-wap.narod.ru/SP_MX/Port_8251.gif

Микросхемы были покрыты непрозрачным лаком, так что я зело помучался
тогда, а целью мучений было прицепить это к своей "Искре 1030", последовательный
интерфейс которой был сделан по советскому стандарту - "токовая петля"
и как цеплять к нему мышь было непонятно.

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

К "Искре 1030" я это не приделал, т.к. уже приобрёл 286-ю машину и с мышью
у неё всё было без проблем.

Адаптер работает без аппаратного прерывания - по опросу, т.к. RxReady и
TxReady - никуда не подключены.
Распиновки системного разъёма ПК "ПОИСК" у меня не было - так что контакты
шин не маркированы, впрочем, там и так всё понятно.

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

Если кому интересно оригинальное описание и драйвер с исходниками - могу
поискать и выложить.


Last edited by Lavr on 11 Jun 2011 07:56, edited 2 times in total.



11 Jun 2011 07:41
Profile
Devil

Joined: 06 Oct 2006 03:17
Posts: 858
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
Post 
Lavr, давай по теме. Мне как-то Ewgeny7 дал готовые исходники прошивки драйвера PS/2 мыши, взятой им с Ориона. Я в своём клоне Спеца на Циклоне хотел бы применить его. На выходе драйвера имеем: сигналы включения трёх кнопок, координаты x и y по 8 бит. Lavr, можно ли это как-то приспособить к реальному Специалисту?


03 Aug 2011 08:25
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
fifan wrote:
Lavr, давай по теме. Мне как-то Ewgeny7 дал готовые исходники прошивки драйвера PS/2 мыши, взятой им с Ориона. Я в своём клоне Спеца на Циклоне хотел бы применить его. На выходе драйвера имеем: сигналы включения трёх кнопок, координаты x и y по 8 бит. Lavr, можно ли это как-то приспособить к реальному Специалисту?

В лобовую с имеющимся софтом - никак нельзя. Как нам кто-то советовал - пишите новый софт. :wink:

Существует возможность применить мышь в "Специалист МХ". Там легче перехватить вектор драйвера клавиатуры в ОЗУ и есть одна ячейка буфера клавиатуры.
Можно осуществлять подстановку: движение мыши - в нажатие кнопок курсора, а три кнопки мыши = [Enter], [CTP] и [Esc].
Такой драйвер был и под ДОС.
Со старым софтом мышь ничего другого не сможет.

В принципе, ещё можно сделать драйвер экранной клавиатуры, в которую тыкать курсором, но я сомневаюсь, что хватит служебного ОЗУ РАМФОС под драйвер мыши и экранную клавиатуру одновременно...

А что делают "готовые исходники прошивки драйвера PS/2 мыши" от Ewgeny7 я даже не знаю... :wink:


03 Aug 2011 08:48
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
fifan wrote:
Мне как-то Ewgeny7 дал готовые исходники прошивки драйвера PS/2 мыши, взятой им с Ориона. Я в своём клоне Спеца на Циклоне хотел бы применить его.

fifan, а что-то ты эти "исходники прошивки драйвера PS/2 мыши" так никуда и не выложил? :roll:

_________________
iLavr


07 Apr 2023 07:35
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
Quote:
Начинаю понимать логику работы мышки: триггеры, которые устанавливаются когда "трещетка" давит на микрик (этакий механический аналог оптического датчика шариковой мышки). Каждая "трещетка" срабатывает только в свою сторону (диагонали работают или нет - хз).
Наверное мышь ИВАНОВА была клоном вот этого девайса... :lol:

Я ещё в те древние времена попытался найти, что за мышь была у ИВАНОВА, но ничего подходящего не нашел... :-?
Сегодня, подправляя убитые ссылки и картинки в этом топике, я предпринял такую попытку ещё раз, и как мне кажется,
удача на сей раз мне сопутствовала! :wink:

На мой взгляд, этот некий ИВАНОВ подсоединял к «Специалисту» Манипулятор графической информации ЕС-1841.А002.
Attachment:
Mouse_EC.png
Mouse_EC.png [ 251.56 KiB | Viewed 5276 times ]

Интеллектом эта мышь не блистала, но и атавизма в виде механических "трещеток" в ней также не было.
А вот простенькая электроника для определения направлений движения всё же была! :kruto:

Ну и интерфейс этой древней мыши полностью соответствует схеме на старте топика:
Attachment:
Mouse_EC_1841.png
Mouse_EC_1841.png [ 47.87 KiB | Viewed 5276 times ]

_________________
iLavr


07 Apr 2023 08:26
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 873
Reply with quote
Lavr wrote:
Ну и интерфейс этой древней мыши полностью соответствует схеме на старте топика

Ой-ли? Нафига тогда на той схеме сигнал RESET?

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


04 May 2023 02:03
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
b2m wrote:
Lavr wrote:
Ну и интерфейс этой древней мыши полностью соответствует схеме на старте топика
Ой-ли? Нафига тогда на той схеме сигнал RESET?

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

А почему ты не спросил, если ты такой внимательный, как этот RESET на порту В ППА действует
против направления всех остальных линий порта К580ВВ55А ? :roll:

_________________
iLavr


04 May 2023 09:30
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 873
Reply with quote
Lavr wrote:
А почему ты не спросил, если ты такой внимательный, как этот RESET на порту В ППА действует
против направления всех остальных линий порта К580ВВ55А ?

Там всё просто. Вот тебе начало кода, сам-то догадаешься?
Code:
    MVI  A,80H; 1000.0000b
    STA  PYC;   все - на вывод
    MVI  A,0FFH
    STA  PRF;   PRB
    CMA
    STA  PRF;   PRB
K00:
    MVI  A,82H; 1000.0010b
    STA  PYC;   все - на вывод, B - на ввод

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


04 May 2023 11:51
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
b2m wrote:
Lavr wrote:
А почему ты не спросил, если ты такой внимательный, как этот RESET на порту В ППА действует
против направления всех остальных линий порта К580ВВ55А ?

Там всё просто. Вот тебе начало кода, сам-то догадаешься?
Code:
    MVI  A,80H; 1000.0000b
    STA  PYC;   все - на вывод
    MVI  A,0FFH
    STA  PRF;   PRB
    CMA
    STA  PRF;   PRB
K00:
    MVI  A,82H; 1000.0010b
    STA  PYC;   все - на вывод, B - на ввод

Ааааатлична! Ну ты опять попал! :wink:
Мог бы всё же выучить схемотехнику пока на форум ходишь... :ebiggrin:
Но я тебе отвечу в твоём же стиле: посмотри на вот этот участок схемы:
Attachment:
портВ.png
портВ.png [ 72.3 KiB | Viewed 4961 times ]

А потом почитай - "Вот тебе начало кода" - и подумай, что произойдёт по линиям В0...В3 при этом, "сам-то догадаешься?" :lol:
И поменьше апломба, микропроцессорные средства - это программная+аппаратная части, больше
размышляй, как они работают в связке. :wink:

_________________
iLavr


05 May 2023 06:07
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 873
Reply with quote
Lavr wrote:
что произойдёт по линиям В0...В3

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

А если ты про стрелочки, то это лишь направление по задумке автора. Порты ВВ55 всё равно двунаправленые.

Ты так и не пояснил, где у ЕС-овской мыши сигнал RESET.

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


05 May 2023 07:37
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
b2m wrote:
Lavr wrote:
что произойдёт по линиям В0...В3
Ничего страшного, на время посылки сигнала сброса уйдут в ноль. Микросекунды. Не перегреется.
Низачот... :osad: Догадаешься почему? :roll:

b2m wrote:
Ты так и не пояснил, где у ЕС-овской мыши сигнал RESET.
Так все люди догадались, а вопрос этот только ты задал... :wink:
Там всё просто - посмотри схему ЕС-овской мыши, сам-то догадаешься? :ebiggrin:

_________________
iLavr


05 May 2023 08:14
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 54 posts ]  Go to page 1, 2, 3, 4  Next

Who is online

Users browsing this forum: No registered users and 5 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.