То воскресенье, 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, но тогда я не стал задавать никаких вопросов.