|
Boyov |
Posted: Apr 21 2006, 15:59 |
 |
|
Word Thrower
  Group: Member
Member No.: 143
Joined: April 10, 2003

|
QUOTE (In the immortal words of AMD, since Apr 21 2006, 14:34) | Cem patkeracnum vonc karelia imanal vor tarna segmvel heto poxel u ekran durs berel??? | Xview-i mej et BOLOR@ nkaragrvac a |
 |
abyss |
Posted: Apr 21 2006, 16:32 |
 |
|

Challenger
   Group: Moderator
Member No.: 29
Joined: March 9, 2003

|
Petqa documentacian kardas, senc angir Noyi tvi texnologianer@ indz tvuma voch voq chi hishi. Et code@ gracd ashxatacrel es? miqich kaskacum em vor da kashxati (posh 0) urish tarberak ka vor voch te int9h hook anes ayl ughaki fonter@ poxes. DOS um inchvor tegh hishoghutyan mej fonter@ bit-mask ov nkaragrvac en, karogh es porcel "A" i u "B" i tegher@ poxel. Amen depqum arji aveli xor@ usumnasirel asm/DOS/BIOS minchev tenc baner anel@. Documentacia ic xorhurd ktam "Tech Help" (karcem file-i anun@ thelp.exe er). Shat hnadaryan mi hat cragir er vortegh DOS/BIOS i masin hamarya amen inch kar. Hima mots chunem cavoq srti.
-------------------- [x]-=-[ ]-=-[x] |
 |
Boyov |
Posted: Apr 21 2006, 16:46 |
 |
|
Word Thrower
  Group: Member
Member No.: 143
Joined: April 10, 2003

|
QUOTE (In the immortal words of abyss, since Apr 21 2006, 16:32...) | Documentacia ic xorhurd ktam "Tech Help" (karcem file-i anun@ thelp.exe er). Shat hnadaryan mi hat cragir er vortegh DOS/BIOS i masin hamarya amen inch kar. Hima mots chunem cavoq srti. |
во во :-) upload em arel
2 AMD: mailt asa uxarkem |
 |
abyss |
Posted: Apr 21 2006, 16:59 |
 |
|

Challenger
   Group: Moderator
Member No.: 29
Joined: March 9, 2003

|
chgitey vor et nuyn banna!
-------------------- [x]-=-[ ]-=-[x] |
 |
AMD |
Posted: Apr 21 2006, 18:43 |
 |
|

Word Thrower
  Group: Member
Member No.: 1438
Joined: September 5, 2005

|
QUOTE (In the immortal words of Boyov, since Apr 21 2006, 16:46...) | QUOTE (In the immortal words of abyss, since Apr 21 2006, 16:32...) | Documentacia ic xorhurd ktam "Tech Help" (karcem file-i anun@ thelp.exe er). Shat hnadaryan mi hat cragir er vortegh DOS/BIOS i masin hamarya amen inch kar. Hima mots chunem cavoq srti. |
во во :-) upload em arel
2 AMD: mailt asa uxarkem |
es cem karum mtnem ftp.web.am dra hama urax klinem vor ugarkes mailis vra arthopar@freenet.am mersi
-------------------- http://www.eurovision2008.org qvearkeq Hayastani ogtin |
 |
AMD |
Posted: Apr 21 2006, 18:49 |
 |
|

Word Thrower
  Group: Member
Member No.: 1438
Joined: September 5, 2005

|
QUOTE (In the immortal words of abyss, since Apr 21 2006, 16:32) | Petqa documentacian kardas, senc angir Noyi tvi texnologianer@ indz tvuma voch voq chi hishi. Et code@ gracd ashxatacrel es? miqich kaskacum em vor da kashxati (posh 0) urish tarberak ka vor voch te int9h hook anes ayl ughaki fonter@ poxes. DOS um inchvor tegh hishoghutyan mej fonter@ bit-mask ov nkaragrvac en, karogh es porcel "A" i u "B" i tegher@ poxel. Amen depqum arji aveli xor@ usumnasirel asm/DOS/BIOS minchev tenc baner anel@. Documentacia ic xorhurd ktam "Tech Help" (karcem file-i anun@ thelp.exe er). Shat hnadaryan mi hat cragir er vortegh DOS/BIOS i masin hamarya amen inch kar. Hima mots chunem cavoq srti. | es tsragir@ ci el ashxati shat dzelu baner ka es himnakan banern ei grel vor aveli patkeravor lini ce foter poxelov cem uzum indz asel en int 9h @ndhatum@ poxi
-------------------- http://www.eurovision2008.org qvearkeq Hayastani ogtin |
 |
Boyov |
Posted: Apr 21 2006, 20:25 |
 |
|
Word Thrower
  Group: Member
Member No.: 143
Joined: April 10, 2003

|
mail@ het ekav (reason: 552 5.2.3 Message size exceeds fixed maximum message size (1000000))
http://users.freenet.am/~window/xview.rar
|
 |
AMD |
Posted: Apr 21 2006, 22:51 |
 |
|

Word Thrower
  Group: Member
Member No.: 1438
Joined: September 5, 2005

|
download areci mersi kardam tenam mi ban durs kga
-------------------- http://www.eurovision2008.org qvearkeq Hayastani ogtin |
 |
abyss |
Posted: Apr 21 2006, 23:55 |
 |
|

Challenger
   Group: Moderator
Member No.: 29
Joined: March 9, 2003

|
tun@ gta et nuyn bani shat hin versian ruseren. thelp rus Menak skzbic rk.com kashxatacnes vor ruseren tarer@ ereva. u mekel fullscreen kbaces (alt+enter)
-------------------- [x]-=-[ ]-=-[x] |
 |
abyss |
Posted: Apr 22 2006, 00:53 |
 |
|

Challenger
   Group: Moderator
Member No.: 29
Joined: March 9, 2003

|
Lav, et sagh hech. Amenalav@ esa роберт журден. гл.3 клавиатура Hmi haskanum em vor izur chem 386is vint@ minchev hima pahum 
Download ara unzip ara, karas explorerov baces - codirovken Cyrillic (DOS). Qez hetaqrqruma 3.1.9 bajin@, chnayac minchev et sagh lav klini kardas.
Miqich yesel kardaci, teghi a unenum hetevyal@ : Amen angam knopka sexmeluc irq1 ov int9 interruptna galis. Et interrupti default handler@ BIOS-i mej a, vor@ kardum a 60h port@ (scan code@). Et scan code@ handler@ targmanuma ASCII code-i u teghadrum a stacvac symvol@ 15 elementanoc buffer i mej. Buffer@ irenic nerkayacnum a cyclic hert, vori head u tail i hascener@ hardcoded teghum en gtnvum (doc-um ka et hascener@). dranic heto mi hat el keyboard-in ugharkuma signal 61h porti mijocov vor kardacel a, bayc et arden karevor chi. Yes arajarkum em du hook anes int9, et qo taza handler-i mej henc skzbic kanches HIN handler@, togh inch anuma ani. Dranic heto karas vercnes bufferi verji element@, da henc qo uzac tarna. Heto nayum es yete ASCII cod@ 97(61hex) - ic poqr a uremn mecatar a - gumarum es 32 stanum es nuyni poqratar@. Hakarak depqum hanum es 32 stanum es mecatar@. Pti vor ashxati.
--------------------------------------------- 3.1.9 Перепрограммирование прерывания клавиатуры.
Когда микропроцессор клавиатуры помещает скан-код в порт A микросхемы 8255 (адрес порта 60H - см. [1.1.1]), то при этом вызывается прерывание 9. Задача этого прерывания - преобразовать скан-код символа, основываясь на состоянии клавиш-переключателей, и поместить его в буфер клавиатуры. (Если скан-код соответствует клавише-переключателю, то в буфер клавиатуры не пишется ничего, за исключением случая клавиши <Ins>, а вместо этого прерывание изменяет байты статуса, расположенные в области данных BIOS [3.1.7]). Прерывания "ввода с клавиатуры" DOS и BIOS на самом деле всего лишь прерывания "ввода из буфера клавиатуры". На самом деле они не распознают нажатия клавиш. Точнее, они читают интерп- ретацию введенных клавиш, которую обеспечило прерывание 9. Заме- тим, что PCjr использует специальную процедуру (INT 48H) для преобразования ввода от его 62 клавиш к 83-клавишному протоколу, используемому другими IBM PC. Результат этой процедуры передается прерыванию 9, которое выполняет свою работу как обычно. Прерыва- нием 49H PCjr обеспечивает специальные неклавишные скан-коды, которые потенциально могут устанавливаться периферийными уст- ройствами, использующими инфракрасную (беспроволочную) связь с клавиатурой. Требуется весьма необычное применение, чтобы имело смысл пе-
- 129 - репрограммировать это прерывание, особенно учитывая, что MS DOS позволяет Вам перепрограммировать любую клавишу клавиатуры [3.2.6]. Если все же Вам придется перепрограммировать прерывание 9, то эта глава даст Вам основы для старта. Сначала надо прочи- тать [1.2.3], чтобы понимать как программируются прерывания. В прерывании клавиатуры можно выделить три основных шага:
1. Прочитать скан-код и послать клавиатуре подтвердающий сиг- нал. 2. Преобразовать скан-код в номер кода или в установку оегист- ра статуса клавиш-переключателей. 3. Поместить код клавиши в буфер клавиатуры.
В момент вызова прерывания скан-код будет находиться в порте A. Поэтому сначала надо этот код прочитать и сохранить на стеке. Затем используется порт B (адрес 61H), чтобы быстро послать сиг- нал подтверждения микропроцессору клавиатуры. Надо просто устано- вить бит 7 в 1, а затем сразу изменить его назад в 0. Заметим, что бит 6 порта B управляет сигналом часов клавиатуры. Он всегда должен быть установлен в 1, иначе клавиатура будет выключена. Эти адреса портов применимы и к AT, хотя он и не имеет микросхемы интерфейса с периферией 8255. Сначала скан-код анализируется на предмет того, была ли клави- ша нажата (код нажатия) или отпущена (код освобождения). На всех машинах, кроме AT, код освобождения индицируется установкой бита 7 скан-кода в 1. Для AT, у которого бит 7 всегда равен 0, код освобождения состоит из двух байтов: сначала 0F0H, а затем скан-код. Все коды освобождения отбрасываются, кроме случая кла- виш-переключателей, для которых делаются соответствующие измене- ния в байтах их статуса. С другой стороны, все коды нажатия обра- батываются. При этом опять могут изменяться байты статуса кла- виш-переключателей. В случае же символьных кодов, надо проверять байты статуса, чтобы определить, например, что скан-код 30 соот- ветствует нижнему или верхнему регистру буквы A. После того как введенный символ идентифицирован, процедура ввода с клавиатуры должна найти соответствующий ему код ASCII или расширенный код. Приведенный пример слишком короток, чтобы рас- смотреть все случаи. В общем случае скан-коды сопоставляются элементам таблицы данных, которая анализируется инструкцией XLAT.
- 130 - XLAT принимает в AL число от 0 до 255, а возвращает в AL 1-байт- ное значение из 256-байтной таблицы, на которую указывает DS:BX. Таблица может находиться в сегменте данных. Если в AL находился скан-код 30, то туда будет помещен из таблицы байт номер 30 (31-й байт, так как отсчет начинается с нуля). Этот байт в таблице должен быть установлен равным 97, давая код ASCII для "a". Конеч- но для получения заглавной A нужна другая таблица, к которой обращение будет происходить, если статус сдвига установлен. Или заглавные буквы могут храниться в другой части той же таблицы, но в этом случае к скан-коду надо будет добавлять смещение, опреде- ляемое статусом клавиш-переключателей. Наконец, номера кодов должны быть помещены в буфер клавиатуры. Процедура должна сначала проверить, имеется ли в буфере место для следующего символа. В [3.1.1] показано, что этот буфер устроен как циклическая очередь. Ячейка памяти 0040:001A содержит указа- тель на голову буфера, а 0040:001C - указатель на хвост. Эти словные указатели дают смещение в области данных BIOS (которая начинается в сегменте 40H) и находятся в диапазоне от 30 до 60. Новые символы вставляются в ячейки буфера с более старшими адре- сами, а когда достигнута верхняя граница, то следующий символ переносится в нижний конец буфера. Когда буфер полон, то указа- тель хвоста на 2 меньше указателя на голову - кроме случая, когда указатель на голову равен 30 (начало области буфера), а в этом случае буфер полон, когда указатель хвоста равен 60. Для вставки символа в буфер, надо поместить его в позицию, на которую указывает хвост буфера и затем увеличить указатель хвоста на 2; если указатель хвоста был равен 60, то надо изменить его значение на 30. Вот и все. Схема прерывания клавиатуры показана на рис. 3-4.
-------------------- [x]-=-[ ]-=-[x] |
 |
Boyov |
Posted: Apr 23 2006, 01:22 |
 |
|
Word Thrower
  Group: Member
Member No.: 143
Joined: April 10, 2003

|
QUOTE | TSRs that have a hot-key to trigger a popup usually intercept INT 09H and test for a certain key with a sequence such as this:
push ax in al,60H ;read the key cmp al,POP_KEY ;is this the hot key? je do_pop ; yes, trigger the popup ; no, drop through to original driver pop ax jmp cs:[int9_vect] ;just hop out to original int handler
do_pop: ;------ following housekeeping is needed to satisfy the hdwr int
in al,61H ;get value of keyboard control lines mov ah,al ; save it or al,80h ;set the "enable kbd" bit out 61H,al ; and write it out the control port xchg ah,al ;fetch the original control port value out 61H,al ; and write it back
mov al,20H ;send End-Of-Interrupt signal out 20H,al ; to the 8259 Interrupt Controller ;------ other code handles other tests and finally triggers popup
|
PS TSR - Termiante and stay resident ;-) |
 |
AMD |
Posted: Apr 23 2006, 02:25 |
 |
|

Word Thrower
  Group: Member
Member No.: 1438
Joined: September 5, 2005

|
arden dzev@ imaca shat ognecin et grqer@ manavand роберт журден. гл.3 клавиатура-@ bayc mi ban cem karum gtnem inc kap ka ASCII codei & scan codi mej inc devova bios-@ amen skan codin hamapatasxanacnum voreve ASCII cod vortegic karam imanam te amen mi knopkin inc scan code e hamapatasxanum
После того как введенный символ идентифицирован, процедура ввода с клавиатуры должна найти соответствующий ему код ASCII или расширенный код. Приведенный пример слишком короток, чтобы рас- смотреть все случаи. В общем случае скан-коды сопоставляются элементам таблицы данных, которая анализируется инструкцией XLAT. XLAT принимает в AL число от 0 до 255, а возвращает в AL 1-байт- ное значение из 256-байтной таблицы, на которую указывает DS:BX. Таблица может находиться в сегменте данных. Если в AL находился скан-код 30, то туда будет помещен из таблицы байт номер 30 (31-й байт, так как отсчет начинается с нуля). Этот байт в таблице должен быть установлен равным 97, давая код ASCII для "a". Конеч- но для получения заглавной A нужна другая таблица, к которой обращение будет происходить, если статус сдвига установлен. Или заглавные буквы могут храниться в другой части той же таблицы, но в этом случае к скан-коду надо будет добавлять смещение, опреде- ляемое статусом клавиш-переключателей.
steg xosq@ gnuma table-i masi et es piti sarqem te hishorutyan mej bios@ ira hamar uni vor@ karam ogtagortsem
-------------------- http://www.eurovision2008.org qvearkeq Hayastani ogtin |
 |
abyss |
Posted: Apr 23 2006, 10:11 |
 |
|

Challenger
   Group: Moderator
Member No.: 29
Joined: March 9, 2003

|
Hishoghutyan mej ka, yete chliner BIOS@ vonc er targmanelu? chem haskanum bayc scan code@ inchida petq. En tech help um ka scan coder@, ushadir ches nayel.
-------------------- [x]-=-[ ]-=-[x] |
 |
AMD |
Posted: Apr 23 2006, 10:33 |
 |
|

Word Thrower
  Group: Member
Member No.: 1438
Joined: September 5, 2005

|
vercnum em scan cod@ , nayum em vor knopki scan codena ,stugum em shift@ u CapsLock@ ,ete metsatara kayboardi buferi mej qcum em poqratar@, ete poqratara, hakarak@ indj petqa vor metsatar sexmeluc poqratar gri & hakarak@
-------------------- http://www.eurovision2008.org qvearkeq Hayastani ogtin |
 |
AMD |
Posted: Apr 23 2006, 11:17 |
 |
|

Word Thrower
  Group: Member
Member No.: 1438
Joined: September 5, 2005

|
en tvatst grqum taybl@ inqna sarqel ;---в сегменте данных TABLE DB 16 DUP(0) ;пропускаем 1-е 16 байт DB 'qwertyuiop',0,0,0,0 ;верхний ряд клавиатуры DB 'asdfghjkl',0,0,0,0,0 ;средний ряд клавиатуры DB 'zxcvbnm' ;нижний ряд клавиатуры DB 16 DUP(0) ;пропуск до верхнего регистра DB 'QWERTYUIOP',0,0,0,0 ;те же символы на верхнем DB 'ASDFGHJKL',0,0,0,0,0 ;регистре DB 'ZXCVBNM' ; hesa sranic kogtvem u klini . esel indj petq er erevi arden sksem stragir@ havaqel@
-------------------- http://www.eurovision2008.org qvearkeq Hayastani ogtin |
 |
abyss |
Posted: Apr 23 2006, 15:52 |
 |
|

Challenger
   Group: Moderator
Member No.: 29
Joined: March 9, 2003

|
Scan code@ petq chi kardal, izur bardacnum es. Asumem togh inq@ karda u translate ani, heto du nayi tes inch ASCII code a grel buferum, poxi. Tenc scan coderi het du gorc ches unena. Naxord postum manramasn grel em.
-------------------- [x]-=-[ ]-=-[x] |
 |
AMD |
Posted: Apr 23 2006, 17:17 |
 |
|

Word Thrower
  Group: Member
Member No.: 1438
Joined: September 5, 2005

|
arden scan codov em grel karam tencel anem buferic vercnem, poxem u noric qcem bufer ha??? bayc mi harc unem erb qcum em bufer inc funkcia pti kancem vor ekran durs beri?? man em gali cem gtnum
-------------------- http://www.eurovision2008.org qvearkeq Hayastani ogtin |
 |
abyss |
Posted: Apr 23 2006, 19:23 |
 |
|

Challenger
   Group: Moderator
Member No.: 29
Joined: March 9, 2003

|
indz tvuma voch mi ban kanchel petq chi. yete qo cragir@ resident mna hishoghutyan mej, du dos-um command line-um inchvor tarer sexmeluc arden pti tenas ardyunq@
-------------------- [x]-=-[ ]-=-[x] |
 |
AMD |
Posted: Apr 23 2006, 20:26 |
 |
|

Word Thrower
  Group: Member
Member No.: 1438
Joined: September 5, 2005

|
es el ei tenc mtacum bayc vor du asir te scan codov mi ara, vercru buferic poxi u noric qci bufer, skseci kaskatsel et depqum ete buferic miangamic tarer@ dursa berum, ba vonc khascnem buferic vercnem poxem u noric bufer qcem , henc mtav bufer miangamic cpoxats tar@ kereva
-------------------- http://www.eurovision2008.org qvearkeq Hayastani ogtin |
 |
|