Когда моя работа выдержала его проверку, я был счастлив.
В свободное время я продолжал работать с симулятором Traf-O-Data. Центральный процессор PDP-10 весил почти тонну, но для моей программы он должен был действовать как чип размером с полпачки жвачки. Для начала мне нужно было определить набор примерно из трех десятков «макросов» – словесных команд, которые должны генерировать управляющие байты для процессора Intel 8008. За несколько дней я провел успешную «пересадку мозгов». Ассемблер PDP-10 не догадывался, что стал теперь Ассемблером для 8008-го.
Следующим шагом было создание собственно симулятора – программы, которая заставит работать «пересаженные мозги». Симулятор, написанный на Ассемблере для PDP-10, будет имитировать команды микрочипа. Программирование шло гладко; словно все, что я усвоил в CCC и Information Services Inc., вело меня к этой точке. К счастью, я мог завершить мое недельное задание от Боба Барнетта за двадцать часов и переключиться на Traf-O-Data. После недели упорных трудов все было готово.
Оставался третий, последний шаг – модифицировать отладчик PDP-10, чтобы Билл мог остановить программу на середине и проследить источник ошибки. Отладчик представлял собой неуклюжий участок кода, полный ловушек и тупиков, но через три недели у нас на руках было несравненное средство разработки для 8008-го чипа (мой метод оказался настолько эффективным, что Microsoft использовала его и в 1980-е годы – до тех пор, пока микропроцессоры не стали достаточно быстрыми и мощными, чтобы поддерживать собственные средства разработки). Незадолго до начала учебного года Билл завершил программу анализа дорожного движения. Мы тестировали ее на PDP-10 с выдуманными данными; симулятор распечатал впечатляющую диаграмму. Осталось только посмотреть, заработает ли программа Билла на железе Пола Гилберта Traf-O-Data.
Наши мечты ширились; Билл заговорил об организации настоящей компании. У меня были похожие фантазии, но меня больше тянуло к технологии. Я понимал, что недорогие компьютеры изменят будущее. Но что мы можем сделать нового и иного? Куда все движется? Как-то Рита приехала в Ванкувер, и я повел ее на трансляционную башню TRW; я рассказывал про возможности передачи информации, о том, как их можно использовать. Скоро, сказал я, появится высокоскоростная связь между людьми во всем мире.
В другой раз, когда мы с Биллом обедали в местной пиццерии, я подумал вслух:
– А что, если бы можно было читать новости с компьютерного терминала, а не в газете? Можно ведь даже запрограммировать его искать те статьи, которые нужны. Правда, здорово?