Читать книгу Я – хакер! Хроника потерянного поколения - Дмитрий Артимович - Страница 3
Средняя школа
ОглавлениеZX Spectrum
В детстве я мечтал стать инженером – собирать различные механизмы, схемы. Я зачитывался книжкой «Электроника шаг за шагом» Рудольфа Свореня и пытался понять, как работают транзисторы, логические схемы, радио, кинескопы. В другой книге по физике я читал про устройство лазеров и турбин самолетов.
Дома, еще в детсадовском возрасте, я любил играть с электрическими конструкторами, протягивал провода от радиорозетки к динамику в своей комнате. Позже, в начальной школе, я приделал фару на свой велосипед – когда велосипед ехал, фара работала от динамки[1], когда стоял – от блока батареек. При этом переключение с батареек на динамку происходило через самодельное реле, сделанное из старого трансформатора.
Мой дед был первоклассным мотористом, а в свободное от работы время очень любил перебирать на даче движок своего старенького» «ИЖ Юпитер-3». Мы, маленькие, играли рядом и помогали ковырять этого двухцилиндрового зверя.
Karolis Kavolelis / Shutterstock.com
Я хорошо помню некоторые моменты. Например, как дед делал прокладку между двумя половинами двигателя: положив картонку на алюминиевый корпус, он обстукивал ее молотком, пока лишний картон не отваливался. Двигатель же был двухтактным. Вместе с бензином дед заливал в бак еще и моторное масло. Система смазки в этом мотоцикле была устроена таким образом, что в картере масло используется исключительно для смазывания шестерен коробки переключения передач, а вот коленвал и поршневая группа смазывались за счет масла из топлива. Заводился мотоцикл с таким рёвом, что я от страха всегда прятался в нашем старом домике.
Сколько бы дед ни перебирал двигатель своего мотоцикла, каждый год была одна и та же история – нет тяги то в одном цилиндре, то в другом. Видимо, тогда у меня и появилась эта любовь к механизмам. Очень хотелось понять, что приводит в движение поршень, как же переключаются скорости, как двигаются шестеренки в коробке передач и многое другое.
Помню, в начальных классах я даже всерьез задумывался, а не сделать ли вечный двигатель. Детское воображение рисовало множество вариантов, и я сильно недоумевал, почему никто еще не догадался, как это сделать? Но и у меня не получилось.
И вот, когда я был где-то во втором-третьем классе, родители принесли домой мой первый компьютер – ZX Spectrum. Выглядел он как небольшая черная коробочка с клавишами. Оказалось, эта коробочка подключалась в антенное гнездо телевизора через специальный переходник – модулятор, который формировал аналоговый сигнал из цифрового.
seeshooteatrepeat / Shutterstock.com
Но самое потрясающее для меня было то, что на нем можно было играть в игры. И эти игры были куда увлекательнее, чем старые советские электронные «Ну, погоди», где нужно собирать в корзинку падающие куриные яйца.
Мои родители после развала Советского Союза практически остались без денег. Пришлось распродавать нашу библиотеку. Денег еле-еле хватало на еду и какую-то одежду. Игрушки были в дефиците. Гулять со сверстниками мать меня не пускала, постоянно повторяя, что я маленький, и меня кто-нибудь побьет. Время тогда было неспокойное – «лихие» 90-е. Ее страх я могу понять. Но этот запрет наложил огромный отпечаток на всей моей жизни – я рос застенчивым и необщительным.
Мать много работала, отдавая все силы, чтобы добыть лишнюю копейку. Отцу пришлось устроиться на вторую работу. На выходных он брал меня с собой в местную школу, где подрабатывал электриком.
Летом, во время каникул, меня либо таскали на дачу – сажать картошку, поливать огурцы и помидоры, либо возили с собой в леc за грибами, чтобы не оставлять нас вдвоем с братом, а то мы «подеремся». Грибы родители собирали чуть ли не в промышленных масштабах, а потом сдавали за деньги.
За грибами меня поднимали в 4:30 утра и по любой погоде тащили на корм комарам и слепням – и в тепло, и в холод, и в дождь. Сначала мы ездили в лес на том самом дедовом мотоцикле. Меня сажали в почти прогнившую коляску, что нередко вызывало отвращение. Только меня не спрашивали, хочу я этого или нет. Целый день мы кормили кровососущих, а под вечер я сильно уставал и, как любой ребенок, начинал капризничать. Но на этом мои мучения не заканчивались – родители стелили покрывало на земле, и мы садились перебирать грибы. Тогда начиналось самое ужасное – в движении комары кусали меньше, чем когда сидишь. Хотя были и приятные моменты – все-таки природа и глухой лес. На даче я мог сесть на велосипед и поехать туда, куда меня не пускали, но где была свобода.
За всей этой мешаниной родители сильно уставали. Днями мы с братом просили отвести нас искупаться на речку или сходить на рыбалку, но они всегда говорили – то нет времени, то погода плохая и вода холодная.
Наверное поэтому ZX Spectrum и захватил полностью мое внимание. Находясь дома, взаперти, я наконец-то мог играть, пусть и с компьютером.
Для того, чтобы загрузить игру, к ZX Spectrum нужно было подключить магнитофон, вставить кассету и ждать минут пять, слушая мелодичное трещание в динамике. Благо родители откуда-то принесли два советских магнитофона «Квазар М».
В модели ZX Spectrum 48K был встроен интерпретатор BASIC – простенького языка программирования, адаптированного под этот ПК. Причем команды не нужно было набирать полностью – они выскакивали сами при нажатии на клавиши.
Для загрузки программы использовался Load. Помню, как я сидел на шершавом ковре в комнате родителей перед старым советским телевизором «Горизонт» и увлеченно загружал свои первые игры – Exolon, Elite, Dizzy. Телевизоры тогда были огромными ящиками, ламповыми, а вместо кристаллов – кинескоп.
Exolon, разработчик Raffaele Cecco, издатель Hewson Consultants, 1987
Dizzy, разработчик The Oliver Twins Big Red Software, издатель Codemasters, 1987
Elite, разработчики Дэвид Брэбен и Ян Белл, издатель Acornsoft, Firebird, 1984
Моей любимой игрой для Spectrum была Elite. Игра, написанная еще в 1985 году, завоевала множество поклонников по всему миру. Графика была достаточно примитивной по нынешним меркам – у объектов отображались только грани.
В огромной Вселенной вы управляете космическим кораблем, летаете по Галактике от станции к станции и перевозите товары. Вступаете в схватки с вражескими кораблями или убегаете от погони. Потихоньку докупаете прибамбасы для корабля – щиты, лазеры, стыковочный компьютер.
Стыковочный компьютер – вещь очень нужная. Поскольку все станции вращаются, приходилось очень точно целиться в посадочную шахту и начинать осевое вращение корабля. Пристыковаться была еще та задача – на «попотеть».
Если хотелось заработать быстрее, можно было возить запрещенный товар – рабов, наркотики. Конечно, понижался рейтинг, и на вас могли устроить облаву. Но можно было с помощью гиперпривода улететь в следующую галактику, а там рейтинг законопослушности снова обнулялся.
Сейчас подобная графика выглядит очень примитивной. Даже современный дешевый китайский смартфон тянет куда более реалистичные игры. На тот момент для восьмибитного процессора Z80, работающего на частоте 3,5 МГц, контурная трехмерная графика была пределом. Сам по себе процессор Z80 – очень удачная модель. Например, в его состав входило два набора регистров, между которыми можно было быстро переключаться. Что-то мне подсказывает, что компания Intel с него подсмотрела свой HT (Hyper Threading). Смысл технологии HT – это быстрое переключение между наборами регистров без их сохранения в медленной оперативной памяти.
Для Spectrum было написано множество игр. Очень многие из них переводились на русский язык. Кстати, игры писали тогда на чистом ассемблере, поскольку малый размер оперативной памяти не позволял использовать что-то другое.
За короткое время ZX Spectrum покорил мир. Секрет успеха был достаточно прост – цена. Блок без монитора, внешнего дисковода и клавиатуры стоил достаточно дешево.
А вы знали, что с ZX Spectrum началась эра персональных компьютеров?
В июле 1979-го Клайв Синклер учреждает компанию Sinclair Research Ltd. Отсюда и начинается история нашего ZX Spectrum. Первый продукт Sinclair ZX80 произведен в феврале 1980 года, это был первый компьютер в мире стоимостью ниже £100. Его размеры были 218×170×50 мм и весил он 340 грамм. ZX80 нельзя было назвать очень удачным, тем не менее он начал довольно хорошо продаваться.
На волне успеха Sinclair Research выпускает свой самый популярный компьютер. Происходит это в 1982 году. ZX Spectrum 48К имел постоянные запоминающие устройства (ПЗУ) с памятью 16 КБ, в которые был прошит диалект языка BASIC, так называемый Sinclair BASIC. Эта же программа ПЗУ обеспечивала базовый ввод-вывод и пользовательский интерфейс. С выпуском ZX Spectrum были огромные проблемы. На компанию Синклера посыпалось огромное количество заказов – до 40 000. Реальная возможность была производить лишь 5000 компьютеров ZX Spectrum в месяц.
На выпуске модели ZX Spectrum 128К и заканчивается история Sinclair Research. Заканчивается довольно неожиданно. В 1982–1983-х годах прибыль компании Клайва Синклера составила £13,5 млн, при этом ему принадлежало 85 % акций компании. Однако в 1983–1985-х годах амбициозный сэр, уверенный в своей гениальности, спонсировал разнообразные проекты, такие как электромобиль, плоский телевизор и новая модель компьютера (Sinclair QL). Конструкцию автомобиля он доверил компании, которая специализировалась на сборке стиральных машин. Автомобили никто не купил. С плоским телевизором тоже ничего не вышло. Новый компьютер отставал по качеству, по мощности и по цене от своих конкурентов. В 1985-м, чтобы избежать банкротства, Клайв уговорил торговую марку Dixons заключить сделку на £10 млн. Однако 7 апреля 1986 года сэр Клайв Синклер неожиданно уходит из компьютерной индустрии. При продаже компании Клайв получает £5 млн наличными.
У нас в России было очень мало оригинальных ZX Spectrum, в основном клоны. Очень много кооперативов по разным городам паяли такое чудо, ничуть не уступающее оригиналу. А вот с джойстиками всегда была проблема – они быстро ломались.
BASIC
В сельской школе, в которой я учился до 7-го класса, даже был компьютерный кружок, который, кстати, должен был вести мой отец, работавший там. Но вел я. А сводилось все к тому, что мы с друзьями просто сидели перед двумя огромными ламповыми телевизорами и играли на двух компьютерах Spectrum. У меня все-таки были друзья. Чем больше запрещаешь что-то ребенку, тем больше он будет хотеть это сделать. В школу я ходил вместе с отцом за руку. Мало ли, что могло с ребенком произойти по дороге, считала мать. Пока я дожидался отца после уроков, у меня часто бывало один-два свободных часа, когда я мог свободно бегать с друзьями вокруг школы. Мы играли в «квадрат» на улице, собирали березовый сок в лесу, залезали на спор кто выше, на полуразрушенную трубу старой котельной, взрывали самодельные петарды. Петарды мы делали из магния, смешанного с марганцовкой, а в качестве фителя использовали скрученную из бумаги трубочку с серой от спичек.
Потом у нас в России появились приставки, такие как Sega и Dendy. Мой Spectrum куда-то дели, возможно, отдали в тот самый кружок.
Родители купили Dendy. Она также подключалась к телевизору, но, в отличие от Spectrum, игры к ней шли на картриджах. Решение – гениальное! Игра записывалась в ПЗУ, которое просто подключалось к приставке. Тем самым разработчики усложнили жизнь пиратам, ведь копировать картриджи – куда сложнее и затратнее, чем копировать кассеты или диски. Хотя пиратов это тоже не остановило!
Viiviien / Shutterstock.com
Самая известная игра для Dendy – «танчики». В нее мы играли вдвоем с отцом, так же сидя перед большим телевизором на шершавом ковре.
Но вернемся к Spectrum. Вместе с компьютером родители купили книгу «Как написать игру». Это была моя первая книга по программированию. Описывала она программирование на несложном языке BASIC. Простенькие циклы, условия, работа с графикой.
Единственным штатным видеорежимом оригинального ZX Spectrum является графический режим разрешением 256×192 точки. Доступна только одна видеостраница, расположенная в основной памяти компьютера по фиксированному адресу. Информация о цвете задается атрибутами – по одному байту атрибутов на знакоместо 8×8 пикселей, то есть цвет был четырехбитным, всего было восемь значений цвета. Весь экран делился на 32×24 знако-места, для которых можно было задать только два цвета: фона и точки. В одном знако-месте не могло быть три пикселя с разными цветами. В общем, некоторые особенности помогали максимально экономить память.
Но, по большей части, я просто перепечатывал готовые строчки кода из книжки. Например, игру Sokoban в нескольких сотнях строк. Смысл ее – поставить ящики на помеченные места. При этом двигать ящик можно только вперед. Если ящик упирался в угол, его уже нельзя было оттащить назад.
Чего-то своего я тогда не сделал. Хотя сильное желание изучить ассемблер у меня возникло. И я его изучил, но значительно позже и под другую архитектуру.
Но рутина продолжалась – школа, уроки. Мать заставляла учиться и говорила, что я должен учиться, чтобы получить хорошую работу. Должен одеваться так и должен есть это… должен… должен… Мать, родившаяся в Советском Союзе, от всего сердца желала своим детям только лучшего. В ее время, получив высшее образование, можно было рассчитывать на престижную работу. Мои родители были людьми системы.
Мне всегда нравился Spectrum. И я был не один такой! По всему миру появились фан-клубы. Энтузиасты подключают сетевые карты, модемы, соединяют старенькие Spectrum в сеть. У меня до этого не дошло.
Классе в 8-м я выменял Speccy[2] у одноклассника, даже не помню уже на что. Этот блок был меньше – без встроенного динамика и модулятора. А это проблема – как подключить Speccy к телевизору? Ведь монитора у меня тогда не было.
Логически поразмыслив, я решил, что модулятор должен быть у Dendy. Ведь Dendy подключался в антенное гнездо телевизора. Значит, была возможность перевести цифровой сигнал в аналоговый.
Полный энтузиазма, я раскурочил корпус приставки и методом тыка, или перебора, подсоединяя провода из графического порта Spectrum, я все же смог добиться четкой картинки на экране телевизора! С удовлетворением вырвал плату из корпуса приставки и закрепил свой результат раскаленным паяльником. Сам не знаю как, но оно работало.
К сожалению, к тому времени мать уже не замечала моих маленьких побед. Работа в две смены поглотила ее полностью. И дома все ее время было занято: с утра она собирала нас в школу, днем готовила обед, помогала делать уроки, вечером проверяла тетради. И так повторялось каждый день.
1
Динамо-машина бутылочного вида, работает на боковой части передней шины велосипеда. Выполнена в виде небольшого генератора электрической энергии, служит для работы заднего фонаря и передней фары велосипеда, а также – для зарядки электронных мобильных устройств.
2
Speccy – так сокращенно называют ZX Spectrum его фанаты.