Televizní hry s AY-3-8500 "Pong"



Než je vytlačily osobní počítače, byly v 70. letech 20. století ohromě populární tzv. televizní hry, zejména tenis zvaný PONG (viz. [5]). Dnes bychom to nazvali herní konzolí. Hry se daly zbastlit i z diskrétních součástek, buď jen z tranzistorů, nebo ze základních integrovaných obvodů. Taková zapojení se objevila i u nás, např. v [4]. Později se objevily i specializované integrované obvody, které umožnily stavbu her výrazně zjednodušit. Jedním z nich je i AY 3-8500 firmy General Instrument z roku 1976, který se stal doslova legendou a to i v komunistickém Československu, viz zapojení her v [2] a [3]. Obvod AY 3-8500 umožnil postavit jen single-chip hry, ale doporučovalo se přidat pár CMOS hradel. Obvod umožňuje volit mezi 6 hrami, ale objevovala se zapojení jak počet her ještě rozšířit. Jeden "trik" pro sedmou hru zadara bude popsán dále.


TV hry s AY-3-8500
PONG s AY-3-8500
TV hry s AY-3-8500
TV hry s AY-3-8500

Jelikož se obvod AY 3-8500 dá stále sehnat (třeba na Ebayi) a jelikož jsem si s ním docela dost pohrál, přináším poznatky ze své nedávné (cca 2014) stavby těchto her. Ale poprvé jsem se s nima setkal již počátkem 80. let 20. století, kdy si je postavil strejda a "pařili" jsme. Jenže tenkrát měly ty hry své mouchy, dané převzetím zapojení z tehdejších Amatérských rádií. Ta zapojení prostě nebyla ideální, viz. dále.



Základní zapojení her

Pominu-li verze pro PAL (AY 3-8500, 625 TV řádků) a NTSC (AY 3-8500-1, 525 TV řádků), vyskytuje se obvod AY 3-8500 ještě ve dvou specifikacích dle data výroby. Obvody z roku 1976 byly vyráběny pod označením GIM (GIMINI) a vyznačují se tenčími vykreslovanými entitami (prvky). Prostě hráči, ohraničení hřiště a číslice skóre jsou vykresleny tenčími čarami a i míček je menší. Také potisk pouzdra integráče je "hubenějším" fontem s prefixem GIM. Obvody z roku 1976 využívají širší část obrazovky, hřiště je tedy širší. Obvody z roku 1977+ byly vyráběny po značkou GI (General Instrument) a vykreslují na TV silnějšími čarami, ale hřiště je o něco užší. Na pohled je jejich kresba na obrazovce příjemnější. Také font potisku pouzdra je tučnější a dominuje mu ozdobné logo GI. Na následujících fotkách mých TV her je osazen právě tento novější obvod.

Specifikace z roku 1976 má zvláštní chybu. Po odpalu levým hráčem se zvuk odpalu rozezní a nepřestane, dokud míček nenarazí do mantinelu, nebo není odpálen pravým hráčem. Je to velice nepříjemné a v podstatě to znemožňuje hrát se zvukem. Pamatuji si, že přesně tuto chybu měly i strejdovo amatérsky postavené hry, které jsem měl možnost si někdy počátkem 80. let zahrát. Specifikace 1977+ tuto chybu nemá. Naštěstí je náprava snadná. Stačí mezi piny 3 a 27 obvodu AY 3-8500 zapojit diodu přesně tak, jak je to v katalogovém zapojení [1]. Já ji tam prvně nedal, páč jsem nechtěl stavět světelnou pistoli, která se připojuje na piny 27 a 26 a tudíž jsem si myslel, že ta dioda je tam zbytečná. Není. Odstraňuje zmíněnou chybu specifikace 1976. Specifikace 1977+ funguje správně s diodou i bez ní. Dá se předpokládat, že i ty další dvě diody v zapojení přepínače her odstraňují nějakou interní chybu obvodu a tudíž důrazně doporučuji je použít. Dával jsem všude 1N4148. Katalogové zapojení mi funguje se všemi specifikacemi obvodů, které jsem měl k dispozici (testoval jsem 4 obvody různých dat výroby).

Pokud si hry s AY 3-8500 chcete také postavit, rozhodně se vyprdněte na zapojení ze starých Amatérských Rádií [2] a [3] a použijte katalogové zapojení dle [1]. Opravdu funguje jak se specifikací 1976, tak i 1977+. Ta zapojení v "amárech" jsou (zřejmě z nedostatku originální dokumentace) plná chyb, nepřesností a dnes již zbytečného obcházení tehdy nedostatkových součástek. Úsměvné je i označení hradel CMOS jako COSMOS v [3] :-)


TV hry s AY-3-8500
Základní vyzkoušené zapojení her
TV hry s AY-3-8500
Úprava Single Player Mode

Oscilátor určitě zapojte podle toho alternativního zapojení s krystalem 2 MHz a hradly 4011. Oproti LC oscilátoru je jednodušší, nemusí se nastavovat kmitočet a hlavně je stabilnější, což se příznivě projeví na kvalitě výsledného obrazu.

Kondenzátor na RESET vstupu jsem musel dát větší (470nF), protože s tím katalogovým se po zapnutí někdy AYčko dostalo do "podivného" stavu a bylo nutné resetovat ručně tlačítkem.

Výstupní videoslučovač mi chodil bez úprav, ale obraz byl docela světlý. Pomohlo zvýšení toho pulldown odporu 220R až na 10K a připojení sériového kondu 10uF na výstup kompozitního videa. Slučovač je možné postavit i jinak, viz další popis o úpravách videovýstupu. Stavět RF modulátor už dnes asi nikdo nebude.


TV hry s AY-3-8500
TV hry s AY-3-8500
TV hry s AY-3-8500
TV hry s AY-3-8500

Použití interního reproduktoru je v dnešní době zbytečné. Mělo to smysl v dobách, kdy televizory neměly separátní audio vstupy a zvuk by se tak musel složitě modulovat do anténního vstupu TV. Pozdější TV již audio vstupy měly a mají je dodnes a tak stačí jen odporovým děličem (15K, 1K5) omezit amplitudu signálu z pinu 3 na max. 1V a přes kondenzátor 10uF zavést signál do TV audio vstupu. Je také mnohem lepší, když se zvuk ozývá přímo ze hřiště (TV), než z nějaké krabičky, kterou máte před sebou na stole... Nemluvě o tom, že při bateriovém napájení interní repráček baterky dost vysával.


TV hry s AY-3-8500
TV hry s AY-3-8500
TV hry s AY-3-8500
TV hry s AY-3-8500

Pokud na přepínání her použijete přepínač s jednou plonkovou polohou navíc (aby žádný výběrový vstup nebyl uzeměn), získáte další (sedmou) hru. Jedná se o fotbal (soccer), kdy jeden hráč bude mít v poli 3 "muže" zatímco ten druhý jen původní dva. Princip viz. datasheet. Já na svých hrách přepínám typ gamesky pomocí jumperu.

Vzhledem k pohybu hráčů pouze vertikálně nahoru a dolů zapojení svádí k použití tahových potenciometrů. Použití tahových potenciometrů je sice možné, ale klasické otočné jsou lepší a spolehlivější. Ovládání je příjemnější. Spíše, než do hranaté krabičky, je zabudujte do nějaké kulaté tuby. Lépe se to drží. Já schválně použil dvě velikosti. Ta menší je vhodná pro děti. Použití tlačítka servisu na každém ovladači pokládám za zbytečné. Nikdy jsem to nepoužíval. Použití automatického servisu je lepší. A když už chceme mít možnost servírovat ručně, stačí jedno tlačítko společné pro oba hráče přímo na hrách. Ušetříme dvě žíly v kabelu k potenciometru.


TV hry s AY-3-8500
Ovladače pro TV hry
TV hry s AY-3-8500
Ovladače pro TV hry

Abych si ušetřil práci, použil jsem na kabely k potenciometrům hotovou stereo propojovací šňůru délky 3 m osazenou konektory Jack 3,5 mm. Šňůru jsem v půlce přestřihl a získal jsem stíněný dvoužilový kablík s již naletovaným konektorem. A každý bastlíř mi jistě potvrdí, že letování konektorů je jedna z nejhorších bastlířských prací:-) Hry jsou pak pochopitelně osazeny příslušnými stereo Jack zásuvkami. Samotný ovladač pak obsahuje pouze potenciometr. Ostatní součástky jsou na desce her.

Na svých hrách jsem realizoval i tzv. Single Player Mode. V podstatě jde o to, že přepínačem (v mém případě jen jumperem) můžeme jeden z ovladačů připojit do obou vstupů obvodu AY a druhý ovladač zůstane odpojen. Pak tím jediným aktivním ovladačem ovládáme levého i pravého hráče současně. Můžeme si tak všechny hry určené pro dva "zapinkat" sami se sebou a je to podle mě zábavnější, než to původní pinkání do zdi pro jednoho hráče.


TV hry s AY-3-8500
TV hry s AY-3-8500
TV hry s AY-3-8500
TV hry s AY-3-8500 a AY-3-8610

K napájení používám nestabilizovaný adaptér 12V a přímo na desce her je klasicky zapojený stabilík 7809. Jak jsem již uvedl, tak k přepínání her a dual/single player mode používám obyčejné jumpery. Jako konfigurační spínače (velikost hráčů, úhel, rychlost, servis man/aut) používám DIP spínače. Deska dále obsahuje dvě velká tlačítka RESET a SERVIS. Výstup zvuku i videa je na standardní CINCH zásuvky. Jediné co jsem nezkoušel je fotopistole. Ale její zapojení je taktéž v katalogu [1]. Celkové provedení mých TV her v základním zapojení je snad jasné z obrázků. Doporučuji. Je to stále zábavné!



Hrátky se zobrazením

Ke staré technice patří stará technika. To platí i o použitém televizoru ke hrám. Nejlepší je stará analogová CRT televize. Na LCD panelech se mi při hraní dělají mžitky před očima. Částečně pomůže inverze videa. Originální zapojení zobrazuje bílé entity na černém pozadí, ale lze to udělat i naopak. Díky tomu, že všechny zobrazované entity (hráči, míček, hřiště + skóre) mají na AY 3-8500 své vlastní výstupy a vlastní výstup má také TV synchronizační signál, je možné se zobrazováním docela dost kouzlit. Standardní zobrazení bílé na černém pozadí lze snadno invertovat, zobrazovat v úrovních šedi a dokonce i v barvách! Všechny tyto varianty jsem vyzkoušel na nepájivém poli. Finálně jsem ale realizoval jen to základní a výše popsané katalogové zapojení. Chtěl jsem prostě minimalistickou verzi.



Inverze videa (černá na bílém)

Mohlo by se zdát, že k inverzi postačí za hradlo OR (4072) slučující herní prvky vrazit jeden zbylý invertor z 4011. Ale nestačí. Kdo měl někdy co do činění s počítači ZX80 či ZX81 se starší specifikací ULY (SCL) ví, že to tak jednoduché není. Pokud videosignál jen inverujeme a ihned po synchropulsu vnutíme televizoru úroveň bílé, výsledkem je taková vyblitá šeď a obraz málo kontrastní (viz. ZX80). Chybí zde fáze Back-Porch, kdy bezprostředně po synchropulsu musíme televizoru předložit úroveň černé (0,3V) po dobu cca 7,8 uS a teprve poté můžeme úroveň zvednout na bílou (1V). To prostý invertor nezajistí. Teprve pak bude bílá opravdu bílá. Fáze Back-Porch je ještě před viditelnou částí obrazového řádku. Je tedy "vlevo vedle" obrazovky a tudíž ji nevidíme. Ale pro zobrazení bílého pozadí je nezbytně nutná!

Za invertor videa tedy ještě vrazíme 2-vstupé hradlo AND a do druhého vstupu přivedeme signál /BP, který stáhne úroveň na černou. Vytvoření signálu /BP je primitivní i díky tomu, že máme k dispozici separátní /SYNC signál. Sestupnou hranou /SYNC budeme překlápět monostabilní klopný obvod (MKO) s dobou kyvu cca 12 uS (4 uS trvá horizontální synchronizace a zbylých 8 uS bude vlastní Back-Porch). Výstupem MKO je právě signál /BP. Po dobu překlopení nám MKO bude stahovat úroveň videa na černou. Souběh se synchropulsem (úroveň 0V) nevadí, protože ten má vždy přednost. Hodnoty R a C součástek v MKO jsem nejprve hrubě stanovil výpočtem a posléze doladil tak, že jsem namísto odporu použil trimr 10K nastavený na polovinu. Následně jsem našel dvě krajní polohy. V jedné poloze dochází ke změně bílé na tu hnusnou šeď - to je příliš krátká doba kyvu MKO. Ve druhé krajní poloze začne z levé strany obrazovky vylézat černý pruh - to je již moc dlouhá doba kyvu MKO. Trimr jsem dal zhruba doprostřed mezi těmito polohami a změřil odpor, který byl potřeba. Sice by bylo možné tam ten trimr ponechat, já ale raději pevné odpory. Tuto úpravu je možné relizovat i s původním katalogovým zapojením videoslučovače.

Lepší zapojení videoslučovače je na následujícím obrázku. Pochází ze zobrazovací desky AND-1 systému SAPI-1 a je osvědčené [6]. Navíc ušetříme to AND hradlo, protože ANDujeme přímo diodami. Všechna hradla jsou z obvodu 4011, diody jsou 1N4148. Další možné zapojení videoslučovače je popsané dále u "šedivého zobrazení".

Tímto způsobem (MKO spouštěný synchropulsem) lze dodatečně přidat Back-Porch do každého zobrazovadla, kde máme k dispozici separátní synchropuls. To, že MKO překlápí i při dlouhém pulsu vertikální synchronizace, nevadí. Je to v oblasti, kterou na obrazovce nevidíme. Stejné zapojení jsem použil i pro inverzi obrazu herní konzole Hackvision na bázi Arduina Uno a knihovny TVOut. Funguje to parádně.


TV hry s AY-3-8500
Inverze videa (černé na bílém)
TV hry s AY-3-8500
Zobrazení v úrovních šedi



Zobrazení v úrovních šedi (Greyscale)

Další možností je zobrazení v úrovních šedi. Zobrazení kdy hraje bílý a černý hráč na šedém pozadí je velmi příjemné a hezké. Bohužel nemám nafoceno. Hřiště, skóre a míček doporučuji také černé. Realizace je opět snadná, ale zapojení z katalogu tentokrát nedoporučuji. Chybí tam Back-Porch. Zapojíme to lépe. MKO obvod generující /BP ponecháme stejný, jako u inverze výše. Slučovač videosignálů realizujeme jako u obvodu AY 3-8610 "superstar", viz [1]. Tento slučovač vyžaduje, aby výstupy jednotlivých entit byly aktivní v log.0 a aby výstupy byly s otevřeným kolektorem. To AY 3-8610 splňuje, ale u AY 3-8500 je potřeba výstupy invertovat a připojením diod z nich udělat "otevřené kolektory". Vše je snad jasné ze schématu. Má-li být daná entita bílá, ponecháme ji nezapojenou (NC), má-li být černá, připojíme ji přes odpor cca 1K (to platí i pro /BP). Požadujeme-li šedou, volíme odpor větší, než 1K (dle požadované úrovně šedivosti). Mě se osvědčila hodnota 3K9. Výstup synchronizace připojujeme přes odpor 270R. Pochopitelně není nutné používat více stejných odporů, ale můžeme signály ANDovat diodami a pro každou "barvu" pak použít jen jeden odpor. Tímto způsobem si můžeme "namíchat" černo-šedo-bílé schéma dle potřeb a preferencí každého soudruha:-)


TV hry s AY-3-8500
Inverzní zobrazení (Tennis)
TV hry s AY-3-8500
Barevné zobrazení (Soccer)



Barevné zobrazení

TV hry s AY 3-8500 bylo možné také "obarvit". Za tím účelem se prodával doplňkový obvod AY 3-8515 [1], který signál z AY 3-8500 uměl doplnit barvičkami. Každá hra měla své pevně dané barevné schéma a výstupem obvodu byl již hotový barevný kompozitní video signál PAL. Tento obvod jsem se ani nepokoušel sehnat a zkusil jsem to udělat po svém. Schéma zde dávat nebudu. Zkoušel jsem to jen na nepájivém poli a finálně jsem obarvil až své další TV hry s AY 3-8610. Tam již zapojení uvádím a použitý princip je shodný i pro hry s AY 3-8500. Používám jen základní barvy RGB (červená, zelená, modrá), plus bílou a černou. Ale pochopitelně by šly "namíchat" i jiné barvičky. Nutný je zde enkodér barevného videa. Testoval jsem AD722, MC1377p a později i LM1886+1889. Je možné se bez externího enkodéru obejít, pokud se "napíchneme" přímo do SCART vstupu televizoru a využijeme enkodér v TV. Zkoušel jsem to a v pohodě. Jen to zapojení pro přizpůsobení signálů pro SCART nějak nemůžu najít...
Update: Tak jsem to nakonec našel:-)



AY 3-8500 v Arduinu

Update: Nemáte-li AY 3-8500 a přesto si chcete hry postavit, doporučuji stránky populárního konstruktéra Granta Searla (je známý především precizní replikou ZX80). Grant totiž připravil variantu her s Atmegou 328 (Arduino), do které naprogramoval precizní emulaci obvodu AY 3-8500. Kromě toho jeho článek obsahuje i další zajímavé informace o těchto obvodech a popis rozdílů v zobrazení mezi specifikacemi 1976 a 1977+. Vřele doporučuji. Sám jsem si je postavil s Arduinem Pro Mini.



Další úpravy her s AY 3-8500

Update: V katalogu GIMINI [1] a v amáru [2] jsou popsány i různá další vylepšení her s AY 3-8500. Zejména úprava pro náhodnou změnu parametrů hry (rychlost, úhel, velikost hráčů) během hraní by mohla být zajímavá. Ale nezkoušel jsem to. Přesto jsem si jako mentální cvičení zkoušel navrhnout řídící obvod s nějakým jednočipem (x51, Arduino), který by ovládal reálný AY 3-8500 (pomineme možnost naprogramování her rovnou do toho jednočipu). Jednočip by za pomoci LCD displeje a pár tlačítek výrazně zvedl komfort obsluhy her. Typ hry a její parametry by se vybíraly z menu. Rovněž případné barevné schéma zobrazení, způsob servisu a zapínání/vypínání zvuku by bylo možno vybrat z menu. Bylo by možné zvolit zda se parametry hry mají či nemají měnit během hraní. A pokud mají, tak které. Změna parametru by musela proběhnout vždy po odpalu hráčem, aby měl protihráč dostatek času se se změnou vyrovnat. To by znamenalo číst zvukový výstup a měřit kmitočet, což ale není pro jednočipy problém. AY 3-8500 používá jen tři zvukové frekvence (0.5, 1 a 2 kHz), viz. datasheet. Pořadí kmitočtů odpovídá odrazu od zdi, odpalu hráče, skórování.

V [2] je také popsáno vytvoření nové hry nazvané "Útok". Vypadá to velmi jednoduše (jeden přidaný trimr), ale nemohu to doporučit. Možná při použití víceotáčkového trimru by to bylo stabilní, ale s klasickým trimrem to "nedrží", proto jsem to po vyzkoušení zase odpojil. Trimr jsem použil 220K a je nutno ho nastavovat plastovým šroubovákem. Potřebná hodnota odporu je jiná pro specifikaci AY 3-8500 z roku 1976 a jiná pro 1977+.

Taktéž je v ročence [2] zapojení fotopistole pro střelecké hry. Další je v katalogu [1]. Ale pistoli jsem nezkoušel. Možná časem... :-)

A snad poslední zajímavost k AY 3-8500: hry s tímto obvodem bylo možné provozovat i na osciloskopu namísto TV. Zapojení "osciloskopické" verze vyšlo například v americké PE v Prosinci 1979.

Update: V datasheetu [1] je uveden rozsah napájecího napětí AY-3-8500 při "standard condition" 6-7V. To bylo také jediné velké dilema při stavbě. Všechna zapojení, která jsem viděl, používala 9V. A to nejen v tuzemských amárech, ale i v dobových zahraničních časopisech, co jsem na netu našel. Jenom kvůli tomu napájení jsem toho prolezl opravdu hodně a všude 9V... Pamatuji si, že hry, které jsem měl v 80. letech zapůjčené, jely na dvě ploché baterie (tedy 9V) a dost brzy přestávaly fungovat a musely se dávat nové baterky. Ale je fakt, že je dost vysával ten vestavěný repráček, takže jsme raději hráli bez zvuku, což není ono. Proto jsem se rozhodl to napájení ve svých hrách zachovat. Koneckonců maximální povolené napětí je v katalogu uvedeno 12V a to je stále o dost výše, než 9V. Obvod se ani při dlouhodobějším hraní nijak nehřeje a nevypadá to, že by mu těch 9V škodilo. Je ale fakt, že těch 9V tam díky napájení ze sítě mám pořád, kdežto baterky se vybíjely a napětí klesalo. Takže dnes bych asi použil těch 6-7V (třeba 7806 "podepřený" křemíkovou diodou).



Literatura:

[1] Katalog GIMINI 1978
[2] Konstrukční příloha (ročenka) Amatérského radia 1981: TV hry s AY-3-8500
[3] Amatérské radio A 4/1978: Televizní hry s AY-3-8500
[4] Amatérské radio B 1/1977: Hřiště na televizní obrazovce
[5] PONG-STORY
[6] Amatérské radio B 2/1983: deska AND-1



Viz. též složitější TV hry s obvodem AY-3-8610 "Superstar",
nebo emulace AY-3-8500 Arduinem.



Tesla MAS601, MAS602 a MAS603

Aby mě to pak někdo nevyčetl, tak přidávám zmínku o sadě tří specializovaných integrovaných obvodů MAS601, MAS602 a MAS603, které zde za komunismu produkovala tuzemská Tesla. Jednalo se o specializuovanou sadu obvodů pro stavbu televizních her, jež Tesla vyráběla i sériově. Jejich zapojení a bližší informace o obvodech lze nalézt ve starých tesláckých katalozích. Bohužel je dnes mnohem snažší sehnat AY 3-8500, než tyhle MAS 60x obvody. Zatím jsem se jim tedy více nevěnoval.


Publikováno: někdy po roce 2014    
Update: 6/2020    



« RET          ↑ TOP ↑          HOME


Odladěno na MS IE 8.0 a Firefoxu při rozlišení min. 1024 x 768 pixelů
www.NOSTALCOMP.cz    2010  -  2020