Czy kiedykolwiek marzyłeś o programowaniu na starym komputerze? Używając języka BASIC oraz emulując legendarny Apple II w przeglądarce, możesz to zrobić w bardzo prosty sposób! Poznasz, jak wyglądało programowanie w końcu lat siedemdziesiątych i na początku osiemdziesiątych.
Jeśli posiadasz prawdziwego Apple II, możesz również spróbować samodzielnie. W przeciwnym razie skorzystamy z wygodnego emulatora Apple II, znanego jako Apple ][js, stworzonego przez Willa Scullina. Przeprowadzimy Cię przez podstawy języka BASIC oraz uruchomimy dwa proste programy.
Znaczenie Apple II
Wprowadzony na rynek w 1977 roku, Apple II był częścią nowej generacji małych, przystępnych cenowo komputerów, które stały się możliwe dzięki technologii mikroprocesorowej. Te osobiste komputery umożliwiły ludziom posiadanie i użytkowanie własnych maszyn z dużą łatwością. Wcześniej większość komputerów była kosztowna i należała głównie do dużych organizacji.
Apple II wyróżniał się niską ceną i kolorową grafiką. Posiadał także siedem wewnętrznych slotów rozszerzeń, które współpracowały z najtańszym systemem dysków elastycznych tamtych czasów, Disk II. Dzięki geniuszowi w projektowaniu obwodów Steve’a Wozniaka, wszystkie te funkcje mogły zmieścić się w niewielkiej obudowie desktopowej z lekkiego plastiku.
Apple II okazał się ogromnym sukcesem dla firmy Apple. W trakcie swojego około 16-letniego istnienia (został wycofany z produkcji w 1993 roku), platforma Apple II gościła siedem wersji pierwotnego projektu komputera Wozniaka. Typowy komputer Apple II był wyposażony w 48 lub 64 KB pamięci RAM oraz procesor 6502 o częstotliwości 1,022 MHz. Można było programować każdy model w BASIC-u.
Podstawy języka BASIC
Od końca lat 70. do początku lat 80. większość osobistych komputerów była wyposażona w język programowania znany jako BASIC, co oznacza „Beginners’ All-purpose Symbolic Instruction Code”. BASIC powstał w 1964 roku na Dartmouth College Time Sharing System. Szybko stał się popularnym narzędziem edukacyjnym w nauczaniu informatyki ze względu na swoją łatwość użytkowania.
Apple II dostarczany był z dwoma głównymi wersjami BASIC w ciągu lat: Integer BASIC Wozniaka oraz Applesoft. Microsoft stworzył Applesoft na długo przed tym, jak stał się znany dzięki systemowi Windows.
W niniejszym artykule używamy Applesoft BASIC.
Kilka wskazówek dotyczących składni
Każdy program BASIC na Apple II składa się z linii kodu. Każda linia ma przypisany numer, a gdy program jest uruchamiany, komputer wykonuje każdą linię w porządku numerycznym, od najmniejszego do największego. Każda linia jest wprowadzana do pamięci komputera poprzez naciśnięcie klawisza Return.
Te trzy podstawowe polecenia BASIC zawsze będą przydatne:
W dowolnym momencie podczas programowania możesz zobaczyć zawartość swojego programu, wpisując polecenie LIST.
Aby rozpocząć nowy program (usuwając bieżący program z pamięci), wpisz NEW.
Aby wyczyścić ekran, wpisz HOME.
Jeśli popełnisz błąd podczas wpisywania programu, Apple II zwróci błąd „SYNTAX ERROR” po uruchomieniu programu, wskazując numer linii, w której wystąpił błąd. Wystarczy ponownie wpisać problematyczną linię, sprawdzając przy tym ewentualne literówki.
Rozumiesz? Zacznijmy!
Twój pierwszy program
Pierwsze, co zrobimy, to napisać bardzo prosty program, który liczy w górę w nieskończoność. To szybki sposób na sprawdzenie, czy BASIC działa poprawnie na danym systemie.
Jeśli masz prawdziwego Apple II, włącz go. Upewnij się, że korzystasz z maszyny z Applesoft w ROM, takiej jak Apple II Plus lub nowszej, lub z oryginalnego Apple II z odpowiednią kartą językową.
Jeśli śledzisz to bez prawdziwego Apple II, otwórz nowe okno przeglądarki, aby uzyskać dostęp do emulatora Apple ][js. Apple ][js wykorzystuje JavaScript do symulacji obwodów prawdziwego Apple II w oprogramowaniu. W praktyce uruchamiasz cały system Apple II w przeglądarce internetowej (najlepiej działa w Google Chrome).
Gdy po raz pierwszy załadujesz emulator (lub uruchomisz Apple II bez systemu dysków elastycznych), zobaczysz ekran podobny do poniższego.
Naciśnij lub kliknij „Reset”.
Usłyszysz dźwięk beep, a następnie zobaczysz znak „]” z migającym kursorem.
W konsoli wpisz następujące komendy, naciskając klawisz Enter (lub Return) na końcu każdej z nich:
10 X=X+1 20 PRINT X 30 GOTO 10
Jeśli popełnisz błąd, użyj klawisza strzałki w lewo na klawiaturze, aby przesunąć kursor w lewo i wprowadzić poprawki. Nowe znaki, które wpiszesz, zastąpią te stare. Możesz również wpisać całą linię od nowa.
Za każdym razem, gdy wpisujesz linię z danym numerem, BASIC zastępuje wszystko, co wcześniej było zapisane pod tym numerem, nowym wpisem.
Kiedy używasz BASIC-a w starszym systemie, takim jak Apple II, linie często numerowane są jako wielokrotności 10. Daje to miejsce na późniejsze dodawanie nowych linii kodu, jeśli zajdzie taka potrzeba.
Następnie wpisz LISTA, a następnie naciśnij klawisz Enter (lub Return), aby zobaczyć listę swojego programu.
Jeśli przypadkowo wpiszesz linie, których nie potrzebujesz (na przykład wpisałeś 32 zamiast 30), wystarczy wpisać numer tej linii i nacisnąć Enter (lub Return), aby ją usunąć.
Jeśli wszystko wygląda dobrze, czas uruchomić program. Wpisz RUN po znaku zachęty] i naciśnij klawisz Enter (Return).
Program będzie liczył w górę o jeden w nieskończoność, wyświetlając każdą liczbę w nowym wierszu na dole ekranu.
Aby zatrzymać program, naciśnij Ctrl + C. Przerwie to działanie programu.
Jak działa ten program? Rozłóżmy to na linijki:
10 X=X+1 20 PRINT X 30 GOTO 10
Linia 10: Informujemy program, że zmienna „X” ma być zwiększana o jeden. Na początku programu „X” wynosi zero, więc w pierwszym przebiegu program dodaje jeden do zera, uzyskując jedynkę.
Linia 20: Program używa polecenia PRINT, aby wyświetlić wartość zmiennej „X” na ekranie.
Linia 30: Używamy polecenia GOTO, aby skierować program z powrotem do linii 10 w pętli. Wartość zmiennej „X” (już zwiększona o jeden) wraca do linii 10, a program powtarza ten proces w nieskończoność, licząc w górę i wyświetlając wynik w każdej iteracji.
Prosty program z wejściem
Teraz, gdy już wiesz, jak pisać, wyświetlać, uruchamiać i przerywać program, przyjrzyjmy się programowi, który może przetwarzać dane wejściowe, które mu podasz.
Najpierw wpisz NEW i naciśnij Enter (Return). Usunie to nasz poprzedni program z pamięci, abyśmy mogli zacząć od nowa.
Wpisz następujące linie, naciskając Enter (Return) na końcu każdej z nich:
10 PRINT "WHAT IS YOUR NAME?" 20 INPUT N$ 30 PRINT "HELLO, ";N$
Po zakończeniu, wpisz LIST, aby upewnić się, że wszystko zostało poprawnie wprowadzone.
Następnie wpisz RUN i naciśnij Enter (Return), aby go uruchomić. Program zapyta o Twoje imię (?). Wpisz swoje imię i naciśnij Enter (Return), aby odpowiedzieć na pytanie.
Jak za sprawą jakiejś tajemnej magii, program znał Twoje imię i odpowiedział! Jak to działa? Przyjrzyjmy się każdej linii:
10 PRINT "WHAT IS YOUR NAME?" 20 INPUT N$ 30 PRINT "HELLO, ";N$
Linia 10: Program wyświetla tekst na ekranie. Każdy tekst, który chcesz WYDRUKOWAĆ, musi być umieszczony w cudzysłowie.
Linia 20: Program prosi o INPUT od Ciebie i zapisuje wynik w zmiennej o nazwie N$. Znak dolara oznacza, że jest to zmienna typu łańcuchowego.
Linia 30: Program wyświetla „HELLO,” po którym następuje spacja, a następnie wyświetla wartość zmiennej N$. Średnik informuje program, aby wypisał N$ w tym samym wierszu, bez przechodzenia do nowej linii.
Podsumowanie
Teraz, gdy miałeś okazję spróbować programowania w BASIC na Apple II, możesz pochwalić się znajomym, że potrafisz programować na starym komputerze! Możesz nawet skontaktować się z Steve’em Wozniakem na Twitterze.
Jeśli chcesz zgłębić temat Applesoft BASIC, polecamy wspaniały poradnik online autorstwa Yuri Yakimenko, który zawiera więcej szczegółów niż te przedstawione tutaj. Jest także przydatne szybkie odniesienie do poleceń Applesoft BASIC.
Pełen skan Podręcznika programowania BASIC dla Apple II z 1978 roku jest również dostępny. Zawiera szczegółowe informacje na temat zapisywania i ładowania programów.
Tysiące niesamowitych gier i aplikacji zostało zaprogramowanych w Applesoft przez ostatnie 42 lata, więc możliwości są naprawdę nieograniczone. (Oczywiście ilość pamięci RAM w Twoim komputerze jest ograniczeniem, ale to mniej poetycki sposób na ujęcie tego tematu.)
Wszystkich weteranów Apple II zachęcamy do dzielenia się swoimi historiami o programowaniu w BASIC w komentarzach. Życzymy miłego programowania!