Билл Гейтс и сотворение Microsoft - страница 12
» стало основным справочным руководством для дуэта программистов. Они начали с изучения технических характеристик 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.
В феврале 1975 г. накануне назначенной встречи с Эдом друзья работали допоздна. Пол успел на первый утренний самолет в Нью-Мексико. Вдруг его как водой окатали — да они же забыли написать программу для загрузки Бейсика в память Altair. Он начал писать ее во время снижения самолета при подлете к Альбукерке.
В Альбукерке Пол чувствовал себя неуютно. Местные жители этого залитого солнцем города были легко и небрежно одеты и носили ковбойские шляпы. К нему подкатил грузовик с мужчиной лет 40, отрекомендовавшимся Эдом Робертсом. Он сказал Полу, ожидавшему его в деловой части города у большого здания с обширными офисами: «Я отвезу вас в нашу опытно-конструкторскую лабораторию». Altair попал на обложку «Popular Electronics», и Пол предполагал, что MITS — крупная компания. Но вскоре он узнал, что это маленькая мастерская, расположенная между прачечной самообслуживания и массажным кабинетом.
Когда они вошли в «опытно-конструкторскую лабораторию», Пол впервые увидел собранный Altair. Это была усовершенствованная модель с памятью 6К. Пол захотел тут же проверить Бейсик, но Робертс сказал, что не стоит торопиться.
Билл оставался в Кембридже и с волнением ждал известий о результатах встречи. Надежд у него почти не было. Уж слишком много было неизвестных параметров. Точна ли моделирующая программа Пола? Может быть, в его Бейсике есть ошибки? Вечером позвонил Пол и попытался убедить его в том, что все будет в порядке, хотя он сам не был в этом уверен.
Решающий момент наступил на следующий день в офисе Робертса. Пол установил перфоленту на считывающее устройство, которое он подключил к компьютеру. Робертс с недоверием смотрел на все эти манипуляции. Прошли долгие минуты, пока данные загружались в память машины.