Kezdőoldal » Számítástechnika » Programozás » Mi történik (keyboard)?

Mi történik (keyboard)?

Figyelt kérdés

Az volna a kérdésem, hogy vajon ha a commodore 64-en egy billentyűt (A) lenyomok, akkor szoftver oldalon mi történik, amíg az meg nem jelenik a képernyőn?


A tartalmas, építő jellegű válaszokat előre is köszönöm.



2020. márc. 26. 09:31
 1/9 anonim ***** válasza:
55%

[link]


ezt küldi el, mint jel :D

2020. márc. 26. 09:36
Hasznos számodra ez a válasz?
 2/9 A kérdező kommentje:
Köszönöm, ezzel én is tisztában vagyok, de engem inkább az érdekelne, ami a billentyű leütése után történik.
2020. márc. 26. 09:38
 3/9 anonim ***** válasza:
49%
#2 Egy tündér holtan esik össze.
2020. márc. 26. 09:57
Hasznos számodra ez a válasz?
 4/9 anonim ***** válasza:

Szoftveres oldalról ez egyáltalán nem bonyolult, az alapon van egy hardver keyboard controller ami feldolgozza a jeleket és szól a cpu nak ha történik valami. Szoftverből ez gyakorlatilag egy if(key_down) do_this, és kész.

Ezért nincs szükség driverre billentyűzethez\egérhez, hardveres támogatásuk van(de ha van valami extra funkció, pl világít, vagy ezer gombja van akkor kell hozzá - nem feltétenül kell kézzel telepítened, jöhet az oprendszerrel együtt is).

Hogy konkrétan C64 en hogy oldották ezt meg arról fogalmam sincs, de amikor kijött már legalább 3 éve létezett hardveres megoldás rá, úgyhogy gondolom azzal.

2020. márc. 26. 10:15
Hasznos számodra ez a válasz?
 5/9 A kérdező kommentje:

4-es, ezt sajnos nem jól tudod. Driver mindenhez kell.

Az egérhez is és a billentyűzethez is. A c64-nél a kernal.rom tartalmazza a drivert.


Annyit sikerült kiokoskodnom, hogy a keyboard mátrixa egy ún. CIA-hoz (control interface adapter) kapcsolódik, ez meg a CPU-hoz, de az még mindig nem világos, hogy mi a pontos történés a bill. lenyomásánál.

2020. márc. 26. 10:27
 6/9 anonim ***** válasza:

Be volt állítva egy másodpercenként párszor lefutó megszakítás és abban ellenőrizte a mátrix állapotát. Ez kezelte azt is, hogy mi történjen folyamatosan lenyomva tartott billentyű esetén. A billentyűzet pufferbe írta a billentyű kódját. A folyamatosan futó editor innen olvasta ki és jelenítette meg a kurzor által kijelölt helyre.

Érdemes megvenned a Commodore64 belső felépítése című kömyvet, antikváriumokban párszáz forint. Abban az egészet részletesen leírják, a teljes ROM benne vam magyarázó kommentekkel.

2020. márc. 26. 17:07
Hasznos számodra ez a válasz?
 7/9 A kérdező kommentje:

6-os, köszönöm. Igen, vmi ilyesmi.

A végén úgy jöttem rá, ahogy az elején nem akartam, elolvastam a c64 kernelének vonatkozó kódját.


Létezik a c64-esekben egy CIA (6820/21) nevű IC, erre van rátolva a keyboard mátrixa, ez továbbítja a kiolvasott kódot a cpu felé, az meg adott címen (buffer) elhelyezi a karakter kódját. Ez a kód van megfeleltetve egy kódtábla aktuális pozíciójával és a kííró rutin innen "tudja", hogy mit kell megjelenítenie.

2020. márc. 27. 14:34
 8/9 A kérdező kommentje:

Jav.: a c64-esekben 6526-os CIA van, a 6820/21 az Apple I-esekben volt. Apple I emulátort építek, gondolom azért maradt meg a fejemben a 6820, tévesen. Sorry.

Sorry..


Amúgy, akinek könyv kell (megfogadva az előttem szóló tanácsát):


[link]

2020. márc. 27. 14:45
 9/9 Vortrex ***** válasza:
55%
eszt a hüje kérdést
2020. dec. 16. 19:58
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!