Jiří Bernášek 21. října 2025

Obvody MAS601 vs AY-3-8500 pod detektivní lupou

V předchozích dvou článcích jsme si podrobně prohlédli unikátní herní konzoli XD-8001 z Piešťanské Tesly, z pohledu uživatele, vnitřku přístroje, i struktury samotných integrovaných obvodů, které celou hru řídí. Tento závěrečný článek uzavře naši dobrodružnou cestu historickou herní technologií několika ukázkami zajímavých nálezů ve struktuře čipů, a konečně i srovnáním kvalit MAS601-603 s podobně zaměřeným, celosvětově dominantním čipem AY-3-8500, jehož zdokumentování se výborně zhostil Cole Johnson. Nutno ale hned zkraje říci, že zde budeme nahlížet do detailů i drobných bolístek obou projektů, které sice přinášejí zajímavý pohled na způsob jejich vzniku a styl práce autorů, nelze je však chápat negativně. Každý projekt je totiž přirozeně různými obtížemi a chybičkami doprovázen, což se s příchodem stále komplikovanějších systémů rozhodně nezlepšuje, a průkopníkům, schopným již před půlstoletím s tehdejšími omezenými možnostmi navrhovat takovéto čipy, patří rozhodně moje poklona.

Srovnání her s MAS60x vs. AY-3-8500 z uživatelského hlediska jsme se již podrobně věnovali v prvním článku. Jak jsme zjistili, jsou víceméně srovnatelné, avšak existují mezi nimi i rozdíly, jako jsou odrazy míče od pálek a středové sítě, větší odlišení fotbalu od ostatních her, rozdíly v podání míče, zhasínání zobrazeného skóre a další detaily. Nemáme také hry se světelnou puškou.

Z historického hlediska je zajímavé, jak ani na západě to neměly první hry úplně snadné. Za slavnějším protějškem Piešťanských čipů totiž stojí až pozoruhodně stejný příběh, který se jen odehrál o nějaké 3 roky dříve, na opačné straně Evropy. Začátek projektu v neoficiální rovině a jeho poměrně dlouhé trvání, návaznost na dřívější čipy pro televizory, rozsah a vývoj detailů hry, nebo i velmi podobné technologie s přidanou nitridovou vrstvou, to vše je oběma projektům společné.

Mezi největší rozdíly obou her patří větší využití analogového principu v Piešťanské verzi, kde vlastně veškerý pohyb vzniká právě analogově. Vzhledem k nižšímu pixelovému rozlišení, danému dostupnou technologií, je to i za cenu více vnějších součástek pochopitelná volba. Obvod AY-3-8500 naproti tomu řeší pohyb míče digitálně, a tedy bez vnějších součástek, pomocí čítače s měnícím se fázovým posunem vůči synchronizaci obrazu. Rozlišení ve vodorovném směru ovšem ani zde není nijak oslnivé - s hodinovým kmitočtem 2MHz dosahuje asi 80 pixelů, což pro míč vyhovuje prakticky jen díky jeho rychlému pohybu. Poloha pálek je i zde analogová (při ovládání potenciometrem by se jiné řešení hledalo jen těžko), trpí stejnými neduhy v podobě skrývání pálek do mantinelů na koncích jejich dráhy, a za technické řešení bych zde přiznal pomyslný bod spíše Piešťanské verzi. Vstup MAS603 totiž z ovladače vzorkuje stabilní napěťovou úroveň (se kterou by se hypoteticky dalo i dále pracovat ve smyslu dalších variant hry), zatímco AY-3-8500 (i další systémy ve světě) nabíjí časovací kondenzátor přímo přes potenciometr v ovladači, čímž se nutně vliv kabeláže propisuje do stability pálek, prakticky bez možnosti nějaké filtrace.

Překvapí také srovnání počtu tranzistorů. AY-3-8500 má sice navíc dvě střelecké hry a digitální pohyb míče, přesto se počet jeho 3213 tranzistorů, ve srovnání s pouhými 1043 tranzistory v trojici MAS601-603, jeví jako nápadně vysoký. Při pohledu na strukturu čipů AY a MAS601 (v minulém článku) lze také vidět jeden nápadný rozdíl: Zatímco v případě MAS601 vidíme krásně vyladěnou strukturu, v níž sousedící části dobře spolupracují na krátké vzdálenosti, čip AY-3-8500 obětuje poměrně velké plochy na vedení četných signálů mezi vzájemně vzdálenými bloky. Struktura jeho logiky je celkově ve srovnání s MAS601 méně optimalizovaná, jak lze vidět například ve funkčně zcela totožném počítání a zobrazování skóre. AY dekóduje každé ze 16 čísel zvlášť, až následně je slučuje, převádí na jakési displejové segmenty, které posléze dekóduje do výsledného rastru, navíc zobrazeného s useknutým pravým okrajem (nejspíš vlivem časového zpoždění při celé té legraci). Potřebuje na to 614 tranzistorů, zatímco MAS601 totéž zvládá s pouhými 342 tranzistory, a ještě díky plnohodnotné bitmapě může jedničku umístit esteticky lépe, na střed políčka.

V podobném duchu se nesou i rozdíly v základu časování obou čipů. AY-3-8500 používá pouhé dva čítače (horizontální a vertikální), implementované v tehdy oblíbeném zjednodušení jako posuvné registry. Takový obvod sice nepočítá v klasické binární posloupnosti, je však znatelně jednodušší - zdánlivě tedy AY-3-8500 boduje značným zjednodušením. Jenže ouvej! Zatímco výstupy kaskády různorodých čítačů v MAS601 mohou díky dobrému přizpůsobení celé struktury přímo řídit různé části herní logiky, v případě AY jsou ke zvládnutí výstupu čítačů nutné ještě dekodéry, takže výsledná bilance již tak růžová není. Výhodou AY-3-8500 nicméně zůstává možnost pružnější volby časování jen malými změnami v dekodéru, díky čemuž má výstupní signál AY skutečně správných 312 řádků, a mohly být snadno prováděny i změny v pozdějších revizích obvodu, např. verze s 262 řádky pro export do zemí s 60Hz televizním standardem (AY-3-8500-1).

Obr. 2: Schéma herní logiky z minulého článku (původně ing. Vladimír Áč, výběr s doplněním)

Nechtěl bych před sobě podobnými zvědavci zatajit ani okrajovější zajímavosti, proto se nyní zkusme chopit oné pomyslné lupy z titulu článku, a podívat se na stopy po různých změnách na čipu MAS601. Jde o červeně zakreslené rozdíly na obrázku 2, který opakuji z minulého článku. Když si zopakujeme v trochu jiné podobě i další obrázek (obr. 3), najde detektivní oko drobné stopy po změnách: Pravděpodobné původní trasy (podél přerušovaných čar) prozrazuje jednou cesta nezvykle přetažená za obrys tranzistoru, podruhé nadbytečné vybočení cesty směrem nahoru, navíc v místech, kde se i schéma zdá být pozměněno. V oválu úplně vpravo je pak nepochybně bývalý vstupní tranzistor (z pinu 10), který byl umrtven odstraněním "modré" vrstvy, a nahoře propojen paralelně k jinému tranzistoru vlevo.

Tuto změnu jsem na schématu naznačil variantou s oddělenými signály podání AS a AS*. V takovém zapojení by bylo možno vstupem přes pin 10 podání pouze zablokovat (pozastavit hru), nikoliv však urychlit - vždy by bylo třeba čekat na pokyn automatiky. Jak jsme však viděli, byl samostatný vstupní tranzistor částečně vymazán, a oba signály propojeny přes minule zmiňovaný odpor do signálu jediného, takže nakonec lze ruční podání tlačítkem provést i okamžitě po gólu. Zdá se však, že to mělo vliv i na další části hry.

Obr. 3: Příklady pravděpodobných změn ve struktuře čipu (levé foto: Sean Riddle)

V technické zprávě publikované Teslou v roce 1979, tedy při uvedení obvodů MAS60x, najdeme drobnou poznámku: "U her TENIS a FOTBAL není na závadu zvýšení skóre levé strany po ukončení hry o 1 bod (při Us=Uih)." Příčinou je patrně právě výše zmíněná úprava podání. Hra se totiž po dosažení 15 bodů zastaví tím, že signál KH již nedovolí návrat míče na hřiště - ovšem nově přidaná možnost okamžitého ručního podání (úrovní H na pinu 10) reaguje na vznik gólu tak rychle, že dokáže míč vrátit ještě před zastavením hry. Jak ukazuje schéma, levá strana hřiště tomu čelí vypnutím gólové čáry (těžko říci, zda i toto není změna), na straně pravé však stejná úprava chybí (naznačil jsem ve schématu přerušovaně), na čipu by si ostatně její provedení vyžádalo větší zásah. Není-li tedy pravá strana hřiště uzavřena mantinelem (při hrách pro jednoho), může zde teoreticky i po skončení hry ještě padnout poslední neviditelný gól.

V obvodech zvuku lze vidět stopy hned několika dodatečných změn. Zvukové efekty byly zřejmě v původní verzi kratší, odpojením signálu EC od výstupního hradla však byly později z původních 10ms prodlouženy na dvojnásobek. V pravé horní části schématu pak vidíme zcela vyřazenou část obvodu, která pravděpodobně měla po gólech vytvářet zvuk píšťalky rozhodčího. Schéma prozrazuje, že při zastavené hře (SKR) měl být posuvný registr při určitém stavu podání (AS) přes signál IV vždy po dokončení tónu opakovaně znovu naplněn. Tím by se kmitočet 500Hz ozýval přerušovaně v rytmu asi 16Hz (20ms zvuk a 40ms pauza), což mohla být docela zdařilá imitace píšťalky. Vliv signálu AS (podání míče) ovšem není zcela jasný. Dle původního schématu by píšťalka zněla při znovuzahájení hry (od vhození míče do průchodu sítí), stav na čipu však místo toho odpovídá píšťalce hned po gólu, v době čekání na automatické podání (nedořešený pull-down navíc budí dojem dodatečné změny). Po výše zmíněné úpravě vstupu podání by nicméně takto zapojená píšťalka zněla otravně po celou dobu pozastavené hry, což se zdá být důvodem jejího trvalého vypnutí.

V levé dolní části obrázku lze vidět další zvláštnost: Na původním schématu jsou tři vzájemně propojené vstupy logických hradel, které nejsou řízeny žádným obvodem. Vstupy měly být patrně ze schématu vymazány - na skutečném čipu je nenajdeme, zato tam můžeme vidět většinu zrušeného obvodu, který je měl řídit (zakresleno přerušovaně). Mělo se patrně jednat o klopný obvod R-S, aktivovaný signálem nulování (N) a vypínaný průchodem míče sítí (LS). V původně zamýšlené verzi tedy stačil jen krátký stisk tlačítka nulování (bez potřeby dodatečného kondenzátoru) a stav skóre 0:0 byl tímto klopným obvodem přidržen až do průchodu míče sítí - bylo tedy vyloučeno nechtěné připsání gólu navíc v začátku hry, ať už byla (analogová) pozice míče jakákoliv. Navíc bylo skóre 0:0 také zobrazeno na obrazovce. Klopný obvod musel ale zřejmě ustoupit opravě problému s nulováním vedle umístěných čítačů skóre, kde byl potřeba kousek místa navíc. Lze si snadno představit, jak neřešitelné muselo být vsunování nových prvků mezi existující struktury, když byl návrh tvořen na papíře. Začátek hry se tedy pak řešil už jen externími součástkami - přidržení resetu kondenzátorem a nastavení výchozí pozice míče diodami někam ke středu hřiště (kde nechtěný gól nehrozí a je to i uživatelsky hezčí).

Abychom si mohli znázornit, v čem vlastně zmíněná oprava čítačů skóre spočívala, ukážeme si dílčí schéma na úrovni jednotlivých tranzistorů. Třebaže kompletní schéma celého čipu nejspíš nikdy nakresleno nebylo, jednotlivé funkční bloky pochopitelně v originální dokumentaci podrobná schémata mají. Používaly se jako více či méně unifikované stavební kameny - je to vlastně trochu podobné používání knihoven v moderním programování, a přináší to ovšem i podobná úskalí: Moduly mohou být například pro konkrétní účel zbytečně komplikované, nebo zas jejich vzájemné vazby mohou přinášet nečekaná překvapení. Na obrázku 4 vidíme srovnání pěti různých obvodů, které všechny vykonávají tutéž funkci - bistabilní klopný obvod, obvykle tvořící jeden bit binárního čítače.

Obr. 4: Srovnání čítačů skóre

Vlevo nahoře máme jednoduchou verzi bez nulování, použitou v čítači C obvodu MAS601. Klopný obvod ze dvou tranzistorů uprostřed obrázku lze překlápět spojením jedné či druhé strany do země přes postranní tranzistory. To je řízeno dvojicí navzájem invertovaných hodinových signálů T: Při aktivním signálu /T se stav obou výstupů přes ležaté tranzistory překopíruje na hradla spodních stojatých tranzistorů, které svým sepnutím vytvoří vlastně jejich inverzi. Po vystřídání hodinových signálů (aktivní signál T) pak tato inverze (tam kde jde o úroveň země) skrz tranzistory nad nimi překlopí vlastní klopný obvod. V době této akce jsou již sice hradla spodních tranzistorů odpojena, protože však fungují jako malé kondenzátory, předchozí stav si na okamžik podrží. Obvod je tedy sice statický, avšak v momentě překlápění využívá přechodně i princip dynamické paměti k přidržení předchozího stavu. Hradla tranzistorů se po překlopení sice časem vybijí (a tranzistory uzavřou), ale to ničemu nevadí - svou práci již vykonaly. Dvojice navzájem inverzních výstupů je zpravidla přímo připojena na hodinové vstupy dalšího stupně čítače, který tak počítá 2x pomaleji - vzniká obvyklá vzestupná sekvence binárních čísel.

Chceme-li takový čítač vnějším signálem nulovat (například skóre na začátku hry), můžeme prostě dalším paralelně připojeným tranzistorem klopný obvod překlopit na požadovanou stranu (na obrázcích červeně). Potíž by ovšem nastala v případě, že je během nulování aktivita na hodinových vstupech, případně nejsou ještě zcela vybitá hradla spodních tranzistorů - pak se může stát, že jsou do země propojeny oba výstupy současně, a po konci nulování není tedy výsledný stav jistý (může být i opačný, než si přejeme). Čítač skóre tomu čelí vybitím hradel přídržných tranzistorů v době nulování dalšími přidanými tranzistory do země (zvýrazněno zeleně; důsledně vzato je levý z nich vlastně zbytečný, když nulování beztak levý výstup Q uzemnilo). Takto obvod na čipu MAS601 skutečně vypadá, ale vyskytla se dodatečně ještě další potíž. Pokud jsou totiž v době nulování hodinové vstupy v opačném stavu (aktivní vstup /T, což se u skóre bohužel asi stávalo), pak zeleně zakreslený tranzistor na pravé straně nechtěně uzemní pravý výstup pro změnu skrz otevřený ležatý tranzistor, a máme znovu tentýž problém. Proto byl v prvním stupni čítačů (zřejmě dodatečně) přidán ještě modrý tranzistor, který tuto cestu v kritickém momentu přeruší (další stupně čítače uvedený problém nemají, protože jejich vstupy přicházejí z předchozích, již vynulovaných stupňů). Získání prostoru potřebného pro tuto úpravu zřejmě pohltilo vedle ležící klopný obvod nulování, což je možná trochu škoda, když právě tento obvod původně po dobu nulování držel vstupy čítače v jednoznačném stavu, při němž mohly být spodní (zelené) tranzistory krajního stupně jednoduše odstraněny. Skutečně realizované řešení je ovšem samozřejmě univerzálnější.

Jiným způsobem byl tentýž problém řešen v obvodu automatického servisu (obrázek více vpravo), kde na čipu místo pro přidávání dalších obvodů mimo již existující cesty prostě není. Tyto klopné obvody jsou proto přidaným (modrým) tranzistorem při nulování vlastně uvedeny do nestabilního stavu, kdy jsou oba výstupy bez napětí, na čemž ani aktivita hodinových vstupů nic nezmění. Použití tranzistoru s vyšším odporem (podobného pull-upům) však vlastně tvoří odporový dělič, takže na pravém výstupu /Q přece jen nějaké malé napětí zůstane (byť k otevření tranzistorů nestačí). Po konci nulování si klopný obvod hledá stabilní stav - jakmile jeden z tranzistorů sepne, zablokuje tím druhý. Napětí obou výstupů se vlivem pull-upů vydá směrem k zápornému napájení, jak rychle to dovolí kapacity hradel (naznačené přerušovaně), přičemž výstup /Q má díky zmíněnému předpětí jistý náskok, a nejspíš tedy vyhraje. Jde z pohledu číslicové techniky o trochu nečistý trik, ale je i při prostorovém omezení dostatečně funkční (a koneckonců správná prodleva servisu není, na rozdíl od údaje skóre, pro uživatele až tak zásadní). Vidíme zde zároveň i jedno z úskalí používání typizovaných modulů: Použití plnohodnotného klopného obvodu pro pouhé zaregistrování prvního odrazu míče je vlastně nadbytečné, obvod se dalšími odrazy při delším pozastavení hry totiž dokáže překlápět i zpět do výchozího stavu, což je zde nežádoucí. Méně tranzistorů by zde bylo vlastně zlepšením.

Jak ke stejné funkci přistoupil o několik let dříve na opačné straně Evorpy autor čipu AY-3-8500 Duncan Harrower, vidíme pro srovnání v horní části obrázku. Obvod je to robustní, stačí mu jediný hodinový signál, je to nicméně z pohledu optimalizace jakýsi dinosaurus, který spotřeboval zhruba dvojnásobek tranzistorů. Jak tohle monstrum vlastně funguje? Vidíme tři klopné obvody, z nichž horní určuje stav výstupu, a podle něj vždy jeden ze spodních zůstává ve stavu (zleva doprava) L-H. Aktivací hodinového signálu (pravý okraj schématu) jsou pravé strany obou spodních obvodů uzemněny, takže zmíněný obvod se překlopí do stavu H-L, zatímco druhý zaujme přechodně nestabilní stav L-L (protože i jeho levá strana je uzemněna, vlivem obvodu o patro výše). Při skončení hodinového impulsu vyskočí pravá strana ze zmíněného nestabilního stavu na "H" a překlopí tím i horní (výstupní) klopný obvod. Podle předchozího stavu výstupu takto zapůsobí buď jeden, nebo druhý ze spodních obvodů, a výstup tak přejde do stavu opačného. Zajímavostí AY-3-8500 je, že každý stupeň dostává podmíněně hodinový vstup celého čítače - posloupnost binárních čísel tedy není dána zřetězením jednotlivých stupňů (jak bychom asi čekali), ale je explicitně řízena dodatečnými hradly. Druhý stupeň, který je naším příkladem, tedy dostane hodinový impuls, jen pokud již první stupeň dosáhl hodnoty "1" (o to se stará dvojice tranzistorů v pravém dolním rohu). Novější obvod AY-3-8605 (a následovníci), se ovšem již blíží verzi použité ve stejné době i v MAS601 (pravý obrázek): V podstatě celá spodní polovina zastává funkci zmíněných dvou ležatých tranzistorů, jinak je funkce totožná.

Obr. 5: Srovnání tří verzí oscilátoru

Další detektivní příběh začíná na čipu MAS603, v oblasti generátoru hodinového kmitočtu, kde lze rozeznat poněkud neobvyklou strukturu - jsou zde základy několika nepřipojených tranzistorů a vodivých cest. Světlo do této záhady vnáší původní vývojová dokumentace, z níž čerpá i můj srovnávací obrázek č. 5 (tranzistory jsem pro názornost označil písmeny, jde totiž o tři téměř shodné obvody). Obvod MAS601 si měl původně hodinový kmitočet vytvářet sám, pomocí vlastního vestavěného oscilátoru (na obrázku část "1" vlevo dole), kterému stačil jediný kondenzátor připojený z pinu 16 do země. Měl to být klopný obvod s hysterezí, který zároveň přes tranzistory řídil nabíjení/vybíjení kondenzátoru. Tato koncepce silně připomíná podobný Teslácký obvod MAS1008, navržený pravděpodobně ve stejné době pro zobrazování čísla zvoleného programu na obrazovce televizoru.

V našem případě však tento oscilátor zřejmě nefungoval dobře. Pustím-li se na tenký led dohadů a spekulací, považoval bych za hlavní důvod ne zcela vydařenou optimalizaci ve struktuře čipu: Jeden tranzistor (na obrázku písmeno B) je připojen k zemi skrz další tranzistor (A).

Abych lépe objasnil, co se mi na tom nezdá, připravil jsem si náčrty "1a" (kresleno jen pro názornost, všechny prvky na čipu jsou ve skutečnosti tranzistory). Malý obrázek úplně vlevo ukazuje část číslicového obvodu - dva spínače, které uzemní dva výstupy. Protože spínají vždy společně, lze obvod pro zjednodušení struktury čipu nahradit i verzí znázorněnou více vpravo - druhý spínač je sice zapojen na výstup prvního, funkce se však nemění: Buď jsou oba výstupy uzemněny, nebo rozpojeny. Takovouto optimalizaci na několika místech čipu skutečně najdeme, a byla očividně použita také v zakroužkovaném místě oscilátoru (které se tím i liší od původního schématu). Zde ovšem číhá zrada, neboť tento obvod je vlastně analogový. Nákresy tedy musíme rozšířit o vnitřní odpory tranzistorů a další vazby (verze vpravo od původních malých obrázků). Vidíme tedy vnější časovací kondenzátor, střídavě nabíjený a vybíjený spínači A+D, které zároveň slouží jako odpory k omezení proudu. Celý proces je řízen vstupy E+F, jejichž napětí jsem znázornil dvojicí čar v grafu pod schématy: Při sepnutí kontaktů A+B směřuje napětí směrem k zemi (neboli nahoru), přičemž prvky B+C drží vstup F o něco výše než vstup E. Jakmile i E dosáhne přerušovaně vyznačené hranice, obvod se překlopí, sepne se kontakt D a napětí zamíří dolů k zápornému napájení. Kontakt B je vypnutý, avšak prvek C nadále stahuje vstup F dolů se zhruba stejným rozdílem od vstupu E. Když i F dosáhne k přerušované hranici, dojde opět k překlopení, a celý cyklus se opakuje. My ovšem na čipu MAS601 máme (po optimalizaci) obvod zapojený podle obrázku více vpravo, tedy spínač B je připojený až za spínačem A. Jak vidíme, vstup F je v tomto případě při zapnutých kontaktech A+B spojen se vstupem E, takže je na obou stejné napětí. Po překlopení obvodu a sepnutí kontaktu D jde napětí vstupu E dolů, zatímco vstup F je vlastně odpojený - vlivem kapacity hradel tranzistorů si drží víceméně stejné napětí (znázorněno zvlněnou čárou), dokud napětí vstupu E nepoklesne natolik, aby se otevřel prvek C, a snížením napětí na vstupu F celý obvod překlopil. Kde je problém? Napětí na vstupu F se polovinu cyklu drží prakticky přesně na rozhodující hranici, což je poněkud riskantní stav. Do funkce obvodu pak mohou zasáhnout i malé rozdíly mezi jednotlivými tranzistory, nedokonalá izolace hradel atd., takže bude značně nespolehlivý.

Popsaný původní oscilátor na čipu MAS601 najdeme i dnes, byť jen v roli invertoru externího hodinového signálu, protože k úpravě obvodu již nedošlo. Snad to souvisí s omezenou možností změn, spíše se však nabízí další otázka, a sice přesnost výstupního kmitočtu. Původně zamýšlený kapacitní trimr rozsahem ani přesností nastavení příliš nevyniká, a kmitočet navíc musel značně záviset i na nabíjecím proudu, řízeném jen (teplotně závislým) odporem sepnutých tranzistorů na čipu. Mohlo to takto stačit pro MAS1008, který přebírá synchronizaci z ostatních částí televizoru, a vlastním oscilátorem určuje jen šířku zobrazených číslic, avšak hodinový kmitočet MAS601 řídí tvorbu kompletního videosignálu s poměrně přísnými požadavky na časování. V archivu dochovaný zlepšovací návrh z Piešťanské Tesly napoví, že povolená odchylka kmitočtu 875kHz nebyla o mnoho větší než 1%. Vyzkoušet si to dnes sice nemůžeme, ale domnívám se, že by s tím původní oscilátor měl problémy.

Další verze obvodu byla tedy vytvořena od základu znovu, na čipu MAS603, který disponoval více volnými piny. Zapojení je téměř stejné (výše zmíněná chybička zde ovšem není), otevření budících tranzistorů A+D je však nastavitelné pomocným napětím z odporového trimru na pinu 15. Přibyl samozřejmě i solidní výstupní budič pro spolehlivý přenos signálu do MAS601 (navzdory působení tam zachovaného starého oscilátoru). Tato verze existuje v dochované dokumentaci, a její zbytky také tvoří zmíněná záhadná místa v základu čipů MAS602+603 (v horním rohu obrázku jsem se pokusil nakreslit, jak asi struktura původně mohla vypadat). Kupodivu také ubylo několik modifikovaných obvodů pull-down (ty do jisté míry simulují chování indukčnosti, a tedy zmenšují zatížení/ovlivnění vysokofrekvenčního signálu).

Ani takto zřejmě oscilátor z nějakého důvodu nevyhovoval. Spekuloval bych zde asi právě o nestabilním kmitočtu, protože nabíjecí/vybíjecí proudy byly stále regulované jen prostým tranzistorem, ale mohlo to klidně být i jinak. V každém případě přišla dodatečná změna vrchní propojovací vrstvy čipu (obrázek vpravo dole), která obvod mírně pozměnila do konečné podoby: Zmizely budící tranzistory A+D, které při nabíjení kondenzátoru zastoupil externí nastavitelný odpor, přivedený zpětnou vazbou z plného napětí výstupu. Aby to bylo možné, zmizela i jedna inverze signálu (tranzistory K2+L2), a opuštěný sledovač řídícího napětí se stal prakticky zbytečným "pomocným tranzistorem" (na který dokonce zbyly dva volné piny). Výrobce ovšem zřejmě ani pak stabilitě oscilátoru moc nedůvěřoval, když do boku skříňky XD-8001 udělal díru pro jeho seřizování šroubovákem.

A jak je pro srovnání oscilátor řešen v případě AY-3-8500? V podstatě nijak. Spoléhá se buď na podpůrný obvod AY-3-8515 s krystalem a barevným videovýstupem (pak už ale nejde o systém na jediném čipu), častěji se však stavěl externí oscilátor z diskrétních součástek, který tak trochu ruší výhodu čipu s minimem vnějších prvků. AY potřebuje ve srovnání s trojicí MAS přibližně polovinu vnějších součástek také.

Ani obvod AY-3-8500 zkrátka nebyl dokonalý. Jestliže v případě MAS60x byl korektní start hry dodatečně řešen několika vnějšími diodami, tak i AY má své dodatečné diody, jak pro nulování, tak i kvůli zasekávání zvukových efektů v nejstarší verzi čipu. Zvuky odrazů se dle dostupných nahrávek často také ozývají vícenásobně či přebývají při vhození míče, zprava useknuté zobrazení skóre jsme již zmínili. V pozdější revizi čipu se pak měnil i vzhled a šířka některých čar, výška číslic, nebo velikost hřiště (zatímco čipy MAS se podobných vylepšení nikdy nedočkaly).

Nic to však nemění na faktu, že AY-3-8500 byl prostě ve správný čas na správném místě, a díky tomu celosvětově téměř úplně ovládl svoji generaci televizních her. Tomu se asi žádný jiný čip (ani Piešťanský) již nevyrovnal.

Zdroje:

  • Ing. Vladimír Áč: Technická dokumentace MAS600/601-603 (nepublikovaná pracovní verze, asi 1977-1978)
  • Ing. Vladimír Áč: Rozhovor pro spolek Herní historie (2025)
  • Sean Riddle: Fotodokumentace čipů MAS601-603 (online na https://seanriddle.com/tesla/)
  • Sada integrovaných obvodů ke konstrukci televizních her MAS601, MAS602, MAS603 (Technické zprávy, Tesla Rožnov, 1979)
  • Katalogový list AY-3-8500 (General Instrument)
  • Nathaniel Lockhart: An Interview With Duncan Harrower (“Pong-In-A-Chip” Inventor) (https://www.gamingalexandria.com/wp/2022/01/gilbert-interview/)
  • Cole Johnson: Games and Field Generation in the AY-3-8500 (https://nerdstuffbycole.blogspot.com/2018/09/games-and-field-generation-in-ay-3-8500.html)
  • Cole Johnson: Control and Sync Generation in the AY-3-8500 (https://nerdstuffbycole.blogspot.com/2018/08/control-and-sync-generation-in-ay-3-8500.html)
  • Cole Johnson: Shifting bits: How a PONG chip generates on-screen scores (https://nerdstuffbycole.blogspot.com/2018/09/shifting-bits-how-pong-chip-generates.html)
  • Cole Johnson: Shooter game in silicon: inside the AY-3-8605 chip (https://nerdstuffbycole.blogspot.com/2019/10/shooter-game-in-silicon-inside-ay-3.html)
  • Kalna Stanislav, Dejczö Peter, Uličný Rudolf: Meranie frekvencie riadk. synchropulsov pomocou čítača a tel. prijímača (Přihláška zlepšovacího návrhu, 1979, archiv Trnava)
  • Televizní hry s AY-3-8500 "Pong" (https://www.nostalcomp.cz/ay8500.php)
  • Grant Searle: 70's TV game recreation using an Arduino (Atmel ATmega328/168) processor (http://searle.x10host.com/AVRPong/index.html)