ZXNet эхоконференция «code.zx»


тема: PC keyboard



от: Roman Moiseev
кому: All
дата: 28 May 1997
* Message from gate SpbZxNet<=>FidoNet.


Hello,All!

Тут в 82 online пробегала информация про контроллер
PC клавы на turbo 2+ ,а конкретнее,меня заинтересовало то,
что ею можно управлять програмно. Вот:

======================кут================

Hачиная с версии 7.00, в компьютере появилась мс. 8031, что
кардинально изменило работу порта #FE и дало возможность подклю-
чить IBM XT клавиатуру.

При попытке прочитать содержимое клавиатуры, процессор дает
команду IN A,(#FE), взводится спец. триггер и процессор останав-
ливается сигналом WAIT. При этом в микроконтроллере 8031 генери-
руется прерывание. После необходимых процедур трансляции адрес-
ных линий, микроконтроллер выдает на шину данных процессора сос-
тояние клавиатуры, сигнал WAIT сбрасывается и процессор продол-
жает свою работу.

Hаличие 8031 и расширенной клавиатуры (101 клавиша) позволи-
ло упростить опрос клавиатуры в CP/M до простого чтения кода
клавиши, однако, это потребовало введения дополнительных команд
для управления 8031, и поскольку единственно возможный способ
передать данные в 8031, это состояние старшей половины шины ад-
реса Z80 в момент чтения порта #FE, этот способ и используется.

Управляющие последовательности клавиатуры:

_#55_ - указывает, что следующий байт является кодом
команды для клавиатуры. В ответ клавиатура воз-
вращает код #AA - это можно использовать для
проверки наличия 8031.

LD A,#55
IN A,(#FE)
CP #AA
JR NZ,NO_XT
LD A,COMM ;команда (см ниже)
IN A,(#FE)
LD A,ARG1 ;дополнительные параметры (могут отсутствовать)
IN A,(#FE)
LD A,ARG2 ;дополнительные параметры (могут отсутствовать)
IN A,(#FE)


_#00_ - Читает код нажатой клавиши.

XOR A
IN A,(#FE)
;в аккумуляторе код клавиши (список кодов приводится ниже)


_#80_ - читает 1-й байт флагов клавиатуры
LD A,#80
IN A,(#FE)

_#40_ - читает 2-й байт флагов клавиатуры
LD A,#40
IN A,(#FE)

Коды команд (Внимание! Перед записью кода команды необходимо
дать упр. код _#55_ для перевода 8031 в режим ввода команды):

1 получить 1 байт номера версии программы
#41 получить 2 байт номера версии программы
#81 получить 3 байт номера версии программы
#C1 получить 4 байт номера версии программы
7 стереть буфер клавиатуры и все флаги
8 DATA установка режима работы:
bit 0,1 - устанавливается режим работы
0 - эмуляция синклер клавиатуры
1 - чтение кода клавиши (флаги не обрабатываются)
2 - режим CP/M
3 - прямое чтение кода с последовательного порта кла-
виатуры

bit 7 - режим 0-lat 1-rus (только для CP/M)

9 получить содержимое ячейки памяти 1
#49 получить содержимое ячейки памяти 2
#89 получить содержимое ячейки памяти 3
#C9 получить содержимое ячейки памяти 4
#0A переключится в режим ввода русских букв
#0B переключится в режим ввода латинских букв
#0C программная пауза
#0D перезапуск компьютера
#10 получить секунды
#50 получить минуты
#90 получить часы
#11 DATA установить секунды
#51 DATA установить минуты
#91 DATA установить часы
#12 получить число
#52 получить месяц
#92 получить год
#13 DATA установить число
#53 DATA установить месяц
#93 DATA установить год
#14 DATA принудительно устанавливает некоторые сигналы
(установка происходит если соответствующий бит равен 1)
bit 0 = 0
bit 1 = 0
bit 2 = 0
bit 3 DTR
bit 4 RTI
bit 5 = 0
bit 6 = 0
bit 7 = 0

#15 DATA принудительно сбрасывает некоторые сигналы (сброс
происходит, если соответствующий бит равен 1 (см. ком
#14)

#16 прочитать содержимое порта P3
bit 0 -
bit 1 -
bit 2 -
bit 3 -
bit 4 VE1
bit 5 -
bit 6 -
bit 7 -

#17 прочитать состояние RS232
bit 0 CD
bit 1 CTS
bit 2 RI
bit 3 -
bit 4 -
bit 5 -
bit 6 -
bit 7 -
=========================кут=============

Так вот меня интересует вопрос: это реально на скорпионе
или нет? Я имею ввиду програмное управление однокристалкой
в контроллере клавы??

-+- Is-Dos v4.5
+ Origin: Pack Camel (812/04.00)




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Новье !? - О играх Italian Supercar, Ooutrun Europa, Football, Kenny Soccer Manager, Star Sstrike 2.
Мысли у котелка - Голодный, поздним вечером. Иду в темноте по лужам.
Игры - Суть игры GREMLINS в двух словах.
Обзорчик - обзор игры Клятва Ночи.
Мысли по поводу - демостроение способствует повышению технологии программирования на ZX.

В этот день...   18 апреля