Литмир - Электронная Библиотека

— Моя отдушина! — похвалился Возняк. — Когда кажется, что весь мир против, а с организацией фестивалей слишком много хлопот, я прихожу сюда и паяю платы. Вам нравится запах припоя, друзья? Я его обожаю! Крис, друг мой, у тебя ведь есть в твоей умной голове тетрис на ассемблере под 6502? Нам надо его написать! Я думаю, что к утру мы с вами соберем прототип, ребят!

— У меня в голове есть, — скромно признался Джон, — мы с Крисом вместе писали Тетрис под Атари 2600 и я запомнил ядро игры его целиком.

— А не избыточно много мощности? Он же сожрет все батарейки за пару минут! Убивает всю идею портативности, — возразил я. — Я думал про четырехбитные контроллеры.

— Полагаю, прототипу не обязательно быть эффективным, — предположил Монти.

— Мы сделаем потрясающе эффективно! — пообещал Рокки. — Смотрите, что есть в моих запасах! Этот чип появился в продаже только в феврале, пока ограниченной партией! 65C02! Энергоэффективная версия 6502! Си-Си, ты прав, для твоего устройства у него избыточная мощность, но зато прототип мы соберем прямо сейчас! Ребят, это будет потрясающе! Джон, вон там мой рабочий Эппл 2, напишешь тетрис на нём? Крис, помоги ему! Монти, ты умеешь паять? Мне нужен ассистент, который ничего не испортит!

Ночь, в этот раз она звала нас всех. Обещание наколхозить прототип тетриса к утру звучало на первый взгляд фантастично. Подобные устройства не делают за каких-то жалких двенадцать часов… на это обычные инженеры тратят недели. Но у Воза, как я понял, вся схема сложилась в его гениальных мозгах где-то к третьему прочтению моего черновика, и уже затем он потащил нас ее реализовывать.

— Экран, ребят! Самая проблемная часть — это экран. Готовый сегментный японцы или тайваньцы сделают нам за каких-то полгода. Это СЛИШКОМ долго. Я хочу поиграть в наш Тетрис уже за завтраком. Вы же не против пиццы на завтрак? Если против, закажем что-то другое. Так вот, экран…

— Я думал о сетке из двухсот красных светодиодов, — подсказал я свою идею.

— И этот парень мне еще жаловался, что процессор сожрет все батарейки! — фыркнул Рокки. Манти, будь другом, достань вон тот ящик наверху, чтобы мне не лазить по стремянке. Не люблю лестницы, я для них слишком тяжелый! Ага, это то самое. ЖК экран 64 на 64 со встроенным драйвером! Просто отдаем ему поток байт по шине и создаем нужную картинку! Если задать для каждого кубика высоту в три пикселя, мы как раз отлично помещаемся в двадцать клеток и получаем по две точки отступа сверху и снизу! И сбоку еще хватит места для надписи «Си-Си — гений»! Ребят, вы невероятные, это лучшая тусовка в моей жизни! Вот так вот вместе разрабатывать крутые штуки — самый потрясающий формат вечеринки!

У нас было два квадратных дюйма графического ЖК-экрана, энергоэффективный процессор WDC 65C02, два килобайта оперативной памяти и ультрафиолетовый EPROM того же объема. А также пригоршня универсальных кнопок, пьезодинамик, четыре пальчиковых батарейки AA, смотанных синей изолентой, и сколько влезет разноцветных монтажных проводов. Не то, чтобы все это было категорически необходимо для портативного тетриса, но если уж начал собирать свой девайс — трудно остановиться.

Где-то в к двум ночи мы с Джоном накодили наш Тетрис на ассемблере, а на деревянном бруске размером с кирпичик разместились батарейки, плата, экран и управляющие элементы. Так-то крупноват девайс получается для повседневного использования. Но это прототип. Сперва мы и вовсе на цивильной белой монтажной плате в дырочку всю схему собирали и только убедившись в ее работоспособности перенесли на деревяшку для портативности и мобильности.

Пару раз нас приходили проведать то Линда, то Машенька, то Селеста. Приносили пиццу, колу и кофе.

— У нас там маленький девичник получился, ничего страшного? — спросила, зайдя в первый раз, Линда, — Селеста пообещала нам всем погадать на картах таро! Можно нам включить музыку?

— Любую, абсолютно любую! Аудиосистема в вашем распоряжении! Если хотите, позовите живых музыкантов! Хоть «Бесконечность Тьмы», хоть Пэта Симмонса, он держит коз на своём ранчо неподалеку. Отличные потрясающие козы!

Кто такой Симмонс, я вспомнил не сразу — участник прошлогоднего фестиваля в составе группы… а вот она из головы вылетела.

В четыре часа утра начал пищать наш прототип, выдавая «Коробейников», поводов для использования которых я посчитал достаточно. Мелодию в ассемблер Монти загнал, как самый музыкально образованный тут. Я хоть и получил краткий ликбез от мистера Лоу по всем ихним диезам и бемолям, всё еще некомпетентен и выдаю на удивление фальшивые ноты, а вот пронумерованных мажоров музыке учат и весьма серьезно. Мой товарищ явно овладел тайными техниками сольфеджио, так как я ему лишь примерный мотив настучал. Пока мы мелодию временно прожгли на отдельный чип памяти. Хорошо играет, каналья!

— Запускаю прожиг предфинальной версии! — оповестил всех Рокки от еще одного Эппл 2 с программатором. — Скрестите пальцы и не дышите!

Это была уже четвертая итерация. В предыдущих мы натворили багов. В основном я. Чего скрывать? Но и Джон тоже пару раз по рассеянности накосячил. Хорошо хоть такты ловить и подсчитывать не приходилось. Слава Омниссии! Возблагодарим Императора! Раминь! Ктулху фхтагн! Не-не-не! Ктулху, может быть, и спит, а мы еще не закончили. Где мой кофе?

— Кэндис звонила, просила присмотреть за вами, — заглянула к нам Линда как раз с кофейником, к какому и потянулись страждущие, включая меня, — а мы там заснули прямо во время гадания. Селеста и Мария спят, — девушка зевнула. Но критики того, какие мы безответственные и издеваемся над вторыми половинками, лишая сна, не последовало.

Динамик Эппл 2 с программатором трижды пропищал. Прожиг завершен!

— Эль-Кей! Ты нам и нужна! Будешь первым альфа-тестером! — сфокусировался на ней Рокки.

Как ловко он своими толстыми пальцами-сардельками схватил похожую на многоножку микросхему памяти и усадил в «кроватку» при помощи пинцета одним движением. Я бы долго примеривался. Мы его слепили из того, что было, а затем что было — то и полюбили!

И снова заиграли «Коробейники», но уже из рабочего прототипа. Динамик нам достался чересчур громкий, но это ерунда.

— Ха-ха-ха! Нам надо сделать в финальной версии режим будильника! Чип таймера на плате я же распаял! — рассмеялся Воз. Мы с ровесниками уже постепенно теряли силы и вовсю зевали, а он оставался неутомим, бодрячком. Завидую! У меня в его годы столько энергии уже не имелось. Но это у меня велосипеда и сотен миллионов на банковском счету не было.

— Милая, попробуешь⁈

— Да! Да! Конечно, да! Я буду играть в Тетрис для тебя!

Так и потянуло мысленно продолжить «в богатстве и в бедности», но это уже лишнее. Колечко-то я еще в феврале подарил. Всё решено. Остался последний незначительный технический вопрос — справить совершеннолетие.

Держать получившийся кирпич в руках, как полагается, стало бы неудобно даже здоровяку вроде Гектора, поэтому Линда оставила его лежать на столе. Рокки направил на экран яркую настольную лампу и четыре мужика во все глаза уставились на то, как хрупкая азиатка собирает линию за линией в постепенно ускоряющейся игре. И сколько мы так продержались?

Наверное, час абсолютной тишины, а затем…

— Хррр-псс-хррр… — Джон заснул, стоя на ногах и Рокки его подхватил, чтобы не упал.

Я немного мутным взглядом отыскал Монтгомери. Тот тоже вырубился, сидя за паяльным столом. Паяльник, слава Ктулху, выключен, остыл и в безопасном положении.

— Мы это сделали, ребят! Вы потрясающие! — шепотом сообщил Воз. — Поспите пару часиков.

Три, пять или восемь часов спустя я обнаружил себя на широком и мягком диване в гостиной Возняка в обнимку с сопящей в две дырочки Линдой. Посмотрел на наручные Касио — почти полдень. Блин, меня на работе наверняка потеряли. Решили, что Воз взял нас тут в заложники и пытается выведать секреты того, как именно Тетрис создает дофаминовую петлю.

Минувшей ночью я стал свидетелем истинного чуда Омниссии. О Император на Золотом Троне! Одна ночь! Да, из готовых компонентов и с хорошо известным кодом под отлично изученный нами процессор. Но жалких 12 часов! Умению Возняка собрать конфетку из серийных радиодеталей я завидую намного больше, чем пафосному дому и личному прудику с карпами.

30
{"b":"977289","o":1}