[Перевод] Правда о мозге Бендера

Дэвид Коэн, исполнительный продюсер и главный сценарист «Футурамы», рассказал, как процессор MOS Technology 6502 оказался в голове робота

Это перевод части статьи IEEE Spectrum«s Special Report: 25 Microchips That Shook the World.

14 ноября 1999 года эпизод «Футурамы», анимационного научно-фантастического сериала от создателя «Симпоснов» Мэтта Гроунинга, ошарашил гиков зрелищем технологического характера, абсолютно беспрецедентным в отрасли развлечений в прошлом. В этом эпизоде, «Фрай и фабрика Слёрма», профессор Фарнсворт направляет Ф-луч на голову безумного робота Бендера, и мы видим маленький прямоугольник, очевидно являющийся микросхемой, с надписью »6502».

04f5f80c1fe0190b476a634d4e43dcbd.jpg

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) проник в тайну мозга Бендера. Дэвид Коэн, исполнительный продюсер и главный сценарист «Футурамы», как выясняется, тоже изрядный гик.

f7410297d8071f5bbea1d638cbd211b2.gif

Вот ответ Коэна:

Я провёл изрядную долю времени в старших классах школы, программируя 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. в обмен на корм для рыб.

Терминатор тоже работает на 6502Терминатор тоже работает на 6502

© Habrahabr.ru