Чи виникало у вас коли-небудь бажання попрацювати з програмуванням на комп’ютері минулої епохи? Завдяки мові програмування BASIC та можливості запуску емуляції легендарного Apple II прямо у вашому браузері, це стає напрочуд легким завданням! Такий досвід надасть вам чудову перспективу щодо того, яким було програмування наприкінці 70-х та на початку 80-х років.
Звичайно, якщо ви є власником справжнього Apple II, ви також можете скористатися цим підходом. В іншому випадку ми застосуємо зручний емулятор Apple II, що називається apple][js, розроблений Will Scullin. Ми розглянемо основи BASIC і запустимо дві прості програми.
Чому Apple II був настільки важливим
Представлений у 1977 році, Apple II став частиною класу малих і доступних комп’ютерів, поява яких стала можливою завдяки технології мікропроцесорів. Ці персональні комп’ютери дозволили людям відносно легко володіти та користуватися власними машинами. До цього більшість комп’ютерів були дорогими і належали (або використовувалися спільно) великими організаціями.
Apple II виділявся завдяки своїй низькій вартості та кольоровій графіці. Він також мав сім внутрішніх слотів розширення, які працювали з найдешевшою на той час у світі системою гнучких дисків Disk II. Талант співзасновника Apple, Стіва Возняка, у розробці схем дозволив всі ці функції вмістити в невелику настільну машину з легким пластиковим корпусом.
Apple II став приголомшливим проривом для Apple. За приблизно 16 років свого існування (його виробництво було припинено в 1993 році), платформа Apple II випустила сім версій оригінальної конструкції комп’ютера Возняка. Типовий комп’ютер Apple II оснащувався 48 або 64 КБ оперативної пам’яті та процесором 6502 із тактовою частотою 1,022 МГц. Кожну модель можна було програмувати на BASIC.
Основи BASIC
З кінця 1970-х до початку 80-х років більшість персональних комп’ютерів мали мову програмування, відому як BASIC, акронім від Beginners’ All-purpose Symbolic Instruction Code (універсальний символьний код інструкцій для початківців). BASIC з’явився в 1964 році на системі спільного використання часу Дартмутського коледжу. Він швидко став популярним навчальним інструментом для інформатики завдяки своїй простоті у використанні.
Apple II випускався з двома основними версіями BASIC протягом багатьох років: Integer BASIC Возняка та Applesoft. Microsoft створила Applesoft задовго до того, як стала відомою завдяки Windows.
Для цієї статті ми використовували Applesoft BASIC.
Кілька порад щодо синтаксису
Кожна програма BASIC на Apple II складається з рядків коду. Кожен рядок має номер, і коли програма виконується (команда RUN), комп’ютер виконує кожен рядок у числовому порядку від найменшого до найбільшого. Кожен рядок вводиться в пам’ять комп’ютера натисканням клавіші Enter.
Ці три основні команди BASIC завжди стануть у нагоді:
У будь-який момент під час програмування ви можете переглянути вміст своєї програми, набравши команду LIST.
Щоб почати нову програму (стираючи поточну програму з пам’яті), введіть NEW.
Щоб очистити екран, введіть HOME.
Якщо ви зробите помилку під час введення програми, Apple II поверне “SYNTAX ERROR” під час виконання програми і вкаже номер рядка, де сталася помилка. Просто повторно введіть проблемний рядок, перевіривши на наявність можливих помилок друку.
Зрозуміло? Почнімо.
Ваша перша програма
Спочатку ми напишемо дуже просту програму, яка рахує вгору нескінченно. Це швидкий спосіб перевірити, чи правильно працює BASIC на будь-якій системі.
Якщо у вас є справжній Apple II, увімкніть його. Переконайтеся, що ви використовуєте машину з Applesoft у ПЗП, наприклад, Apple II Plus або пізнішу, або оригінальний Apple II з відповідною мовною картою.
Якщо ви стежите за нами без справжнього Apple II, відкрийте нове вікно браузера для емулятора Apple ][js. Apple ][js використовує JavaScript для імітації схем справжнього Apple II у програмному забезпеченні. По суті, ви будете запускати всю систему Apple II у веб-браузері (найкраще працює в Google Chrome).
Коли ви вперше завантажуєте емулятор (або завантажуєте Apple II без дискової системи), ви бачите екран, як показано нижче.
Натисніть або клацніть “Reset”.
Ви почуєте звуковий сигнал, а потім побачите “]” з блимаючим курсором.
У підказці введіть наступне та натисніть Enter (або Return) наприкінці кожного рядка:
10 X=X+1 20 PRINT X 30 GOTO 10
Якщо ви зробили помилку, просто використовуйте клавішу зі стрілкою ліворуч на клавіатурі, щоб перемістити курсор назад і внести виправлення. Нові символи, які ви вводите, замінять старі. Ви також можете повторно ввести весь рядок.
Кожен раз, коли ви вводите рядок коду з певним номером рядка, BASIC замінює те, що раніше було збережено в цьому номері рядка, новим введенням.
Коли ви використовуєте BASIC у старій системі, як-от Apple II, зазвичай рядки нумеруються кратними 10. Це дає можливість додавати нові рядки коду між ними пізніше, якщо необхідно.
Далі введіть LIST, а потім натисніть Enter (або Return), щоб переглянути список вашої програми.
Якщо ви випадково опинилися з непотрібними рядками (наприклад, якщо ви ввели 32 замість 30), просто введіть номер рядка та натисніть Enter (або Return), щоб видалити його.
Якщо все виглядає добре, настав час запустити вашу програму. Введіть RUN у підказці ]а потім натисніть Enter (Return).
Програма вічно рахує вгору на одиницю і друкує кожне число на новому рядку внизу екрана.
Щоб зупинити програму, натисніть Ctrl+C. Це призведе до РОЗІРВАННЯ програми, переривання її виконання.
Отже, як працює ця програма? Розберемо її по рядках:
10 X=X+1 20 PRINT X 30 GOTO 10
Рядок 10: Тут ми повідомляємо програмі, що змінна з назвою “X” дорівнює сама собі плюс один. На початку програми “X” дорівнює нулю. Отже, під час першого проходження програма додає одиницю до нуля, в результаті чого отримується одиниця.
Рядок 20: програма використовуватиме команду PRINT для відображення на екрані вмісту змінної “X”.
Рядок 30: ми використовуємо команду GOTO, щоб відправити програму назад до рядка 10 у циклі. Значення змінної “X” (тепер збільшене на одиницю) повертається до рядка 10. Потім програма вічно повторює цей процес, рахуючи вгору на одиницю, а потім друкує результат у кожному циклі.
Проста програма введення
Тепер, коли ви вже навчилися вводити, створювати список, запускати та переривати програму, погляньмо на програму, яка може щось робити з вашими даними, які ви вводите.
Спочатку введіть NEW і натисніть Enter (Return). Це очистить нашу останню програму з пам’яті, щоб ми могли розпочати спочатку.
Введіть наступні рядки, по одному, натискаючи Enter (Return) наприкінці кожного:
10 PRINT "WHAT IS YOUR NAME?" 20 INPUT N$ 30 PRINT "HELLO, ";N$
Коли ви закінчите, виконайте команду LIST для програми, щоб перевірити, чи ви її правильно ввели.
Далі введіть RUN і натисніть Enter (Return), щоб запустити її. Програма запитає у вас введення, вивівши знак питання (?). Введіть своє ім’я та натисніть Enter (Return), щоб відповісти на запитання.
Немов за допомогою темної магії, програма дізналася ваше ім’я і відповіла вам! Як це сталося? Давайте розглянемо кожен рядок:
10 PRINT "WHAT IS YOUR NAME?" 20 INPUT N$ 30 PRINT "HELLO, ";N$
Рядок 10: програма відобразила рядок тексту на екрані. Кожен рядок тексту, який потрібно вивести, має бути в лапках.
Рядок 20: програма запитує у вас введення (INPUT) і зберігає результат у змінній під назвою N$. Знак долара ($) скорочено від слова “string” (рядок). Кожна змінна, що містить літери, має бути змінною рядкового типу.
Рядок 30: програма відобразила Hello, потім кому і пробіл, а потім надрукувала вміст змінної N$. Крапка з комою (;) вказує програмі виводити N$ у тому ж рядку, не створюючи нового рядка.
Зачепивши лише поверхню
Тепер, коли ви відчули BASIC на Apple II, ви можете сказати всім своїм друзям, що ви запрограмували старовинний комп’ютер! Фактично, ви навіть можете написати про це Стіву Возняку в Twitter.
Якщо ви бажаєте глибше зануритися в Applesoft BASIC, радимо цей чудовий онлайн-підручник Юрія Якименка. Він є набагато детальнішим, ніж цей матеріал. Також є цей корисний швидкий довідник команд Applesoft BASIC.
Повне сканування Основного посібника з програмування Apple II також доступне з 1978 року. У ньому детально описано, як зберегти та завантажити ваші програми.
За останні 42 роки в Applesoft було запрограмовано тисячі дивовижних ігор і додатків, тож ваші можливості обмежуються лише вашою фантазією. (Насправді, обсяг оперативної пам’яті у вашій машині є обмеженням, але це набагато менш поетично.)
Для всіх ветеранів Apple II ми хотіли б почути ваші історії про використання BASIC у коментарях. Гарного програмування!