Enterprise Forever  |  :HUN  |  Hardver  |  Topic: Fénypisztoly, fényceruza
Author Topic: Fénypisztoly, fényceruza  (Read 3069 times)« previous next »
vizor
EP fan
*
Offline Offline

Hungary

Posts: 219




View Profile WWW
New Posts
« on: 2007.January.02. 12:24:08 »

Üdv, hardver guruk.

A kérdés, hogy az EP alapból képes-e valamelyik joystick porton fényceruzát kezelni ? Ha igen, akkor már csak egy ugrás a fénypisztoly. Maga a pisztoly "hardver" már adott piacos TV játékokból (pl. hamis Sega), a csatlakozója régi joy-os. Tudtommal a fényceruza felépítése és működése elég egyszerű, visszaad egy szórt X és egy pontos Y értéket plusz a tűzgomb. Ha a gép le tudná kezelni az eszközt, milyen jó kis játékokat lehetne csinálni  ds_icon_cheesygrin

Ha az EP mégse tartalmazna megfelelő dekódolást, lehetne valamilyen külső áramkörrel szabványos joystick bemeneti jeleket generálni a pisztoly jeleiből ?
Logged

Enterprise Forever
« on: 2007.January.02. 12:24:08 »

 Logged

tubybb
EP user
*
Offline Offline

Hungary

Posts: 328


OS:
Windows XP
Browser:
Firefox 3.6.13


View Profile
New Posts
« Reply #1 on: 2011.March.04. 02:13:50 »

Áhh, itt egy nagyon jó téma, amit ha felhozok a srácoknak a munkahelyen, nem hisznek nekem.
Mielőtt válaszolnánk a kérdésre tisztázzuk, hogy is működik a fényceruza. Sajnos LCD megjelenítővel rendelkező EP tulajdonosok erről nem is álmodhatnak, ugyanis ez a technika feltételezi, hogy Katódsugárcsöves monitoron (TV-n) használjuk kedvenc gépünket.

 Képzeljük el, hogy van egy ceruzánk, amit a képernyőhöz érintve, az ott található fényt egy optikai üvegszálon keresztül elvezeti egy fényérzékelő diódához, aminek a jelét aztán a számítógép kapja meg.

 Ha lelassítanánk az időt, és úgy néznénk a képernyőt, azt látnánk, hogy egy világos pont halad balról jobbra a képernyőn, majd ahogy végigért, balról újrakezdi, de már egy picivel lejjebb, ezt addig ismételve míg el nem éri a képernyő alját. Ezek után újrakezdi fentről.
 A valóságban ez olyan gyorsan történik, hogy a fénypontot, nem látjuk, csak azt a képet, amit a képernyőn hagyott fluoreszkálni, és mivel újra és újra végigmegy, úgy tűnik mintha folyamatos lenne minden fénypont világítása.

 Hogyan tudja a számítógép, hogy éppen hova tettük a fényceruzát, mikor csak egyetlen vezeték megy a ceruzából?

 A számítógép mindig tudja, hogy merre van ez a fénypont, hiszen pont ő irányítja.

 Vegyünk egy példát: Ha a ceruzát a kép kellős közepére helyezem. A sugár meg pont fent van a legtetején, és halad folyamatosan jobbról-balra, miközben lassan lefelé is megyeget... A ceruzámnál csak sötétség van egészen addig, amíg oda nem ér a sugár. Ekkor a ceruza jelez a számítógépnek, hogy "Igen, most itt van!!".
 A számítógép gyorsan eltárolja, hogy hanyadik sort pásztázta, és a sorban körülbelül hanyadik pixel lehet.
 Tulajdonképpen ennyi.

 Ha jobban belemászunk a dologba ahhoz, hogy megállapítsuk merre jár a fény, azt kell megmondani, hogy mennyi idő telt el a V-sync óta (ez lesz az Y koordináta) és mennyi idő telt el H-sync óta (ez lesz az X) amikor jelzett a fényceruza.

 Fekete képernyőn sajnos alig látszódik a pásztázó sugár, ezért azt szokták csinálni, hogy világos (fehér) háttéren dolgoznak, másik lehetőség, hogy felemelik a fényerőt (Brightness - Napocska) így erősebben világít, felismerhetőbb a ceruzának.

 Itt jött az, hogy nem hittek nekem, és gyártották a munkatársak a kérdéseket:
- Mi van akkor ha pont egy fehér folton áll a ceruza, nem zavar be?
Válasz:
- Ami nekünk fénypaca, az a lassított világban egy fénypont, ami tapogat. Nincsenek alakzatok, az csak érzéki csalódás. Nagyon leegyszerűsítve a képernyő mindig sötét, kivéve ha ott a sugár.

Kérdés:
- Ugyan már, a fénypisztolyon amikor mehúzod a ravaszt, honnan tudod hogy éppen akkor van ott a sugár? Olyan gyorsan úgysem lehet meghúzni a ravasz.

Válasz:
- Ezt nem így kell értelmezni. A fénypisztolynak van egy lencséje, ami kinagyítja a fotodiódára a képernyő egy adott területét. Amikor meghúzod a ravaszt, tulajdonképpen csak jelzel a számítógépnek, hogy pont a célra tartod a fegyvert. Ekkor, ahogy fent említettem a fényceruzánál, a pásztázó sugár alapján meghatározza, hogy kb. hova nézhet a fegyvered. Ha éppen ott a madár, amit le kell lőni, akkor eltaláltad. Ha egy picit arréb van, akkor nem. A ravaszt kb. fél másodpercig tartod meghúzva, ezalatt lemegy vagy 25 félkép, tehát 25-ször vizsgálhatja, hogy merre néz a puskacső. Természetesen csak az első párat nézi, mert az ember keze is remeghet picit.

Kérdés:
- Ugyan már, ezek a gagyi piaci cuccok, akkor is jelezték hogy eltaláltam, amikor a lámpa felé tartottam, ez kamu!

Válasz:
- Azok a piaci cuccok lehet, hogy kamuk. Egy igazi berendezésnél ha a fény felé fordítod a fegyvert, és meghúzod a ravaszt, akkor az jelez a számítógépnek, hogy folyamatosan kapja a fényt. A TV irányából nem érkezhet folyamatos jel, hanem impulzusokban jelenik meg. Tehát nem is a TV felé fordítottad a pisztolyt.
 Visszatérve az igazi játéktermi gépeknél meg lehet figyelni, hogy a képernyőn valóban ott jelenik meg a jel, ahova lőttél.


A commodore-nál szerintem a joy helyére lehetett csatlakoztatni a fényceruzát. És amikor érzékelte a fénypontot, adott egy tűzgomb parancsot. Volt plusz két regiszter, ami a joystick tűzgombjának megnyomásakor mindig eltárolta a sugár x és y koordinátáit. Ezeket a regisztereket csak akkor vették figyelembe, ha épp rajzolóprogramot használtak. A többi progi figyelmen kívül hagyta, noha mindig ott van/volt.

Most hogy már tudjuk hogyan működik a berendezés, kérnék javaslatokat, hogy EP-nél hogyan lehetne megoldani a dolgot. Szerintem a Joy port kizárva. Túl lassú. Külső kártya kellene.
Logged

Ferro73
EP user
*
Offline Offline

Hungary

Posts: 317

OS:
Windows XP
Browser:
Firefox 2.0.0.9


View Profile
New Posts
« Reply #2 on: 2011.March.04. 06:00:36 »

fényceruzával már probálkoztam de nem találtam olyan regisztert amivel az X kordinátát megálapithatnánk
az Y meg kevés
Logged

lgb
EP fan
*
Offline Offline

Hungary

Posts: 238


OS:
Linux
Browser:
Safari


View Profile WWW
New Posts
« Reply #3 on: 2011.March.04. 09:31:56 »

A commodore-nál szerintem a joy helyére lehetett csatlakoztatni a fényceruzát. És amikor érzékelte a fénypontot, adott egy tűzgomb parancsot. Volt plusz két regiszter, ami a joystick tűzgombjának megnyomásakor mindig eltárolta a sugár x és y koordinátáit. Ezeket a regisztereket csak akkor vették figyelembe, ha épp rajzolóprogramot használtak. A többi progi figyelmen kívül hagyta, noha mindig ott van/volt.

Jah, C64-en a VIC-II alapbol fel volt keszitve erre, en is epitettem hozza egy egyszeru aramkort meg gyerekkoromban, igaz, az valamiert igen megbizhatatlan volt (bar lehet koze van ahhoz, hogy az akkori TV-nken a kepernyo elott volt par centire egy vegu uveg, amit nem lehetett egyszeruen kioperalni - vagy nem mertem -, ez meg fenyceruza volt, es nem pisztoly, szoval megertem en, hogy gondja volt ezzel, de az is lehet, hogy en rontottam el valamit, ki tudja ma mar megmondani igy utolag).

http://en.wikipedia.org/wiki/MOS_Technology_VIC-II#Registers
http://www.c64-wiki.com/index.php/Light_pen

Megjegyzem, hogy ez egy eleg regi technika, wikipedia szerint 1952-ben volt mar ilyen, szal' nem ertem a kollegaid hozzaallasat, nem olyan nagy durranas ez (bar ketsegtelen, hogy pontossaga, megbizhatosaga nem mindig volt a toppon, ugymond):

http://en.wikipedia.org/wiki/Light_pen

« Last Edit: 2011.March.04. 09:36:01 by lgb » Logged
Tags:
Enterprise Forever  |  :HUN  |  Hardver  |  Topic: Fénypisztoly, fényceruza

Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks

Template made by Mr.Prise
Page created in 0.117 seconds with 24 queries.
Google visited last this page Today at 07:22
Follow ep4ever_news on Twitter