[Перевод] Взлёт и падение игрового чипа 6502

Примерно сорок пять лет назад у команды разработчиков из Motorola появилась идея создания нового микропроцессора — простого, удобного в использовании и дешёвого в производстве. Родная компания не была в этом заинтересована, но и не мешала. И то наследие, которое оставила эта маленькая команда, продолжает жить в каждом ПК.

Рассказываем о том, как появился чип 6502.

ef6dd71403caa38b8ab596a6cd2e632f.jpg

Это было начало 1975 года. Группа инженеров, жаждущих разработать новый выдающийся продукт, решила уйти из Motorola и разработать новый процессор. Один из участников группы, Чак Педдл, убедил коллег присоединиться к небольшой фирме Джона Павинена, находившейся на востоке штата Пенсильвания — MOS Technology.

Микропроцессоры тогда были в новинку — только четыре года назад Intel начала их коммерческое применение. Молодой рынок микропроцессоров был представлен в основном продукцией Intel, Motorola и Texas Instruments.

В то время как Motorola и Intel зарабатывали сотни миллионов долларов в год, MOS Technology была настолько мала, что всего через год была целиком продана компании Commodore по цене 12 миллионов долларов.

Однако в небольших компаниях борьба за выживание часто приводит к более креативным замыслам. Инженеры MOS разработали метод исправления повреждённых чип-масок, называемый точечным выбиванием. В процессе производства эта техника позволяла сэкономить огромное количество денег и значительно увеличить объем выпуска микросхем.

Когда на кону стоит судьба компании, разработчики могут работать над проектом быстрее, чем кто-либо другой. Вся разработка 6502 под руководством Билла Менша была завершена менее чем за шесть месяцев.

Микросхема 6502 (Журнал IEEE Spectrum)Микросхема 6502 (Журнал IEEE Spectrum)

Что делать с новой микросхемой

На выставке WESCON в сентябре 1975 года Чак Педдл поставил стол с двумя стеклянными банками, полными чипов 6502, и табличкой:»25$». (Столь низкая стоимость 6502 имела необычные побочные эффекты. В течении трёх лет сформировался совершенно новый рынок: индустрия игровых консолей).

Это было радикальным решением. В то время микропроцессоры стоили от 200 долларов и выше. Но завод по производству микросхем компании MOS мог производить изящную и простую схему по невероятной для того времени цене. Точечное выбивание позволило им производить сотни хороших микросхем из одной силиконовой пластины, в то время как Motorola могла производить только десять.

Небольшое отступление

Фабрика микросхем MOS считалась чудом индустрии вплоть до 1992 года, когда контролирующая загрязнение окружающей среды компания EPA объявила её «объектом проведения очистки» из-за утечек в резервуарах для химикатов.

Чтобы повысить интерес покупателей к 6502, Чак Педдл отправился в тур по продажам. Он собрал демонстрационный компьютер KIM-1, подготовил руководства и маркетинговые материалы.

Плата имела один килобайт памяти, что было достаточно для хранения небольшой программы, чтения некоторых входных данных, и включения/выключения частей светодиодного дисплея. Бизнесмены заинтересовались и начали заказывать продукцию MOS, но компьютер сам по себе был им неинтересен.

Плата компьютера KIM-1 (old-computers.com)Плата компьютера KIM-1 (old-computers.com)

А вот люди, которые никаким боком не относились к крупным корпорациям, были очарованы новой микросхемой. Клуб The Homebrew Computer Club, образовавшийся после выпуска первых любительских компьютерных наборов, зажёг новую искру: Стив Возняк разработал свой собственный компьютер на базе 6502, вооружённый лишь идеями и находчивостью (а ещё несколькими кредитами и средствами от продажи личного графического калькулятора).

Стив Возняк хотел чего-то большего, чем доработанный вариант калькулятора KIM-1. Ему требовалась возможность видеть результат на экране телевизора. Поскольку у него не было поддержки технологии MOS, ему пришлось использовать дискретную логику — отдельные логические микросхемы, хитро соединённые вместе на системной плате, — для создания пишущей машинки на базе телевизора.

Выходные данные Apple I (YouTube)Выходные данные Apple I (YouTube)

Сказка о двух компьютерах

Так как MOS Technology была куплена Commodore, следующий компьютер Чака Педдла получил название Commodore PET. PET смотрелся убого: это был KIM-1 с телевизионным экраном и приклеенным с помощью скотча кассетным магнитофоном. Именно так работала компания Commodore: инженеры клепали модель продукта, представляли его на выставке и пытались придумать, как собрать его, если поступит достаточно заказов.

Два компьютера на базе 6502, 1977 год.Два компьютера на базе 6502, 1977 год.

PET был представлен в январе 1977 года и вызвал мгновенный спрос, но производство и продажа компьютеров были налажены только в июне 1977 года. Поскольку компьютер был ориентирован на бизнес, на нем можно было работать только с текстом, но предприимчивые разработчики все же нашли способ запускать на нем игры.

Азартные игры на PET, с сайта Commodore.caАзартные игры на PET, с сайта Commodore.ca

Пока PET позиционировал себя как серьёзный компьютер для бизнеса, Apple II был наполнен умными решениями, которые сделали Возняка знаменитым.

Возняк был не только компьютерным дизайнером: он также создавал аркадные игры для Atari. Он создал аркадную игру Breakout — игру с механикой, похожей на Pong, где игрок прокладывал себе путь наверх. Этот опыт привел его к разработке Apple II для поддержки игр.

И PET, и Apple II могли отображать монохромный экран с 40 колонками и 25 строками текста. Но Стив создал Apple II с графическими режимами — в зависимости от того, сколько памяти вы приобретали.

Breakout для Apple II, от Game InformerBreakout для Apple II, от Game Informer

Графика стоила недёшево. На старте продаж модель Apple II с 12 КБ памяти, способная отображать графику HIRES 140×192, стоила не менее $1500. Несмотря на возможность создания компьютеров с мощными графическими возможностями, в то время хранение графики в памяти стоило слишком дорого.

Стоимость и производительность памяти

Базовые конфигурации PET и Apple II включали четыре килобайта памяти, что было достаточно для хранения одной страницы книги. И тем не менее, четыре килобайта оперативной памяти стоили больших денег! В одном из объявлений 1977 года за плату памяти объёмом четыре килобайта просили 145 долларов США.

Сколько памяти нужно было для графики? Самый простой способ хранения графики — использование растровой карты, где один бит памяти представляет один пиксель на экране. Для монохромного растрового экрана 320×200 потребуется восемь килобайт памяти; для отображения цвета потребуется вдвое или вчетверо больше.

Даже если вы могли позволить себе память, необходимую для хранения всей информации, необходимой для полного экрана графики, ранним чипам 6502 требовалось время для обновления экрана. Давайте разберёмся в этом:

  • 6502 работал со скоростью около одного миллиона циклов в секунду.

  • Обновление дисплея происходит 60 раз в секунду.

  • Самая быстрая процедура копирования данных, которую я смог найти для чипа 6502, требует 30 циклов для настройки и 16 циклов на каждый скопированный байт.

  • Для каждого кадра на экране телевизора 6502 выполняет около 16 000 циклов кода.

Если сложить всё это вместе, то получается, что Apple II и Commodore PET в лучшем случае могли перемещать порядка одной тысячи байт данных на один телевизионный кадр.

Таким образом, даже если бы вы могли позволить себе восемь килобайт памяти, вы могли бы менять только часть экрана за кадр. Ранние игры на 6502 были медленными, пошаговыми и с крошечной анимацией.

Многие игры той эпохи полностью обходились без графики и представляли текстовые экраны (видео, скриншоты). На 40-колоночный текстовый экран приходился всего один килобайт данных, что означало, что его можно было обновить за гораздо меньшее время, даже если графика была менее привлекательной.

Следующей вехой стали инженеры, которые придумали, как объединить цветную графику и плавную анимацию, одновременно решая проблему стоимости памяти.

Atari VCS: Гонки по лучу

В середине десятилетия компания Atari прочно обосновалась в сфере игровых автоматов и стремилась развиваться. В 1975 году она выпустила популярную аркадную игру Pong в качестве домашнего развлекательного продукта, который продавался через Sears. В компании понимали, что существует рынок игр для дома.

С появлением недорогих микропроцессоров появилась возможность разработать устройство для игр, в котором можно было бы менять картриджи подобно видеокассетам или виниловым пластинкам. Основатели Atari пригласили Чака Педдла посетить компанию и продемонстрировать работоспособность 6502 сотрудникам Atari Джо Декуиру и Джею Майнеру.

Получившийся продукт был настолько революционным, что не имело значения, когда и как сильно другие компании опередили Atari на рынке.

11 сентября 1977 года Atari выпустила небольшое устройство, содержащее удешевлённый вариант 6502 и адаптер телевизионного интерфейса, также известный как «Стелла» (Stella). Продукт продавался за 199,99 долларов. Это на тысячу четыреста долларов дешевле, чем способный отображать графику Apple II.

Видеокомпьютерная система Atari стоимостью $199,99Видеокомпьютерная система Atari стоимостью $199,99

Разработчики Atari VCS поняли, что для хранения графики не нужны дорогие чипы памяти. Пучок электронов в катодно-лучевой трубке двигался с медленной и предсказуемой скоростью. При некоторых условиях 6502 и Stella могли объединиться для обработки потока цветов на лету и подавать их на телевизор по мере движения луча.

После того как электронный луч заканчивает рисовать один кадр, он гасится, и телевизор сбрасывает электромагниты в левый верхний угол экрана, чтобы он был готов к рисованию следующего кадра. Это называется процессом вертикального бланкирования, и во время вертикального бланкирования чип 6502 внутри Atari VCS может свободно обрабатывать и вычислять игровую логику.

Из книги Из книги «Stella Programmer«s Guide» Стива Райта

Короче говоря, Atari VCS была занята отрисовкой изображений примерно 75% времени. Оставшиеся 25%, около 5 000 циклов процессора, можно было использовать для обновления игры. Поскольку большинство инструкций 6502 занимали около 2–3 тактов, программист мог рассчитывать на выполнение около 2 000 инструкций, прежде чем начнётся отрисовка следующего кадра.

Это была не слишком большая вычислительная мощность, но и игры в то время были простыми. И это имело интересный побочный эффект: игру на VCS было просто невозможно замедлить. Игра либо успевала вывести что-то на экран, либо не выводила ничего.

Как работала графика Atari

Команда, создававшая чип Stella, обобщила идеи Pong и усовершенствовала их. Они вместе создали консоль и первую игру для неё, Combat.

Atari Combat, культовая играAtari Combat, культовая игра

Необходимую функциональность для создания Combat определил дизайн чипа: на экране должно быть два «игрока». Каждый игрок должен иметь возможность запускать «ракету». На экране может плавать «мяч». А игровое поле должно быть зеркальным, чтобы у каждого игрока был идентичный начальный экран.

Сто девяносто два раза для каждого кадра чип 6502 в Atari VCS передавал Stella информацию о положении, форме и цвете двух игроков, двух ракет, одного мяча и одного игрового поля. Когда электронный луч гас, электронная трубка выключалась и возвращалась в верхнее положение, у игры было время подумать и спланировать следующий кадр.

В книге Racing the Beam от MIT Press Ник Монтфорт и Ян Богост описывают невероятную изобретательность программистов Atari VCS. Имея всего шесть элементов на экране, программисты создали богатую и яркую экосистему игр Atari, намного превосходящую все, что было задумано разработчиками изначально.

Продуманная работа по адаптации Pong в Combat обеспечила Atari 2600 удивительную продолжительность жизни: она доминировала в розничной продаже игр с 1978 по 1983 год.

C64: Мир подвергается атаке Джека

Не желая уступать, основатель Commodore Джек Трамиэль продолжал свою яростную кампанию. Он продал тысячи компьютеров Commodore PET в Европе за колоссальные деньги, по сути, позволив Apple и Tandy доминировать на рынке домашних компьютеров в США. О невероятных махинациях Джека хорошо рассказано в книге «Commodore: A Company on the Edge», написанной Брайаном Бэгноллом.

Окрылённый успехом от приобретения технологии MOS, продажи 6502 и презентации Commodore PET, Джек поставил перед своей командой задачу создать следующую великую вещь. Но в эпоху, когда компьютеры и игровые приставки не были чётко разделены, инженеры Commodore работали в трудных условиях. Талантливых инженеров нанимали и увольняли просто под настроение, и такие замечательные продукты, как Commodore VIC-20, жили рядом с такими неудачными, как Commodore Plus 4.

Инженеры, у которых хватало мужества противостоять Джеку или просто тайком делать что-то без разрешения, иногда совершали революционные открытия. Когда вы объединяете неустанный напор Джека со способностью Commodore производить собственные чипы, продукты могут разрабатываться, дорабатываться и производиться дешевле, чем где бы то ни было.

Поэтому Эл Шарпантье и Чарльз Уинтербл решили потратить время на создание лучшего в мире графического чипа. Они хотели объединить символьный дисплей Commodore PET с возможностью Atari VCS динамически вводить спрайты по всему экрану. Получившийся чип, VIC-II, был эволюционным потомком оригинального чипа VIC и имел сходство с TMS 9918 компании Texas Instruments.

Два инженера представили чип Джеку Трамиэлю. За трату рабочего времени на сторонние проекты Джек имел право их уволить, но вместо этого он велел им упаковать чип в коробку и продать как компьютер. Разумеется, с одним условием: Джек хотел 64 КБ памяти.

В культовом C64 были повторно использованы элементы дизайна предыдущих компьютеров CommodoreВ культовом C64 были повторно использованы элементы дизайна предыдущих компьютеров Commodore

Что изменилось? Джек, будучи владельцем предприятия по производству полупроводников, прекрасно понимал, что чипы становятся всё дешевле. Он знал, что удешевление памяти — лишь вопрос времени, и хотел стать первой компанией с доступным для широких масс компьютером.

Представленный в августе 1982 года, Commodore 64 стал самым продаваемым (а по некоторым данным и самым популярным) компьютером всех времён. Commodore 64 покончил с империей Atari VCS. Несмотря на жуткие истории об игровых картриджах E.T., зарытых в пустыне, империя Atari погибла по трём основным причинам:

  • Во-первых, родители предпочитали покупать своим детям компьютер, а не игровую систему;

  • Во-вторых, игры для C64 были лучше, чем у Atari;

  • В-третьих, игры для C64 можно было нелегально копировать на дискеты.

Mail Order Monsters, одна из любимых игр автора на C64Mail Order Monsters, одна из любимых игр автора на C64

Чип VIC-II обеспечивал значительно большую графическую мощность, чем Stella от Atari 2600. Поскольку VIC-II мог хранить всю информацию об одном кадре видео в памяти, процессор мог быть полностью доступен программистам на протяжении всего кадра, если они того пожелают.

Несмотря на то, что C64 всё ещё не мог передавать более килобайта данных за кадр, набор символов для C64 был полностью программируемый. Умелые программисты могли бы заменить набор символов ASCII фоновыми плитками 8×8 и обновить их, написав «текст» на экране. Как мы уже видели, фоновая графика на тайлах обновлялась в восемь раз быстрее, чем растровые изображения.

В дополнение ко всему этому, игры на C64 могли размещать восемь спрайтов в любом месте экрана. Ещё интереснее то, что сообразительный разработчик мог отобразить более восьми спрайтов, перепрограммируя их сразу после вывода на экран.

Летние игры для Commodore 64 (C64 Wiki)Летние игры для Commodore 64 (C64 Wiki)

Империи Commodore никогда больше не суждено было достичь таких же высот. При всех своих прорывах C64 был фактически машиной Франкенштейна, собранной из запасных частей, валявшихся в головном офисе Commodore.

C64 был противоречивым устройством: конечно, в нем был революционный видеочип VIC-II. Конечно, у него был удивительный звуковой чип SID Боба Яннеса. Но он использовал процессор, базу и ядро Commodore PET. Он использовал порты ввода-вывода, флоппи-дисковод и пластиковый корпус VIC 20. Эти особенности в конечном итоге не позволили архитектуре C64 пережить эту единственную модель, хотя C128 Била Херда была неплоха.

Ещё хуже то, что знаменитая агрессивная позиция Джека Трамиэля уничтожила имя Commodore. Он разгромил Билла Гейтса и за бесценок получил Microsoft BASIC, но не планировал добавлять графические программы. Подразделение Commodore PET не имело чёткой архитектурной дорожной карты и в итоге было похоронено IBM PC. Билл Менш разработал преемника 6502 под названием 65816, но он больше не принадлежал Commodore. Талантливые инженеры массово покидали компанию.

На следующий год Джек сам покинул Commodore после конфликта с советом директоров. Commodore развалилась. Она так и не смогла оправиться, и эра 6502 начала угасать.

Меня всегда восхищала эпоха 6502. В это безумное время любой мог создать компьютер с нуля. Никто не знал, как все должно работать. По земле бродили титанические личности. Сюда входили эпические личности: Чак Педдл, Джек Трамиэль, Стив Джобс и Нолан Бушнелл;, а также тихие и неприметные технические гении, такие как Стив Возняк и команда, разработавшая оригинальный Macintosh.

Это было славное время. Спасибо за внимание!

© Habrahabr.ru