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)




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

Похожие статьи:
AyHits - Max и музыка :)
Мозаика - Cheat'ы к играм : Rolling Thunder, P-47, Sex Tetris, Astro Marine Corp 1&2, Renegade 3, Поле Чудес, НЛО-2, Scooby & Scrappy Doo, Shinobi, Bedlam, Darkman, UFO-1 ...
Великолепная Зейнаб - Из всех поэтических легенд неизвестных авторов Ближнего востока, дошедших до нас, есть легенды, полные глубоких эмоций и ни с чем несравненной непосредственной красоты изложения.
Тусовка - И от рейва мне не спрятаться, не скрыться. Каждый вид имеет свой прикид.
Дом 16а - окончание рассказа.

В этот день...   8 мая