                      A  KEYMAGIC.PAS program lersa
                      ===============================

A KEYMAGIC program az IBM PC AT billentyzetnek LED-jeit programozza, gy
ri el a "pihent" effektusokat. Ezt az teszi lehetv, hogy a billentyzeten
tallhat LED-es kijelzt nem a billentyzet vezrli kzvetlenl, hanem
a szmtgp. A billentyzetet - igy a LED-eket - portcmzssel rhetjk el.
Elszr a $60 - as portra kell kikldennk a $ED rtket, ami a billentyzet
"SET/RESET MODE INDICATORS ( llapotjelzk belltsa/trlse )" funkcijt
jelenti. Ezutn ki kell kldennk a paramter bjtot. A paramter bjt
egyes bitjeinek a jelentse a kvetkez:

            ͻ
            Ѽ
                          0. bit: SCROLL LOCK
                        
                         1. bit: NUM LOCK
                       
                        2. bit: CAPS LOCK

A tbbi bit nem hasznlt. Az $ED s a paramter bjt kikldse kztt vagy
vrakozunk ( nlam elg volt egy "Delay(10)" -es 10ms -es vrakozs ), vagy
a billentyzet ACK (nyugtzs) $FA kdjra vrunk a $60 -as portbl ki-
olvasva. Clszer a paramter bjt kikldse utn is vrakozni, nehogy
kikldjnk adatot a billentyzet fel, mieltt az elzt nyugtzn, mivel
ez a rendszer lefagyshoz vezet!
  Kvetkezzk egy plda, vilgsuk ki a CAPS LOCK LEDet:

  PORT[$60] := $ED;
  Delay(10);
  PORT[$60] := $04;
  Delay(10);

  Ha vissza akarjuk lltani a program futtatsa eltti LED llapotot,
akkor nzzk az albbi rszletet:

  PORT[$60] :=$ED;
  Delay(10);
  PORT[$60] := MEM[$0000:$0417] shr 4;
  Delay(10);

Ugyanis a BIOS a 417-es cmen trolja a LED-ek llapott, ngy bittel balra
eltolva. Hogy megkapjuk azt az rtket, amit kikldnk a billentyzet fel,
termszetesen el kell tolni ngy bittel jobbra.
  Aki bvebbet akar olvasni a billentyzetrl vagy az IBM PC hardverrl,
az szerezze meg a kvetkez knyveket:

  Bor Lszl, Dra Gyula, Feny Lszl, Seres Attila:
  Az IBM PC-k felptse
  LSI, Alkalmazstechnikai Tancsad Szolglat
  Budapest, 1989

  Peter Norton:
  Az IBM PC programozsa
  Mszaki knyvkiad
  Budapest, 1990

A programot egybknt nmasgra is lehet knyszerteni, ha parancssorbl 
indtva a /NOSOUND paramterrel indtjuk. A programbl futs kzben br-
melyik billenty lenyomsval kilphetnk.