Дэвид Коэн, исполнительный продюсер и главный сценарист "Футурамы", рассказал, как процессор MOS Technology 6502 оказался в голове робота
Это перевод части статьи IEEE Spectrum’s Special Report: 25 Microchips That Shook the World.
14 ноября 1999 года эпизод "Футурамы", анимационного научно-фантастического сериала от создателя "Симпоснов" Мэтта Гроунинга, ошарашил гиков зрелищем технологического характера, абсолютно беспрецедентным в отрасли развлечений в прошлом. В этом эпизоде, "Фрай и фабрика Слёрма", профессор Фарнсворт направляет Ф-луч на голову безумного робота Бендера, и мы видим маленький прямоугольник, очевидно являющийся микросхемой, с надписью "6502".
6502 был любимым (по крайней мере, гиками) 8-битным микропроцессором, созданным компанией MOS Technology в 1975 году. Именно этот чип Стив Возняк, гик, обутый в сандалии и с неряшливой бородой, использовал для постройки Apple II в 1977 году, "машины, которая изменила всё", как её назвал журнал PC World. Он также был использован в Commodore PET, BBC Micro, и других систем, начавших революцию персональных компьютеров.
Появление этого чипа в "Футураме" взбудоражило нердосферу, вызвав шквал комментариев на онлайновых форумах (нердовских эквивалентах разговоров на коктейльных вечеринках). Также есть упоминание в Википедии, в статье по 6502. У нас в IEEE Spectrum появилось несколько вопросов, ранее не появлявшихся на фоне всех шумов. Во-первых, почему 6502? Во-вторых, возможно ли, что Mom’s Friendly Robot Co., как-то получила проект от волосатого хипана, который жил на севере Калифорнии в конце 20-го века?
Чтобы узнать правду, наш редактор Эрико Гуиззо (Erico Guizzo) проник в тайну мозга Бендера. Дэвид Коэн, исполнительный продюсер и главный сценарист "Футурамы", как выясняется, тоже изрядный гик.
Вот ответ Коэна:
Я провёл изрядную долю времени в старших классах школы, программируя Apple II Plus на ассемблере 6502, и прекрасно помню все долгие вечера наедине с этим чипом. Моё наивысшее достижение в области 6502 было видеоигрой, которую я назвал Zoid, в которую играл я и мой отец, и никто больше. Zoid обладал оцифрованной речью (я произносил слово "Zoid", замедленное, чтобы казаться мощнее), что было редкостью в то время. Цифровое аудио этого единственного слова занимало много памяти, больше, чем вся остальная программа. Я пробовал продать игру компании Broderbund Software, но я понял, что у них для меня плохие новости, когда я получил письмо, в котором моё имя было написано с ошибкой.
С точки зрения программирования, более впечатляющим достижением было создание настоящего работающего языка FLEET для Apple II Plus, который я разработал с двумя школьными друзьями, Дэвидом Борденом и Дэвидом Шимоновичем. Мы называли себя "Властелины Глюков". Язык был предназначен для облегчения написания школьных графических программ (да, видеоигр) для компьютеров Apple. Ни один из нас не знал ничего про компиляторы, и без каких-либо познаний в этом предмете, и работая исключительно на ассемблере 6502, мы каким-то образом написали работающий компилятор. Что ещё более впечатляло, там практически не было комментариев, просто страница за страницей ассемблерного кода.
Получившийся компилятор был очень хорош: быстрый, как молния, язык был прост для изучения и программирования, и скомпилированные программы были сравнимы по скорости с тем, что мы писали на чистом ассемблере. Я думаю, это был бы очень полезный продукт. Однако время играло против нас: компилятор был закончен в 1984 году, когда Apple II был предан забвению, и мы поступили в колледж. Таким образом, наш потрясающий компилятор так никогда и не был использован в практических целях.
В ретроспективе, я бы сказал, что ограничения процессора 6502 подталкивали нас, против нашей воли, к тому, чтобы проявлять сообразительность и изучать его работу на более глубоком уровне. Например, нам нужно было написать эффективную подпрограмму умножения и деления 16-битных чисел, используя только 8-битные операции сложения, вычитания и сдвига. Другой пример: возможно (а фактически, тривиально), нарисовать пиксели от точки (A, B) до точки (C, D) без использования операций деления или вычисления коэффициента наклона. Но это требует сообразительности. Итак, я думаю, программирование 6502, в те дни, когда память была очень ограниченной, было очень полезным для развития креативности и эффективности.
Переместившись в будущее на 15 лет, я работал над ранним эпизодом "Футурамы". Бендера просветили рентгеном (точнее, Ф-лучами), и мы увидели, на чём работает его могучий мозг. Естественно, на 6502.
Хоть я и ответственен за появление 6502 в "Футураме", я не самый опытный компьютерный инженер в команде сценаристов "Футурамы". У меня степень магистра computer science университета Калифорнии, в Беркли. Однако, сценарист Кен Келлер (Ken Keeler) имеет Ph.D. по прикладной математике из Гарварда и магистерскую степень electrical engineering, и, на полном серьёзе, Кен читает каждый номер "IEEE Spectrum" и иногда заглядывает в "Transactions on Information Theory".
Нет сомнения, что голова Возняка дожила в банке до 3000 года, и, возможно, по-прежнему носит сандали. И возможно, она предоставила проект Бендера компании Mom’s Friendly Robot Co. в обмен на корм для рыб.
Dioxin
6502 был любимым (по крайней мере, гиками)
американскими.
В СНГ самый популярный проц у гиков был Z80.
netch80
В общем-то неудивительно: сначала советская промышленность освоила 8080, и его по крайней мере можно было найти (в отличие от 6502, который полностью импортировался), Z80 его продолжил, и под них сделали собственные разработки компьютеров (Радио-86РК, Спектрумы...)
6502 остался в дорогих "Агатах" и т.п. зверях.
А для Запада было важнее, что 6502 стоил в 3+ раза дешевле конкурентов.
drWhy
«В СНГ самый популярный проц у гиков был Z80.»
«Z80 его продолжил, и под них сделали собственные разработки компьютеров (Радио-86РК, Спектрумы...)»
… АОНы, мини-АТС,…
VelocidadAbsurda
Там ещё разница во времени лет в 10. На момент популярности 6502 (конец 70-х/начало 80-х), на территории СНГ популярен не Z80, а "никакой". А ко времени Z80 в СНГ тот западный гик уже подрос и развлекался с каким-нибудь Motorola 68K.
ITMatika
Всё так. Почти.
Радио-86РК — на процессоре КР580ИК80.
Специалист — КР580ВМ80А.
Z80 массово пришёл позднее.
garageman
Так ВМ80 - это же клон Z80.
ITMatika
Нет. КР580ИК80 и КР580ВМ80А — это советские клоны, основанные на архитектуре Intel i8080A.
Z80 — отдельный совместимый процессор, основанный на доработанной архитектуре Intel 8080.
anonymous
Изначально все так, но позже(начало 90х) народ менял ик80 на z80 в рк86
32bit_me Автор
Что-то даже не знаю, кому в начале 90-х было интересно Радио 86 РК, когда спектрумы не собирал только ленивый.
IndyCar
6502 в СССР не имел шансов, тот миллион чипов, что был импортирован из Мексики, ушел на корявые Агаты, и это был… уже 90-91й годы. Не удивлюсь если тысяч 900 из той партии где-нибудь пылятся, ожидая своих археологов.
gmini
1858ВМ1