Примерно сорок пять лет назад у команды разработчиков из Motorola появилась идея создания нового микропроцессора — простого, удобного в использовании и дешёвого в производстве. Родная компания не была в этом заинтересована, но и не мешала. И то наследие, которое оставила эта маленькая команда, продолжает жить в каждом ПК.
Рассказываем о том, как появился чип 6502.
Это было начало 1975 года. Группа инженеров, жаждущих разработать новый выдающийся продукт, решила уйти из Motorola и разработать новый процессор. Один из участников группы, Чак Педдл, убедил коллег присоединиться к небольшой фирме Джона Павинена, находившейся на востоке штата Пенсильвания — MOS Technology.
Микропроцессоры тогда были в новинку — только четыре года назад Intel начала их коммерческое применение. Молодой рынок микропроцессоров был представлен в основном продукцией Intel, Motorola и Texas Instruments.
В то время как Motorola и Intel зарабатывали сотни миллионов долларов в год, MOS Technology была настолько мала, что всего через год была целиком продана компании Commodore по цене 12 миллионов долларов.
Однако в небольших компаниях борьба за выживание часто приводит к более креативным замыслам. Инженеры MOS разработали метод исправления повреждённых чип-масок, называемый точечным выбиванием. В процессе производства эта техника позволяла сэкономить огромное количество денег и значительно увеличить объем выпуска микросхем.
Когда на кону стоит судьба компании, разработчики могут работать над проектом быстрее, чем кто-либо другой. Вся разработка 6502 под руководством Билла Менша была завершена менее чем за шесть месяцев.
Что делать с новой микросхемой
На выставке WESCON в сентябре 1975 года Чак Педдл поставил стол с двумя стеклянными банками, полными чипов 6502, и табличкой: «25$». (Столь низкая стоимость 6502 имела необычные побочные эффекты. В течении трёх лет сформировался совершенно новый рынок: индустрия игровых консолей).
Это было радикальным решением. В то время микропроцессоры стоили от 200 долларов и выше. Но завод по производству микросхем компании MOS мог производить изящную и простую схему по невероятной для того времени цене. Точечное выбивание позволило им производить сотни хороших микросхем из одной кремниевой пластины, в то время как Motorola могла производить только десять.
Небольшое отступление
Фабрика микросхем MOS считалась чудом индустрии вплоть до 1992 года, когда контролирующая загрязнение окружающей среды компания EPA объявила её «объектом проведения очистки» из-за утечек в резервуарах для химикатов.
Чтобы повысить интерес покупателей к 6502, Чак Педдл отправился в тур по продажам. Он собрал демонстрационный компьютер KIM-1, подготовил руководства и маркетинговые материалы.
Плата имела один килобайт памяти, что было достаточно для хранения небольшой программы, чтения некоторых входных данных, и включения/выключения частей светодиодного дисплея. Бизнесмены заинтересовались и начали заказывать продукцию MOS, но компьютер сам по себе был им неинтересен.
А вот люди, которые никаким боком не относились к крупным корпорациям, были очарованы новой микросхемой. Клуб The Homebrew Computer Club, образовавшийся после выпуска первых любительских компьютерных наборов, зажёг новую искру: Стив Возняк разработал свой собственный компьютер на базе 6502, вооружённый лишь идеями и находчивостью (а ещё несколькими кредитами и средствами от продажи личного программируемого калькулятора HP-65).
Стив Возняк хотел чего-то большего, чем доработанный вариант калькулятора KIM-1. Ему требовалась возможность видеть результат на экране телевизора. Поскольку у него не было поддержки технологии MOS, ему пришлось использовать дискретную логику — отдельные логические микросхемы, хитро соединённые вместе на системной плате, — для создания пишущей машинки на базе телевизора.
Сказка о двух компьютерах
Так как MOS Technology была куплена Commodore, следующий компьютер Чака Педдла получил название Commodore PET. PET смотрелся убого: это был KIM-1 с телевизионным экраном и приклеенным с помощью скотча кассетным магнитофоном. Именно так работала компания Commodore: инженеры клепали модель продукта, представляли его на выставке и пытались придумать, как собрать его, если поступит достаточно заказов.
PET был представлен в январе 1977 года и вызвал мгновенный спрос, но производство и продажа компьютеров были налажены только в июне 1977 года. Поскольку компьютер был ориентирован на бизнес, на нем можно было работать только с текстом, но предприимчивые разработчики все же нашли способ запускать на нем игры.
Пока PET позиционировал себя как серьёзный компьютер для бизнеса, Apple II был наполнен умными решениями, которые сделали Возняка знаменитым.
Возняк был не только компьютерным дизайнером: он также создавал аркадные игры для Atari. Он создал аркадную игру Breakout — игру с механикой, похожей на Pong, где игрок прокладывал себе путь наверх. Этот опыт привел его к разработке Apple II для поддержки игр.
И PET, и Apple II могли отображать монохромный экран с 40 колонками и 25 строками текста. Но Стив создал Apple II с графическими режимами — в зависимости от того, сколько памяти вы приобретали.
Графика стоила недёшево. На старте продаж модель Apple II с 12 КБ памяти, способная отображать графику HIRES 140x192, стоила не менее $1500. Несмотря на возможность создания компьютеров с мощными графическими возможностями, в то время хранение графики в памяти стоило слишком дорого.
Стоимость и производительность памяти
Базовые конфигурации PET и Apple II включали четыре килобайта памяти, что было достаточно для хранения одной страницы книги. И тем не менее, четыре килобайта оперативной памяти стоили больших денег! В одном из объявлений 1977 года за плату памяти объёмом четыре килобайта просили 145 долларов США.
Сколько памяти нужно было для графики? Самый простой способ хранения графики — использование растровой карты, где один бит памяти представляет один пиксель на экране. Для монохромного растрового экрана 320x200 потребуется восемь килобайт памяти; для отображения цвета потребуется вдвое или вчетверо больше.
Даже если вы могли позволить себе память, необходимую для хранения всей информации, необходимой для полного экрана графики, ранним чипам 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 VCS поняли, что для хранения графики не нужны дорогие чипы памяти. Пучок электронов в катодно-лучевой трубке двигался с медленной и предсказуемой скоростью. При некоторых условиях 6502 и Stella могли объединиться для обработки потока цветов на лету и подавать их на телевизор по мере движения луча.
После того как электронный луч заканчивает рисовать один кадр, он гасится, и телевизионная трубка отклоняет магнитными катушками луч в левый верхний угол экрана, чтобы он был готов к рисованию следующего кадра. Это называется обратным ходом луча вертикальной развёртки, и во время этого процесса чип 6502 внутри Atari VCS может свободно обрабатывать и вычислять игровую логику.
Короче говоря, Atari VCS была занята отрисовкой изображений примерно 75% времени. Оставшиеся 25%, около 5 000 циклов процессора, можно было использовать для обновления игры. Поскольку большинство инструкций 6502 занимали около 2-3 тактов, программист мог рассчитывать на выполнение около 2 000 инструкций, прежде чем начнётся отрисовка следующего кадра.
Это была не слишком большая вычислительная мощность, но и игры в то время были простыми. И это имело интересный побочный эффект: игру на VCS было просто невозможно замедлить. Игра либо успевала вывести что-то на экран, либо не выводила ничего.
Как работала графика Atari
Команда, создававшая чип Stella, обобщила идеи Pong и усовершенствовала их. Они вместе создали консоль и первую игру для неё, 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 КБ памяти.
Что изменилось? Джек, будучи владельцем предприятия по производству полупроводников, прекрасно понимал, что чипы становятся всё дешевле. Он знал, что удешевление памяти — лишь вопрос времени, и хотел стать первой компанией с доступным для широких масс компьютером.
Представленный в августе 1982 года, Commodore 64 стал самым продаваемым (а по некоторым данным и самым популярным) компьютером всех времён. Commodore 64 покончил с империей Atari VCS. Несмотря на жуткие истории об игровых картриджах E.T., зарытых в пустыне, империя Atari погибла по трём основным причинам:
Во-первых, родители предпочитали покупать своим детям компьютер, а не игровую систему;
Во-вторых, игры для C64 были лучше, чем у Atari;
В-третьих, игры для C64 можно было нелегально копировать на дискеты.
Чип VIC-II обеспечивал значительно большую графическую мощность, чем Stella от Atari 2600. Поскольку VIC-II мог хранить всю информацию об одном кадре видео в памяти, процессор мог быть полностью доступен программистам на протяжении всего кадра, если они того пожелают.
Несмотря на то, что C64 всё ещё не мог передавать более килобайта данных за кадр, набор символов для C64 был полностью программируемый. Умелые программисты могли бы заменить набор символов ASCII фоновыми плитками 8x8 и обновить их, написав «текст» на экране. Как мы уже видели, фоновая графика на тайлах обновлялась в восемь раз быстрее, чем растровые изображения.
В дополнение ко всему этому, игры на C64 могли размещать восемь спрайтов в любом месте экрана. Ещё интереснее то, что сообразительный разработчик мог отобразить более восьми спрайтов, перепрограммируя их сразу после вывода на экран.
Империи 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.
Это было славное время. Спасибо за внимание!
Комментарии (23)
true_alex
05.07.2022 11:48+17Точечное выбивание позволило им производить сотни хороших микросхем из одной силиконовой пластины, в то время как Motorola могла производить только десять.
Переводчик наступил на знакомые грабли слово Silicon переводится как Кремний, а не Силикон.
Это называется процессом вертикального бланкирования, и во время вертикального бланкирования чип 6502 внутри Atari VCS может свободно обрабатывать и вычислять игровую логику.
По русски это называется обратный ход луча вертикальной развёртки или обратный вертикальный ход луча.
Daddy_Cool
06.07.2022 01:23Я не поверил своим глазам когда увидел как гуглтранслейт перевел именно как "силиконовая" ))), я так понимаю, этот глюк появляется когда вводишь слово silicon в поле для русского языка. Даже где-то скриншот сохранил.
vis_inet
05.07.2022 12:28+3Примерно в 1990 году программировал на ассемблере 6502 на компьютере "Агат-2".
Помню, что очень удобный был ассемблер.
checkpoint
05.07.2022 18:26Система команд у 6502 примитивна до безобразия. В конце 80-х начале 90-х программировал для Atari 800.
vis_inet
05.07.2022 19:46Не совсем "примитивна до безобразия".
Помню, было несколько разных и удобных режимов адресации, например.
checkpoint
05.07.2022 21:49+1На самом деле режимов адресации у 6502, по сравнению с тем же DEC, с гулькин нос: прямой, косвенный - через значение в ячейке памяти в нулевой странице и расширенный косвенный - через значение в ячейке памяти и регистр X/Y. Дело в том, что нулевая страница памяти (она организована страницами по 256 байт) является т.н. "быстрой" и может ипользоваться как регистры, в том числе для косвенной адресации. При этом, если идет обращение через X, то константа прибавляется к его значению и используется как индекс номера ячейки в быстрой памяти. Если используется Y, то его значение прибавлятся к значению содержащимуся в ячейке быстрой памяти номер которой указан в команде. Таким образом получается что-то вроде индексной таблицы для быстрого доступа.
Конкретно на Atari 800 первые 128 байт нулевой странице были задействованы под системные нужды ROM и их нельзя использовать не восстановив прежние значения. Но если их слегка "подпортить", то можно было получить интересные артефакты.
Вообще Atari 800 это целый мир со своей уникальной видеоподсистемой на двух чипах (ANTIC и GTIA) и звуком (POKEY, который на самом деле контроллер клавиатуры и последовательного порта SIO). Музыка для POKEY имеет очень характерное звучание - пробирает до слез и вызывает жуткий накат ностальгии. А вот Commodore-овский SID так не накрывает. :-)
beeruser
06.07.2022 01:23по сравнению с тем же DEC, с гулькин нос
С каким DEC? С VAX? =)
В 6502 - 3500 транзисторов всего.
Для сравнения - в Z80 было 8500.
А вот Commodore-овский SID так не накрывает
Как по мне - наоборот. То что по ссылке похоже на AY, а SID гораздо "жирнее" звучит.
QDeathNick
06.07.2022 16:47А по мне так круче музыки из MiG-29 ничего нет.
До сих пор однобитная музыка вызывает удивление.
commanderxo
05.07.2022 18:14Статье не хватает ссылки на великолепные видео Бена Итера о том как с нуля построить на макетной плате полноценный компьютер на базе 6502.
checkpoint
05.07.2022 18:23+1Atari 130XE незбыточная мечта детcтва, как и велосипед Салют.
Почему в статье нет ни слова про Atari 800 ? Различных модификаций этих машин было произведено и продано страшное количество, особенно популярных в восточной Европе. Все они на MOS 6502. Так же был ряд отечественных клонов этого микропроцессора и машин на нем (ПЭВМ Агат - почти полная копия Apple II).
R7R
05.07.2022 20:23+2Видеокомпьютерная система Atari стоимостью $199,99
Электроника Экси Видео 01 (1978 г.) стоимостью 120 рублей
Цена по тем временам конская (месячная зарплата), поэтому свободно лежала во всех магазинах.
Мечта советского школьника (про Atari и проч. в курсе были только специалисты).sepuka
05.07.2022 22:04+6В основе -- цельнотянутый клон AY-3-8500 1976 года издания, только корпус на 4 ноги меньше (в оригинале были не подключены, поэтому вместо DIP28 запаковали в DIP24).
PS: Я очень хорошо помню свою первую лабораторную работу по специальности -- смотреть в микроскоп на вскрытую микросхему, перерисовать топологию, восстановить схему. Норма времени -- что-то логическое TTL из примерно двух десятков вентилей абсолютно ненабитой студенческой рукой делалось за одну пару, т.е 2x45 минут + перемена. Тогдашние технологические нормы как раз позволяли это делать практически на коленке -- микроскоп, миллиметровка, карандаш.
Ontaelio
06.07.2022 00:37+1Ради уважения к великому человеку, прошедшему Освенцим и сделавшему очень много для современного IT, пожалуйста, транслитерируйте его фамилию правильно - Джек Трэмел (/trəˈmɛl/ trə-MEL). Он при жизни так настрадался от "Трамиэлей", что свою пост-Commodore компанию специально назвал Tramel (а не Tramiel), чтобы все выучили наконец, как его зовут.
axe_chita
06.07.2022 07:25+3Тот случай когда сначала хочешь поругать перевод, а приходится ругать оригинал.
Стив Возняк разработал свой собственный компьютер на базе 6502, вооружённый лишь идеями и находчивостью (а ещё несколькими кредитами и средствами от продажи личного графического калькулятора).
Сначала думал что тут ошибки перевода, но нет, в оригинале именно написано графический калькулятор, хотя у Возняка был программируемый калькулятор HP-65 в котором графикой и не пахло.Талантливых инженеров нанимали и увольняли просто под настроение, и такие замечательные продукты, как Commodore VIC-20, жили рядом с такими неудачными, как Commodore Plus 4.
А рядом с легендарным Apple II от Возняка, влачил существование провальный Apple III от Джобса.‘It’s not mine.’The Apple III was kind of like a baby conceived during a group orgy, and later everybody had this bad headache, and there’s this bastard child, and everyone says, ‘It’s not mine.’
На следующий год Джек сам покинул Commodore после конфликта с советом директоров. Commodore развалилась. Она так и не смогла оправиться, и эра 6502 начала угасать.
Ндааа, а пока Commodore «разваливался и не мог оправится», он успел выпустить легендарную Amiga. И так Commodore влачил своё жалкое существование, без всякой надежды, аж до 1994 года. Да и эра 6502, если не считать NES и его клонов, продлилась до этого же времени.R7R
06.07.2022 14:27пока Commodore «разваливался и не мог оправится», он успел выпустить легендарную Amiga. И так Commodore влачил своё жалкое существование, без всякой надежды, аж до 1994 года.
Помню рекламу компьютеров Amiga (скорее всего — Amiga 4000) по нашему местному кабельному в 1993 году :)
При этом у меня был знакомый, фанатевший от этой платформы и предрекавший ей великое будущее (тогда же).axe_chita
06.07.2022 19:12Commodore тогда не повезло, не нашлось правильного управленца готового взять ответственность, продавить рынок, обрезать лишние хвосты, влить деньги перспективные направления. Увы и ах :(
BellaLugoshi
07.07.2022 13:08Если честно порядком поднадоели статьи поющие дифирамбы Apple там, где они были - одними из многих. Apple II/IIc - отличные ПК для своего времени прожившие долгую жизнь и любимые многими АМЕРИКАНСКИМИ фанатами, но в тех же США именно народным считаются C64 и Amiga. NES в этом контексте не вижу смысла рассматривать, так как это голая игровая приставка. Atari, так уж вышло, получил своё признание в Европе и "восточном блоке", например поляки и немцы до сих пор с ними работают.
Apple в любом случае стоит особняком, а в статье чуть ли не 99% всей славы 6502 приходится на яблоко - это же чушь полная. Впрочем от скорее всего американца Тэда Спенса прочитать иную статью и невозможно.
Лично я в 80-е рос на Atari 130XE, а сейчас имею C64C и Atari 65XE и абсолютно нет никакого желания приобретать Apple IIc например - ибо делать ей нечего.
beeruser
08.07.2022 00:34>> 99% всей славы 6502 приходится на яблоко
PET, TRS-80 и Apple II появились в 1977 г — за 5 лет до C64. Они были первыми.
NickViz
"и телевизор сбрасывает электромагниты в левый верхний угол экрана" лучше - телевизионная трубка отклоняет магнитными катушками луч в левый верхний угол экрана.
Cloud4Y Автор
Спасибо!
R7R