Как-то ночью мы возвращались к Айкену после вылазки в кафе; нас остановила университетская полиция и попросила предъявить документы. Мы-то считали, что никому не вредим, занимая машинное время, тем более что PDP-10 использовались мало. Но мы не знали, что Гарвард оплачивает компьютеры на пару с Министерством обороны, пропорционально использованному времени. Работая с симулятором, который пожирал много процессорного времени, я входил с паролем Билла. Когда пришли январские счета, доля Гарварда оказалась подозрительно велика; и очевидный подозреваемый нашелся быстро: Уильям Генри Гейтс III (летом Билл предстал перед административной комиссией, но отделался порицанием).
К концу февраля – через восемь недель после нашего первого контакта с MITS – интерпретатор был готов. Две тысячи строк кода, втиснутых примерно в 3200 байт. Это был крепкий маленький Бейсик – разумеется, ободранный, но мощный для своего размера. Никто не смог бы впихнуть больше функциональности и скорости в такой крохотный участок памяти. Недавно Билл сказал мне:
– Это лучшее, что мы сделали.
И это была действительно совместная работа. Я бы оценил вклад каждого так: 45 % – Билл, 30 % – Монте и 25 % – я, не считая средств разработки[4].
Если вдуматься, это стало серьезнейшим достижением для трех людей нашего возраста. Если сегодня проверить эти программы, я уверен, что они будут выглядеть лучше всего, что написали наши наставники в CCC. Мы с Биллом стали матерыми программистами.
И это было только начало.
Я был готов отправляться в Альбукерке, а Билл начал переживать. Что если я где-нибудь ошибся, переводя команды 8080-го в макроассемблер? Наш Бейсик успешно прошел проверку на моем симуляторе PDP-10, но у нас не было доказательств, что сам симулятор безупречен. Один-единственный неправильный символ может остановить программу на реальном чипе. В ночь накануне моего отъезда, когда я отправился спать, Билл сидел с инструкцией к 8080-му и переперепроверял мои макросы. Когда наутро я, по дороге в аэропорт Логана, забирал у Билла свежую перфоленту, он смотрел на меня мутными глазами. Коды правильные, сказал мне Билл. Насколько он мог судить, в моей работе не было ошибок.
Полет прошел спокойно, и только когда самолет начал снижение, я осознал, что кое-что забыл: начальный загрузчик, небольшую последовательность команд, которая сообщит «Альтаиру», как прочитать интерпретатор Бейсика и сохранить его в памяти. Загрузчик был необходим микропроцессору в эпоху до постоянных запоминающих устройств. Без него желтая лента в моем портфеле ничего не стоила. Я чувствовал себя идиотом, который не подумал ни о чем таком у Айкена, где можно было без суеты написать загрузчик и отладить его на PDP-10.
А сейчас время поджимало. За несколько минут до посадки я схватил блокнот и начал строчить код загрузчика на машинном языке – никаких ярлыков, никаких символов, только последовательность трехзначных чисел в восьмеричной системе (с основанием 8), язык общения для чипов Intel. Каждое число представляло один байт, команду для 8080-го, и большую их часть я помнил наизусть. «Ассемблер вручную» – известный своей сложностью процесс, даже при незначительных объемах. Я уложил программу в 21 байт – не самый изящный вариант, но в запарке мне было не до элегантности.
Я вышел из терминала весь потный и в своем лучшем костюме – коричневый пиджак из искусственной замши и галстук. Предполагалось, что Эд Робертс встретит меня, и я минут десять стоял, выглядывая кого-нибудь в деловом костюме. Неподалеку, на подъездной дороге притормозил пикап, и из него вылез большой, дородный человек с двойным подбородком, в шесть футов четыре дюйма ростом и, наверное, в 280 фунтов весом. Он носил джинсы, рубашку с короткими рукавами и узенький галстук – я впервые видел такой не на Западе. Человек подошел ко мне и спросил с гулким южным акцентом:
– Вы Пол Аллен?
Его волнистые черные волосы редели у лба.
– Да, – ответил я. – А вы Эд?
– Поехали, – сказал он. – Садитесь в машину.
Пока мы тряслись по пропеченным солнцем улицам города, я пытался угадать, как все повернется. Я ожидал увидеть облеченного властью руководителя из какой-нибудь передовой фирмы, вроде тех, что сосредоточены на шоссе 128, «высокотехнологичном поясе» Бостона. Реальность оказалась иной.
(В один из следующих прилетов я спустился на бетон, и мне в голову угодил куст «перекати-поля». Альбукерке – не Массачусетс.)
Эд сказал:
– Поедем в MITS, посмотрите на «Альтаир».
Мы въехали в торговую зону и остановились у одноэтажного торгового ряда. Кол-Линн Билдинг со своим кирпичным фасадом и большими зеркальными окнами, наверное, выглядел современно в 1955 году. За углом была витрина салона красоты. Я прошел за Эдом в стеклянную дверь и оказался в светлом помещении, где находились инженерный и производственный отделы MITS. Когда я прошел мимо сборочной линии, где полтора десятка рабочих с утомленным видом укладывали в коробки конденсаторы и печатные платы, мне стало понятно, почему Эд так хочет получить Бейсик. Программное обеспечение его не очень интересовало, но он понимал, что продажи «Альтаира» не будут расти, пока машина не научится делать что-нибудь полезное.
Когда я приехал, на всем заводе было всего два или три собранных компьютера; остальные уже увезли. Эд подвел меня к замусоренному стенду, на котором я обнаружил небесно-голубой металлический ящик с надписью «АЛЬТАИР 8800» на темно-серой передней панели. Собранный по образцу популярного мини-компьютера, с рядом тумблеров для ввода информации и красными светодиодами – для вывода, «Альтаир» был похож на уменьшенную копию нашей машины Traf-O-Data, семь дюймов в высоту и восемнадцать в ширину. Казалось фантастикой, что в такой маленькой коробочке умещается универсальный компьютер с настоящим центральным процессором. Но я не сомневался, что «Альтаир» – то, что надо. Оставалась одна загадка: будет ли он работать с перфолентой, лежащей у меня в портфеле. Над компьютером навис Билл Йейтс, желтолицый, неразговорчивый, тощий мужчина в очках с проволочной оправой – с Эдом они смотрелись как комики Лорел и Харди. Йейтс тестировал память машины – готовил ее для меня; крышка была поднята, так что я видел внутренности. В слоты на плате «Альтаира» (изобретение Эда Робертса, которое станет стандартом в отрасли) были вставлены семь килобайтных карт статической памяти. Наверное, то был единственный в мире микропроцессор с таким объемом оперативной памяти – более чем достаточным для моей демонстрации. К машине был подключен телетайп с устройством для чтения перфолент. Зрелище обнадеживало.
Было уже поздно, и Эд предложил перенести испытание Бейсика на утро.
– А где можно поужинать? – спросил я.
Он отвез меня в трехдолларовый буфет в мексиканском районе под названием «У Панчо». На обратном пути в машину залетела оса и ужалила меня в шею. «Это что-то нереальное», – подумалось мне. Эд сказал, что довезет меня до отеля, где забронировал мне номер; я рассчитывал на что-то вроде недорогого «Мотеля-6». У меня в кармане лежало всего сорок долларов; с наличными у меня всегда было напряженно, а первую кредитную карточку я получил лишь много лет спустя. Я побледнел, когда Эд остановился у «Шератона» – лучшего отеля в городе – и проводил меня до стойки.
– Вселяетесь? – спросил служащий. – Пятьдесят долларов.
Я смутился, как никогда в жизни.
– Эд, извините, – забормотал я, – но у меня нет столько наличных.
Эд смотрел на меня минуту; похоже, я не оправдал его ожиданий. Потом он сказал:
– Ничего, запишем на мою карточку.
Оставшись один в комнате, я позвонил Биллу и сообщил:
– Компьютер у них работает.
Мы радовались, но и нервничали: завтра все решится.
На следующее утро Эд и Билл Йейтс нависли надо мной, пока я, сидя перед «Альтаиром», вводил программу загрузчика с помощь тумблеров передней панели байт за байтом. В отличие от плоских пластиковых переключателей на PDP-8 металлические тумблеры «Альтаира» переключались туго. Процедура заняла пять минут, и я очень боялся, что Эд и Билл заметят, как я нервничаю. «Не заработает», – повторял я про себя.