User Tag List

Показано с 1 по 10 из 1612

Тема: ZX_Multi_Card

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #10

    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,726
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    91 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от newart
    caro, А можешь рассказать как запрограмиирована работа с ps/2 мышкой?
    При включении питания проверяется тип подключенной мышки:
    Код:
    ;****************************************************
    ; проверка подключения мышки
    ; на выходе:
    ; mous_ID = 0 - простая, = 3 - 3D-mouse
    ; = 0ffh - мышка не подключена
    tst_mouse:
    ; 1) передать команду сброса мышке (код = 0xFF)
    	ldi	data,0xff 	;Команда сброс
    	rcall	trans_ack_mous	;передать и ждать ACK
    	brcs	no_tst		;истек тайм-аут, мышка не подключена
    				; или неисправна
    ; иначе принять код AAh и код идентификатора мышки
    ; (время внутреннего теста 300 мсек для KeyMouse)
    ; (время внутреннего теста 350 мсек для Genius)
    	rcall	time_1s		; тайм-аут 1000 мсек
    	rcall	rec_mous	; принять код теста (0AAh)
    	brcs	no_tst		; истек тайм-аут
    	rcall	rec_mous	; принять идентификатор мышки
    ; 2) переключить мышку если получится в режим Intelimouse
    	ldi	data,0xf3	;Set Sample Ret
    	rcall	trans_ack_mous
    	brcs	no_tst
    	ldi	data,200	;200
    	rcall	trans_ack_mous
    	brcs	no_tst
    	ldi	data,0xf3	;Set Sample Ret
    	rcall	trans_ack_mous
    	brcs	no_tst
    	ldi	data,100	;100
    	rcall	trans_ack_mous
    	brcs	no_tst
    	ldi	data,0xf3	;Set Sample Ret
    	rcall	trans_ack_mous
    	brcs	no_tst
    	ldi	data,80		; 80
    	rcall	trans_ack_mous
    	brcs	no_tst
    ; 3) прочитать, что получилось
    	ldi	data,0xf2	;Read Device ID
    	rcall	trans_ack_mous
    	brcs	no_tst
    	rcall	rec_mous_20	;data=ID
    	brcs	no_tst
    	sts	mous_ID,data	
    ; 4) передать команду активизации мышке (код = 0xF4)
    	ldi	data,0xf4 	;
    	rjmp	trans_ack_mous	;передать
    ;\----
    no_tst:	ldi	data,0xff	;признак отсутствия мышки
    	sts	mous_ID,data
    	ret
    ;=====================================================
    Цитата Сообщение от newart
    Протокол програмно обрабатывается?
    В зависимости от типа мышки принимается либо три (mous_ID=0), либо четыре (mous_ID=3) байта,
    из которых программно формируются сигналы для передачи в Спектрум.
    Последний раз редактировалось caro; 01.10.2012 в 10:57.

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

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

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

Ваши права

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