Real3D Atari

O czym jest ta strona?

Strona opisuje szczeg�owo jak do 8-bitowego Atari XL/XE okulary 3D firmy ASUS i uzyska� dzieki temu prawdziwy tr�jwymiarowy obraz na zwyk�ym monitorze lub telewizorze, oraz jak wykorzysta� ten efekt we w�asnych programach.

Sk�d pomys�

Pierwszy raz z okularami pozwalaj�c�cymi uzyska� prawdziwie przestrzenny obraz na ekranie zwyk�ego telewizora albo monitora spotka�em si� przy okazji konsoli 8-bitowej SEGA ze specjalnym interfejsem 3D. Graj�c na niej w klon Missile Command 3D mia�o si� autoentyczne z�udzenie, �e pociski wylatuj� z ekaranu telewizora w stron� gracza. W po��czeniu z pistoletem, ktorym kasowa�o si� te rakiety dawa�o to wspania�� zabaw� nawet mimo faktu, �e tr�jwymiarowy obraz diabelnie mruga�.
Wtedy jednak lekkomy�lnie sprzeda�em konsol� nie pomy�lawszy, �e pomys� mo�na przenie�� na Atari.
Na szcz�cie jaki� czas temu wpad�y mi w oko na aukcji podobne okulary 3D firmy ASUS, przeznaczone do wpinania do kart graficznych PC-ta ze specjalnym wyj�ciem. Takie jak wida� na zdj�ciu obok. I w�a�nie je wykorzysta�em do realizacji tego pomys�u.

okulary ASUS 3D

Troch� teorii widzenia 3D.

Nie b�d� tu t�umaczy� szczeg�owo jak to si� dzieje, �e widzimy przestrzennie. �atwo znale�� takie informacje w sieci, np na tej stronie. Polecam przeczyta� przed dalsz� lektur�.
M�wi�c w wielkim skr�cie, ka�de z oczu cz�owieka widzi obraz p�aski, tyle, �e lewe oko widzi obraz odrobin� inny ni� prawe. Inczaj m�wi�c ka�de z oczu patrzy na dany obiekt z innego punktu, czyli widzi go z innego k�ta. Aby si� przekona�, �e to prawda, wystarczy kilka razy mrugn�� szybko na przemian lewym i prawym okiem trzymaja� palec 15cm przed twarz�. Na podstawie tych dw�ch p�askich obraz�w nasz m�zg tworzy tr�jwymiarowy obraz przestrzeni.

Rozwi�zania techniczne widzenia 3D

Wiedz�c jak dzia�a "tryb 3D" naszych oczu �atwo mo�na wgenerowa� par� obraz�w, kt�re sprawi�, �e nasz m�zg sam utworzy z nich prawdziwy obraz tr�jwymiarowy. Jest tylko jeden problem: jak dostarczy� ka�dy z obraz�w do jednego oka, tak by nie widzia�o go drugie?
Stsuje si� kilka rozwi�za�:

Jak �atwo si� domy�li� w okularach 3D ASUS, kt�re pod��czymy i wysterujemy z naszego Atari zastosowano w�a�nie ten ostatni pomys�. Daje on znakomity efekt - przy dobrze dobranych obrazach efekt trojwymiarowo�ci jest prawie r�wny temu z kina IMAX (oczywi�cie w ma�ym formacie telewizora).
Jedynym problemem jest silne mruganie obrazu - ka�de oko widzi tylko po�ow� z 50 klatek. W przypadku okular�w pod��czonych do PC'ta problem rozwi�zano ustawiaj�c na karcie graficznej od�wie�anie obrazu 100Hz lub wi�cej. Niestety na Atari XL nie mamy takiego luksusu i do mrugania trzeba po prostu przywykn��.
Uwaga! Efekt 3D b�dzie widoczny tylko na prawdziwym Atari pod��czonym do klasycznego telewizora lub monitora. Na LCD lub plazmie albo na emulatorze efektu najprawdopodobniej nie b�dzie wida�.

Jak to zrobi� na Atari

Mamy do dyspozycji okulary ASUS 3D. I ca�e poni�sze opracowanie bazuje w�a�nie na nich. Ale przypuszczam, �e mo�na go banalnie prosto przystosowa� do prawie ka�dych innych okular�w 3D zawieraj�cych przes�ony (nie wy�wietlacze!) LCD.

Okulary ASUS maj� kabel z wtyczk� typu "jack stereo":

wtyczka okularow ASUS
Wsp�lna masa i 2 sygna�y struj�ce przes�onami.
Przes�onami steruje si� banalnie prosto: napi�cie przylo�one do styku zaciemnia przes�on�, zwarcie styku do masy powoduje, �e przes�ona zn�w staje si� przezroczysta.
Niestety napi�cie steruj�ce przes�ony w okularach ASUS wynosi 12V. No, minimum 10V. Ni�sze napi�cie po prostu nie zaciemni ca�kowicie przes�ony. A ma�e Atari dyspnuje zalednie 5V. Jedynym rozwi�zaniem jest interfejs-wzmacniacz zmnieniaj�cy 5V, kt�re mo�e wystawi� Atari na 12V na odpowiednim styku wtyczki okular�w. A je�li juz trzeba robic jakikolwiek interfejs, to od razu warto zrobic to tak, zeby dalo sie okularami sterowac za pomoc� tylko jedego (zamiast dw�ch) wyj�cia cyfrowego. Czyli interfejs ma dzia�a� tak: je�li Atari na jakiem� pinie ustawia 5V, to interfejs ustawia 12V na lewej prze��onie LCD i 0V na prawej. Je�li Atari wystawi 0V to intefejs na lewej przes�onie ustawia 0V a na prawej 12V. Nigdy bowiem nie wyst�puje sytuacje, �e obie przes�ony s� otwarte lub obie zamkni�te!

Przyznam uczciwie, �e schemat wzmacniacza przerysowa�em z tej strony, opisuj�cej jak pod��czy� okulary ASUS do komputera INDY. Autor zastosowa� podw�jny komparator. Trzeba tylko zmieni� odrobin� rezystory ustalaj�ce poziom prze��czenia komparatora, bo INDY generuje 2V a Atari 5V.

Hardware

Schemat:

                                       +------------------+-------+------ +12V
                                       |                  |       |
                                       |                  v R1    |
                                       |                  v 100k  |
                                       |                  v       |
                                       |                  |       |
                           +-----------|------------------|-------|------o ASUS Right
                           |           |                  |       |
                           |       +---|-------+----------+       |
                           |       |   |       |          |       |
   +-----------------------|---+---|---|---+   |   +------|-------|------o ASUS Left
   |                       |   |   |   |   |   |   |      |       |
   | DB9(rear view)    +---+---+---+---+---+---+---+---+  v R2    |
   o o o o o           |   7   6   5   4   3   2   1   |  v 33k   |
    o o o o            |                               |  v       |
        |              |        US1 LM324N            (   |      --- C1
        |              |                               |  |      --- 10n
        |              |   8   9   10  11  12  13  14  |  |       |
        |              +---+---+---+---+---+---+---+---+  |       |
        |                  |   |   |   |   |   |   |      |       |
        |                              |                  |       |
        +------------------------------+------------------+-------+------o ASUS Ground

Spis element�w:

Par� s��w komentarza:
Uk�ad dzia�a jako podw�jny wzmacniacz pracuj�cy w uk�adzie komparatora. Pr�g prze��czania powinien by� ustawiony na oko�o 2,5V. Stara�em si� tak dobra� rezystory ale moja wiedza teoretyczna mocno zardzewia�a. Je�li kto� ma w g�owie odpowiedni wz�r i potrafi dobra� precyzyjnie rezystory, bardzo prosz� o poprawk�. Precyzyjne dobranie rezystor�w jest jednak spraw� drugorz�dn�. Bior�c pod uwag�, �e sterowanie b�dzie cyfrowe (sygna� prostok�tny 0V-5V), nie powinni�my widzie� r�nicy w dzia�aniu uk�adu zar�wno przy ustwieniu komparatora na 1,5V jak i na 3,5V zamiast optymalnych 2,5V.
Do sterowania interfejsem zdecydowa�em si� u�y� portu joysticka. To chyba najprostrze i najbardziej wygodne rozwi�zanie, opisane w TA 2/92.
Jesli ktos nie ma opory w odci�ciu wtyczki od jakiego� starego joysticka, mo�na naby� �e�sk� wtyczk� RS232. Niestety takiej wtyczki nie da si� wsadzi� do gniazda joya bo metalowa os�ona zawadza o obudow� Atari. Trzeba przy pomocy porz�dnych c�g�w obci�� ten metalowy ko�nierz wtyczki i wyd�uba� plastikowy �rodek. Ten �rodek sk�ada si� z dw�ch cz�ci, wi�c �eby si� nie rozpad�y trzeba je sklei�.
Aha, zasilanie ukladu 12V stalego napiecia trzeba niestety podlaczyc z zewnetrznego zasilacza.

Zdj�cia prototypu:
prototyp zoom prototypu wtyczka

Software

Napisa�em najprostszy na �wiecie program demonstracyjny 3D.asm - wy�wietla on na ekranie statyczny obraz tr�jwymiarowy. Niestety nie potrafi� w asemblerze napisa� czegokolwiek bardziej skomplikowanego, o animacji nawet nie wspominaj�c. Jedyn� zalet� tego programu jest to, �e dzia�a. Gdyby kto� umia� rozwin�� ten proram (np doda� mo�liwo�� otwierania z dysku obraz�w do odtwarzania), bradzo prosz� o pomoc (a jeszcze bajeczniej by by�o, gdyby kto� napisa� jak�� animacj� 3D :)
Zasada dzia�ania jest nast�puj�ca: w pami�ci umieszczone s� dwa obrazy przeznaczone dla lewego i prawego oka. Program na pocz�tku ustawia tryb 9. Zdecydowal�em si� na niego, bo ma 16 odcieni szaro�ci i najlepiej wygl�da�y w nim przekonwertowane z PC-ta obrazy. Ale mo�na oczywi�cie uzyska� efekt 3D w ka�dym trybie. Nast�pnie program konfiguruje port joya tak by mo�na by�o sterowa� wyj�ciem. Po czym ustawia przerwanie VBL.
W przerwaniu VBL wykonywanym po narysowaniu przez ANTIC ka�dego ekranu (czyli co 1/50 sekundy) program zamienia w DL adres pami�ci obrazu naprzemiennie na adresy ekranL oraz zmienia polaryzacje pinu w porcie joysticka, kt�ry steruje okularami.
Program sprawdza te�, czy zosta� naci�ni�ty jaki� klawisz. Je�li tak, to zamienia on obrazy - ten przenzaczony dla lewego oka bedzie wy�wietlany dla prawego i odwrotnie. Dla niekt�rych obraz�w daje to bardzo ciekawy efekt - obiekty, kt�re "wystawa�y" z ekranu monitora, po takiej zamianie uciekaj� w g��b ekranu. Obraz staje si� wkl�s�y zamiast wypuk�ego. Radze poeksperymentowa�.

Program 3D.asm jest napisany w standardzie XASM. Mo�na go pobra� st�d.
Aby sie skompilowal potrzebne sa dwa obrazy: right.ata i left.ata - pliki w formacie GR9 odpowiednio dla prawego i lewego oka. Ka�dy o d�ugo�ci 7680 bajt�w. Mo�na je pobra� poni�ej. W wolnej chwili opisz� jak przekonwertowa� dowolny obraz z PS-ta na format trybu GR9 Atari.
Przypominam jeszcze raz: Efekt 3D b�dzie widoczny tylko na prawdziwym Atari pod��czonym do klasycznego telewizora lub monitora. Na LCD lub plazmie albo na emulatorze efektu najprawdopodobniej nie b�dzie wida�.

Dobrej zabawy!
nosty

Gotowy software:
Interfejs podlaczamy do portu joya nr 1.
Najlepiej usi��� jakie� 2 metry przed monitorem lub tv - efekt jest wtedy najlepszy.
PRESS ANY KEY - zamiana miejscami obrazu dla lewego i prawego oka.
Orygina� BMP Pliki GR9 potrzebne do kompilacji ASM'a Gotowy ATR
01 Herb lewy obraz
prawy obraz
01herb.atr
03 Lincoln lewy obraz
prawy obraz
03lincol.atr
04 Sfera lewy obraz
prawy obraz
04sfera.atr
05 Pies lewy obraz
prawy obraz
05pies.atr
06 Architektura lewy obraz
prawy obraz
06arch.atr