Papírový počítač CGS

31. 12. 2002
Doba čtení: 7 minut

Sdílet

Každý člověk, který kdy přišel do styku s počítačem (a tedy i každý z nás, čtenářů root.cz), má určité období svých počítačových začátků. Kdy toto období začalo a jaké okolnosti ho provázely, je značně individuální, závislé na mnoha vnějších okolnostech. V tomto oddechovém článku bych vás rád zavedl zpátky do období tvrdé totality a seznámil vás s jedním málo známým fenoménem své doby, mým prvním počítačem, papírovým CGS…

Jako za většinu papírových „hraček“ té doby, mohl za něj časopis ‚ABC mladých techniků a přírodovědců‘. To byl ve své době nejlepší časopis svého druhu. Jeho vysoká oblíbenost byla ovlivněna i přílohami na tvrdém papíře, tzv. déčky, přičemž asi nejvíce táhly vystřihovánky. Měl jsem to štěstí, že můj dědeček měl ‚známého v trafice‘, takže ABC, které bylo pro běžného smrtelníka takřka nedostupné, se pravidelně objevovalo i u nás doma. Ale pro papírový počítač musíme ještě trošku dál do historie…

Psal se rok 1986. Chodil jsem do osmé třídy základní školy a byl jsem pravidelným čtenářem časopisu ABC. Mým jediným výpočetním nástrojem byla kalkulačka Sharp EL-540. Také jsem chodil do dětské knihovny. Zde se při troše štěstí dalo občas narazit na svázané výtisky starších ročníků zmíněného časopisu. Zubožené výtisky. Velice zubožené výtisky. Předchozí čtenáři především zcela vyplenili (asi tak jako APOBAB v jednom z příběhů Čtyřlístku) výše zmíněná déčka. Až jednou… Mezi běžnými měkkými listy se objevilo pár tvrdších. A na nich něco, co jsem tehdy ještě nedokázal zcela pochopit. A zřejmě to nechápali ani předchozí čtenáři – plenitelé. Nedokážu si totiž jinak vysvětlit, že tento skvost zůstal ušetřen. Co neudělali jiní, jsem díky své fascinaci udělal sám (tímto se dodatečně hluboce omlouvám dětskému oddělení tehdejší Okresní knihovny v Prostějově)…

A o jaký skvost že se to jednalo? Cituji:

Programovaný počítač a protihráč CGS
Novinka ABC!

O pár řádků níže vybírám:

A ještě na vysvětlení: CGS znamená „Computer Game System“, což je mezinárodní označení pro všechny počítačové hry.

Ptáte se, ve kterém roce tento papírový počítač vyšel? Nedokážu odpovědět. Nápovědou by mohlo být, že na jeho rubu je návod k vystřihovánce vozu Formule 1 Ferrari 312 T2, se kterým jezdil v roce 1976 Niki Lauda… Pokud je mi známo, bylo vydání vystřihovánky papírového počítače později pro velký úspěch ještě jednou zopakováno a údajně CGS vyšel i v časopise VTM. Kdyby snad některý ze čtenářů věděl, nechť se mi nestydí ozvat. Ale teď již hurá k popisu hardware!

Hardware

Papírový počítač je, kdo by to byl čekal, vyroben celý z papíru. Prvotní sestavení spočívalo v několika krocích:

  • podlepení stránky formátu A4 další vrstvou papíru (nejlépe tvrdého)
  • dokonalé proschnutí pod zátěží
  • vystřižení dle vytištěných obrysů
  • provedení dvou řezů žiletkou pro „okno“ s programem
  • provedení dvou řezů žiletkou pro indexový registr
  • provedení dvaceti řezů žiletkou pro deset paměťových registrů
  • přeložení počítače, aby vznikla přední a zadní strana

Na zadní straně počítače není vytištěno nic zvláště interesantního, pouze krátký návod, takže se rovnou vrhněme na čelní panel. V levém horním rohu čelního panelu je vytištěno logo časopisu ABC a CGS, vpravo od něj pak štěrbiny ventilace. V levém spodním rohu je popis základních programových příkazů. Mezi těmito třemi designérskými prvky je vlevo dvojice štěrbin pro indexový registr ‚i‘, vpravo od nich pak dvojice štěrbin pro program. Pravá část čelního panelu je zcela vyhrazena deseti paměťovým registrům ‚R0‘ až ‚R9‘, tzn. dalším deseti párům štěrbin.

Vystřihovánka
Originál stránka s vystřihovánkou

Stále hovoříc o řezech žiletkou a párech štěrbin zřejmě dlužím vysvětlení, jak to s nimi je. Program, stejně jako každý registr, je tvořen papírovým páskem. Většina každého tohoto pásku je stále ukryta pod čelním panelem a jen malá část, ta která má být právě vidět, je štěrbinou vyvedena na čelní panel a vzápětí druhou štěrbinou odvedena zpátky. Díky tomu je z programu vždy vidět právě jen jeden řádek a podobně je to i u registrů. Registry totiž fungují tak, že si na právě viditelný kousek pásku tužkou zapíšete aktuálně uloženou hodnotu. Pokud je potřeba zapsat hodnotu jinou, pásek se posune, hodnota zajede za čelní panel a objeví se nový kousek čistého papíru…

Mě osobně už tehdy přiváděla manipulace s pásky registrů k šílenství, takže jsem svůj počítač upravil na použití tzv. průsvitky. Místa, kde se měly zjevovat pásky registrů jsem nekompromisně přelepil ústřižky bílého papíru a celý počítač zasunul do průsvitky. (Průsvitka se používala občas ve škole. Jedná se o jakousi plastickou obálku, do které se vložil papír s nějakým testem a přímo na průsvitku se psaly obyčejnou tužkou odpovědi. Ty se potom daly gumou vymazat a průsvitka znovu použít. Nevím, zdali se to ještě používá.) Obsahy registrů jsem pak tedy vlastně psal přímo na čelní panel (průsvitku) a při zápisu nové hodnoty tu původní gumou vymazal.

CGS v akci
CGS v akci. Vlevo klasický pásek pro indexový registr, vpravo od něj pásek
programu. Registry na pravé straně již po úpravě pro použití s průsvitkou.

Software

Několik prvních programů bylo vydáno současně s vystřihovánkou počítače, další pak dodatečně. Já osobně mám ve své „sbírce“ třináct těchto programů. Ukážeme si jeden z nich, můj nejoblíbenější, hru ‚Přistání na Měsíci‘:

  výška [m] -> R0
  rychlost [m/s] -> R1
  max. tah motorů [kN] -> R3

  hmotnost modulu [kg] -> R4
A motorová páka [%] -> R5
  1,62 - 10(R5 R3 : R4) -> R6
  R0 - R1 - (R6 : 2) -> R0
  R1 + R6 -> R1
  R2 - (R5 R3 : 240) -> R2

  IF R2 <= 0; 0 -> R3 -> R2
  IF R0 <= 0; GTO B
  JSI VE VÝŠCE R0 [m]
  KLESÁŠ RYCHLOSTÍ R1 [m/s]
  ZBÝVÁ TI PALIVA R2 [kg]
  GTO A
B PŘISTÁL JSI RYCHLOSTÍ R1 [m/s]
  ZBYLO TI PALIVA R2 [kg]

Toto je jen vlastní kód. „Omáčka“ okolo ještě obsahuje úvodní příběh, doporučené inicializační hodnoty a samozřejmě také vyhodnocení (např. pro přistávací rychlost vyšší než 10m/s je vyhodnocení ‚měli jsme tě rádi!‘.

Myslím, že syntaxi ani není třeba příliš rozebírat. Ten, kdo už někdy přišel do styku s nějakým programovacím jazykem, pochopí. Snad jen, že šipka je přiřazovací příkaz a tudíž zapisuje výslednou hodnotu výrazu do registru na který ukazuje. Vykonání jednotlivého řádku programu prostě spočívá ve výpočtu výrazu (ručně či na kalkulačce) na něm uvedeného a zapsání výsledku do registru. Případně ve vykonání podmínky (IF) nebo skoku (GTO). A pak se prostě jen posune pásek s programem… :-)

Programy
Programy, tak jak byly tištěny v časopise

Ano, dnes je to jasné, ale tehdy? Musel jsem si návod několikrát přečíst a trvalo mi docela dlouho, než jsem pochopil. A pak jsem TO vítězoslavně donesl do školy předvést kamarádům. Jaké bylo mé překvapení, když mi někteří z nich řekli: „Jóóó, to známe, ale s tím nikdo neumí dělat.“ JÁ to ale uměl. A jeden z kamarádů po CGS zatoužil natolik, že jsem programy pro sebe opsal na psacím stroji a originál mu vyměnil za nějaké cetky (napadají mě mj. dva časopisy ‚Stern‘, v jednom z nich byl tehdy rozsáhlý článek o havárii raketoplánu Challenger, co na tom, že jsem neuměl a neumím německy). Později jsem někde získal další kopii CGS, tu jsem znovu „sestavil“ a posléze upravil na výše zmíněnou průsvitku. Navíc mám ještě jednu kopii nesestavenou, bohužel s naprosto mizerným barevným soutiskem.

bitcoin školení listopad 24

K software bych rád na závěr ještě doplnil, že zdaleka ne všechny programy byly hry. Byly tu i takové užitečné a „užitečné“ věci jako ‚Gregoriánský kalendář‘ (výpočet dne v týdnu z data), ‚Rovnice‘ (kvadratické), ‚Ohmův zákon‘ nebo ‚Pravidelné spoření‘. A úplně na závěr se zmíním i o indexovém registru. Ten mohl nabývat hodnot 0 až 9 (byl to vlastně typ ‚int‘, na rozdíl od ‚R0‘ až ‚R9‘, které byly typu ‚float‘ :-D ) a používal se například při hraní „multiplayer“ her jako index aktuálního hráče. Byl použit například ve hře ‚Grand prix formule 1‘, kterou jsem však nikdy nehrál pro příliš velké množství potřebných výpočtů.

Závěr

Jak jste asi během čtení pochopili, nešlo o počítač v pravém slova smyslu. Byl to spíš takový papírový emulátor programovatelné kalkulačky. Ale i tak to byl můj první „počítač“ a klíč k pochopení programování. Bylo velmi příjemné, když jsem o pár měsíců později uviděl první program v jazyce BASIC a zjistil, ze ‚20 LET C = A + B‘ je přepisem ‚R0 + R1 -> R2‘ :-). A když se o dalších pár měsíců později objevil první počítač i u nás doma, už jsem se „vezl“… A „vezu“ se stále a doufám, že se vám můj netradiční článek a výlet do minulosti líbil.

Autor článku