Welcome Guest ( Log In | Register )

Help | Search | Members | Calendar

Pages: (2) 1 [2]   ( Go to first unread post )
int 9h, harc
« Next Oldest | Next Newest » Track this topic | Email this topic | Print this topic
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
 
     Top
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]
 
      Top
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
 
     Top
abyss
Posted: Apr 21 2006, 16:59

Challenger

Group: Moderator
Member No.: 29

Joined: March 9, 2003

chgitey vor et nuyn banna!

--------------------
[x]-=-[ ]-=-[x]
 
      Top
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 smile.gif vor ugarkes mailis vra arthopar@freenet.am mersi

--------------------
http://www.eurovision2008.org qvearkeq Hayastani ogtin
 
     Top
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
 
     Top
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

 
     Top
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
 
     Top
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]
 
      Top
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 biggrin.gif

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]
 
      Top
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 ;-)
 
     Top
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
 
     Top
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.
Attached Image


--------------------
[x]-=-[ ]-=-[x]
 
      Top
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
 
     Top
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@ smile.gif

--------------------
http://www.eurovision2008.org qvearkeq Hayastani ogtin
 
     Top
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]
 
      Top
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
 
     Top
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]
 
      Top
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
 
     Top
38 replies since Apr 18 2006, 15:17 Track this topic | Email this topic | Print this topic
Pages: (2) 1 [2] 
<< Back to System and low-level programming

 




Arminco Global Telecommunications