Выбрать главу

Через неделю после прочтения статьи в «Popular Electronics» Билл Гейте и Пол Аллен позвонили в MITS.

Они представились сотрудниками сиэтлской фирмы Traf-O-Data. Билл без колебаний заявил, что он уже адаптировал Бейсик для Altair и спросил, не интересует ли это Робертса.

Робертс с некоторой осторожностью относился к таким предложениям, которые он уже неоднократно получал. «Да, конечно, — ответил он. — Покажите, что у вас есть.»

Вскоре в компании MITS получили письмо на фирменном бланке Traf-O-Data, в котором Гейтс и Аллен утверждали, что у них есть интерпретатор программ на Бейсике, работающий на всех компьютерах на базе чипа 8080. Авторы писали, что они хотят продавать копии этой программы через MITS в форме кассет или дискет. Они предлагали установить авторское вознаграждение в размере 50 центов за копию и просили Робертса ответить, если это его заинтересует.

Письмо возбудило любопытство Робертса. Он бросился к телефону набирать номер, указанный на фирменном бланке Traf-O-Data. Робертс попал в какую-то сиэтлскую школу-интернат и не нашел там никого, кто хотя бы что-нибудь знал об интерпретаторе для Бейсика. Что он мог после этого думать о предложении, пришедшем явно от каких-то шутников?

К счастью, вскоре Traf-O-Data вновь подала признаки жизни. Билл и Пол усердно трудились над Бейсиком для Altair. Проблема номер один заключалась в том, что у них не было компьютера Altair. Но они решили применить стратегию, которая прекрасно сработала в Traf-O-Data. Они смоделируют микропроцессор Altair на большой системе PDP-10 в компьютерной лаборатории Aiken Гарвардского университета. Пол в тонкостях владел этим искусством.

Несколько раньше некий Дэвид Осборн опубликовал руководство, содержащее подробное описание работы микропроцессора 8080. Билл и Пол купили его, и оно вместе со статьей в «Popular Electronics» стало основным справочным руководством для дуэта программистов. Они начали с изучения технических характеристик 8080. Пол пытался запрограммировать машину DEC так, чтобы она работала, как чип Intel. Он потратил две недели на разработку программы, моделирующей на PDP-10 процессор машины Altair, а также языка ассемблера для программирования чипа. Ассемблер получает на входе программу на своем языке и вырабатывает машинные команды. В это время Билл писал проектные спецификации Бейсика для Altair.

Друзья еще в глаза не видели микропроцессор 8080, когда они вновь позвонили Робертсу и сказали, что реализация языка почти закончена. На этот раз Робертс спросил, когда они смогут приехать в Альбукерке и продемонстрировать программу. Билл, тяжело вздохнув, ответил, что не меньше чем через три недели.

Максимальная емкость памяти компьютера Altair составляла всего лишь 4 килобайта (4К) или 4096 символов. (Через 10 лет память в компьютерах IBM и совместимых с ними будет в 160 раз больше). Поскольку разрабатываемый Гейтсом язык предназначался для написания и выполнения программ, объем памяти, занимаемый его Бейсиком, должен был быть меньше, чем 4К. К счастью, он успел накопить огромный опыт по написанию эффективных, коротких и хорошо отлаженных программ.

Четыре недели Билл в промежутках между занятиями, и днем и ночью, трудился в своей комнатушке в общежитии и в компьютерной лаборатории. Доходило до того, что он и Пол иногда засыпали перед экраном PDP-10. Скорость имела решающее значение еще и потому, что, по словам Робертса, разработкой Бейсика для Altair занимались не только они.

Общий вид устройства подготовки данных на перфоленте

Билл и Пол столкнулись с еще одной проблемой: вводом данных. Невозможно было себе представить, как ввести тысячи строк Бейсика с помощью переключателей компьютера Altair. Когда они позвонили в MITS, чтобы узнать, не собираются ли там выпускать клавиатуру для машины, специалисты компании были озадачены: таких планов и в помине не было. Компаньоны воспользовались оставшейся от Traf-O-Data техникой и вывели 8000 строк текста составленной Биллом программы на бумажную перфоленту.

Когда Биллу и Полу удавалось оторваться от работы, их поражал масштаб взваленной на себя задачи. Ведь Билл и Пол никогда не дотрагивались до компьютера Altair Успех их операции в значительной степени зависел от надежности написанной Полом программы, моделирующей работу чипа 8080.

Бейсик выдерживает экзамен