Электроника МС 0511 · кассетный Вильнюс-Бейсик 1988.09.28

Немигающий тетрис

Это настоящий Бейсик, а не запись экрана: программа лежит в памяти машины, её можно править и запускать. Наберите RUN — и пойдёт тетрис, управление стрелками. Две версии отличаются одной подпрограммой: первая перепечатывает только изменившиеся клетки, вторая стирает фигуру целиком и печатает заново. Счётчик справа показывает разницу.

УК-НЦ · 80×24 · КОИ-7 готов

Программа в памяти

Формат экрана

Клеток напечатано

0напечатано
0стёрто

За последний ход: —

Скорость

← → — вбок, ↑ — поворот против часовой, ↓ или пробел — сброс, P — пауза, Q — выход. Работают и A D W S, и раскладка БК 7 9 8 5. Щёлкните по экрану, чтобы он слышал клавиши.

Таблица знаков УКНЦ — щёлкните, чтобы выбрать знак клетки

Все 224 печатных знака из ПЗУ машины: 32-127 латиница и знаки, 128-159 стрелки и служебные, 160-191 псевдографика, 192-255 кириллица. Выбранный знак сразу подставляется в программу — строка CB$. Квадрата в наборе нет вовсе, поэтому четыре знака дорисованы: 128 и 129 — половинки квадрата (клетка формата 80×24 — это два знака), 130 — квадрат целиком для широкого формата, 143 — сплошной блок, им выложен стакан. На машине это делал редактор шрифта с системной дискеты: знакогенератор готовился до запуска программы.

Сейчас клетка стакана — дорисованный квадрат: знаки 128 и 129.

Листинг — правьте и записывайте в память

Что здесь настоящее

Начертания букв сняты с самой машины: программа напечатала все коды от 32 до 255 в эмуляторе, снимок разобран по знакоместам. То, что вы видите, — шрифт ПЗУ УКНЦ.

Чего здесь нет

Это не эмулятор УКНЦ, а разборщик подмножества его Бейсика. Он повторяет диалект в том, что важно для программы, но не считает такты процессора. Настоящая машина — UKNCBTL с картриджем Вильнюс-Бейсика.

Правила диалекта

Один оператор в строке: двоеточия эта система не знает. Значимы две первые буквы имени, а SC, SY, LP и PO заняты системой. Графики нет вовсе, поэтому тетрис текстовый.

Таблица рекордов

Пять строк, попал — вводишь имя. Страница играет роль головного ПК: таблицу она держит у себя и вписывает обратно в те же строки DATA, так что рекорды переживают перезагрузку.

Откуда числа задержек

Скорость измерена на живой машине: холостой виток главного цикла — примерно 350 раз в секунду. Отсюда таблица гравитации: на нулевом уровне фигура падает на клетку за секунду.