Billentyűledek kapcsolgatása

Egy régóta nem frissített oldalon találtam rá egy őskori Turbo Pascal nyelvű programomra, ami a billentyűzeten található ledeket kapcsolgatta. Közzéteszem ezt az írást is, hogy mindenki bölcs legyen tőle 🙂

Az alábbiakban – rövid magyarázattal együtt – közlök egy Pascal nyelvű programot, mellyel a billentyűzeten található ledek kapcsolgatása válik lehetővé. (Megj.: a program már a Windows XP alatt sem nagyon akart működni…)

A program a billentyűzet státuszbytejait állítgatja át, ezzel éri el a ledek ki-be kapcsolását. Ezek a státuszbyteok a hexa 417 és 418 memóriacímeken találhatók. A két memóriacím egyes bitjei használatosak a billentyűzet különböző állapotainak jelzésére. A program szempontjából a hexa 417 cím alábbi bitjei érdekesek (a legelső bit a 0. sorszámú, az utolsó a 7.):

  • 4. bit: a Scroll Lock állapota
  • 5. bit: a Num Lock állapota
  • 6. bit: a Caps Lock állapota

Ha az adott bit 1, akkor a led aktív, ha 0, akkor pedig nem aktív.

A billentyűzet – és egyéb hardverelemek – programozásáról az alábbi könyvekben lehet bővebb infót találni:

Peter Norton: Az IBM PC programozása, Műszaki Könyvkiadó, Budapest, 1990
Abonyi Zsolt: PC hardver kézikönyv, ComputerBooks, Budapest, 1995

 

program Ledek_vezerlese;

 uses Crt;

 const CapsLock   = 64;
       NumLock    = 32;
       ScrollLock = 16;

       Esc        = #27;

 var b  : char;
     ki : boolean;
     bl : byte absolute $0:$417;

 begin
  ClrScr;

  ki:=false;

  while (not ki) do

   begin
    b:=ReadKey;

    case b of

     (* Caps Lock bekapcsolasa *)
     'c','C': bl:=bl or CapsLock;

     (* Caps Lock kikapcsolasa *)
     'v','V': bl:=bl and (255-CapsLock);

     (* Num Lock bekapcsolasa *)
     'n','N': bl:=bl or NumLock;

     (* Num Lock kikapcsolasa *)
     'm','M': bl:=bl and (255-NumLock);

     (* Scroll Lock bekapcsolasa *)
     's','S': bl:=bl or ScrollLock;

     (* Scroll Lock kikapcsolasa *)
     'd','D': bl:=bl and (255-ScrollLock);

     (* Kilepes *)
     Esc: ki:=true;
    end;
   end;
 end.

 

Computer Karácsony ’97 – ROMHalmaz

1997  december  13-14-én rendezték meg Budapesten a Puskin utcában  a  Computer Karácsony nevezetű rendezvényt. Régi számtechklubunk, a Neoprimitives tagsága  is  úgy  döntött,  hogy  meglátogatja az akkoriban szinte hagyománnyá  vált eseményt. A helyszínen volt egy kisebb terem, ahol “ROMHalmaz” fedőnév alatt néhány már akkor is retrónak számító gépet állítottak ki, és ott készültek ezek a fotók (persze nem digitális, hanem hagyományos géppel, és utólag lettek beszkennelve):

 

 

Beszámoló 2002 évi BME 24 órás programozói versenyről

Beszámoló egy 14 évvel ezelőtti programozóversenyről 🙂

2002.04.26. és 2002.04.28. között került megrendezésre Budapesten a BME 24 órás programozói verseny, melyen a Tumuslak Vorvahes Team és a Majestic Games is részt vett (közös csapat indításával). Jelen írásban erről az eseményről szeretnék röviden beszámolni.

Még hónapokkal a lebonyolítás tényleges időpontja előtt szereztem tudomást (a Demoscene.hu lapról) a versenyről. Ezen fellelkesülve rögtön hozzáfogtam a szükséges 3 fős csapat megszervezéséhez, amely végül is a Tumuslak Vorvahes Team és a Majestic Games tagjaiból állt össze. (Valójában ex-Neoprimitives tagokról van szó…) A csapat neve Elmerik ötlete alapján Brain Cluster Inc. lett, a tagok pedig az alábbiak:

  • Török Viktor (Kapitány)
  • Török Imre (Elmerik)
  • Tóth Ferenc (Feri)

Miután némi nehézségek árán elkészítettük a szükséges feltételként megjelölt magyar és angol nyelvű önéletrajzokat, majd regisztráltuk a csapatot, már csak a várakozás maradt hátra (és persze a verseny levelezőlistájának olvasgatása).

2002.04.26-án elérkezett a várva várt nap. Szépen bepakoltuk gépeinket és egyéb kacatjainkat a szállítóeszközként funkcionáló Zsiguliba, majd nekiindultunk a hosszú útnak (Zsigulival még egy Szentes – Budapest út is hosszúnak tűnik, főleg úgy, hogy még hárman is alig férünk el a bepakolt gépektől…)

Mikor megérkeztünk Budapestre, első dolgunk a kollégium megkeresése volt. Ez némi nehézségekbe ütközött, ui. sehogy nem sikerült megtalálni a Kruspér utcát. (Egyirányú utcák rulez!!!) Mire végre megtaláltuk, kiderült, hogy a portás bácsi nem tud arról, hogy itt nekünk szállás lenne foglalva. Végül abban maradtunk a portással, hogy majd beszélünk a szervezőkkel. (Rövidesen beszéltünk is velük. Ők dícséretes gyorsasággal tisztázták is a helyzetet, így lett szállásunk.)

A szálláskeresés nehézségei után átmentünk a BME Informatikai épületébe, ahol – némi késéssel – lehetőségünk nyílt a regisztrációra. Itt megkaptuk a verseny egyenpólóját, egy InfoByte újságot és a termünket, ahová bepakoltunk minden kacatot, amit magunkkal hoztunk. Itt először részletes hardverlistát kellett készítenünk a gépeinkről (későbbi félreértések elkerülése végett), majd be lehetett üzemelni a rendszert. Mikor úgy láttuk, hogy minden rendben, elmentünk a kollégiumba, hogy elfoglaljuk a szállást.

A szállás elfoglalása sikerült is minden különösebb probléma nélkül. A kapott szobával kapcsolatban semmi problémát nem tapasztaltunk, minden tiszta, rendezett volt. Az éjszaka folyamán viszont kiderült egy súlyos hiányossága: nem volt hangszigetelt. Csapatunk naivan azt gondolta, hogy péntek este lehet pihenni egy kollégiumban. Ez sajnos nem jött be. A szórakozásra vágyó fiatalság egész éjszaka az ablakunk alatt ordítozott, randalírozott, kapukat rugdosott stb. Hajnal 4-kor még valamelyik szomszédos szobában zenét “hallgattak”, úgyhogy kb. 5 óra felé sikerült elaludnunk. Persze a versenyre időben oda kellett érni (8 óra 30-ra), tehát “tökéletesen” kipihenten érkeztünk meg a megnyitóra. Ez a kellemesen eltöltött éjszaka később erősen meg is látszott a teljesítményünkön.

2002.04.27-én reggel 8 óra 30-kor kezdődött meg a verseny megnyitó ünnepsége. Itt ismeretették a feltételeket, majd csapatonként át lehetett venni a versenyhez szükséges felszereléseket. 9 óra után néhány perccel megkezdődött a verseny.

A versennyel kapcsolatban az alábbiakat célszerű tudni:

  • 3 fős csapatok indulhatnak
  • 24 óra az időtartam
  • a fejlesztéshez tetszőleges eszközöket lehet használni
  • a verseny zárt, azaz kezdés után 24 órán keresztül se ki, se be nem lehet közlekedni
  • a zártsághoz tartozik, hogy mobilon sem lehet kommunikálni

Tehát reggel 9 óra után el voltunk zárva a külvilágtól. Első lépésként a terem előtt felhalmozott téglákat hordtuk be (ezekből kellett később tesztpályát építeni), majd második lépésként a feladatot vettük szemügyre. A feladat lényegében egy téma köré épült, de több, önállóan is megoldható részből állt. A fő téma a robotok programozása, irányítása volt; hogy “életszagúbb” legyen a dolog, minden csapat kapott egy doboz LEGO-t, amelyből robotokat lehetett összerakni. A szervezők ezen ötlete – szerintem – már önmagában megalapozta a verseny pozitív hangulatát. Érdekes volt nézni a jórészt már nem diákkorú versenyzőket, akik a környező világról megfeledkezve építették a különféle robotokat. Én ezt a feladatot Elmerikre hagytam – mivel ő inkább hardveres beállítottságú -, majd nekiálltam labirintusszerkesztőt írni Delphi 6-ban.

Telt-múlt az idő… A verseny során az alábbiakat tapasztaltam:

  • végig nagyon jó volt a hangulat
  • rengeteg élelmet halmoztak fel a szervezők, úgyhogy a versenyzők egy percig sem éheztek
  • nagyon nehéz akár 12 órán keresztül is úgy programozni, hogy az ember nem aludt előtte rendesen
  • viszont akár asztal mellett ülve is könnyen el lehet aludni, ha igazán álmos az ember

A verseny során elkészítettük robotunkat, akit az Aliens androidja után Bishopnak neveztünk el. Szegény Bishop – bár nagyon kedves volt szívünknek – nem érte el a filmbeli robot képességeit, sőt – Feri megfogalmazása szerint – elég tompa volt. Ezzel szemben bátorságban nem szenvedett hiányt, ha kellett, akár a falon is áttört, bár néha kiesett a kereke, de ez nem szegte kedvét. Korlátozott képességeinek fő oka az volt, hogy bár Elmerik a 24 óra alatt részletesen kiismerte a robotok szerkesztésének alapelveit, de a ciklusok és elágazások rejtelmeinek felderítésére már nem volt ideje, így Bishop – programozási hiányosságai miatt – nem felelt meg a feladatban meghatározott feltételeknek.

Az utolsó néhány órában már annyira fáradtak voltunk, hogy semmi érdemi tevékenységet nem tudtunk kifejteni, még a 10 pontot érő reggeli tornára sem mentünk le.

A verseny vasárnap reggel 9 óra után ért véget. Ezután a zsüri tagjai végigjárták a csapatokat, és értékelték az elkészült programokat. Csapatunk a labirintusszerkesztőt és a LOGO interpretert készítette el értékelhető formában, melyekre összesen 54 pontot kaptunk.

A verseny záróaktusa az eredményhirdetés volt. Itt az első csapat minden tagja 1-1 doboz LEGO-t kapott. (Kár, hogy a többi csapatra ez nem volt igaz :-)))) A “futottak még” (>11.helyezés) csapatok tagjai oklevelet kaptak. Ekkor még nem derült ki, de később (Interneten keresztül) megtudtuk, hogy a megszerzett 54 pontunk a 29. helyre volt elegendő.

Az eredményhirdetés után következett a pakolás, majd a kijelentkezés (HW-listák átnézése). Ezen procedúra után bepakoltunk a Zsiguliba, majd hazafelé vettük az irányt. Vasárnap este – hétfő reggel összesen több, mint 13 órát aludtam, és még ezután sem éreztem magam kipihentnek. De nem probléma, mert egy igen pozitív élménnyel lettem gazdagabb.

Összegzésképpen elmondhatjuk, hogy a szervezőknek sikerült egy olyan versenyt összehozni, amelyet nehéz lesz a jövőben hangulat szempontjából felülmúlni. Reméljük, hogy jövőre is lesz verseny, és hogy ismét ott lehet résztvevőként a Brain Cluster Inc.

01b

02b

04b

05b

 

Lidércfény AKF: egy retró szám 2007-ből

lf_akf_200711Nemrégiben a Lidércfény Amatőr Kulturális Folyóirat régebbi számait böngésztem, amikor a kezembe akadt egy 2007-es példány, amelyben a retró számítástechnikával foglalkoztunk.

A bevezető szöveg így szólt:

Sziasztok! Itt vagyunk megint! 🙂

Mint az a borítóból sejthető, mostani számunk főként az informatikával foglalkozik. Sok év telt el azóta, hogy elkészült az ENIAC (Electronic Numerical Integrator And Computer), az első programozható, elektronikus, digitális számítógép. Ebbe a monstrumba 18.000 elektroncsövet és 1500 jelfogót építettek. 2,5 m magas volt, 40 m hosszú és 30 tonna. (Nehezebb volt, mint egy korabeli közepes harckocsi!) Az összeadást és a kivonást 1/5000 másodperc alatt végezte el. A sok elektroncső miatt csak 2-3 órát működött, és utána 2-3 napig szerelték. (Ilyesmi ma is megtörténik néha.)

Ma már Pistikének is olyan számítógépe van otthon, amely nagyságrendekkel gyorsabb, mint szegény, öreg ENIAC. A számítástechnika egyre populárisabbá válik, a kisgyerektől az öreg néniig mindenki az Internetet zúzza. Közben hasonlóan a Shermanjét csak vezetni tudó Csodabogárhoz, csak hajszolják a gépet, nem tudják, mitől megy.

Aztán ott vannak a „kevesek“, akik hexa számológép nélkül találják meg a hat megabyteos dumpban a hibát, nem félnek a GOTO-tól, és persze nem hordanak digócipőt. Ott van még a köztes réteg, akiket a felhasználók jobbára csak Pokoli Operátorként emlegetnek. Jelen számunkkal a számítástechnika iránt érdeklődőket céloztuk meg. Van itt rendhagyó interjú, játékismertető, hardveres sirámok, elgondolkodtató novellák, versek, tutorial kezdőknek, PC-morzsák, régi újságok, futurológia, honlap- és könyvajánló, valamint démoni elektronika. Reméljük, mindenki talál magának kedvére valót.

Igaz, a megjelenés óta eltelt már majd 9 év, de mégis érdekes lehet megnézni, hogy mit gondoltunk akkoriban a témáról. Az újságot az alábbi linken lehet elérni:

http://www.retrocomputer.eu/download/akf/lidercfeny_akf_200711.pdf