Стив Джобс и я: подлинная история Apple Возняк Стив
Затем нули и единицы вводились в память RAM или PROM, и программа запускалась. Но я не мог позволить себе платить за компьютерное время и поэтому вынужден был писать программу на бумаге. К счастью, в руководстве к процессору 6502 описывались последовательности нулей и единиц для каждой инструкции, для каждого шага программы. MOS Technologies даже выдавала маленькую карточку, которую можно было носить с собой в кармане: на ней были записаны все нули и единицы для всех нужных инструкций.
Итак, я записал программу на языке машинных кодов на левой стороне страницы. К примеру, я писал «LDA #44», что означало: загрузить данные, соответствующие 44 (в шестнадцатеричной системе счисления) в регистр А микропроцессора.
На правой стороне страницы я с помощью карточки записывал ту же инструкцию в шестнадцатеричной системе счисления. Инструкция из приведенного выше примера записывалась бы как A9 44. Она занимала 2 байта данных и на процессор поступала в таком виде: 10101001 01000100.
Чтобы написать программу, мне понадобилось несколько листов бумаги.
Я еле смог втиснуть все, что нужно, в это крохотное пространство на 256 байт. Я написал две версии: одна позволяла прерывать нажатием клавиши любую запущенную программу, другая – только проверить, что за клавиша нажата. Второй вариант назывался «опросом клавиатуры».
Днем я отнес две эти программы и несколько чипов памяти PROM в другое здание HP, где было оборудование, позволяющее «прожечь» их на чипе.
Но я все еще не мог закончить – и тем более протестировать – эти чипы, не имея памяти. Компьютерной, конечно.
Самым распространенным типом компьютерной памяти в то время были чипы SRAM (статическая RAM). «Крем-сода», «Альтаир» и все остальные компьютеры того времени использовали такую память. Я позаимствовал у Майрона Таттла 32 чипа SRAM. Каждый мог хранить 1024 бита данных. В общей сложности это было 4 килобайта – в шестнадцать раз больше, чем у «Альтаира» (256 байт).
Я спаял отдельную плату SRAM с этими чипами в гнездах и воткнул ее в разъем на моей основной плате.
Итак, я был готов проверить, работает ли мой компьютер.
Первым делом надо было подключить питание. Я воспользовался розетками рядом с моей кабинкой и проанализировал сигнал на осциллографе. Примерно час я выяснял, что же мешает микропроцессору заработать. Оказалось, что две ножки микропроцессора случайно замкнуло, и сигнал с обеих превратился в бессмысленный шум. Еще одну ножку я погнул, вводя чип в гнездо.
Но я продолжал возиться. Дело в том, что решить проблему со сборкой электронного устройства – настоящий кайф. Именно это и побуждает работать дальше, хотя в процессе ты испытываешь разочарование, гнев, подавленность и усталость, повторяя одно и то же много раз подряд. Ведь в какой-то момент ты понимаешь: все, ты решил проблему!
И наконец такой момент наступил и у меня. Мой микропроцессор заработал, и дело пошло.
Но надо было еще во многом разобраться. Я смог быстро отладить – то есть найти и исправить ошибки – терминальную часть компьютера, опираясь на свой большой опыт разработки терминала. Когда терминал вывел курсор на девятидюймовый черно-белый телевизор, стало ясно: он работает.
Следующий шаг – отладить 256-байтную программу-монитор. Я пару часов пытался заставить работать версию программы с прерываниями, но ничего не выходило. Я не мог заново записать программу в чипы PROM – для этого надо было опять пойти в другое здание. Я изучил спецификации чипа, чтобы понять, в чем ошибся, но до сих пор так и не понял, в чем было дело. Как знает любой инженер, прерывания – хитрая штука. Они могут давать отличные результаты, но вот заставить их работать – задачка непростая.
Наконец я забросил эту затею и взялся за два других чипа, с программой, которая проводила «опрос клавиатуры». Я нажал несколько клавиш, и о чудо! На экране появились буквы!
Ужасно трудно описать это чувство – когда что-то заработало с первой попытки. Это как послать мяч в лунку одним ударом с пятнадцати метров.
Времени было всего 10 вечера. Еще пару часов я практиковался во вводе и выводе данных на экран, убеждался, что они действительно сохраняются в памяти. Я даже набрал несколько очень коротких и простых программ и запустил их. Среди них была программа, печатающая на экране случайные символы.
То воскресенье, 29 июня 1975 года, стало поворотным моментом в истории, хотя тогда я этого и не понимал. Впервые стало возможно печатать символы на клавиатуре и тут же видеть, как они выводятся на экран.
Глава 11
Apple I – первый персональный компьютер
Я не из тех, у кого хватило бы смелости явиться на главное собрание «Клуба самодельных компьютеров», поднять руку и сообщить: «Эй, поглядите-ка, какой классный компьютер я собрал!» Нет, я не смог бы это сделать перед полным гаражом людей.
Но каждую среду после собрания я выставлял на стол свою аппаратуру и отвечал на вопросы. Я был рад всем, кто их задавал.
Как только компьютер, позже ставший известный под именем Apple I, заработал, я стал показывать его на каждом собрании. Я никогда не планировал выступление, а просто запускал демонстрацию и позволял всем задавать вопросы, на которые мне хотелось дать ответ. Я знал, что вопросы будут.
Я так гордился своим компьютером и так был уверен в важности нашего клуба для будущего компьютерной техники, что сделал, наверное, сотню копий с моих разработок (в том числе программы-монитора) и раздавал их всем желающим. Я надеялся, что они смогут собрать собственные компьютеры по моей схеме.
Я жаждал, чтобы все увидели эту замечательную разработку своими глазами. Ведь мой компьютер состоял всего из тридцати чипов – это просто шокировало народ. Примерно столько же было в «Альтаире» – вот только от «Альтаира» не было никакого толку, если не докупать к нему кучу дорогостоящего оборудования. Мой же компьютер был изначально недорогим. Его можно было подключить к обычному домашнему телевизору, а не выкладывать тысячи долларов за дорогой телетайп. Перед нами открывался целый новый мир.
И я не намерен был ограничиваться вводом нулей да единичек. Я еще со школы стремился иметь собственный компьютер, на котором можно было бы программировать. Хотя я тогда думал, что программировать буду на «Фортране».
Для моего компьютера еще не было никаких языков программирования. В 1975 году один парень – звали его Билл Гейтс – стал довольно популярен в наших кругах. Он написал интерпретатор языка «Бейсик» для «Альтаира». В нашем клубе была его копия на перфоленте, и ее можно было прочесть с помощью телетайпа. Это занимало около тридцати минут. А еще примерно тогда же вышла книга «Компьютерные игры на “Бейсике” для чайников». Я чувствовал, куда дует ветер.
Вот почему я решил, что подходящим языком для Apple I и его микропроцессора 6502 будет «Бейсик». И если бы я написал для него «Бейсик», то мог бы оказаться первым. Я мог бы стать знаменитым. Обо мне говорили бы: «О, Стив Возняк, это он сделал “Бейсик” для 6502-го!»
В любом случае достаточно было одного взгляда на мой компьютер, чтобы узреть будущее. И пути назад уже не было.
Когда я в первый раз демонстрировал свой компьютер, он был основан на статических микросхемах памяти (SRAM) того же типа, что в моем компьютере «Крем-сода». Но в журналах по электронике, которые я читал, писали о новом чипе «динамической» памяти (DRAM). На одном таком чипе могло быть установлено 4 килобита памяти.
Журналы восхваляли эту разработку: впервые полупроводниковая память стала дешевле памяти на магнитных сердечниках. И во всех основных моделях компьютеров, например у IBM и Data General, все еще использовалась старая память.
4 килобита памяти – а меньше я использовать не мог, – это всего лишь 8 чипов вместо 32 чипов SRAM, которые мне пришлось позаимствовать у Майрона. Я со школы всегда старался использовать как можно меньше чипов, так что это было то, что доктор прописал.
Самое важное различие между SRAM и DRAM в том, что чипам DRAM нужна постоянная регенерация, иначе их содержимое будет стираться. Иными словами, микропроцессору нужно электрически подзаряжать примерно 128 разных ячеек памяти каждую двухтысячную долю секунды, чтобы чип не забыл, что на нем записано.
Я подключил DRAM, остановив тактовый сигнал чипа и передачу информации и привязав их к «горизонтальной развертке» телевизора.
Вы же знаете, как выводится изображение на телевизоре – одна линия за другой, снизу вверх? В американских телевизорах на вывод одной линии требуется около 65 микросекунд (миллионных долей секунды). И вот оказывается, что около 40 микросекунд линия видима, а еще 25 – нет. И я предусмотрел, чтобы в течение этих 25 микросекунд, которые еще называют временем обновления, в DRAM вставлялось 16 уникальных адресов. Фактически я украл у микропроцессора несколько циклов, чтобы подзаряжать DRAM.
Я и не представить себе не мог, где взять чип DRAM, но, к счастью, как раз тогда один член клуба, работник AMI, предложил нам купить несколько четырехкилобитных чипов DRAM по разумной цене. Они тогда еще даже официально не были в продаже. Теперь я понимаю, что кое-кто просто стырил их у AMI, но тогда я не стал задавать никаких вопросов.
Я купил восемь чипов по 5 долларов у парня из AMI и изменил свою конструкцию: добавил несколько коннекторов в разъеме памяти на плате Apple I, чтобы она была совместима и с чипами SRAM, и с чипами DRAM. Я включил новую плату с DRAM, и она сразу заработала.
Я показал эту потрясающую разработку Стиву Джобсу. Он несколько раз ходил со мной в «Клуб самодельных компьютеров» – помогал дотащить телевизор. Стив все спрашивал меня, могу ли я собрать компьютер, на котором будут работать одновременно несколько пользователей в режиме разделения времени – как на мини-компьютере в местной компании Call Computer из Маунтин-Вью.
За год до того мы со Стивом продали Call Computer мой терминал ARPANET и передали им права на сборку и продажу таких терминалов.
«Конечно, – отвечал я. – Когда-нибудь». Я считал это вполне реальным – только не знал, когда это случится.
В другой раз Стив спросил, смогу ли я присоединить диск для хранения данных. И я опять ответил: «Конечно. Когда-нибудь». Все это казалось далеким будущим.
Потом, через несколько дней после того, как я подключил чипы памяти AMI, Стив позвонил мне в офис и спросил, не думал ли я использовать вместо них чипы Intel.
«Эх, Intel – самые лучшие, но на них у меня никаких штанов не хватит», – сказал я.
«Минутку», – ответил Стив.
Он позвонил нескольким знакомым и каким-то чудом сумел вытянуть из Intel несколько чипов DRAM бесплатно. Это было невероятно, учитывая, сколько они стоили и в каком дефиците были. Вот такой человек Стив. Он знал, как надо говорить с менеджерами по продажам. Я бы никогда на это не решился, я был слишком робок.
В общем, он достал мне чипы Intel. Заполучив их, я перестроил под них всю схему. И я очень гордился этим, потому что компьютер теперь стал еще компактнее. Пришлось добавить туда пару чипов, чтобы память Intel заработала, но сами чипы Intel были куда меньшего размера, чем у AMI.
Тут надо объяснить, почему же так важно делать более компактные чипы. Помните, я говорил, что со школы стремился использовать как можно меньше чипов? Это еще не все. Когда я учился в старших классах, я пытался найти чипы для компьютера, который только что разработал. Отец устроил мне встречу со своим знакомым, инженером Fairchild Semiconductor – компании, сотрудники которой и изобрели полупроводниковые интегральные схемы. Я рассказал ему, что разработал два варианта мини-компьютера. И выходило, что если использовать микросхемы Sygnetics (конкурента Fairchild), то понадобится меньше чипов.
Инженер спросил, что за чипы Sygnetics я использую.
Я назвал ему модель.
Тогда он заметил, что эти чипы гораздо больше по размеру, у них гораздо больше штырьков и коннекторов, чем у аналогичных чипов Fairchild. А это увеличивает сложность машины.
Я был поражен: тогда я мгновенно понял, что более простая конструкция компьютера должна содержать не только меньше чипов, но и меньше коннекторов. Моя цель изменилась: теперь я стремился не к тому, чтобы задействовать как можно меньше чипов, а к тому, чтобы создать плату как можно меньшей площади.
Обычно меньшее число чипов означало и меньшее число коннекторов, хотя и не всегда.
В конструкции Apple I переключение с памяти AMI на Intel как раз и позволило мне уменьшить размер платы, хоть и пришлось для этого добавить пару лишних чипов.
И сейчас я понимаю, насколько это было прекрасное и удачное решение. Ведь чипы той конструкции со временем стали стандартом для всех микросхем памяти, вплоть до нынешнего дня.
Ко Дню благодарения 1975 года Стив успел побывать вместе со мной на нескольких встречах «Клуба самодельных компьютеров». И он обратил внимание, что люди там работают над чертежами, но у них нет ни времени, ни способностей, чтобы действительно собрать компьютер по этим чертежам.
Он предложил: «Может, будем производить и продавать им печатные платы?»
Благодаря этому, по его задумке, люди могли бы припаять все свои чипы к печатной плате и получить готовый компьютер в считанные дни, а не через несколько месяцев. Самую тяжелую работу проделаем за них мы. Он планировал производить эти платы за 20 долларов, а продавать по 40 долларов. И это было бы отличной сделкой, потому что инженеры все равно получали сами чипы от своих компаний практически бесплатно.
Честно говоря, я не понимал, как можно на этом заработать. Я вычислил, что нужно вложить около 1000 долларов, чтобы компьютерная компания печатала для нас эти платы. Чтобы вернуть деньги, нужно было продать платы по 40 долларов полусотне людей. И мне казалось, что в клубе нет столько людей, готовых выложить денежки за наши платы. К тому моменту там всего было около пятисот членов, и большинство были поклонниками «Альтаира».
Но Стив выдвинул хороший аргумент. Мы тогда сидели в его машине, и он сказал – я помню его слова, как будто это было вчера: «Даже если мы и потеряем деньги, у нас будет своя компания. Впервые в жизни у нас будет своя компания».
Впервые в жизни у нас будет своя компания. Это убедило меня. И меня вдохновляла сама мысль о том, что мы станет бизнесменами. Двое лучших друзей открывают свое дело. Черт возьми! Я сразу понял, что соглашусь. Как я мог отказаться?
Глава 12
Мы создаем компанию
Чтобы собрать 1000 долларов на производство готовых печатных плат, я продал за 500 долларов свой калькулятор HP 65. Правда, парень, который его купил, заплатил мне только половину и так и не отдал остальное. Но я не сильно расстроился, потому что знал, что через месяц выходит калькулятор следующего поколения, HP 67. И я мог купить его всего за 370 долларов, пользуясь корпоративной скидкой.
Стив же продал за несколько сотен долларов свой микроавтобус VW. Он решил, что может ездить на велосипеде. И вот это случилось: мы были в бизнесе.
Хотите верьте, хотите нет, но всего через две недели мы придумали название для нашего партнерства. Помню, как вез Стива из аэропорта по трассе 85. Стив возвращался из Орегона, из места, которое он называл «яблоневым садом». Это была какая-то коммуна.
Стив предложил название: Apple Computer.
У меня тут же вырвалось: «А как быть с Apple Records?» Это музыкальный лейбл, принадлежавший (и до сих пор принадлежащий)
Beatles.
Мы оба пытались придумать технично звучащие названия получше, но ничего достойного в голову не приходило. Apple было на голову выше всех остальных названий, которые мы выдумывали.
Стив считал, что у Apple Records не должно быть претензий: ведь это совершенно другой бизнес. Я не знал, так ли это.
Итак, Apple. Нашей компании суждено было называться Apple.
Вскоре мы повстречались с другом Стива, который работал в Atari. Этот парень сказал, что сможет сделать базовую схему нашей печатной платы на основе моей оригинальной разработки примерно за 600 долларов. Эту схему мы потом должны были отдать в массовое производство.
Мы встретились с еще одним парнем из Atari, Роном Уэйном. Стив считал, что он может стать нашим партнером. Помню, как в первый раз увидел его и подумал: «Ух ты, потрясающий парень». Он мог сесть за печатную машинку и тут же отпечатать для нас соглашение о партнерстве, как профессиональный юрист. Юристом он не был, но знал все нужные юридические слова. Он быстро чесал языком и казался очень умным. Он был одним из тех людей, которые, казалось, на все вопросы могут найти быстрый ответ. Казалось, он знает, как делать все то, чего не умели мы.
Рон сыграл колоссальную роль в первые дни Apple – еще до того, как мы получили финансирование, и хоть что-то сделали. Сейчас мне кажется, что он действительно был нашим третьим партнером. И он сделал очень многое. Он проработал и написал первый вариант руководства пользователя. В конце концов, он мог печатать. И рисовать. Это он изобразил гравюру Ньютона под яблоней, вошедшую в руководство к компьютеру.
А под гравюрой стояла фраза из стихотворения Уильяма Вордсворта о Ньютоне. Там говорилось: «Как циферблат ума, что в одиночку плывет сквозь Мысли странные моря».
Постепенно я, Стив и Рон выработали партнерское соглашение на троих, означавшее начало бизнеса Apple. У Стива было 45 %, у меня 45 %, а у Рона – 10 %. Мы оба доверяли ему как человеку, способному разрешать конфликты. Рон занялся бумажными делами.
Откуда эта странная цитата?Пришлось ее поискать. Оказывается, она взята из третьей книги «Прелюдии» Уильяма Вордсворта. (A Mind Forever Voyaging – «Ум, что вечно плывет» – так называлась компьютерная игра 1985 года. Кто бы мог подумать?)
Полностью этот фрагмент звучал так:
- …я видеть мог
- На постаменте статую Ньютона.
- Он держит призму. Тихое лицо,
- Как циферблат ума, что в одиночку
- Плывет сквозь Мысли странные моря.
Но еще до того, как подписать соглашение, я кое-что вспомнил и рассказал об этом Стиву. Ведь я был сотрудником HP. И по трудовому контракту все, что я разработал за это время, принадлежало HP.
Я не понял, расстроило ли это Стива, но не это важно. Несомненно, мои обязательства по контракту с HP требовали сообщить компании, что именно я разработал, будучи их сотрудником. Это было бы правильно и честно. К тому же мне очень нравилась эта компания, и я действительно считал, что им следует выпустить такой продукт. Я знал, что парень по имени Майлз Джадд, который находился на три ступени выше меня по корпоративной лестнице, собрал группу инженеров в подразделении HP в Колорадо-Спрингз. Там они разработали настольный компьютер.
Их продукт был совсем не похож на наш – он был для ученых и инженеров и стоил очень дорого. Но он позволял программировать на «Бейсике».
Я сказал своему шефу Питу Дикинсону, что разработал недорогой настольный компьютер, который можно продавать не дороже 800 долларов и на котором можно запускать «Бейсик». Он согласился организовать встречу, чтобы я поговорил с Майлзом.
Помню, как вошел в большую переговорную, где сидели Пит, его босс Эд Хайнсен и босс Эда – Майлз. Я провел презентацию и показал им свою разработку.
«Отлично, – сказал Майлз, подумав пару минут. – Но есть проблема. Ты говоришь, что у тебя есть выход на телевизор. А что если изображение будет нормально выводиться не на всяком телевизоре? Кто тогда будет виноват – телевизор RCA, телевизор из Sears или продукт HP?»
Майлз заявил, что HP очень тщательно следит за качеством. А раз HP не может контролировать, какой телевизор используют потребители, то как компания гарантирует им хорошие впечатления от продукта? А главное, у его подразделения не было ни людей, ни денег, чтобы запускать проекты, подобные моему. Поэтому он отклонил мою разработку.
Я был разочарован, но настаивать не стал. Теперь у меня было полное право создать Apple со Стивом и Роном. Я сохранил работу, но после этого разговора «халтурил» уже официально. Все, с кем я работал, знали о компьютерной плате, которую мы собирались продавать.
Но в следующие несколько месяцев Майлз снова и снова обращался ко мне. Благодаря разработке своего подразделения в Колорадо он знал о компьютерах, программируемых на «Бейсике». И хотя им не нужно было мое решение, Майлз был заинтригован идеей компьютера настолько дешевого, что любой мог бы его купить и программировать на нем. Он все повторял мне, что просто потерял сон с тех пор, как услышал о моей идее.
Сейчас я понимаю, что его решение было верным. Как HP могла пойти на это? Никак. Мой компьютер не был готовым, законченным продуктом научно-инженерной мысли. Все понимали, что времена более компактных и дешевых компьютеров уже не за горами, но HP не могла признать мою разработку пригодным для массового производства продуктом. И даже если бы они и согласились ее выпускать, то наделали бы кучу ошибок. Ведь у HP ничего не вышло, когда они все-таки выпустили подобный компьютер в 1979 году. Их машина была просто никакой.
Через несколько недель после той встречи печатная плата была закончена и полностью готова к работе. Я очень гордился ею. Как раз когда я показывал ее инженерам HP, в лаборатории зазвонил телефон.
Это был Стив.
«Ты сидишь?»
«Нет», – ответил я.
«Так вот слушай. У меня заказ на 50 тысяч баксов».
«Что?»
Стив объяснил, что владелец местного компьютерного магазина видел меня на собраниях клуба и захотел купить у нас сотню компьютеров. Полностью в сборе, по 500 долларов.
Я был в шоке, в полном шоке. Пятьдесят тысяч долларов – это был мой заработок больше чем за два года. Такого я не ожидал.
Это был первый и самый удивительный успех компании Apple. Никогда не забуду тот момент.
Но все-таки я решил, что нужно еще раз все рассказать коллегам по HP. Я снова поговорил с Питом. Он отправил меня в юридический отдел.
Юридический отдел послал проект в каждое без исключения подразделение HP. Процесс занял около двух недель.
Но HP так и не проявила интереса, и я получил письмо от юридического отдела о том, что им не нужны никакие права на мою разработку.
Выяснилось, что парень по имени Пол Террелл открыл в Маунтин-Вью новый компьютерный магазин под названием Byte Shop.
Террелл видел, как я демонстрирую свою машину в «Клубе самодельных компьютеров», и попросил Стива «не теряться». Стив обратился к нему на следующий день. Он заявился в офис Пола босиком и сказал: «Привет. Я не потерялся».
Стив не знал, что Террелл ищет как раз такой продукт, какой был у нас. Террелл хотел продавать своим клиентам готовый компьютер, полностью собранный. И до тех пор никто этого не делал. Пока не было нас, Пол покупал «Альтаиры» или подобные им комплекты, и рабочие собирали их в подсобке. Каждый готовый компьютер он мог тут же продать. Но он видел, что потенциальных клиентов – интересующихся – гораздо больше. Стив рассказал ему о разработке Apple I, и Пол понял, что это полностью готовая плата и отличный продукт.
И вот, получив заказ Террелла, я понял, что есть люди, которым Apple I интересен. Это было так неожиданно, так волнующе – и так просто. Мы уже нашли маленькую компанию в Санта-Кларе, готовую массово выпускать наши платы. Теперь оставалось только поставить им дополнительные компоненты для сборки.
Но откуда взять эти компоненты? Денег у нас не было. Аллен Баум и его отец Элмер одолжили нам 2100 долларов, но этого не хватало. Но в итоге мы нашли дистрибьютора чипов Cramer Electronics, готового продать нам детали в кредит с оплатой через 30 дней. Он должен был позвонить Полу Терреллу и убедиться, что тот действительно нам заплатит.
Стив выбил из Пола согласие платить нам по мере поставки компьютеров. И фактически Террелл профинансировал весь проект: когда он платил нам, мы могли заплатить за чипы.
Дистрибьютор выдал нам комплектующие, и мы отправили их на склад компании, выпускавшей платы, в Санта-Кларе. В тот день, когда они были готовы приступать к работе, комплектующие извлекли из кладовой, занесли в отчет и принялись паять. После этого у нас было 30 дней на оплату.
Первая партия наших плат была готова к январю 1976 года. На рынке были комплекты вроде «Альтаира», но не предлагалось ничего подобного тому, что сделали мы. Помню, как ждал их – тогда я был счастливейшим человеком на свете. На самом деле я никогда не думал, что мы заработаем денег на Apple. Единственное, что приходило в голову: ух ты, я открыл, на что способен микропроцессор, и теперь ему есть столько применений, столько возможностей! Я был уверен, что обеспечил себя инструментом вычислений до конца своей жизни.
Я думал о потенциале Apple I и чуть не рехнулся. Скажем, я очень интересовался видеоиграми. И вот оказывается, что на моем маленьком компьютере можно еще и в игры играть. Я воображал, как однажды текстовые редакторы заменят печатные машинки. Я быстро печатал и понимал, что нам было еще далеко до замены печатных машинок компьютерами, но живо мог себе это представить. Я воображал, как компьютер будет помогать мне в инженерной работе в HP. У меня просто дух захватывало. О чем бы я ни задумывался, обязательно оказывалось, что компьютер может тут быть серьезным подспорьем. Я видел это совершенно ясно. И только об этом мог тогда думать.
Когда платы были готовы, мы подрядили друга Стива, Дэна Котке, и сестру Стива Пэтти вставлять чипы в разъемы, по 1 доллару за плату. Стив приносил нам с производства по 10–20 собранных плат за раз. И вот мы сидели за верстаком в гараже родителей Стива на Крист-авеню, и я подключал каждую собранную плату к телевизору и клавиатуре и проверял, работает ли она.
Если все было в порядке, то я засовывал ее в коробку. Если нет, то выяснял, что за провод не попал в разъем или что за контур замкнулся. Нерабочие платы я чинил и опять-таки складывал в коробку. Как только у нас набирались дюжина-две плат, Стив отвозил их в магазин Пола Террелла и получал деньги.
Это, конечно, не были готовые компьютеры в том смысле, в каком их понимают сегодня. Полу Терреллу приходилось подключать к ним мониторы, клавиатуры, трансформаторы и даже вставлять в корпуса. Не уверен, что именно на это он рассчитывал. Кажется, со слов Стива Джобса он решил, что получит совершенно готовые компьютеры.
Тогда у нас был недостаточный объем производства, чтобы работать с пластмассовыми корпусами. Поэтому Пол поставлял компьютеры в деревянных корпусах, часто из полинезийского дерева коа. Это было стильно.
Нам нужно было определиться с розничной ценой на наши платы. Ведь не только Полу мы собирались их поставлять.
Мы решили установить цену в 666,66 долларов за плату. Эту цену придумал я, любитель повторяющихся цифр. (В сущности, речь шла о 500 долларах плюс 30 % маржи.)
И знаете что? Никто из нас и не подумал, что это число может ассоциироваться с сатанизмом, пока Стиву не стали приходить письма об этом. Что-что? Число Зверя? Честно, у меня и мысли такой не было. Я не видел фильма «Изгоняющий дьявола». И Apple I совсем не казался мне зверем.
В конечном счете написание интерпретатора для «Бейсика» оказалось самым долгим и самым сложным моим проектом для Apple.
Тогда я лишь хмыкал при мысли о «Бейсике». По сравнению с «Фортраном» это был слабый, легковесный язык. Мне казалось, что никто не станет писать на нем изощренные программы, какими пользуются инженеры и ученые. Я видел, к чему все идет. В той книге, о которой я уже говорил, «Компьютерные игры на “Бейсике” для чайников», упоминалось, что можно просто вбить текст программы и получить готовую игру.
Я писал интерпретатор «Бейсика» для Apple I, основанного на процессоре MOS 6502. Я прикинул, что если напишу этот язык действительно быстро – если буду работать над ним днем и ночью и получу что-то работоспособное, – тогда я могу стать почти что знаменитостью. Люди станут говорить, что Стив Возняк написал первый «Бейсик» для 6502, как Билл Гейтс – для «Альтаира». Писать исходный код весьма увлекательно.
Я никогда по-настоящему не изучал разработку языков программирования. Когда я только начинал обучение в колледже, Аллен Баум копировал учебники в MIT, где он учился, и отправлял их мне. Так я кое-что узнал.
Я понял, что у языков программирования есть грамматическая структура, как у любого языка, и выяснил, как они устроены.
Я не знал, что интерпретаторы «Бейсика» для разных компьютеров, например для DEC и для HP, различались практически во всем. Я-то думал, что они все одинаковые и что разработка Билла Гейтса ничем не отличалась от других.
Так что я стянул на работе пару руководств по «Бейсику» для HP и изучил их. Я стал записывать на бумаге синтаксическую таблицу – грамматику компьютерного языка. Она определяет, какие команды может ввести программист.
Например, если бы в нашем языке была синтаксическая таблица, она бы объясняла, что личные местоимения вроде «он» или «она» – это примерно то же самое, что существительные, и обычно они становятся подлежащими в предложениях вроде: «Он бросил мяч». В этой таблице перечислялись бы все возможные глаголы, в том числе «бросил». И в ней были бы названы все возможные объекты, к которым они применяются, – вроде «мяча». В нашем языке миллионы вариантов для подлежащих, глаголов и объектов, но в языке типа «Бейсика» их число можно ограничить.
Нужны были правила. Допустим, вы написали часть уравнения:
5 + 3 7. Если написать ее без скобок, математик поймет, что сначала нужно умножить, а потом сложить. Так что на самом деле речь идет о 5 + 21. Вот это правило – какое действие выполнять первым – и есть пример того, что определяется в синтаксической таблице.
Я ничего не знал о том, как другие писали свои языки программирования Но мне казалось очевидным, что нужен «стек» для «существительных», где хранились бы числа, стек для «глаголов» (в том числе действий вроде сложения и умножения) и набор приоритетов для каждого глагола.
Основу своего «Бейсика» я написал примерно за четыре месяца. В итоге я исключил возможность вводить десятичные дроби (это также называют вычислениями с плавающей точкой) и использовал только целые числа. Кажется, это сэкономило мне около месяца времени. Я решил, что для игр и компьютерных симуляций – двух главных областей применения моего «Бейсика» – хватит и целых чисел.
Многие важнейшие в моей жизни программы, в том числе те, что я использовал в Колорадо, оперировали лишь целыми числами. Так что я запрограммировал свой «Бейсик» на работу лишь с числами от –32 768 до +32 787.
Я записал всю программу на бумаге – слева машинные коды, справа эквивалент в шестнадцатеричной системе счисления. Все это пришлось делать от руки, я не мог использовать программу для компоновки, как обычно. Точно так же мне пришлось писать небольшую программу для монитора.
И я решил: я же могу написать код сам, своими руками. Зачем мне компьютер?
Кстати, у меня все еще есть тот блокнот, в котором я писал свой «Бейсик». Кажется, его теперь можно выставлять в музее!
Так или иначе, в результате, когда мой «Бейсик 6502» был загружен в компьютер, я мог вводить маленькие программы с клавиатуры. Например, заставить компьютер спросить: «Как вас зовут?» И если вы печатали ответ, то ваше имя начинало летать по всему экрану. Сегодня это кажется таким простым, но тогда никто еще не имел опыта работы на маленьком компьютере, где можно было вводить программы с клавиатуры и тут же их исполнять.
Даже на машинах вроде «Альтаира» программировать было очень дорого: нужно было подключать специальную карту и длинный кабель для соединения с огромным уродливым телетайпом и его клавиатурой.
Несколько раз после собраний Клуба я показывал свой компьютер с «Бейсиком», и всякий раз у присутствующих глаза лезли на лоб.
Но возникла проблема. У Apple I не было постоянной памяти – ни жесткого диска, ни дискет, ни CD-дисковода, как у сегодняшних компьютеров. Так что каждый раз, когда мне нужно было запустить «Бейсик», приходилось включать компьютер и вбивать туда всю программу из блокнота. Эта программа занимала 4000 байт, и у меня уходило на ее ввод около 40 минут. И каждый раз после выключения она стиралась. То есть мне нужно было или вовсе не выключать компьютер – а тогда перевозить его было бы неудобно, – или придумать какое-то решение.
Что такое «Бейсик»Компьютерный язык «Бейсик» с самого начала задумывался как простой в использовании инструмент для написания компьютерных программ. Его создали два профессора Дартмутского колледжа, Джон Кемени и Томас Курц, в 1963 году. Аббревиатура BASIC означает «Многоцелевой код символических инструкций для начинающих» (Beginner’s All-purpose Symbolic Instruction Code). «Бейсик» изучить гораздо проще, чем языки вроде «Паскаля» и «Cи». Он более компактный и медленный. Но на моих первых компьютерах Apple он работал просто прекрасно.
Вот поэтому я разработал кассетный интерфейс для Apple I. Если не считать замены статической памяти динамической, это было единственное изменение по сравнению с моей изначальной версией, созданной во время первых собраний «Клуба самодельных компьютеров» весной 1975 года. Я устроил так, чтобы сразу после включения компьютера «Бейсик» автоматически загружался в память с обычной кассеты и был готов к использованию.
Но тут я обнаружил нечто ужасное. Я допустил просчет. Я думал, что все версии «Бейсика» более или менее одинаковые и что все сто игр на «Бейсике» из моей книги будут запускаться тут же, как только вы их введете. Оказалось, что мой «Бейсик» и «Бейсик» HP, который я штудировал, очень сильно отличаются от «Бейсика» Билла Гейтса и Microsoft, который, в свою очередь, был основан на «Бейсике» фирмы DEC. Черт!
Так что запрограммировать эти игры для Apple I можно было, только внеся в них изменения.
Некоторые из них все-таки заработали на Apple I. Например, я адаптировал для своего «Бейсика» популярную игру «Звездный путь». По мотивам сериала. И она работала прекрасно.
Когда мы начали продавать платы Полу Терреллу – работая днями и ночами, чтобы вовремя поставлять их, – прибыль превзошла все мои ожидания. Внезапно наш маленький бизнес стал приносить мне больше, чем работа в HP. Конечно, это были не такие уж большие деньги. Но для нас это было много. Мы собирали коробки по 220 долларов и продавали их оптом Полу Терреллу по 500 долларов.
И нам, естественно, не требовалось на это много денег. У меня была основная работа, так что я думал: «Круто! Будут еще деньги на пиццу!» А что касается Стива, то он жил у родителей. Мне было двадцать пять, ему всего двадцать один – ну какие у нас могли быть расходы? Apple не нужно было зарабатывать много, чтобы оставаться на плаву и двигаться дальше. Мы не платили себе зарплату, не арендовали офис. Нам не нужно было платить за патенты. У нас не было юристов. Это было для нас мелким побочным занятием, и мы ни о чем особенно не беспокоились.
Мой отец, наблюдая все это, заметил, что мы на самом деле ничего не зарабатываем – ведь мы даже зарплату не получали. Но нам было все равно: ведь все это было ужасно весело.
Как только мы начали вести дела с Полом Терреллом, Стив договорился, чтобы я представил свою плату для Apple I на главном собрании «Клуба самодельных компьютеров» в марте 1976 года. Я уже несколько месяцев демонстрировал свой компьютер после собраний, но еще ни разу не делал формальной презентации для всей группы.
Да и вообще я никогда не выступал перед таким собранием. Столько внимания я никогда еще не получал. Ведь к тому моменту в Клубе было уже пятьсот человек, а то и больше. Собрание проводили в аудитории Стэнфордского центра линейного ускорителя. Я спустился по проходу с печатной платой в руках. Я приводил только факты. После этого случая я только один раз выступал на собрании клуба – тогда я представлял компьютер Apple II.
Многие из Клуба уже видели мой прототип. Так что я просто стоял перед всей толпой и описывал чипы, попавшие на плату: какие они, откуда взялись, каковы их спецификации и архитектура. Я рассказывал о том, как собрал эту плату. И о том, что с моей точки зрения было главным: ведь у моего компьютера была клавиатура, на которой может печатать человек, а не дурацкая таинственная панель с кучей лампочек и переключателей.
Я объяснил, что задействовал не статическую, а динамическую память, и объяснил, почему. Я рассказал, что на моей плате 8 килобайт памяти, а на материнской плате «Альтаира» – всего 256 байт. Я рассказал о маленькой программе для «Бейсика» – той, которая перемещала ваше имя по экрану. Я описал схему обработки видеосигнала, коннекторы, нужное напряжение – в общем, все. И наконец добрался до цены: 666 долларов 66 центов.
Не знаю, произвело ли это выступление эффект разорвавшейся бомбы. Лучше спросите кого-нибудь, кто видел меня на сцене. Ведь к тому моменту многие члены Клуба или открыли свои маленькие компьютерные компании, или поступили на работу в такие фирмы. Так что, может быть, они и не увидели ничего особенного в Apple I.
Но я видел. И Стив видел. Мы очень гордились им.
Я считал, что мы участвуем в величайшей революции всех времен. Я был просто счастлив по этому поводу. И я не стремился оказаться в большом бизнесе. Мне было просто очень весело.
А вот Рону Уэйну, нашему третьему партнеру, было не очень весело. Он привык к крупным компаниям и большим зарплатам. Мы выкупили его долю за 800 долларов, когда отправили первые платы Полу Терреллу и задолго до того, как мы привлекли первого внешнего инвестора.
Глава 13
Как появился Apple II
К началу 1976 года мы продали, наверное, 150 компьютеров. Покупал их не только Byte Shop, но и другие мелкие магазинчики, появлявшиеся по всей стране. Порой, мы просто катались на машине по Калифорнии, заглядывали в магазины и спрашивали, не хотят ли они выставить на витрину Apple I. Мы и вправду продали так несколько компьютеров.
Но все это была мелочевка. Мы видели, как по всей Кремниевой долине возникают все новые и новые компании. И одна из них, Processor Technology, предположительно продавала в месяц больше тысячи своих компьютеров SOL-20. В мире компьютерных фанатов это был хит. И этот компьютер, созданный энтузиастами, поддерживал клавиатуру: они разработали его после того, как я продемонстрировал свой Apple I на собрании «Клуба самодельных компьютеров». Apple I положил начало этому тренду.
Ли Фелзенштейн, который вел собрания нашего клуба, собственноручно разрабатывал SOL. А Гордон Френч там работал. Так что мы много слышали о них.
На мой взгляд, компьютер Processor Technology был не шибко впечатляющим. Мы со Стивом были уверены, что сможем продавать больше, чем они. И к тому моменту у нас уже появился прототип следующего компьютера – Apple II, и он был в десять раз лучше, чем Apple I.
Имея такой компьютер, мы с легкостью могли бы зарабатывать столько же, сколько Processor Technology. Нужны были лишь деньги на его производство.
Apple II, над которым я начал работать почти сразу же после того, как был закончен Apple I, был просто феноменальным шагом вперед. Например, я хотел иметь компьютер, способный работать с цветом. С самого начала при разработке Apple I я пользовался чипами, поддерживающими частоту развертки американского ТВ, и планировал ввести цветное изображение. Но решил, что лучше разработать новый компьютер.
Поддержка цвета – это не просто два-три лишних чипа. Вопрос был в эффективности и изяществе всей конструкции. Я хотел встроить цвет как фундаментальную функцию, а не как дополнение к существующей модели. В Apple II с самого начала подразумевалась возможность работать в цвете.
А еще я хотел разработать совершенно новый компьютер для текста и графики – причем и для того, и для другого требовалась системная память.
То есть вместо того, чтобы использовать отдельный терминал для обработки изображения и отдельную память для остальных вычислений, я решил объединить всю память DRAM. Ту часть памяти, что использовал микропроцессор, можно было задействовать для вывода на экран чего угодно.
Я знал, что тем самым сэкономлю несколько чипов. И в результате в Apple II оказалось вдвое меньше чипов, чем в Apple I.
К тому же он был заметно быстрее. Помните, я говорил, что Apple I нужна была постоянная регенерация памяти, чтобы ее содержимое не пропало? Так вот, теперь у меня была более быстрая память DRAM. Прежний микропроцессор мог читать память или записывать в нее каждую миллионную долю секунды, а новые чипы могли делать это в два раза быстрее.
И оказалось даже, что микропроцессор может получать доступ к памяти за половину микросекунды, а схема, обеспечивающая регенерацию памяти, может делать это за вторую половину микросекунды. Вот почему мой новый компьютер Apple II работал быстрее. Также он был компактнее и дешевле. К этому я всегда и стремился.
Apple II имел бесчисленное множество улучшений по сравнению с Apple I. Некоторые считают, что Apple II был лишь второй версией Apple I, но это не так. Apple I был просто небольшой доработкой моего терминала ARPANET и не содержал практически никаких электронных инноваций, кроме динамической памяти. А вот Apple II был разработан и спроектирован с нуля. И только моими силами.
Сейчас я думаю, что мог бы сделать Apple II с самого начала: с цветом и всеми прочими функциями. Но тогда я предпочел решение, которое можно было реализовать очень быстро.
Обе машины были весьма инновационными. Apple I вошел в историю как первый персональный компьютер, способный работать с клавиатурой и дисплеем. Но в Apple II появились цвет, графика высокого разрешения, звук и возможность подключать игровые контроллеры. Это был первый компьютер, готовый к использованию сразу после загрузки.
Потом подтянулись и другие производители, но им понадобились годы, чтобы догнать мою разработку. И все они пришли к одному и тому же набору функций.
Apple II был первым недорогим компьютером, для работы на котором не требовалось быть большим специалистом.
Но тогда еще никто не видел Apple II. Я все еще трудился над ним, и мы по-прежнему работали из дома: я в своей квартире, а Стив сидел на телефоне в своей спальне. Компьютеры мы тестировали у него в гараже. Я по-прежнему разрабатывал калькуляторы в HP и считал Apple своим хобби. Я планировал работать в HP всю жизнь.
Но вскоре после поставки плат Apple I Терреллу у меня на руках был рабочий экземпляр Apple II. И, как я уже говорил, он был на порядок лучше первой модели.
К августу 1976 года я закончил работу над платой, которая была мозгом Apple II. Я помню это очень хорошо, потому что как раз в августе мы со Стивом полетели на выставку PC’76 в Атлантик-Сити.
Мы сели на самолет в Сан-Хосе и взяли с собой Apple I и Apple II. И забавно, что в том же самолете оказалась куча ребят, которых мы знали по «Клубу самодельных компьютеров» и которые теперь работали в тех самых маленьких компьютерных компаниях, соперничающих друг с другом. Мы слышали, как они общаются на продвинутом бизнес-жаргоне – ну, знаете, о коммерческих предложениях и все эти серьезно звучащие аббревиатуры, которых мы никогда прежде не слышали. Мы чувствовали себя чужими на этом празднике жизни.
Но мы-то знали, что у нас есть свой секрет. Большой секрет. Может, мы и держались в стороне от всех этих бизнес-историй, но знали, что наш компьютер лучше. Даже два компьютера – и оба лучше, чем у остальных. И никто в мире еще не знал об Apple II.
Мне очень повезло, что не пришлось впаривать Apple I с нашего стенда на выставке в Атлантик-Сити. Торговец из меня никакой. Этим занялись Стив Джобс и Дэн Котке. Я же сидел наверху и дописывал последние строчки программы на «Бейсике».
На выставке было полно молодых компаний вроде Apple, не имевших практически никакого финансирования. Их владельцы выглядели так же, как и мы. Там не было топ-менеджеров в дорогих костюмах, владельцев бизнеса, профессиональных руководителей. Это была, по большому счету, кучка довольно неряшливых людей.
Они работали на нашем рынке, и большинство из них были нашими конкурентами. Мы все оставались друзьями, но все-таки соперничали друг с другом.
Хотя мы не доставали Apple II из коробки на той выставке, один парень, не работавший ни в одной из тех компаний, увидел его. Это был человек из администрации, который устанавливал проекционный телевизор для посетителей. В первый вечер, когда все уже ушли, мы со Стивом спустились вниз и поговорили с этим человеком у проектора. Кажется, мы попросили его задержаться. Было около 9 вечера. У меня был специфический метод генерации цвета, и меня поражало, насколько хорошо он совместим с разными телевизорами. Я так и не нашел телевизора, на котором бы он не работал. Но я подумал: вдруг у проекционного ТВ иная цветовая схема, на которой моя разработка даст сбой?
И вот я подключил прототип Apple II к этому проектору, и все сработало отлично. Этот техник, который во время выставки успел повидать, наверное, все бюджетные компьютеры на свете, сказал мне, что наш – единственный, который он хотел бы купить.
Я лишь улыбнулся. Тогда Apple II официально еще не существовал.
Важнейшим, эпохальным моментом для меня стал тот миг, когда я запустил Breakout – игру для Atari – на Apple II.
Я заложил в «Бейсик» возможность определить, куда подключены игровые контроллеры. Он мог посылать на динамики звуковой сигнал и выводить цвет на экран. Так что все было готово.
Как-то раз я взял маленькую печатную плату с чипами и подсоединил ее к трансформаторам, а потом подключил все это к цветному телевизору.
Я сел и начал печатать команды «Бейсика», чтобы вывести на экран ряд кирпичей – точно как в той игре Atari, – и все заработало! У меня был этот ряд кирпичей. Я поиграл с разными сочетаниями цветов, пока не нашел нужное.
Я выложил восемь рядов кирпичей один за другим. Я выбрал нужные цвета, придумал, как сместить кирпичи, чтобы они выглядели более реалистично. Разделил четные и нечетные ряды. А потом я стал программировать дощечку, чтобы с ее помощью отбивать мяч в кирпичи. Я сделал так, чтобы дощечка двигалась вверх-вниз по команде игрового контроллера. Потом я вставил в игру мяч. Я заставил его двигаться. Потом я сообщил мячу, в каком случае он уничтожает кирпичи при ударе о них, а в каком – отпрыгивает. А еще как он отпрыгивает и как меняет направление по вертикали и горизонтали, когда ударяется о дощечку.
Я поиграл со всеми этими параметрами, что отняло у меня лишь полчаса. Я испытывал разные вариации, пока, наконец, игра Breakout не заработала на Apple II, показывая счет и все, что нужно.
Я позвонил Стиву Джобсу. Я просто не мог поверить, что смог это сделать. Я усадил Стива и показал ему, как в игре появились дощечка и кирпичи. А потом сказал: «Смотри». Я впечатал пару команд на «Бейсике», изменил цвета дощечки, кирпичей и области экрана, где выводился счет.
Я сказал: «Если бы мне пришлось вводить все эти опции на аппаратном уровне, как это делалось прежде, у меня бы ушло на это десять лет. А сейчас, когда появились игровые программы, весь мир переменится».
Вот в этот момент все и закрутилось. Программные игры становились гораздо более продвинутыми, чем игры, реализованные на аппаратном уровне – «зашитые» в игровые автоматы и так далее.
Сейчас графика в играх просто великолепна. Они стали необычайно сложными, а их размеры огромны. Если бы они создавались на аппаратном уровне, то программировать их пришлось бы до скончания времен.
Я подумал: ничего себе! В клубе ни за что не поверят, что игру из автомата можно написать и на «Бейсике». Она была первой в мире. А еще в моей версии Breakout для Apple II был секрет. Если нажать на клавиатуре Ctrl и Z, то в игре включался режим, при котором дощечка все время дергалась, но никогда не пропускала мяч.
Классная функция! Она убеждала людей, что им просто повезло отбить мяч. Дощечка тряслась и шаталась, и невозможно было поверить, что они попадают по мячу не благодаря своим навыкам и движениям, а по воле программы.
Как-то раз мы общались с Джоном Дрейпером (Капитан Кранч, помните?). Мы сидели в «Клубе самодельных компьютеров», и как раз закончилось собрание, настало время что-нибудь показать коллегам.
Джон еще никогда до того не играл в подобные игры.
Я сказал: «Вот, попробуй эту игру». Я показал ему, как управлять джойстиком, чтобы дощечка двигалась туда-сюда. Он сел и принялся играть. Все присутствующие наблюдали за ним минут пятнадцать. Мяч прыгал очень быстро, но Джон, хоть и не знал, что делать, все равно отбивал его. Все подумали, что он просто классный игрок.
Минут через пятнадцать он наконец достиг финала. И все мы поздравляли его так, будто он был величайшим игроком в мире. По-моему, он так и не узнал, что это была шутка.
Весной 1976 года, когда я работал над Apple II, мы со Стивом впервые поспорили. Он считал, что у Apple II не должно быть восьми слотов. Слоты – это разъемы, куда можно воткнуть дополнительные платы, чтобы расширить функциональность компьютера. Стив хотел, чтобы слота было только два: для принтера и для модема. Он считал, что так получится более дешевая и компактная машина, которой достаточно для повседневных дел.