ЖАНРЫ

Стив Джобс и я: подлинная история Apple
Шрифт:

Apple II был нацелен на будущее и обеспечивал гибкость. Вот почему он стал лидером.

* * *

А еще Apple II был идеальным компьютером для всех, кто хотел разрабатывать видеоигры.

Мы поставляли документацию и все нужные инструменты, благодаря чему программисты легко могли создавать игры на «Бейсике» (с исполнением сотни команд в секунду), на языке машинных кодов (миллион команд в секунду) или и на том и на другом. Игры для компьютеров вроде PET и TRS-80 можно было писать только на «Бейсике», и только вводя текстовые символы. В отличие от Apple II эти машины не поддерживали настоящую графику. Невозможно было себе представить, чтобы кто-то создал увлекательную игру на одной из них.

В считанные месяцы на рынке появились десятки новых компаний, выпускающих игры для Apple II на кассетах. Все они были стартапами, но благодаря особенностям нашей разработки и готовой документации было легко выпускать программы для нашей платформы. Многие маленькие компании состояли лишь из одного человека, который, сидя дома, придумал, как написать классную игру, запрограммировал ее и скопировал на кассеты. Такие игры продавались через специализированные компьютерные магазины.

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

Так что все кассеты в магазинах были официальными. Магазины брали комиссию с их продажи. Всего за год вокруг Apple II выросла целая индустрия, многие десятки компаний.

А потом небольшие компании начали выпускать печатные платы, совместимые со слотами расширения Apple II. Их было легко проектировать, потому что мы давали полную информацию о том, как работают наши платы. К тому же у Apple II были небольшая операционная система, к которой имели доступ разработчики, и набор удобных инструментов для отладки программ, которые я написал сам.

Как спроектировать плату для принтера, чтобы подключить печатное устройство к Apple II? Как разработать плату для сканера или графопостроителя? Все было в документации, так что в течение года после июньского старта продаж Apple II внезапно на рынке появилась масса дополнительных продуктов.

Тем, кто хотел выпустить плату расширения, нужно было не только спроектировать ее, но и написать маленькую программу – драйвер, который передает информацию от компьютерной программы на оборудование. Заранее отведенные адреса для всех восьми слотов расширения передавались в чип памяти ROM или PROM на материнской плате, на котором хранилась программа. На одном чипе PROM программа могла занимать 256 байт, но у каждого слота были еще 2 килобайта адресного пространства, чтобы запускать дополнительный программный код. Нужно было знать, что на каждой плате есть эти дополнительные адреса памяти. Чтобы их использовать, нужны были микросхемы, обрабатывающие информацию о том, какая именно плата посылает сигнал.

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

У разработчиков плат было столько возможностей, что вскоре на рынке появилась масса чрезвычайно любопытных решений. Лучшие добивались максимума самыми скромными средствами – именно так, как нравилось мне.

В компьютерных журналах рекламировалась куча продуктов для Apple II – и программ, и оборудования. Бренд Apple II вдруг распространился повсюду. Нам не нужно было платить за рекламу и что-то вообще делать самим, чтобы нас узнали. Наш бренд уже был везде благодаря этой индустрии программ и оборудования, быстро выросшей вокруг Apple II.

Мы стали открытием того времени, и все журналы (даже массовая пресса) начали писать о нас хвалебные статьи. Они были повсюду. Такой пиар невозможно было купить. Да нам и не приходилось этого делать.

* * *

Итак, данные в Apple II хранились на кассетах. Я ни разу в жизни не пользовался флоппи-диском. Но они существовали. Я слышал, что продаются дискеты для компьютеров в сборке типа «Альтаира», и, конечно, на них работали дорогие мини-компьютеры той эпохи. Все эти диски были большого формата, восемь дюймов [4] , то есть сделаны на основе магнитных дисков такого диаметра. И на каждой такой дискете можно было хранить лишь 100 килобайт данных. По нынешним стандартам не шибко много. Это лишь около 100 000 печатных знаков.

4

Примерно 20,3 сантиметра.

Но на одном из совещаний Майк Марккула сказал мне, что Apple II непременно должен работать с дискетами. Его раздражало, что его маленькая бухгалтерская программа загружается с кассеты целую вечность. Флоппи-диск крутится гораздо быстрее, плотность записи на нем гораздо выше, и с него программа грузилась бы гораздо быстрее.

К примеру, с кассеты компьютер мог читать 1000 бит в секунду, а с дискеты – 100 000 бит в секунду.

Я помнил, что скоро в Лас-Вегасе пройдет выставка потребительской электроники CES. Это была первая CES, где планировалось демонстрировать компьютеры, и из Apple туда собирались только маркетологи.

Я спросил Майка: а если я закончу разработку дисковода вовремя, могу я тоже отправиться в Вегас на выставку? Он ответил утвердительно.

У меня оставалось лишь две недели, чтобы подготовить флоппи-дисковод для Apple II. Я ни разу в жизни не видел такое устройство в работе и никак его не использовал. Но теперь у меня была надуманная мотивация (надуманная – потому что, конечно, я и так мог бы съездить на CES, если бы захотел): снова изумить своих коллег по Apple.

Я работал днями и ночами, в Рождество и на Новый год. Рэнди Уиггингтон, тогда поступивший в Хоумстед – школу, которую закончили мы со Стивом, – много помогал мне с этим проектом.

* * *

Чтобы меня подстегнуть, Стив сообщил мне, что, по его информации, компания Shugart, главный производитель флоппи-дисководов на тот момент, собирается выйти на рынок с пятидюймовым форматом [5] . (Алан Шугарт изобрел флоппи-диски несколькими годами ранее, когда работал в IBM.) Стив всегда искал новые технологии, имеющие преимущества и способные стать трендом, и это был как раз тот случай.

Он заполучил один из новых пятидюймовых дисководов Shugart, чтобы я попробовал приладить его к Apple II. Мне нужно было сделать вот что: разработать плату контроллера, которая подключалась бы к Apple II и позволяла читать и записывать данные на дискету. Первым делом я изучил сам дисковод, его собственный контроллер и принципы его работы. Я проштудировал инструкцию. А затем проанализировал печатную схему дисковода и микросхему самого диска. Она содержала коннектор и протокол, определяющий, как обрабатывается сигнал на запись данных. В итоге я решил, что двадцать чипов из двадцати двух – или около того – не нужны. Чтобы флоппи-диск читался, нужны были уже имеющаяся микросхема на дисководе Shugart и схема, которую мне предстояло разработать. Я выдернул двадцать из их чипов, то есть в моем конечном продукте стало на двадцать процессоров меньше. Это мой обычный подход к работе. Теперь я мог отправлять данные с моего собственного контроллера дискет на головки чтения и записи и запускать свои собственные алгоритмы на компьютере. По правде сказать, с самим компьютером нужно было проделать меньше работы, чем ушло на генерацию смешного протокола, требовавшегося Shugart. Потом я посидел, подумал и придумал очень простую микросхему, записывающую данные на дискеты и читающую с них. Вот это оказалось серьезной проблемой.

5

Около 13 сантиметров.

* * *

В интерфейсе для кассет, который я разрабатывал, уровень сигнала постоянно менялся: от низкого к высокому и наоборот. Сигнал поступал постоянно, пока крутилась пленка. Так что микросхема, отвечающая за обмен данными с магнитофоном, просто не предусматривала поддержку постоянного уровня сигнала.

А на кассете нельзя было записать сигнал, сохраняющий один и тот же уровень достаточно долгое время. Так что микропроцессор менял уровень сигнала исходя из того, какие данные записывались: нули или единицы. Я установил скорость обмена данных с кассетой на уровне 1000–2000 герц. Это обычные для человеческого голоса частоты, для их записи и воспроизведения и предназначались кассеты. Это примерно одна миллисекунда (одна тысячная секунды) на переключение уровня сигнала.

Но при работе с дискетами переключение должно было происходить гораздо быстрее – за четыре-восемь микросекунд (миллионных долей секунды). Мой микропроцессор никак не мог генерировать такие сигналы напрямую из потока данных из нулей и единиц. Он не был рассчитан на такие скорости. Ведь микропроцессор 6502, на котором был основан Apple II, работал со скоростью приблизительно 1 мегагерц. Самые быстрые инструкции исполнялись за две микросекунды, а для генерации сигнала требовалось множество инструкций. Это была проблема.

Поделиться с друзьями: