5 мая 2017, 01:57 (2764 дня назад, №10632)От четырёх до тридцати двух
Часть 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-разрядными компьютерами совпало с пиком перестройки в СССР (1990-1991). В страну начали ввозить 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).
О том, что где-то в НИИ и в других особенных единичных местах существуют сети — я уже знал, но это была пока чистая теория — модем живьём мне встречался от силы пару раз. Тем не менее, ситуация с софтом была куда лучше, чем в прошлом с Commodore 64. PC постепенно появлялись у всё большего числа людей и мы с энтузиазмом обменивались программами. За пиратство тогда не то, что не преследовали, а даже не очень понимали, о чём речь и в чём проблема просто копировать нужные программы (мы с друзьями понимали, но исключительно в силу того, что успели приобщиться к западной сцене).
Одним из крупных центров (а может быть и самым крупным) обмена софтом в Питере было СПТУ-38, по-новому — «лицей радиоэлектроники». Это было культовое место и, я считаю, оно достойно как минимум памятной доски на стене здания.
В этом ПТУ был большой учебный класс, стояла пара десятков
Yamaha MSX-II. Но Ямахи, к тому времени, уже мало кого интересовали. Главное — в другом конце класса стояли три или четыре довольно приличных PC (286, а может быть даже и 386). За ними работало несколько человек — кто-то писал на
Turbo C и
Watcom C (без всяких плюсов), кто-то на
Прологе. Около одной из машин стояла пара ящиков, плотно заполненных пачками гибких дисков 5.25" и 3.5". Так тогда выглядело файлохранилище масштаба, я думаю, современного небольшого датацентра.
Мы подходили и робко здоровались. Сидящий за компьютером поворачивался и небрежно бросал: «Что у вас есть?». Мы скромно протягивали пачку дисков, которые он быстро вставлял в дисковод и, без видимого интереса, просматривал, очень редко копируя себе какой-нибудь архив (в эти моменты у нас ощутимо повышалась самооценка). После завершения процесса он уступал нам место и небрежно махал рукой в сторону ящика — «Смотрите, что нужно».
С каждого такого визита мы утаскивали какой-нибудь софт — часто первый попавшийся, так как никто бы нам не дал копаться в этом ящике часами. Несмотря на то, что все диски были аккуратно подписаны, какой-нибудь компилятор с библиотеками занимал 3-10 дисков, а копирование не было быстрым). Впрочем, даже с утащенным за один визит мы потом разбирались неделями, к тому же выменивая на полученные ценности софт в других местах.
У одного моего приятеля дома была собственная Tandy-1000. Это клон
IBM PCjr — PC XT с режимом 320x200x16 и неплохим, по тем временам, звуком (если сравнивать со стандартным однобитным PC Speaker). Проблемой, правда, был монохромный монитор — чёрно-зелёный. Но зато многие игры требовавшие 16 цветов, по крайней мере, работали. Тогда особо в моде были
Sierra'овские квесты — Space Quest, Hero Quest, Larry.
Вскоре у меня на работе в ЛИТМО вместо Правца появился PC AT 286 с EGA и Amstrad PC1640 (PC XT с EGA mono). К тому времени я вовсю уже программировал на ассемблере x86 и турбо паскале, довольно неплохо разбирался в железе. При этом, в плане пренебрежения своими обязанностями лаборанта, я вполне догнал своего коллегу из старого корпуса (с той лишь разницей что, я полагаю, вещества всё же сильнее вредили его здоровью, нежели моему — компьютеры).
Лучшей оценкой нашей профессиональной деятельности был тот факт, что, когда после года работы мы уволились, должность лаборанта на кафедре ВТ тут же упразднили, причём, насколько я слышал, возражений не было ни у кого.
Со следующего года я стал поступать в ЛИТМО и, не пройдя по баллам на кафедру ВТ, в 1991 году попал (вместе с другими такими же недобравшими) на организованную тогда новую кафедру Мехатроники. И снова (как и в случае с Политехом) — к счастью. Это позволило мне с трудом, но не вылететь на втором курсе.
Где-то раз в месяц у нас были лабораторные работы по, кажется, прикладной математике — на
СМ-4. Помню, увидев это шумящее чудо с множеством мигающих лампочек я, почему-то, не испытал никаких положительных эмоций. Чудо стояло за стеклянной стеной, а студенты сидели за терминалами. Смысл был в написании на Фортране простой программы для каких-то математических расчётов. Для редактирования исходника использовался TED. Для компиляции из него надо было выйти и запустить две другие программы, на что уходили минуты. Все жутко тормозило, ресурсов СМ-4 почему-то явно не хватало на десяток терминалов, вдобавок периодически что-то случалось и текст приходилось набирать чуть ли не заново. Мне хватило одного занятия чтобы понять, что появляться я здесь больше не хочу. Однако, получить результаты и продемонстрировать преподавателю, что я освоил
Фортран — было необходимо. После недолгих размышлений и листания (до чтения дело так и не дошло) книжки по первому попавшемуся Фортрану, я взял на PC обычный
Turbo Pascal и сделал на нём требуемые расчёты, после чего, заменив операторы на фортрановские, распечатал полученную «программу» вместе с результатами и понёс сдавать. Надо сказать, преподаватель был сильно озадачен. Для знающего Фортран было совершенно очевидно, что это программа работать не должна, хотя, конечно, я не скрывал, что написано всё на PC. Однако, к программе прилагались правильные результаты, явно распечатанные на том же принтере. Похоже, преподаватель был не очень уверен в своих познаниях Фортрана, так как мне довольно быстро удалось его убедить, что это некий Arity Fortran (первое слово, которое пришло мне в голову — кажется, тогда как раз выпустили Arity Prolog) и получить свой зачёт.
К тому времени, с компьютерами стало сильно проще. Сначала у меня дома появилась первая PC совместимая машина — СМ-1810.13 «Нивка». Это была PC XT 4.7MHz 640KB CGA, во внушительном корпусе full tower, на отечественной (кроме процессора и видео) элементной базе. Шина была собственная, так что никаких импортных плат расширения воткнуть было нельзя. Всё это хозяйство охлаждали 4 мощных вентилятора 220в каждый, так что при включении звук сильно напоминал запуск турбин самолёта.
Довольно быстро я разогнал процессор до 10мГц. Правда при этом, почему-то, стал
выскакивать из кроватки чип контроллера дисковода — пришлось примотать его нитками. Следом дома появилась уже PC AT 286 EGA, а потом и VGA (тогда было нормой постепенно апгрейдить компьютер, заменяя одни платы другими).
Параллельно я, по-прежнему, проводил много времени в ЛИТМО на кафедре ВТ — как после, так и вместо занятий. Там появились две
IBM PS/2 Model 30 (это PC 286 с MCGA видео и шиной microchannel), пара-тройка PC AT 286 и даже одна PC AT 386SX 16 мГц VGA (на тот момент — самое быстрое, что я видел), на которую зачем-то пытались поставить
OS/2 версии 1.0 (тогда ещё совместного производства Microsoft и IBM).
И вот тут, где-то в начале 1992-го, я от кого-то узнал про
FidoNet.
FidoNet и BBS
В принципе,
модем у меня валялся уже довольно давно. Но его применению препятствовали два важных обстоятельства. Во-первых, непонятно было, с кем при помощи него связываться и зачем. Во-вторых, это был акустический модем. Т.е. предполагалось, что на него сверху кладётся телефонная трубка (там были специальные обрезиненные динамик и микрофон) и, путем манипуляций с телефоном и кнопками, устанавливается соединение. Забегая вперёд отмечу, что связаться с кем-либо при помощи этого модема мне так никогда и не удалось.
Так что, первым настоящим моим модемом стал модем на 1200 бод без MNP (т.е. без коррекции ошибок), представлявший собой полноразмерную
ISA 8 бит плату, причём для стабильной работы его приходилось постоянно охлаждать комнатным вентилятором.
FidoNet не имела почти ничего общего с современным Интернетом — ни технически, ни организационно. Это была некоммерческая любительская сеть — люди (называемые "
сисопами", от «system operator») в разных городах и странах просто договорились о неких механизмах передачи друг другу почты (в виде архивов с текстовыми файлами), правилах приёма новых людей и о принципах разрешения конфликтов. Подключение и обмен почтой были бесплатными — крупные узлы сети обычно размещались в каких-либо организациях, которые оплачивали междугородние и международные звонки. Коммерческая деятельность в сети жёстко преследовалась, за исключением специально выделенных «анклавов» для продажи-покупки железок.
Центральной идеей FidoNet были
эхоконференции (эхи) — нечто, похожее на глобальные форумы разных тематик. В отличии от форумов в Интернете, эхи не принадлежали кому-то одному, а были размазаны по всей сети. За порядком в эхах следили модераторы — те, кто их создал или получил полномочия от создателей. Координировали хождение почты, а также отключали нарушавшие правила узлы — сетевые и региональные координаторы и эхокоординаторы.
Технически, станция FidoNet представляла собой компьютер с модемом подключенным к телефонной линии и специальным софтом. Для узлов сети было обязательным отвечать на звонки других узлов как миниум один час в сутки (ранним утром) — для обмена личной почтой. Как правило же, узлы работали либо всю ночь (пока родственники sysop'а спали), либо (в организациях) 24 часа в сутки.
В период своего расцвета на территории бывшего СССР сеть FidoNet насчитывала сотни узлов и бесчётное число поинтов (за поинтов отвечали узлы, через которые те получали доступ к почте). Это было уникальное явление — в Европе и США FidoNet никогда не достигал таких масштабов и организованности.
В отличии от Интернета, тот FidoNet был не просто транспортом для почты и файлов но, в первую очередь, сообществом людей, причём организованным по весьма демократичным принципам — со своими законами и механизмами, обеспечивающими их выполнение. Главным образом эти механизмы были направлены на обеспечение устойчивого хождения почты и порядка в эхоконференциях. Изменения, вносимые в документы, широко обсуждались сисопами и затем ставились на голосование. То же самое касалось и выборов координаторов разных уровней.
Для получения доступа в FidoNet не нужно было ничего, кроме наличия компьютера, модема (хотя, некоторые умудрялись получать почту на
дискетах, что в шутку называли «floppynet») и умения настроить необходимый для работы в сети софт. Последнее, впрочем, играло роль мощного фильтра, отсеивающего случайных людей — большая часть участников была так или иначе связана с IT, хотя, конечно, хватало людей с техникой не связанных, но пожелавших разобраться. Такая естественная закрытость сообщества позволяла до некоторой степени доверять друг другу.
Забегая вперёд скажу, что параллельно с расцветом FidoNet, в российских организациях и учреждениях был достаточно распространён ранний offline Интернет, который тогда часто называли "
Релком" — по названию крупнейшего провайдера. Там также существовало подобие эхоконференций (называемых
ньюсгруппами), однако принципы организации сети сказывались на содержимом этих ньюсгрупп крайне негативно. Уже упомянутый естественный фильтр здесь не действовал, подобной FidoNet регулирующей структуры эхокоординаторов не было. Всё это заменяли чисто коммерческие взаимоотношения провайдера и клиента. В связи с этим, содержимое ньюсгрупп часто представляло собой смесь спама с флеймом, которые ни у кого не было ни полномочий ни механизмов прекратить. На этой почве в FidoNet регулярно возникали споры о том, следует ли обмениваться с ньюсгруппами трафиком (отдельные узлы FidoNet параллельно выполняли роль гейтов).
Происходившее в FidoNet находило отражение и в реальной жизни. Принадлежность к этой сети была своего рода рекомендацией при приёме на работу (при этом ходила, имевшая по собой некоторые основания, шутка, что, если число сотрудников, имеющих отношение к FidoNet, в данной компании превышает определённое — та разваливается).
Во многих магазинах, торговавших компьютерами и комплектующими, достаточно было заявить о том, что ты имеешь адрес в FidoNet (одно время даже выпускались специальные значки), чтобы получить скидку или какое-то особое отношение.
Люди, избранные координаторами — были очень известны. Мне вспоминается показательный случай:
На московской выставке «Комтек» в конце 1990-х традиционно проводилась неформальная встреча сисопов со всей России и стран ближнего зарубежья. Ими была заполнена вся площадь перед павильонами — полагаю, там было несколько тысяч человек. В какой-то момент, прямиком через площадь попыталась проехать машина с кем-то «важным» (хотя, она могла свободно проехать по краю).
Сигналя, машина постепенно доехала до самого центра толпы, где стоял, спиной к ней, тогдашний региональный координатор. Я с ним о чём-то разговаривал и, соответственно, видел приближающуюся машину, которая, в конце-концов, упёрлась ему в спину. Понимая, на мой взгляд, ситуацию, он не отошёл, а напротив — сел на капот. Из машины вышли охранники и стали угрожать. Услышав разговор на повышенных тонах,, толпа начала собираться плотнее и вслушиваться. У охранников хватило здравого смысла не настаивать, поскольку в той ситуации вряд ли им помогло бы и оружие. Машина сдала назад.
Параллельно с FidoNet существовало также такое явление, как
BBS (Bulletin Board System). В нашей стране, как правило, станции FidoNet и BBS работали на одних и тех же компьютерах, поэтому часто эти понятия путали.
В отличии от узла FidoNet, через который можно было лишь забирать и отправлять почту, BBS предоставляла онлайн доступ к компьютеру (самая близкая современная аналогия — telnet). Любой желающий мог позвонить на телефонный номер из списка и, соединившись и зарегистрировавшись, скачивать файлы, читать почту или чатить с сисопом. В зависимости от статуса позвонившего (который присваивался сисопом по количеству ценного софта, закачанного пользователем, или степени знакомства с ним) устанавливались лимиты на время соединения. Поскольку телефонная линия была, как правило, одна, остальные желающие дозванивались до тех пор, пока позвонивший не освободит линию или не слетит с неё из-за плохой связи.
Сам звонок производился программой-терминалом, при помощи которой, через последовательный порт, модему передавались команды набора номера (ATDP1234567), изменения скорости, протоколов и пр. При этом динамик модема обычно оставляли включённым чтобы было слышно, не взял ли случайно трубку человек. Если трубку снимал модем, начинался процесс соединения с характерным шипением и свистом (по которому часто можно было опознать протокол и скорость). Если соединение устанавливалось, звук выключался и появлялась надпись вида «CONNECT 2400/MNP».
У меня на домашнем номере довольно долго работала SkyNet Station BBS и было необычно и интересно, когда вдруг звонили пообщаться незнакомые люди из других городов и даже стран. Некоторые пользовались для этого линиями "
Искра-2" (альтернативная ведомственная телефонная связь).
Поскольку рабочее время станций приходилось на ночь (с полуночи до утра), на занятиях в институте я, временами, отключался в совершенно неудачные моменты (для первого-второго курса такой подход к обучению был не совсем оптимальным, однако мне везло).
Звонки на зарубежные BBS были также способом получения свежего софта, как правило пиратского (warez). Так как межгород стоил дорого, такие звонки обычно осуществлялись за счёт организаций (часто — без их ведома). Были также и попытки научиться звонить бесплатно. Различные варианты
bluebox, известные из западных источников, на отечественных АТС, увы, не работали. Впрочем, известен
как минимум один человек, которому удалось успешно доработать эту технологию. Правда, к тому времени тема с BBS почти потеряла актуальность.
Сказать, что проводные телефонные линии в те годы были очень плохого качества — значит не сказать ничего. Типичными модемами поначалу были модемы на 2400 бод (бит в секунду) но в реальности средняя скорость была намного ниже. Существовало даже довольно популярное мнение, что на отечественных линиях нельзя получить скорость больше, чем 9600. Впрочем, точно также ходили байки и про невозможность тактовой частоты компьютеров свыше 33МГц, но обе эти цифра постоянно увеличивались, при неизменности качества линий.
Стали появляться модемы, за счет всяких технических решений обеспечивающие высокие скорости даже на линиях, по которым и разговаривать-то можно было с трудом. Очень редкими, но устойчивыми к помехам были модемы
Telebit с протоколом PEP и TurboPEP (23000 бод). Затем широко распространились
Zyxel (19200) и
US Robotics (16800) которые поддерживали, помимо стандартного для всех v32/v32bis (9600/14400), ещё и собственные протоколы — ZYX (19200) и HST (16800), на которых могли связываться только сами с собой. Выбор между Zyxel и USR даже имел для сисопов некоторый оттенок религиозного.
С протоколом HST связана любопытная история…
Первоначально этот протокол поддерживался лишь в модемах US Robotics Courier, весьма дорогих. Но, в какой-то момент, та же фирма выпустила дешёвый USR Sportster без поддержки протокола HST. Умельцы довольно быстро
обнаружили, что схемы обоих модемов практически идентичны, однако простая замена прошивки не приводила к превращению Спортстера в Курьер. В Питере тонкостью превращения овладели два человека, между которыми возникла конкуренция, временами перераставшая в военные действия. Помню, когда я принёс одному из них свой Спортстер на переделку, он попросил меня пойти погулять пару часов, так как он, якобы, должен был отнести его в какой-то НИИ и чуть ли не засунуть там в ускоритель элементарных частиц. Позднее выяснилось, что это выдумки и, на самом деле, всё куда проще.
Второй умелец располагался в одном из помещений Медицинского института на Карповке — там посреди большой комнаты стоял пустой корпус от древней ЕС-ки, внутри которого лежал матрас, на котором спал хозяин. У стены стоял полуоткрытый (днём) несгораемый шкаф с работающим компьютером и модемом — узел 2:5030/131.
С ростом скорости обмена данными и количеством участников сети росли и объемы софта, который нужно было где-то хранить. Жёсткие диски были очень дороги и не особо надёжны, а накопителей на CD ещё не было. Помню, в 1996 году я впервые увидел в
Корабелке видеопроигрыватель на оптических дисках диаметром дюймов 8. Да и то, способ записи видео там был аналоговый.
На начальном этапе были популярны различные методы увеличения ёмкости обычных гибких дисков. При помощи специальных утилит удавалось записывать более 800кб на диски штатной ёмкости 360кб (используя дисковод рассчитанный на 720 кб) и около 1.4мб на диски ёмкостью 1.2мб. Этого всё равно не хватало, поскольку требовалось сохранять практически весь софт, который попадал нам в руки. Во-первых, для целей дальнейшего обмена, во-вторых, очень часто потеря дистрибутива какого-нибудь редкого пакета означала, что больше его взять будет негде. Современные подходы вида «зачем хранить, лучше ещё раз скачаю» были неосуществимы.
Этой ситуацией воспользовались умельцы одной зеленоградской фирмы, разработавшие карту "
Arvid" для PC, позволявшую использовать почти любой видеомагнитофон в качестве стримера. На кассету влезало 1-2GB информации (с избыточностью, для коррекции ошибок), что по тем временам было очень много. Это было дешёвое и надёжное, а потому весьма популярное решение.
Хакеры и Демосцена
В тот период на рынке труда в России сложилась достаточно интересная ситуация, когда довольно много людей обладало передовыми, на тот момент, знаниями и опытом в области IT, но никак не могло извлечь из этого соответствующий этим знаниям и умениям доход — просто ввиду сравнительно небольшого спроса на такого рода услуги. В связи с этим, заниматься чем-то сложным и трудоёмким без какого-либо расчёта на материальное вознаграждение — было обычным делом. Двумя направлениями развития в этом плане являлись взлом софта и демосцена. Причём, поначалу эти направления были весьма тесно связаны, как и в случае со сценой на Commodore 64 (хотя и по совсем другим причинам).
Начиналось всё с так называемого вареза ("
warez") — всем бесплатно требовался самый разнообразный софт — от средств разработки до игр. Даже до распространения Интернета, существовали специализированные BBS, где можно было скачать свежие релизы (источником которых были, конечно, BBS в США и Европе). Для обмена софтом даже создали технически похожую на FidoNet международную сеть — IceNet (практически все узлы IceNet в России параллельно были узлами Fidonet). Реальные имена там не допускались — и именно тогда появился мой первый ник — «coderipper» (в те времена у нас говорили «алиас», слово «ник» появилось позже, в связи с IRC).
Существенная часть софта имела различные защиты от копирования, снятие которых требовало хорошего понимания железа и, подчас, глубоких знаний в области низкоуровневого программирования. Современные средства типа
IDA и средств виртуализации тогда практически отсутствовали, программам было несложно зафиксировать факт работы под отладчиком вроде AFD или
Turbo Debugger, также как и препятствовать дизассемблированию с помощью популярных дизассемблеров типа Sourcer.
Знания, полученные в ходе такого рода работ, частью людей стали использоваться для создания простых красивых эффектов — вроде имитации пламени или плазмы. В какой-то момент, для обмена такими поделками и опытом в их написания, я создал в FidoNet ( примерно в 1994 году) эхоконференцию DEMO.DESIGN.
От обсуждений алгоритмов и приёмов программирования, мы постепенно перешли к простым конкурсам. В первых из них задачами были отрисовка треугольника в минимальный объем кода, а также написание эффектов, которые уложились бы в 128 байт (подразумевалась платформа PC 80286 под DOS, как наиболее тогда распространённая).
Как раз в то время в мире (главным образом, в странах Скандинавии) стали проводиться
demoparty — фестивали любителей «демосцены», как стали называть этот жанр, сочетавший низкоуровневое программирование, неинтерактивные визуальные эффекты и, часто, музыку.
Конечно, demoparty проводились ещё с конца 1980-х (на уже упоминавшихся компьютерах типа Commodore 64) но, в отсутствие электронных средств коммуникаций, они носили локальный и, к тому же, не вполне легальный характер, так как параллельно служили местом обмена коммерческим софтом (так называемые «copy party»). Теперь же всё изменилось — наиболее известная в то время финская
Assembly demo party, где в 1993 было выпущено самое, пожалуй, известное demo "
Second Reality", собрала тысячи человек из разных стран.
Мы всё это наблюдали со стороны и, увидев по DEMO.DESIGN, что наш народ из разных городов тоже стал проявлять интерес к подобным вещам, задумались о проведении в Санкт-Петербурге чего-то подобного. В 1995 году, с помощью друзей и пары фирм, предоставивших помещение, компьютеры и Интернет, мы объявили о проведении в августа месяце
ENLiGHT'95 — первой российской demoparty (мы проводим это мероприятие до сих пор, теперь уже под названием
Chaos Constructions).
С тех первых лет не сохранилось почти никаких фотографий (просто потому, что цифровых камер не было, а с плёночными никому не пришло в голову заморачиваться), но видео записанное на VHS вполне передаёт дух и атмосферу мероприятия. Вместо недоступного проектора использовалась пара обычных ламповых телевизоров, народ толпился и сидел на полу в проходе, чтобы что-то увидеть. Никаких ноутбуков ни у кого не было, так что компьютеры (три штуки PC AT 486, а также Commodore Amiga и Commodore 64) предоставлялись нами исключительно для конкурсов и демонстрации работ с других demoparty. Голосовали на обычных листках бумаги, которые потом собирали для подведения итогов. Интернет же представлял собой просто компьютер с IRC клиентом, куда мы иногда сами писали о происходящем.
Почти все конкурсные работы были представлены для PC/DOS, а написаны на Ассемблере и Turbo Pascal'e. В плане квалификации участников достаточно будет сказать, что один из них использовал в своей demo собственноручно написанную в им же разработанном музыкальном редакторе (трэкере SoundWave), музыку. А 3D графика отрисовывалось его собственным движком, причём объекты были нарисованы тоже им в его же авторства редакторе. Позднее он занялся разработками в области криптографии.
Примерно в тот же период многие загорелись идеей создания своей операционной системы. Ситуация в этой области была такова, что кроме Unix'ов (на которые даже многие программисты тогда смотрели так, как если бы им вместо компьютера подсунули мешок с микросхемами) ни одной более-менее нормальной ОС общего назначения на тот момент не существовало. Наиболее популярные DOS и Windows (тогда версии 3.x) таковыми считаться не могли по очень многим критериям, а OS/2 только-только дошла до стадии, когда её можно было установить (если найти подходящий для этого компьютер). Mac'и же занимали довольно узкую нишу, причём в России их живьём мало кто видел.
На таком вот фоне в нашей среде возникли сразу несколько групп, пытавшихся предложить решения проблем, которые им казались важными для современной ОС — от распределённой обработки и хранения данных, до промежуточного кода для запуска приложений на самом разном железе и эффективного использования скудных, на тот момент, ресурсов среднего компьютера.
Обсуждалась вся эта деятельность в эхоконференции SPB.SYSPRG и на регулярных посиделках у сисопа 2:5030/269, написавшего эмулятор ЕС (точнее,
IBM/360) для PC. К какому-либо законченному продукту вся эта деятельность не привела — камнем преткновения стала необходимость написания драйверов под уже большое, на тот момент, количество устройств, но изучение архитектуры большинства созданных на тот момент процессоров и ОС весьма расширила наш кругозор и позволило (и сейчас позволяет) по-иному взглянуть на «новые» технологии. Кроме упомянутого эмулятора, в прикладном плане сисопом 2:5030/131 (да-да, тем самым, который переделывал USR Sportster в Courier) была создана система RTS-386, позволявшая в многопользовательском режиме, имея один компьютер PC AT 386 и дешёвые терминалы, полноценно работать десяткам человек — с графикой, под Windows.
Спринт и Интернет
Однажды, один из знакомых (по FidoNet, конечно же) упомянул, что у него есть возможность доступа в
CompuServe. Наверное, впервые нелегально пересекающие государственную границу, испытывают схожие ощущения — чтобы попасть в CompuServe, находясь в Питере, необходимо было позвонить модемом по широко известному в узких кругах телефону (я и сейчас могу назвать тот номер "...-92", даже если ночью разбудят). После этого ввести определённую последовательность символов, затем логин, пароль и указать номер банковской карты (тогда ни у кого из нас не было банковских карт, так что источник этих номеров был крайне сомнителен, если не сказать больше).
После этого в специальной программе под DOS можно было пользоваться сервисами CompuServe. Время стоило очень дорого и фактически основное, что я там делал — скачивал свежие выпуски журнала
Dr.Dobbs и смотрел группы Usenet.
Вскоре карты и логины протухли, но зёрна дали всходы. Мы узнали, что телефонный номер на который мы звонили — являлся местным входом в международную
X.25 сеть Sprint, которая использовалась для обмена данными между банками, ведомствами и крупными компаниями. Честно говоря, не помню, чтобы у нас хоть раз возникала идея провернуть что-то в финансовой сфере — нам это было, как минимум, неинтересно (в отличии от некоторых наших коллег, позднее попавших в выпуски новостей). Хотя внятного описания, что же нужно набирать после соединения с площадкой, у нас не было, изучив несколько имевшихся выпусков электронного журнала
Phrack, мы поняли, что если вводить всякие цифры либо слова, происходит соединение с какими-то удалёнными компьютерами. Даже несмотря на то, что в действительно интересные места мы не попадали (или попадали, имея очень ограниченные права), всё равно — осознавать, что ты, в данный момент, сидишь на мейнфрейме какого-то банка в каком-то городке в США (а иногда даже чатишь с кем-то, так же случайно там оказавшемся) — в этом была своя особенная романтика.
Здесь, наверное, стоит сделать лирическое отступление. Дело в том, что в то время разного рода несанкционированные действия в сетях, как правило, выполнялись людьми из любопытства, самоутверждения и по другим мотивам — не связанным с получением прибыли (причём, называть хакером самого себя было крайне неприлично — примерно как сказать «я великий учёный»). Слово "
хакер" не носило негативного оттенка и обозначало людей, которые занимаются чем-либо просто из любопытства, ради самого процесса (даже необязательно именно в области IT) и у них это хорошо получается. Конечно, за рубежом ФБР преследовало людей безотносительно того, получили они что-то от своих действий, или нет (ещё со времен обмена софтом на C64 в 1980-е). Но эти акции были довольно эпизодическими, а уж в России мало того, что не было законодательной базы, так ещё и сами спецслужбы не особо понимали, о чём вообще идёт речь и почему за это надо кого-то преследовать.
Нормальный полноценный онлайн Интернет я увидел тоже при достаточно специфических обстоятельствах. Как-то вечером 1993 года, меня позвал к себе на работу знакомый. Дело происходило в одной из контор расположенной в "
Новой Голландии", у которой имелся честный доступ в Интернет. Хотя на рабочем месте знакомого Интернета не было, но оттуда можно было по локальной сети зайти на компьютер с модемом, находящийся на другом этаже. И уже на нём запустить терминалку, далее позвонив в Москву и соединившись с
KIAE (понятно, думаю, что за межгород традиционно платили не мы). Этот первый онлайн Интернет для нас выглядел как чисто текстовый браузер
Lynx. Там мы достаточно быстро нашли как запустить IRC, который сразу спросил nickname. Нужно было очень быстро придумать, что бы такое короткое ввести. Так появился мой второй ник —
frog.
Конечно, всё это больше напоминало наши эксперименты со Спринтом, нежели Интернет в современном понимании. Но к тому времени стали появляться первые местные провайдеры, так что необходимости звонить в Москву и всячески химичить с доступом — уже не было.
Графический браузер с картинками (это был
Mosaic) я впервые увидел в интернет-провайдере Kaja, размещавшемся где-то в подвале, в районе гостиницы «Россия».
Дальше доступность Интернета стремительно росла — диалап (т.е. доступ по телефону) стало возможно получить за какие-то мелкие услуги, или просто пользоваться по-очереди чьим-то одним логином.
Как раз в связи с этим и произошло моё шапочное знакомство с
Unix…
Параллельно с коммерческими провайдерами развивались различные научные и образовательные сети. В рамках какого-то гранта
филиал Математического института им.Стеклова (что на Фонтанке) получил компьютер
Sun Classic с
Solaris 2.0 и подключение к Интернет по выделенной линии. Благодаря знакомым (всё из того же FidoNet), мы могли туда приходить, однако хотелось всё же получить диалап, чтобы сидеть в сети также и из дома. С целью реализовать эту идею, мы умудрились пересобрать
pppd от SunOS под Solaris, совершенно ничего не понимая в Unix (правда, на это ушло очень много времени). В периоды отчаянья, на том же Sun Classic я пытался ещё что-то писать на
спарковском ассемблере.
Пальмы
Примерно в 1997 году в Россию, вслед за Западом, пришла мода на мобильные устройства. Популяризация началась, конечно, с простых мобильных телефонов типа
Nokia 2110, 3110, 6210, Siemens me45. Однако, они были слишком уж специализированной вещью — в лучшем случае, кроме функции звонка, имевшей лишь неудобную записную книжку с календарём. Да и много текста с цифровой клавиатуры не наберёшь. Немногие существовавшие мобильные компьютеры типа
Apple Newton были тогда очень дорогими и труднодоступными. Дело сдвинулось, когда известный производитель модемов US Robotics выпустил устройство под названием
PalmPilot (карманное, недорогое, позволяющее делать заметки пером).
Среди моих знакомых такими устройствами обзавелись сразу несколько человек — не избежал этого и я. Поскольку возникала масса вопросов, связанных с софтом, железками для него и возможностями разработки, вскоре мы организовали неформальный "
Клуб любителей мобильных устройств" и раз в неделю стали встречаться в помещении компании «Кронверк» около метро Технологический институт. Кронверк был известен тем, что там долгое время располагался крупный узел FidoNet — 2:5030/2, сисоп которого дважды избирался сетевым координатором.
Слухи о наших встречах поползли быстро, а поскольку других подобных мест не было, к нам стали приходить самые разные люди, с самыми разными мобильными устройствами (PocketPC, WinCE, Palm, Newton, Psion и пр.), в том числе — весьма экзотическими. Эти еженедельные встречи мы проводили несколько лет, позднее переместившись в помещения
Института Истории Искусств но, со временем, информация и софт для чего угодно стали общедоступными и смысл в таких встречах потерялся (хотя, достаточно долгое время люди приходили обсуждать и другие, связанные с IT, вопросы. Да и даже просто пообщаться).
С повсеместным распространением компьютеров, Интернета, мобильных устройств — почти все сообщества, выстроенные вокруг этих технологий, либо в том или ином виде перешли под крыло коммерческих организаций, либо постепенно исчезли.
Работа людей, когда-то получивших известность на фоне вышеописанных событий — получила материальную оценку, так что, не имея в прошлом выбора, теперь они всё чаще предпочитали работать за деньги. Низкоуровневое программирование осталось лишь в очень узких нишах, а остальное всё больше переходит из категории искусства, во что-то близкое ремеслу, либо промышленному производству. Компьютеры (как минимум, в виде телефона) теперь есть у всех, доступ в Интернет открыт для любого желающего и не требует знаний и средств, а поведение людей в нём ограничивается, разве что, законами страны. Это всё, конечно, вполне закономерно, но делает новую околокомпьютерную реальность куда более обыденной — лишает её романтики.
Интересно, что и когда будет следующим технологическим новшеством, по масштабу и новизне сопоставимым с компьютерами и глобальными сетями?
Пётр Соболев
март 2017 г.