Код в фильмах: Терминатор (The Terminator)
На этот раз настолько популярный фильм, что мне тут разбирать особо и не пришлось. Только и нужно было собрать разбросанные по интернету фрагменты разборов вместе.
В фильме Терминатор Кэмерон решил проиллюстрировать нечеловеческую природу киборга, показав код, который, якобы, выполняется внутри робота. Большая часть этого кода - ассемблер для процессора 6502 (на котором работал тогдашний компьютер Apple II
), но встречается и Кобол.
Код и иллюстрации в фильме надёрганы, в основном, из околокомпьютерных журналов. Причём, любопытны даты публикаций в сравнении с датой выхода фильма. Журналы, из которых был использован код, были опубликованы в мае-августе 1984, а фильм вышел на экран в октябре того же года. Похоже, что создатели занимались графикой в самый последний момент, и напихивали эффекты в уже готовый фильм.
Интересно, что в фильме использованы по большей части фотокопии, без каких-либо специальных оформлений или изменений:
Из сентябрьского выпуска журнала Nibble
(журнал для пользователей Apple II
) заимствовали не только код, но и картинки:
Код внизу - это фрагмент листинга программы HIRES.EX
(стр. 89), предназначенной для реализации слайд-шоу на 5 картинок (больше в память Apple II
не влезало).
Слева - иллюстрация к программе на бейсике, предназначенной для обучения детей использованию компаса (стр. 51):
Справа - вырезка из демонстрации возможностей графики Макинтошей. Обучающие примеры рисования прямых, дуг и т.п (стр. 126).
Код в левой части со словами SETUP
:
Страница 40 того же выпуска Nibble
. Листинг программы NEWRAM
. Процедура SETUP
- часть реализации дискового загрузчика для Apple II
Слева - картинка, справа - код:
График со страницы 29, изображение вывода программы Micro-CAP
(Microcomputer Circuit Analysis Program
)
Справа - листинг программы MON.E
(стр. 52, Nibble 08-1984), реализация программы-монитора, поддерживающая расширенную память Apple
(встроенный в ПЗУ монитор умел адресоваться только к базовой памяти).
Код с адресом 6085
По центру - в эпизоде снялась собака Wolfy
(сокращение от Beowulf
), принадлежащая Джеймсу Кэмерону.
Слева - та же самая программа MON.E
, но если в предыдущем варианте от неё оставили только ассемблерный листинг, то на этот раз в фильм вошёл только её машинный код:
Справа - распечатка контрольных сумм файла OVLY.OBJ
. Перепечатывать программу вручную из журнала сложно, поэтому читатели иногда совершают ошибки. Для их поиска была программа KEY PERFECT
, выводящая контрольные суммы блоков, чтобы, сравнив их, можно было найти, в каком месте программы допущена опечатка.
В апреле 1984 в Nibble
была опубликована таблица:
Внимательный зритель спросит: “А почему в Терминаторе таблица начинается с числа 23EE
, а в журнале - 2861
?”
А это потому, что ошибаются не только читатели. В апрельском выпуске была допущена ошибка, а исправление вышло только в августе, откуда таблица и попала в фильм.
Сцена с “Fuck you, asshole”:
Cправа - майский выпуск Nibble
, стр. 87, иллюстрация к работе программы “Yagi Antenna
”:
Слева - стр. 112 - таблица кодирования ПЗУ, двоичное-шестнадцатеричное представление.
Сцена из будущего с летающим Охотником:
Код взят из публикации майского номера “73 Magazine
”, стр. 98. Это программа на Коболе, печатающая сумму чисел от 1 до 1000.
Надписи вокруг перекрестия, крупно:
позаимствованы из блока с рекламой на стр. 13 того же журнала (выделено жёлтым):
Та же сцена, таблица с кодами:
Из заметки о спутниках для любительского радиообмена:
Источники
- https://archive.org/details/73-magazine-1984-05/
- https://www.theterminatorfans.com/the-terminator-vision-hud-source-code-explained/
- https://www.linkedin.com/pulse/how-my-cobol-code-ended-up-original-terminator-movie-robert-swirsky/
- https://www.youtube.com/watch?v=GXkgbjpM49I
- https://www.pagetable.com/?p=64
- https://fontsinuse.com/uses/46227/the-terminator-1984-movie-logo-and-opening-cr
- https://behind-the-screens.tv/