От четырёх до тридцати двух [1/2]
Часть 1: От четырёх до восьми
Я люблю читать воспоминания людей, заставших первые шаги вычислительной техники в их стране. В них всегда есть какая-то романтика, причём какого она рода — сильно зависит от того, с каких компьютеров люди начали. Обычно это определяется обстоятельствами — местом работы, учёбы, а иногда и вовсе — случайностью.
Мне, как и многим моим друзьям и знакомым, повезло застать конец того романтического периода, когда разработчики компьютеров ещё не пытались угодить обывателю, а делали то, что они сами, по каким-то своим соображениям, считали правильным. Это накладывало на каждую разработку (и программную и аппаратную) печать индивидуальности, пусть даже если в дальнейшем эта, оказавшаяся удачной, вещь, продавалась миллионами экземпляров (или наоборот — проваливалась в коммерческом плане).
Кто-то начинал с больших гудящих машин размером с комнату, кто-то с настольных домашних, кто-то собирал свой первый компьютер сам, по статьям в журналах. В каждом из таких направлений появлялись свои уникальные традиции, общие интересы, субкультура.
Если не копать совсем глубоко в историю, людей связавших свою жизнь с компьютерами в то время можно было довольно чётко разделить на несколько групп.
Во-первых, это те, для кого компьютеры — прежде всего тема про сети и всё, что с ними связано. Многопользовательские системы, мейнфреймы, Unix (причём, замечу, вокруг сетей X.25 и раннего Интернета образовались разные субкультуры), доступ к компьютеру через черно-белый алфавитно-цифровой терминал.
Вторая группа — домашние компьютеры (home computers). Это про цветную графику, звук, программирование на ассемблере, отсутствие каких-либо сетей. Commodore 64, Amiga, PC (периода их конкуренции с Amiga), Atari и многие другие
Третья группа, наиболее ярко представленная в нашей стране — те, кто полностью или частично собирали компьютеры сами и всю субкультуру вокруг них создавали почти с нуля, с заимствованиями западной. Это касается БК-0010, Спектрума, Радио-86РК, Ориона, Специалиста.
Что касается меня, то первое моё серьезное знакомство с компьютером состоялось в 1989 году, когда я учился в старших классах школы, в Ленинграде.
До того момента мои представления о вычислительной технике были весьма условными. В детстве я пытался собирать какие-то простые схемы, но это ограничивалось, главным образом несложными комбинациями из регистров, счетчиков и логики (обычно 133-й, 134-й серий), для красивого мигания светодиодами. Помню, переводные книжки, где упоминался, к примеру, таймер NE555 и масса схем на его базе — приводили меня в восторг (советского аналога NE555 тогда, по-видимому, не существовало).
На проспекте Космонавтов располагался тогда магазин «Электроника», куда меня в детстве отец водил как в музей. Это был центральный магазин города такой тематики и делился он на две части. В одной была розничная продажа радиодеталей и всяких устройств — этот отдел меня особо не интересовал, поскольку в то время для населения были доступны лишь самые простые и не очень качественные комплектующие. А вот другой отдел представлял собой выставочный зал. Там почти никогда не было посетителей, поскольку всё манящее разнообразие, представленное на витринах, было доступно исключительно для заказа предприятиями по безналичному расчёту. Зато посмотреть было на что — микропроцессоры в керамических корпусах с позолоченными выводами, которых даже не было в справочниках, разнообразные люминесцентные и светодиодные индикаторы, волоконная оптика и прочее. Такой, можно сказать, кусочек ВДНХ.
Где-то ближе к старшим классам у меня появился программируемый микрокалькулятор "Электроника МК-61", в который я увлеченно вбивал программы из журнала «Техника-Молодёжи», экспериментировал с недокументированными возможностями (ЕГГОГ, 3ГГОГ, «Тьма» и т.п.), играл в «Посадку на Луну» и другие подобные вещи. Хотя у отца на заводе стояли машины "Искра-226" и, в принципе, была возможность туда иногда приходить, я этого не делал вполне осознанно — считал, что рано или поздно появится более-менее постоянный доступ, а пока нечего себя и дразнить.
Школа, в которой я учился, была самая обыкновенная и никаких компьютеров (да и калькуляторов тоже) там не было. Однако, ближе к старшим классам (конец 1980-х) в СССР резко озаботились повышением компьютерной грамотности населения, и уроки информатики для нас, как и для учеников других окрестных школ, проводились в спортивной спецшколе на улице Брянцева, где было целых три класса с компьютерами «Commodore 64» — с дисководами и хорошими цветными мониторами C1802.
Надо сказать, что в те годы Минобразованием СССР за основной стандарт для школ был принят компьютер "Yamaha MSX-2", однако это не было каким-то обязательным для всех решением. Компьютеров не хватало и, поэтому, в реальности отклонения от стандарта не были редкостью. Однако, ситуация с тремя классами именно «Commodore 64», тем не менее, была очень необычной. Лично мне известно только о двух таких случаях — второй была школа в Москве.
Хорошо помню, что на первом уроке мы были предоставлены сами себе. Нас посадили за компьютеры и предложили попробовать погонять клавишами курсор и понажимать на кнопки, иногда отвечая на возникающие вопросы — как поменять цвет курсора, к примеру.
Это было очень необычно — практически никто из нас ни с чем подобным никогда в жизни не сталкивался.
Практические занятия проводились 1-2 раза в неделю и уже со следующего занятия стало очевидно, кого из класса всё это заинтересовало. Вскоре мы (трое-четверо, как не удивительно, парней) начали прогуливать уроки, лишь бы провести лишние несколько часов в «ВЦ» (сокращение от «Вычислительный Центр»), как мы стали называть это место.
Большинство преподавателей проявляли понимание — если были свободные компьютеры, нас всегда пускали на чужие занятия, выдавали дисководы (их было немного и они часто ломались). Секретарь в учительской, так и вовсе частенько пускала нас за свой рабочий компьютер, иногда даже выгоняя оттуда своего сына (который ходил исключительно играть).
Поскольку в СССР никаких глобальных сетей тогда ещё не было (да и на Западе они представляли собой пока довольно печальное, по современным меркам, зрелище), достать какой-либо софт или даже получить ответ на простейший вопрос — было практически неразрешимой проблемой. Учителя нам в этом помочь не могли — уже через пару-тройку месяцев мы знали про эти компьютеры намного больше, чем они. В учительской был десяток дисков — главным образом с играми, но также нашёлся "монитор" (примитивный ассемблер-дизассемблер-отладчик). Из документации на начальном этапе была пара книжек — одна по Бейсику, на немецком языке (никто из нас не знал немецкого) и одно руководство по ассемблеру, на английском (к слову, за те полгода оценка по английскому в четверти изменилась у меня с двойки на пятёрку). Домой нам эти ценные книжки конечно не давали.
За два года нашей «жизни» в ВЦ (а в удачные дни мы торчали там с утра до вечера), было несколько визитов людей «снаружи» — по-моему, из какой-то московской школы. Как сейчас помню, они приходили с 3.5" дисководом C1581 — редкостью для C64.
Мы обменивались с ними софтом и обрывочными знаниями. Каждая новая книжка, пусть даже полученная на час, была для нас бесценным сокровищем — мы разбирали её буквально по строчкам, если не по буквам. И вместе размышляли над значением какого-нибудь специфического немецкого слова, которое никакими словарями осмысленно не переводилось.
Конечно, учителя старались тоже извлечь пользу из нашего фанатства — главным образом, требуя от нас написания обучающих программ. Поскольку в Commodore 64 был встроен Бейсик, все неизбежно начинали свой путь с него. И мы тут не были исключением. Однако, вскоре обнаружилось, что практически все игры явно написаны на чём-то другом. Да и опыт, полученный в ходе написания упомянутых обучающих программ говорил о том, что ничего серьезного на Бейсике написать нельзя, хотя бы из-за его медлительности.
Вот тут-то и наступил следующий этап, который (как мы узнали существенно позднее), называют "хакерством" — мы стали изучать, как сделаны те или иные вещи, разбирая программы в кодах по кусочкам — что-то меняя и наблюдая, на что эти изменения повлияют.
Подавляющее большинство игр (да и не только игр) предварялись небольшой красивой заставкой с музыкой и спецэффектами — бегущая строка, цветные переливающиеся полоски, анимация и прочее подобное. Эти заставки, называвшиеся "intro", делали и вставляли пираты. Они снимали с софта защиту, модифицировали игры на предмет «бесконечных жизней» и затем распространяли взломанную игру или утилиту — главным образом, на гибких 5.25" дисках, через обычную почту (BBS на Commodore 64 тогда были большой редкостью даже на Западе, да и типовая скорость модемов была всего лишь 160...300 бод).
Мы были восхищены этими заставками — многие из них, без преувеличения, являлись произведением искусства. Во-первых, группа таким образом заявляла о себе — intro была её визитной карточкой, по которой люди составляли первое впечатление. Во-вторых, к intro предъявлялись чрезвычайно жёсткие технические требования — ведь многие игры и так занимали всю доступную память компьютера. Т.е., прежде, чем добавить заставку, пиратам нужно было каким-то образом упаковать или иным образом эту игру оптимизировать. Типичная заставка вместе с музыкой занимала порядка 2-3 килобайт, при размере самой игры 30-50 кб.
Как известно, в СССР был крайне затруднён доступ к западной культуре — достаточно сказать, что мне очень долго было непонятно значение слова «Beatles», которое иногда писали на стенах.
В этих условиях «intro» (из которых позднее выросли большие самодостаточные «demo»), как и игры — были источником информации «из-за бугра». Не в политическом смысле и не в форме протеста (как это тогда частенько обстояло, например, с музыкой), а с точки зрения приобщения к каким-то отдельным элементам стиля и культуры — в весьма, надо отметить, концентрированном её виде.
Не будучи знакомыми с американской культурой и фильмами, мы почти ничего не понимали (скажем, не было никаких идей, почему в игре с названием «Back to the Future» какой-то парень катается на скейтборде или почему у пиратских групп такие странные названия — типа Beastie Boys). Но сам дух неизбежно впитывали — через манеру пиратов обмениваться посланиями, через специфический стиль рисунков, шрифтов, музыки, декларируемым ценностям, из которых основными, конечно, была свобода обмена информацией (впрочем, даже среди пиратов имеющая свои рамки — в виде, например, осуждения использования чужого кода в работах) и ценимость оригинальных идей и решений.
Наверное, всё происходившее тогда в этом мирке или, как говорят, "на сцене" — ещё ждёт своих серьёзных исследователей.
Если сравнивать современные методики исследования программ — мощные отладчики, дизассемблеры, эмуляторы и прочее — с тем, что было тогда доступно на Commodore 64, разница оказывается не просто количественной, а принципиальной.
Типичным шаблоном были следующие действия: загружаем программу (1-2 минуты), загружаем монитор (полминуты), ищем в мониторе интересующий участок памяти, а если код запакован или зашифрован — ищем код распаковщика. Вставляем инструкцию BRK в конец, запускаем программу. Чаще всего всё виснет намертво. Причин могла быть масса — например, монитор загрузился частично поверх программы. Или изменил какие-то служебные переменные значения, которых были важны для программы. Так или иначе — «ваша песня хороша, начинай сначала» — выключаем/включаем компьютер и дисковод, и всё по новой. Десятками раз. Если совсем не идёт, берём другую программу и начинаем таким же образом мучать её.
Всё это требовало огромного времени и терпения. Тем радостнее были моменты, когда удавалось вычленить какой-то кусок кода (например, играющий музыку), записать его на диск и запустить отдельно, как самостоятельную программу. Особенной магией был для нас код, позволяющий выводить изображение на рамку — т.е. за пределы рабочей области экрана. Это долго оставалось для нас настоящим волшебством.
Вообще, наличие в Commodore 64 специализированных сложных чипов отвечающих за графику (VIC-II) и звук (SID) придавало работе с этим компьютером особенные черты, которых не было ни на Спектруме, ни на PC. С нашей, достаточно наивной тогда, точки зрения, мы как бы общались с чем-то загадочным, живущим внутри компьютера. Записывали какие-то значения в ячейки памяти (командами POKE), во многом наугад, и смотрели, что произойдёт. В каких-то случаях посреди экрана появлялись квадратики, в других весь экран сдвигался на несколько точек в сторону или, скажем, искажались все буквы. Мы пытались отыскать закономерности, сопоставляя результаты экспериментов со скудной и не всегда понятной (в силу иностранного, к тому же очень специфичного языка) документацией.
Одной из необычных вещей были спрайты. Тогда под этим словом всегда понимали только аппаратные спрайты — простые картинки размером 24 x 21 пикселов, которые видеоконтроллер отображал на экране по данным из определённых адресов памяти. Будучи включёнными, они как бы наклеивались на экран и висели там совершенно независимо не только от основного изображения, но даже и от текущего видеорежима.
Как я уже упоминал, встроенным языком в Commodore 64 был Бейсик. Причём, очень примитивный — к примеру, при всём богатстве графических и звуковых возможностей этого компьютера, в языке не было никаких операторов, связанных с графикой и звуком. Да даже просто удалить файл с диска без применения сторонних программ — было весьма нетривиальной, по современным меркам, историей. Программа, рисующая, скажем, наклонную линию, занимала на Бейсике порядка двух-трёх экранов, причём единственная линия рисовалась такой программой секунды.
При наличии дисковода, можно было загрузить расширенный Бейсик или что угодно ещё. Но нередко дисковода не оказывалось — какие-то были заняты в учебном процессе, какие-то неисправны и т.д. Всё это приводило к тому, что мы помнили огромное число различных адресов, значений и их комбинаций, позволявших через команды POKE/PEEK напрямую управлять чипами компьютера — включать и перемещать спрайты, менять шрифты, издавать звуки и т.д. Степени двойки в десятичной системе (по крайней мере, до 2ˆ16) любой из нас мог безошибочно перечислить, даже посреди ночи, а некоторые последовательности команд мы набирали не то, что не смотря на клавиатуру, а вообще не задумываясь.
Помню, как-то мы зашли в ВЦ и обнаружили, что есть один свободный компьютер, но все дисководы заняты. Уходить не хотелось и за полчаса мы написали на встроенном Бейсике игру — что-то вроде набегающего сверху лабиринта, через который нужно было провести курсор. Идея была в том, чтобы её можно было ввести за разумное время прямо с клавиатуры, без дисковода. Текст занял примерно экран (40x25 символов).
В плане работы с дисководами также существовала своя специфика. Стандартный дисковод Commodore 1541 — очень сильно отличается от дисководов большинства других компьютеров. Начиная от специфического способа записи информации, при котором на одну сторону диска влезало около 144 кб (за счёт прорезания ножом еще одного паза можно было переворачивать и писать на другую) и заканчивая его очень странным устройством.
Главной особенностью было наличие внутри дисковода собственного процессора (почти такого же, как в самом компьютере — 6502), своей памяти и последовательного порта ввода-вывода. В принципе, дисковод сам был полноценным компьютером и вёл себя, порой, соответственно.
Этим его свойством пользовались некоторые серьёзные игры и многие утилиты. К примеру, для некоторых из них совершенно нормальным было устанавливать собственный протокол обмена между компьютером и дисководом с целью, например, ускорить загрузку (штатно программа размером 50 кб грузилась аж пару минут). Другие программы умудрялись управлять яркостью лампочки дисковода, включая и выключая её с определённой частотой, при помощи кода выполняемого дисководом.
Системы защиты дисков от копирования изощрялись вовсю, записывая данные между дорожками или на несуществующие стандартно, «лишние» дорожки. Существовало огромное количество копировщиков, которые пытались копировать такие диски. Отказы дисководов после использования подобных программ не были редкостью, что приводило учителей ВЦ в ярость. При ВЦ была лаборатория, куда эти дисководы регулярно носили чинить. Уже под занавес нашего «обучения» выяснилось, что большинство «поломок» было вызвано выходом головки за пределы рабочей зоны и «ремонтировалось» какой-то простой командой типа LOAD":*",8, вынуждающей дисковод произвести рекалибровку головки (помню, я был страшно горд этим открытием, поскольку пришёл к нему не случайно, а путём размышлений).
Несмотря на все эти маленькие радости, мы не могли отказать себе в играх, хотя это напрягало учителей и, конечно же, они не позволяли играть во время занятий. Качественных игр на Commodore 64 было очень много (столкнувшись потом с другими компьютерами я это понял особенно отчётливо) но, пожалуй, самыми популярными у нас были Cauldron II, Ghost'n'Goblins, Arkanoid, Driller. В случае с Driller и Cauldron II мы даже нарисовали полные карты их миров, из кучи склеенных между собой бумажных листов. Многие игры требовали джойстика, что было проблемой. Во-первых, с учебными классами джойстиков поставили предсказуемо мало. Во-вторых, они очень быстро ломались. Приходилось делать джойстики самим, включая, в том числе, их разъемы. Отчасти спасало, что из-за особенностей адресации портов в C64, в части игр движения джойстика дублировались нажатиями кнопок (в довольно странных местах). Насколько помню, для одного из портов джойстика это были кнопки C,B,M,F1,Z (влево, вправо, огонь, вверх, вниз). При этом, пробел должен был быть постоянно нажат, для чего использовался клочок бумаги, сложенный в нужно количество слоёв.
В какой-то момент у нас появились диски с языками высокого уровня — C и Oxford Pascal. Это было достаточно печальное зрелище. Скажем, чтобы из программы на Паскале в десяток строчек получить исполняемый файл, нужно было последовательно загрузить и запустить с диска три или четыре модуля (редактор, транслятор в P-Code, компоновщик, транслятор из P-Code в исполняемый файл). В сумме одно такое действие занимало несколько минут (!) и давало файл огромного размера (в десятки раз больше, чем эквивалент на ассемблере или бейсике). С имеющимся C дело обстояло чуть лучше, но несущественно. Мы восприняли всё это в духе «ну да, бывают, видимо, и такие языки» и благополучно забыли. К сожалению, нам тогда в руки не попало ни одной реализации Форта. Точнее, мы о нём ничего не знали.
На фоне дефицита программ и знаний, мы временами даже умудрялись иметь секреты друг от друга и между собой воевать — размагничивали друг другу диски и строили всяческие программно-аппаратные козни. До сих пор у меня где-то валяется коробка из под дисков, в которой проложены две стальные пластины в пару миллиметров толщиной (если диски лежат в плотной пачке, поднесённый магнит обычно портил данные только на верхнем диске, но с пластинами всё равно было как-то спокойнее).
Говоря об источниках программ, нельзя не упомянуть о таком понятии, как swapping — обмен софтом. Как я уже говорил, программами по сети тогда не обменивались (по крайней мере, на C64) из-за практически полного отсутствия сетей и модемов. Это наложило серьёзный отпечаток на всю сценерскую субкультуру того времени что, к сожалению, почти не нашло отражения в кинофильмах которые, рассказывая о компьютерах и хакерах, предпочитают эксплуатировать исключительно тему сетей. Так, например, получить исходники какого-либо понравившегося эффекта тогда было невозможно. В связи с этим, как правило, код появлявшихся demo и intro был оригинальным. Конечно, люди дизассемблировали чужие работы и смотрели, как там что-то сделано, с целью повторить. Но это совсем не тоже самое, что использовать готовые исходники. Кстати говоря, попытки использовать код кусками (к примеру, полностью повторить какой-нибудь необычный скроллинг) вызывали осуждение на тогдашней сцене. Интересно, что использовать цельнотянутую музыку из игр — зазорным не считалось.
Очевидный вопрос — каким же образом распространялись сломанные игры, демо, и прочее? Каждая уважающая себя пиратская группа (crew) имела «в штате» swappers — людей, которые поддерживали связи с другими группами — рассылали им диски и получали диски от других групп. В какой-то момент я познакомился с живущим в Питере человеком, у которого был собственный Commodore 64 (роскошь, по тем временам). Он прилично знал английский и с удовольствием переписывался с пиратами из других стран. До сих пор где-то лежат диски, которые ему присылали — со своеобразными граффити, нарисованными маркёром.
Как ни странно, подобные каналы были весьма эффективными, благо ФБР тогда только начинало борьбу с пиратами и бегать от них было даже романтично — о том, кого, где и при каких обстоятельствах взяли — с гордостью писали в intro к взломанным играм и в так называемых diskmags.
Diskmag — ещё одно явление, быстро утратившее смысл с появлением сетей. Это эквивалент печатной прессы для пиратов, а конкретнее — эквивалент журналов. Обычно это был исполняемый файл с несколькими подгружаемыми частями, занимавшими сторону диска. Постоянно появлялись новые издания, какие-то исчезали. Общее количество исчислялось десятками. Из известных можно вспомнить Propaganda, Pulse, Reformation, Domination, Shock.
Типичными для diskmag'ов на C64 были разделы статей, объявлений, интервью (разумеется, с другими пиратами, а также авторами demo и intro), результаты голосования за лучшие демоценерские работы, лучшие релизы софта.
И, конечно, чрезвычайно важным было оформление — фоновая музыка, логотипы, шрифты.
Поскольку diskmags выходили не так уж часто (по мере набора материала), существовала ещё одна стандартная форма обмена новостями — noters. Noter представлял собой маленький (пара килобайт) исполняемый файл с текстом и музыкой, который часто добавляли на диск с демо или играми. В некотором смысле, это был аналог современного readme.txt.
Поскольку на Commodore 64 не существовало стандартных текстовых файлов, noter всегда включал в себя текстовый редактор, причём с широким использованием управляющих кодов — можно было в процессе набора текста в любой момент поменять цвет, переместить курсор, стереть символ и вся эта набираемая последовательность затем воспроизводилась, что давало для читателя ощущение, что он видит реально набираемый автором текст. После набора текст вместе с кодом для его воспроизведения сохранялся в отдельный файл — т.е. noter как бы клонировал себя, просто уже с новым текстом.
Особенностью стандартного шрифта PETSCII в Commodore 64 было наличие в нём богатого набора символов псевдографики, рассчитанного на рисование простых рисунков. От набора символов в появившихся позднее IBM PC его отличала, во-первых, большая универсальность (ориентированность не только на рисование таблиц) и, во-вторых, возможность легко ввести любой символ с клавиатуры без знания каких-либо кодов — все символы были нарисованы на клавишах.
Псевдографика широко использовалась для оформления директориев диска. Дело в том, что при получении листинга файлов их имена всегда показывались в той последовательности, в которой были записаны. Существовали специальные утилиты, с помощью которых можно было создавать пустые файлы и «рисовать» их именами простые рисунки и логотипы, что очень широко использовалось сценерами. Позднее даже появились конкурсы по PETSCII графике.
Другой областью использования псевдографики была способность C64 при наборе сокращать команды языка Бейсик до двух символов — первый нормальный, второй — в регистре псевдографики, причём в коде программы они автоматически превращались в полные. Всё это сильно ускоряло работу.
Что касается русского языка, то в некоторых машинах он был прошит в ПЗУ вместо псевдографики, но чаще мы его загружали программно (это было несложно даже из BASIC'a).
Как-то, во время очередного перетряхивания пачки дисков из учительской, мы наткнулись на диск с фирменной этикеткой "GEOS". Тогда мы не знали таких слов но, как сказали бы сейчас, это была полноценная операционная система с графической оболочкой — практически пик индустрии программного обеспечения на Commodore 64. В нём использовался весьма продвинутый алгоритм работы с дисководами (в том числе сразу с несколькими), весьма эффективные и продуманные способы работы в графическом режиме (обычно довольно медленном), поддержка различных периферийных устройств — вплоть до мышей, лазерных принтеров и расширений памяти.
В программное обеспечение (написанное, разумеется, специально под GEOS) входили графический и текстовый редактор с различными шрифтами (WYSIWYG), электронные таблицы, база данных и даже издательская система, что для такого домашнего 8-разрядного компьютера было просто космосом. К сожалению, средств разработки под него (GeoAssembler, GeoDebugger), так же как и документации, на тех дисках не оказалось, так что мы лишь повосхищались (Windows тогда ещё не было, а Macintosh в России встретить было нереально) и отложили диски в долгий ящик.
Параллельно со всей этой историей с C64 и хождением в ВЦ, развивалась другая: в журналах «Радио», «Микропроцессорные средства и системы», «Моделист-конструктор» стали публиковать схемы и руководства по самостоятельной сборке компьютеров. Конечно, они и рядом не стояли с Commodore 64 по возможностям и доступному набору софта. Однако, одно дело компьютер где-то в ВЦ. а другое — у тебя дома. Поэтому желание что-то такое собрать или купить собранное — постоянно присутствовало. Одним из первых и самым тогда популярным — был Радио-86РК. Однако, микросхему видеоконтроллера для него — 580ВГ75 — достать было практически невозможно.
Другой вариант — "Ириша", был чрезвычайно сложным для повторения. "Специалист" появился довольно поздно. Причём, в большинстве этих машин не было даже встроенного Бейсика.
Короче говоря, ни с одним из перечисленных вариантов дело не пошло дальше доставания части микросхем и печатных плат. А тем временем, по стране начали расползаться схемы аналогов ZX Spectrum. Все эти схемы были достаточно простыми, единственной более или менее дефицитной (но, тем не менее, доступной) микросхемой там был z80. Кроме того, поскольку это была функционально достаточно точная копия оригинального английского ZX Spectrum 48K, проблем с программным обеспечением и документацией не было. Вскоре я купил частично собранную плату Спектрума в варианте "Ленинград" и получил вполне рабочий компьютер. Аналогичным образом поступил один из друзей, с которым мы ходили в ВЦ.
Надо сказать, увлечение Спектрумом продлилось весьма недолго. По большей части мы на нём играли в пару игр, которых у нас не было на C64. По сравнению с C64 Спектрум смотрелся бледно в плане графики, звука, качества софта. Сцена на нём только зарождалась и не имела таких богатых традиций, как на C64. В итоге, на Спектруме мне лучше всего запомнились игра Elite, надписи типа «CRACKED BY NICOLAS RODIONOV», которые там заменяли intro и мой эксперимент по подключению к Спектруму аналогового графопостроителя Н306 (через два ЦАПа). При помощи него я распечатал титульную картинку из игры Tomahawk — попиксельно перемещая фломастер и опуская его, когда нужно было поставить точку (один экран печатался около часа).
С последовавшей далее покупкой Commodore 128D, Спектрум был благополучно и навсегда забыт.
C128 оказался довольно странным компьютером — у него было два процессора, два видеоконтроллера и два видеовыхода. Это позволяло работать в одном из трёх режимов — Commodore 64, Commodore 128 и CP/M. Кроме того, дисковод позволял читать диски с PC, что позволило впервые познакомиться с софтом под CP/M — Turbo Pascal 3.0 и Wordstar. Впрочем, к тому времени у меня появился доступ к PC, так что интерес к C128 ограничился, в основном, работой в режиме C64.
Часть 2. От шестнадцати до тридцати двух
Пока без сетей
Завершение моей эпопеи с 8-разрядными компьютерами совпало с пиком перестройки в СССР. В страну начали ввозить IBM PC совместимые компьютеры, причем никто ещё толком не понимал, с какой целью. По счастливой случайности друг семьи затеял какую-то авантюру, по типу совместного предприятия с американцами и, под это дело, из Штатов прибыл PC AT 286 20 MHz 1MB с CGA монитором и 9-игольчатым матричным принтером Star. Поскольку человек понятия не имел, что и как с этим компьютером делать (что, повторюсь, для владельцев компьютеров в то время было совершенно нормально), PC на несколько месяцев оказался в полном моём распоряжении. Конфигурация PC AT 286 20 МГц по тем временам была невообразима крута (в принципе, тогда и PC XT вполне впечатляла). Только вот CGA видео, с его графикой из четырёх ужасных цветов в 320x200, сильно ограничивало полёт фантазии. Впрочем, мне было тогда интересно даже просто копаться в чистом DOS без всякой графики.
Вскоре, после того как были дважды провалены экзамены в Политех (крупно повезло, так как иначе бы всё равно потом вылетел оттуда с треском), я устроился работать лаборантом на кафедру ВТ в ЛИТМО. Тогда ЛИТМО имело совсем не такой статус как сейчас и вычислительной техники там толком не было (что-то типа СМ-4, Искра-226, PC в единичных количествах, ДВК).
В аудитории на третьем этаже, где я работал, стояло штук пять терминалов MERA CM 7209. Умельцы на кафедре переделали их в более или менее полноценные самостоятельные компьютеры — процессор z80, 128 кб ОЗУ, болгарский дисковод. Правда, студенты на них работали редко и, главным образом, их лабораторные работы представляли собой вбивание программы в машинных кодах и её отладку в простейшем отладчике-мониторе. Компьютеры-терминалы работали очень неустойчиво. Помню, там были постоянные проблемы с регенерацией памяти, из-за чего вероятность внезапно потерять набираемую полчаса программу была довольно высока. Студенты обменивались друг с другом опытом — в каком из компьютеров какие диапазоны адресов ОЗУ самые надёжные.
В мои обязанности, как лаборанта, входило припаивать отвалившиеся от стендов провода и следить, чтобы в отсутствие преподавателя аудитории не было нанесён непоправимый ущерб. Избыток свободного времени я проводил за Искрой-1030 — довольно неудачном отечественном аналоге PC XT 4.7MHz 512KB с CGA. В соседней аудитории, кроме Искра-1030, стояли ещё несколько Искра-226 — здоровенных металлических ящиков (аналог Wang-2200), с Бейсиком. При работе на них сильно мёрзли руки, поскольку два или три мощных вентилятора дули прямо на клавиатуру. Впрочем, на эти компьютеры я посмотрел совсем немного, чисто из любопытства.
Кроме меня на кафедре ВТ был ещё один лаборант — подотчётная ему аудитория находилась на том же этаже, но в другом конце здания — в старом корпусе. Он был музыкантом в рок-группе, играющей heavy metal и, несмотря на хорошие отношения, наши интересы пересекались лишь примерно раз в месяц, когда мы с ним торжественно выносили из аудитории большой переполненный бак с мусором. В остальное время он запирал свою аудиторию либо изнутри, либо снаружи, и предавался всяким специфическим занятиям, о которых можно было судить лишь по косвенным признакам (к примеру, однажды он прятался в туалете от преследовавших его крокодилов).
Короче говоря, в моём, почти полном, распоряжении была Искра-1030, а чуть позже появился ещё и Правец-16 (тоже аналог PC XT 4.7MHz 640KB CGA, но болгарский — существенно качественнее Искры). Обе машины были с HDD 10 или 20MB, под DOS 3.30. Софт был тогда практически только под DOS. Windows существовали в версии максимум 2.0, загружались из DOS, были страшны и никто даже вообразить не мог, что ими очень скоро все будут пользоваться.
Работа под DOS (хотя выбора для PC тех лет особо и не было) имела свои плюсы и минусы. С одной стороны, «голый» DOS с точки зрения пользователя выглядел просто как очень неудобный способ запуска программ и каких-то, столь же неудобных, сервисов, типа удаления файлов или форматирования диска.
С другой — постепенно появлялось всё больше различных утилит, позволяющих сделать работу более комфортной. Для запуска программ и работы с файлами существовал Norton Commander, синие панели которого стали символом той эпохи (преимущественно, в России). Проблемы однозадачности DOS решал популярный пакет под названием DesqView, позволявший даже на XT переключаться между несколькими запущенными программами. Множество мелких «резидентных» программ позволяли в любой момент вызывать калькулятор, записную книжку и т.п. Одним словом, умеючи можно было создать себе вполне комфортную рабочую среду.
Вирусы, при всём их разнообразии, не было особой проблемой, поскольку распространяться они могли только через дискеты, легко обнаруживались и лечились (чрезвычайно популярной тогда программой Aidstest).
… окончание в следующем посте ...
Пётр Соболев
март 2017 г.
3 комментария
Но вот со спектрумом всё пошло дальше :)
Очень хорошо сказано про различные сообщества, связанными с компьютерами. Эти сообщества производили свою, часто уникальную культуру (игры, журналы, демо...) и различия между этими культурами обусловлены далеко не одними только техническими нюансами самих компьютеров.
Я не подозревал, что когда-то у нас и вокруг C64 было определенное движение, спасибо за эту историю!
P.S. Кстати говоря, об отечественном MSX-сообществе я в двух словах писал здесь: www.old-games.ru/forum/xfa-blog-entry/friends-software.3303/