Chtěli jste si někdy vyzkoušet programování na historickém počítači? Pokud máte rádi programovací jazyk BASIC a máte chuť vyzkoušet si simulaci legendárního Apple II ve vašem prohlížeči, máte jedinečnou příležitost! Získáte tak skvělou představu o tom, jak vypadalo programování na přelomu 70. a 80. let.
Samozřejmě, pokud jste majitelem skutečného Apple II, můžete se do toho pustit i na něm. V opačném případě si vystačíme s praktickým emulátorem Apple II s názvem jablko][js, jehož autorem je Will Scullin. Společně si projdeme základy jazyka BASIC a spustíme dva jednoduché programy.
Proč byl Apple II tak významný?
Počítač Apple II byl uveden na trh v roce 1977 jako představitel malé a cenově dostupné kategorie počítačů, které umožnila technologie mikroprocesorů. Tyto osobní počítače umožnily jednotlivcům vlastnit a ovládat své vlastní stroje s relativní lehkostí. Předtím byly počítače většinou nákladné a vlastnily je (nebo sdílely) jen velké organizace.
Apple II se odlišoval nízkou cenou a barevnou grafikou. Měl také sedm interních rozšiřujících slotů, které umožňovaly připojení k tehdejšímu nejlevnějšímu systému disketových jednotek, Disk II. Díky mistrovství Steva Wozniaka, jednoho ze spoluzakladatelů společnosti Apple, se podařilo všechny tyto funkce vměstnat do malého stolního počítače s lehkým plastovým pouzdrem.
Apple II zaznamenal pro Apple ohromný úspěch. Během zhruba 16 let své existence (výroba byla ukončena v roce 1993) platforma Apple II hostila sedm verzí původního Wozniakova návrhu. Typický počítač Apple II měl 48 nebo 64 KB RAM a procesor 6502 s frekvencí 1,022 MHz. Každý model bylo možné programovat v jazyce BASIC.
Základy jazyka BASIC
Od konce 70. let do začátku 80. let většina osobních počítačů obsahovala programovací jazyk známý jako BASIC, což je zkratka pro Beginners‘ All-purpose Symbolic Instruction Code. BASIC vznikl v roce 1964 na systému Dartmouth College Time Sharing System. Díky své jednoduchosti se rychle stal oblíbeným vzdělávacím nástrojem v oblasti informatiky.
Apple II se během své historie dodával se dvěma hlavními verzemi jazyka BASIC: Wozniakovým Integer BASIC a Applesoft. Společnost Microsoft vytvořila Applesoft dávno předtím, než se proslavila díky systému Windows.
Pro účely tohoto článku budeme používat Applesoft BASIC.
Několik tipů k syntaxi
Každý program v jazyce BASIC na počítači Apple II se skládá z řádků kódu. Každý řádek má své číslo, a když se program spustí (příkazem RUN), počítač vykonává jednotlivé řádky v číselném pořadí od nejmenšího k největšímu. Každý řádek se uloží do paměti stisknutím klávesy Enter.
Tyto tři základní příkazy BASIC se vám budou hodit:
Kdykoli během programování si můžete zobrazit obsah svého programu zadáním příkazu LIST.
Pro zahájení nového programu (smazání aktuálního programu z paměti) zadejte NEW.
Pro vymazání obrazovky zadejte HOME.
Pokud uděláte chybu při psaní programu, Apple II zobrazí po spuštění programu hlášku „SYNTAX ERROR“ a uvede číslo řádku, kde k chybě došlo. Jednoduše přepiště chybný řádek a zkontrolujte případné překlepy.
Rozumíte? Můžeme začít.
Váš první program
Nejprve si napíšeme velmi jednoduchý program, který bude donekonečna počítat směrem nahoru. Je to rychlý způsob, jak otestovat, zda BASIC na daném systému funguje správně.
Pokud máte skutečný počítač Apple II, zapněte jej. Ujistěte se, že používáte stroj s verzí Applesoft v paměti ROM, jako je například Apple II Plus nebo novější, případně originální Apple II s příslušnou jazykovou kartou.
Pokud nemáte k dispozici skutečný Apple II, otevřete si ve svém prohlížeči okno s emulátorem Apple ][js. Apple ][js používá JavaScript pro simulaci obvodů skutečného Apple II v softwaru. V podstatě budete ve webovém prohlížeči provozovat celý systém Apple II (nejlépe funguje v Google Chrome).
Při prvním načtení emulátoru (nebo spuštění Apple II bez disketové jednotky) se zobrazí obrazovka podobná té na obrázku níže.
Stiskněte nebo klikněte na „Reset“.
Uslyšíte pípnutí a uvidíte „]“ s blikajícím kurzorem.
Na výzvu zadejte následující a stiskněte Enter (nebo Return) na konci každého řádku:
10 X=X+1 20 PRINT X 30 GOTO 10
Pokud se dopustíte chyby, stačí pomocí levé šipky na klávesnici přesunout kurzor zpět a provést opravu. Nové znaky, které zadáte, přepíší staré. Můžete také znovu zadat celý řádek.
Pokaždé, když zadáte řádek kódu s určitým číslem, BASIC nahradí vše, co bylo dříve uloženo na tomto čísle řádku, novým vstupem.
Při používání jazyka BASIC na starším systému, jako je Apple II, je běžné číslovat řádky násobky deseti. To vám dává prostor pro pozdější přidání nových řádků kódu mezi stávající.
Nyní zadejte LIST a stisknutím klávesy Enter (nebo Return) zobrazte seznam vašeho programu.
Pokud se vám náhodou objeví řádky, které nepotřebujete (například jste zadali 32 místo 30), zadejte číslo řádku a stisknutím klávesy Enter (nebo Return) jej odstraňte.
Pokud vše vypadá v pořádku, je čas spustit program. Na výzvu ] zadejte RUN a stiskněte Enter (Return).
Program neustále přičítá jedničku a každé číslo vypisuje na nový řádek ve spodní části obrazovky.
Chcete-li program zastavit, stiskněte Ctrl+C. Tím dojde k PŘERUŠENÍ programu a jeho zastavení.
Jak tedy tento program funguje? Pojďme si ho rozebrat řádek po řádku:
10 X=X+1 20 PRINT X 30 GOTO 10
Řádek 10: Zde programu říkáme, že proměnná s názvem „X“ se rovná sama sobě plus jedna. Na začátku programu se „X“ rovná nule. Takže při prvním průchodu program přičte jedničku k nule, výsledkem je jedna.
Řádek 20: Program pomocí příkazu PRINT zobrazí obsah proměnné „X“ na obrazovce.
Řádek 30: Příkazem GOTO pošleme program zpět na řádek 10, a tím se program opakuje. Hodnota proměnné „X“ (nyní navýšená o jedničku) je vrácena zpět do řádku 10. Program pak tento proces opakuje donekonečna, počítá nahoru po jedné a pak tiskne výsledek v každé smyčce.
Jednoduchý vstupní program
Nyní, když jste si vyzkoušeli psaní, výpis, spouštění a přerušení programu, podívejme se na program, který dokáže pracovat se vstupem, který mu zadáte.
Nejprve zadejte NEW a stiskněte Enter (Return). Tím vymažete náš poslední program z paměti, takže můžeme začít znovu.
Zadejte následující řádek po řádku a po každém z nich stiskněte Enter (Return):
10 PRINT "WHAT IS YOUR NAME?" 20 INPUT N$ 30 PRINT "HELLO, ";N$
Až budete hotovi, vypište LIST programu, abyste znovu zkontrolovali, zda jste jej zadali správně.
Poté zadejte RUN a stisknutím klávesy Enter (Return) jej spusťte. Program vás požádá o zadání (?). Napište své jméno a stiskněte Enter (Return) pro zodpovězení otázky.
Jako nějakým tajemným kouzlem program znal vaše jméno a promluvil k vám! Jak to fungovalo? Podívejme se na jednotlivé řádky:
10 PRINT "WHAT IS YOUR NAME?" 20 INPUT N$ 30 PRINT "HELLO, ";N$
Řádek 10: Program zobrazil na obrazovce textový řádek. Každý text, který chcete vytisknout, musí být v uvozovkách.
Řádek 20: Program vás požádá o INPUT a uloží výsledek do proměnné N$. Znak dolaru je zkratka pro „řetězec“. Každá proměnná, která obsahuje písmena, musí být proměnná typu řetězec.
Řádek 30: Program zobrazil text „Hello, “, za ním čárku a mezeru, a poté vytiskl obsah proměnné N$. Středník programu sdělil, aby vytiskl N$ na stejný řádek bez vložení konce řádku.
Poškrábání povrchu
Nyní, když jste si vyzkoušeli BASIC na Apple II, můžete svým přátelům říci, že jste naprogramovali starý počítač! Vlastně to můžete říct i Stevu Wozniakovi na Twitteru.
Pokud se chcete více ponořit do jazyka Applesoft BASIC, doporučujeme tento vynikající online tutoriál od Yuriho Yakimenka. Jde do mnohem větší hloubky, než jsme zde probírali. Najdete zde také užitečný rychlý přehled příkazů jazyka Applesoft BASIC.
K dispozici je také kompletní sken Základního programovacího manuálu pro Apple II z roku 1978. Detailně popisuje, jak ukládat a načítat programy.
Za posledních 42 let byly v jazyce Applesoft naprogramovány tisíce úžasných her a aplikací, takže je jen na vás, co s ním dokážete. (Ve skutečnosti je limitován množství RAM ve vašem počítači, ale to zní o dost méně poeticky.)
Všechny veterány Apple II bychom rádi požádali, aby se s námi v komentářích podělili o své příběhy o používání jazyka BASIC. Příjemné programování!