Слабоумие или отвага подключения на горячую, или Самая первая картинка на прототипе Макинтоша

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

Баррелл Смит любил заниматься проектированием во время рождественских каникул, поэтому самый первый прототип самого первого Макинтоша появился на свет уже в первом месяце нового десятилетия, в январе 1980 года. Это был ещё не совсем самостоятельный компьютер, поскольку прототип располагался на периферийной плате Apple II. Однако в нём уже были основные аппаратные элементы мечты Джефа Раскина: микропроцессор Motorola 6809E, 64 Кбайт памяти и графический буфер кадров размером 256 на 256 бит, который был подключён к симпатичному крошечному 7-дюймовому чёрно-белому дисплею. Баррелл использовал хост Apple II для ввода значений в память прототипа, чтобы инициализировать управляющие регистры и запускать небольшие программы на 6809.

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

К этому времени Баррелл думал, что графика работает правильно, но он не был в этом уверен; ему все еще нужно было написать программу, чтобы опробовать ее. Я сказал ему, что займусь этим, когда у меня появится время. Он дал мне копию рукописной страницы с магическими адресами, которые я должен был использовать, надеясь, что я скоро займусь этим.

Я привык возвращаться в лабораторию Apple после ужина, чтобы посмотреть, не происходит ли чего интересного, и поработать над различными внеклассными проектами. В тот вечер у меня было свободное время, поэтому я достал инструкции Баррелла и написал на языке ассемблера Apple II (6502) процедуру, которая должна была выполнить необходимые манипуляции с битами, чтобы передать данные с графического дисплея Apple II в буфер кадров прототипа Макинтоша, используя необычную схему синхронизации Баррелла.

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

Хотя было уже поздно, мне до смерти хотелось проверить, правильно ли работает моя программа, и было бы очень здорово удивить Баррелла, когда он придет на следующий день, детализированным изображением на дисплее прототипа. Но когда я подошел к нему, то заметил, что в Apple Баррелла нет платы дискового контроллера, так что загрузить мою программу не было никакой возможности. Проклятье! Я не мог выключить компьютер, чтобы вставить плату, потому что не знал, как заново инициализировать плату Макинтоша после включения; у Баррелла не было волшебного заклинания для этого. Я решил, что застрял и придется ждать завтрашнего дня.

Единственным человеком в лаборатории в тот вечер был Клифф Хьюстон, который видел, с чем я столкнулся. Клифф был еще одним из первых сотрудников Apple, старшим братом Дика Хьюстона (программиста-героя, написавшего 256-байтовое загрузочное ПЗУ для дискеты Apple II) и опытным, немного циничным техническим специалистом. Я объяснил ему ситуацию и был удивлен, когда он начал улыбаться.

Клифф рассказал мне, что смог вставить плату дискового контроллера в Apple II Баррелла при включенном питании и не сжечь ее. Это показалось мне чудом — нужно было быть невероятно быстрым и уверенным, чтобы не замкнуть контакты при вставке, рискуя сжечь и Apple II, и плату. Но Клифф сказал, что делал это уже много раз: все, что требовалось — это уверенность в том, что вы действительно сможете это сделать. Поэтому я скрестил пальцы, глядя, как он приближается к Apple Баррелла, словно воин-самурай, сосредотачивается на несколько секунд, затем задерживает дыхание и вставляет дисковую карту в слот быстрым как стакатто толчком.

Я едва мог заставить себя смотреть, но, как ни удивительно, машина Баррелла все еще работала, и диск загрузился, чтобы я мог загрузить образ Скруджа Макдака и мою новую процедуру преобразования. И что еще более удивительно, моя программа действительно сработала с первого раза, выведя на крошечный монитор Mac четкое изображение дядюшки Скруджа, который возится с ним. В Apple II было всего 192 строки сканирования, в то время как в зачаточном Macintosh — 256, поэтому у меня было дополнительное место внизу, где я вывел сообщение «Hi Burrell!» красивым пропорциональным шрифтом в двадцать четыре пункта.

К тому времени, когда я пришел на следующее утро, взволнованный Баррелл уже показал изображение всем, кого смог найти, но потом он как-то случайно перезагрузил прототип и не знал, как вернуть изображение на экран. Я загрузил его снова, чтобы он мог показать его Тому Уитни, вице-президенту по инженерным вопросам. Думаю, Джеф [Раскин] был очень доволен тем, что его новый компьютер начал оживать, но не думаю, что он был в восторге от моей демонстрации, поскольку считал меня слишком хакером, чем инженером, а хакеры не должны были участвовать в его личном проекте.

Добавить комментарий

Больше на Новости Fixed.one

Оформите подписку, чтобы продолжить чтение и получить доступ к полному архиву.

Continue reading