** ПЭВМ АГАТ **

Семь АГАТов-7

Сергей Зак (ASP Software).

В восьмом классе я с нетерпением ждал начала уроков Информатики в сентябре 1988 года. В предыдущем году школа запустила класс с Агатами, но мне ещё не была положена информатика - она начиналась только с 8 класса. Мы краем глаза, завистливо, заглядывали в класс, где ребята на год старше "пионерили" стезю информатики и программирования... Но на нашем первом уроке нас ожидал неожиданный поворот.

Учительница провела нас в Актовый Зал, усадила в кресла как в театре, и со сцены на огромной доске и используя слайд-проектор, начала... ТЕОРЕТИЧЕСКИЙ СЕАНС ! Было странно и непонятно "почему без компьютеров", но теперь я, кажется, понимаю, насколько гениальным был её педагогический "ход конём". Дело в том, что, рассказывая нам про разных англосаксов вроде Ады Лавлейс и Чарльза Беббиджа, а так же не забыв упомянуть про бит, его отношение к байту, а так же суть архитектуры Фон Неймана на примере конвейера и коробок-операций на нем, она заложила незыблемый фундамент понимания происходящего внутри тех симпатичных и обманчиво-простых коробок с цветными телевизорами наверху, которые имеют тенденцию одурманивать сознание быстро сменяемыми сценками из разных игр, или совсем, казалось бы, непроницеамыми циферками, звёздочками и некоторыми латинскими буковками, когда дела сошли с "направленных рельс". Спасибо ей огромное.

Сколько детей были изначально лишены такого понимания и учились общаться сразу словами Языка Программирования, часто не понимая - с Чем? Когда через несколько таких теоретических уроков мы наконец-то были усажены напротив выключенных Агатов, я чётко понимал, что это Исторический Момент. Я был готов.

Мой дядя-радиотехник обучал меня различным своим причудам лет с пяти, когда он объяснил мне, что индуктивность зависит от количества витков катушки и того что внутри ее. Когда почти через 10 лет учитель физики задала подобный вопрос, я был единственный кто поднял руку. Я паял мультивибраторы для индикаторов поворотов и гудка своего велосипеда лет с десяти. Я чинил второй канал папиной радиолы чтобы слушать диски в Стерео... Чинил папину цветомызуку (тиристоры КУ202)...

Итак, включив Агат, после первого, несколько смятого, урока, стало ясно, что дисковод 140 - это беда... Не всем из 7 ПК удалось чего-то добиться за 45 минут урока. Но - дело положено, и дальше пошли развитие и постепенное понимание того, насколько серьёзные изменения возможны из-за этих новых возможностей... Открывался дивный новый мир.. В паре со своим другом со двора, Лешей-химиком, мы принялись за программу-урок-описание химии металлов. BASIC, color text, урок - вопросы - пропуск дальше или повтор, все дела... Меня тогда очень прельщали лавры некого Питера Нортона, это была эдакая смесь Гарри Поттера и Илона Маска, если объяснять сегодняшним детям.

Посмотрев на AUTOBAHN, мне захотелось написать такую игру но в цвете, на АГАТ-7 это означало режим MGR. Из всех инструментов под рукой был только Бейсик, на нем и был написан начальный прототип, рисующий бордюры по сторонам и саму машинку... Как только я начал нажимать на кнопки влево-вправо... и ждать... ещё ждать... стало понятно, что Бейсик - это не то... Какое-то время ушло на исследования других пакетов программирования... Прошел учебный год. Очень трудно чего-то достичь за два урока в неделю. Иметь такой ПК дома в 1988-1989 это была МЕЧТА со всеми заглавными. Отец только купил Москвич (до этого был Урал) и к тому же, где они продаются, эти Агаты? Точно не в Сибири. В следующем году я вошел в "inner circle" доверенных лиц, которым доступ был позволен практически пока не было уроков. Забрав домой документацию и прочитав её всю (конспектируя многое в свой 96-листовой хак-тетради в синей виниловой обложке), я был готов к "сеансам отладки". Процесс выглядел так. Находясь дома, я писал код очередного модуля ручкой в тетрадь, когда находило "задумчивое настроение". Приходя в ПК-класс, я вводил код, записывал его на свой диск и отлаживал что только мог.

Задача была написать новую игру для выступления на конкурсе Школы Юного Программиста (ШЮП-90) в Красноярске от лица школы номер 10 города Ангарск Иркутской области. К тому моменту уже сменилась учительница информатики, но новая тоже быстро оценила и всячески способствовала, вплоть до оставления ключей от класса после занятий. Помню пару раз я уходил в темноте, часов в 10-11 вечера. Ставил класс на сигналицацию, запирал. Спускался по пустой и тёмной школе с 4-го этажа по лестнице, запирал школу. Относил ключи к сонной училке. В глазах мельтешили цифры кода, графика, цветные "мультики" зависаний... Как сейчас помню, почти 2 недели не мог отладить какой-то кусок лишь потому что не учёл изменение флага переноса при команде LSR. Помню вкус принесённого винограда когда я пространно глазел в окно на темнеющее небо и понял в чём "прокол". Сахар решает. Кофе тогда не пил, да и откуда оно в классе с дорогими ПК?

Игра называлась SOKOBAN, и включала в себя редактор уровней, вызываемый по клавише Е. Режим HGR, то есть черно-белый 256 на 256. Помню хотел для неё разработать собственный шрифт, сохранился бумажный прототип - но взгянув трезво, понял, что разрешение экрана будет недостаточным и поэтому просто использовал какой-то имеющийся под рукой редактор (GR?) для разработки простых 8х8 битмапов для каждого символа A-Z 0-9. Вышло вроде неплохо. Изначально писал Асм изнутри Бейсика, просто каждая строка начиналась с ! В какой-то момент, ближе к 10000 строк, Бейсик начал как-то хандрить и "сливаться" - то зависал, то выходил в СисМон с писком. Стало ясно что дело рисковое - может, ему не хватало памяти или были какие-то ошибки в его коде. Время поджимало (опять же, ПК не дома, и доступ не постоянен) - и я решил пойти ва-банк, или как теперь говорят - hardcore. Бинарный код был записан как В-файл, и дальнейшая разработка происходила под эгидой превосходного Best Tool Kit. В какой-то момент я поймал себя на мысли от том, что писать трех-символьные команды всё-же медленнее чем просто двух-буквенные коды... Отдельный прикол был с генерацией звуковых эффектов - никогда ничего такого не писал и ни у кого не подглядывал. Просто представлял как должна меняться частота генерации для определенного "чмока" и прикидывал разные формулы для этого, желательно всего с двумя байтами двух регистров. Понятия не имел, или забыл отметить важность спецрежима адресации через нулевую страницу - поэтому, как помнится, не использовал её совсем (!) Наверное это мазохизм, но помню чертыхания когда так мало регистров - в стек, все в стек - и не забудьте оттуда выходить в обратном порядке! :) и не дай Бог вызов подпрограмм между пушем и пуллом. Поаккуратнем там!

Так или иначе, игра была доведена и отлажена. Ядро вышло около 4К, плюс отдельно ресурсы и уровни. Уровней разработал штук 20, но на диске с помощью Best Took Kit MAP была зарезервирована прилично большая область секторов (большие номера треков) для самостоятельного дополнения уровней игры пользователями при помощи простого встроенного редактора уровней (клавиша Е). Про дисководы 840 даже не представлял себе, так что всё работало только на Шугарте.

---

Почти не помню сам перелёт в Красноярск, а также где поселили, чем кормили и т.п. Помню что был один, никаких училок и прочих напарников. АГАТ-7 мне достался в конце класса, и моё шоу проходило так же, почти последним. Насколько я понял, не очень высокий уровень звуковых эффектов, и чёрно-белый экран, когда другие претенденты могли показать нечто цветное на АГАТе-9, сыграли свое дело. Возможно дело также в стиле и манере презентации (я был весьма далёк от Стива Джобса). Игра заняла лишь третье место. В процессе общения с другими "фанатами" ПК мне скопировали офигительную игрушку LSP SPRUT. Она так же занимала целый диск, но включала динамизм в графике и классные звуки! И ещё поражало что она сопротивлялась сбросу УПР+СБР ! Это казалось просто магией какой-то, вроде блокировки Ctrl+Alt+Del. Информации тогда об АГАТах у меня было ровно столько сколько смог "почерпнуть" за первое прочтение официальных книжек, плюс что-то подсказали старшеклассники - но в 1990м они были уже в ВУЗах. Никаких интернетов или журналов типа "Мир АГАТов и кодинга 6502" под рукой не было. Так вот, эту дискету со СПРУТом я ещё вспоминал неколько лет - с болью в сердце, потому что либо оставил на первом ряду где все крутились, либо кто-то прибрал, принял за свою... Приехав домой, понял, что СПРУТа нету... :) Батя шутил "спрут - я ж тебе говорил что спрут..."

Достать его обратно я смог только через проект Агат-Эмулятор, году в 2018-м. Поигрываю... Мой СОКОБАН - не весть где теперь, и это другая история.

Уже в институте (МИЭТ в Зеленограде), году в 1995м, я прикупил себе АГАТ-7 с ячейкой 121. Поискал кто жив ещё вокруг, прикупил что мог - монитор, джойстик, принтер, мышь, ниппель часы, память - тогда почти всё было живое и недорого. Все уходили на ПК и сбрасывали Агаты, Амиги и Спектрумы. Встречался с парой персонажей в Москве или подмосковье, но уже не помню с кем... извините. Сотового тогда не было, тетради-записи утеряны.

---

Помню ещё в общаге, принялся писать быстрые графические примитивы как основу новой графической ОС типа АГАкинтош. Начал с точки в режиме HGR.

Первый листинг - 1.5 страницы. Первый тест - закрасить весь экран точкой к точке. "1.5 минуты, Карл!" Пришёл приятель Алексей К, он что-то там писал с Амигами в МИЭТе. Посмотрел и такой - "Тут надо ОПТИМИЗИРОВАТЬ".

Посидели, посмотрели - второй вариант, после первой оптимизации. Кода менее страницы. Тот же тест (код не меняли) - 20 секунд. Он посмотрел и говорит - можно ещё оптимизировать.

Вдвоём покумекали... третий вариант. Кода мало, полстраницы. Тот же тест - полсекунды (!) Woof - white screen. Woof- black screen. Вообще-то это много "точек", это вам не филл по байтам.

Я был впечатлён.

Он говорит - тут ещё можно пару-тройку раз соптимизировать... ну, не знаю, может быть разок... но я до того уже не дошёл, там другие всплыли приоритеты - девушки, запись альбома моей группы, разные дела... Жаль, что листингов или дисков с теми вариантами "точки" не осталось - вышел бы прикольный "кейс" по оптимизации 6502 ASM.

---

История с тем АГАТом закончилась, когда он начал рассыпаться - году в 2000м, когда родился мой сын... Всё, что было я "скопом" отнёс и подарил соседям по лестничной клетке - у них пятеро детей, им Алиса в Зазеркалье и прочие чудеса Apple ][ и АГАТ-7 были нужнее.

Ну, а я потом приобрёл себе Apple PowerMac G4 Cube - но это уже совсем другая история...

→ Если у кого-то есть мой SOKOBAN (Shugart 140, AGAT-7) - поделитесь со мной и миром.

С уважением и приветом

* * *