Я назвал свою маленькую программу «монитором», потому что в основном она занималась отслеживанием ввода с клавиатуры. Это ключевой момент – ведь конечной целью моего компьютера было написание программ. Если конкретнее, то я хотел запускать на нем «Фортран» – популярный в то время язык программирования.
Таким образом, идея состояла в том, чтобы заменить большую панель управления – похожую на кабину самолета, со всеми ее лампочками и переключателями – одной маленькой программой. Данные можно было вводить с настоящей клавиатуры и видеть результаты на настоящем экране.
С тех пор у каждого компьютера есть клавиатура и экран. Вот как кардинально все изменила моя идея.
* * *
У меня был свой стиль проектирования: прежде чем приступить к работе, я тратил массу времени на подготовку. Теперь, когда я почувствовал уверенность, что сделать компьютер реально, я начал искать информацию обо всех компонентах и чипах, которые могли бы пригодиться при его сборке.
Я ехал на работу утром – иногда даже в 6.30 утра – и там, сидя в одиночестве, быстро прочитывал инженерные журналы и инструкции к чипам. Я изучал спецификации и чертежи интересующих меня чипов, вроде того процессора Motorola за 40 долларов, о котором рассказал Майрон. Все это время я мысленно прорабатывал проект.
У Motorola 6800 было 40 коннекторов, и мне нужно было знать точно, как работает каждый из них. Поскольку я занимался этим только в свободное время, процесс затянулся надолго. Прошло несколько недель, а до конструирования так и не дошло. Наконец как-то ночью я начертил схему на бумаге. Наброски я делал и прежде, теперь же тщательно зарисовал все на своей чертежной доске в Hewlett-Packard.
Теперь до сборки компьютера оставался всего один шаг. Не хватало лишь комплектующих.
* * *
Мне стали попадаться статьи, в которых говорилось, что вскоре на выставке WESCON в Сан-Франциско будет представлен новый, гораздо более совершенный процессор. Они привлекали мое внимание еще и потому, что этот новый микропроцессор – 6502 производства компании MOS Technologies из Пенсильвании – был совместим с процессором Motorola 6800, положенным мной в основу компьютера, и повторял его электрическую схему. То есть я мог воткнуть его, не переделывая свою конструкцию.
А затем я услышал, что он будет продаваться с прилавка MOS Technologies на выставке. Вот как этот микропроцессор попал в Apple I: его было очень легко заполучить.
Более того, его цена была вдвое меньше той суммы, в которую обошелся бы мне процессор Motorola, даже если бы я покупал его на особых условиях для HP.
Выставка WESCON проходила 16–18 июня 1975 года в знаменитом выставочном центре Cow Palace в Сан-Франциско. Я с приятелями поехал туда и выстоял очередь перед столом MOS Technologies. Парень по имени Чак Педл торговал чипами с лотка.
Я тут же купил несколько штук по 20 долларов и руководство к ним за 5 долларов.
Теперь у меня было все необходимое для сборки компьютера.
* * *
Пару дней спустя на собрании «Клуба самодельных компьютеров» еще несколько человек радостно продемонстрировали свои процессоры 6502. Я не представлял, что они собираются с ними делать, но знал, чем займусь я сам.
Чтобы собрать компьютер, я разложил все детали на столе. Сборкой я занимался в своей кабинке в HP. Обычно после работы я ехал домой, разогревал готовый ужин в микроволновке или готовил спагетти, а потом снова ехал в офис (дорога занимала минут пять), проходил пост охраны и сидел там допоздна. Наверное, мне нравилось работать над проектом именно в HP, потому что там царил дух инженерии. И когда приходило время тестировать сборку или паять, можно было воспользоваться местным оборудованием.
Сначала я изучил свою схему на бумаге и точно определил, где и как размещу чипы на плате, чтобы перемычки между ними были короче и аккуратнее выглядели. Я собрал и разложил детали так, как они должны были размещаться на плате.
Большинство чипов были из видеотерминала, который я собрал для работы с ARPANET. Кроме того, у меня были микропроцессор, гнездо для еще одной платы с чипами памяти RAM и два периферийных адаптера для подключения процессора 6502 к терминалу.
Для всех чипов я задействовал гнезда, потому что был просто помешан на них – еще со времен работы в Electroglas, где припаянные чипы было не так-то просто извлечь и поменять. Я же хотел, чтобы это было легко.
Также у меня была пара гнезд для чипов памяти PROM. В этих чипах можно было хранить данные в виде маленькой программы, которая не стиралась при выключении компьютера.
У меня в лаборатории было два чипа PROM, на которых могло храниться 256 байт данных. Их было достаточно для крохотной программы. (Сегодня-то программы весят в миллионы раз больше.) Это настолько малый объем памяти, что в текстовом редакторе его хватит лишь на одно предложение.
Я решил записать на эти чипы свою программу-монитор, позволяющую использовать клавиатуру вместо панели управления.
Что такое ARPANET?Это сокращение от Advanced Research Projects Agency Network – «Сеть агентства передовых исследовательских проектов». ARPANET разрабатывалась Министерством обороны США и стала первой рабочей сетью на основе пакетной коммутации, способной связывать компьютеры по всему миру. Затем она превратилась в то, что сегодня известно под названием Интернет.
ARPANET и Интернет основаны на передаче данных по принципу «пакетной коммутации». Компьютер разбивает фрагмент данных на пакеты, которые можно отправлять по разным линиям связи и затем собирать воедино на другом конце. До этого основным методом была коммутация каналов. Это было похоже на старые телефонные системы начала XX столетия. Каждому звонку соответствовал отдельный канал, и весь сигнал шел только по нему.
Использование пакетной коммутации – феноменальный прорыв, благодаря которому и стал возможен Интернет.
* * *
Чтобы подключить чипы в компьютере – спаять все вместе, – мне потребовалась одна ночь. Еще несколько вечеров я писал 256-байтную программу – причем в буквальном смысле, ручкой на бумаге. У меня здорово получались компактные программы, но здесь была непростая задача даже для меня.
Это была моя первая программа для микропроцессора 6502. Тогда нормальные люди писали программы так: они платили за компьютерное время, за использование терминала и печатали программу. Терминал был подключен к дорогущему здоровенному компьютеру, стоявшему где-то еще. И вот этот компьютер распечатывал вашу программу в виде нулей и единиц, которые микропроцессор мог распознать.
Затем нули и единицы вводились в память RAM или PROM, и программа запускалась. Но я не мог позволить себе платить за компьютерное время и поэтому вынужден был писать программу на бумаге. К счастью, в руководстве к процессору 6502 описывались последовательности нулей и единиц для каждой инструкции, для каждого шага программы. MOS Technologies даже выдавала маленькую карточку, которую можно было носить с собой в кармане: на ней были записаны все нули и единицы для всех нужных инструкций.
(adsbygoogle = window.adsbygoogle || []).push({});