Муфты электромонтажные от производителя Fucon
РадиоЛоцман - Все об электронике

6502 еще не умер. Одноплатные компьютеры с процессорами 65C02 и 65C816

Western Design Center W65C02SXB W65c816SXB 65C134SXB W65C265SXB

Журнал РАДИОЛОЦМАН, октябрь 2015

Brian Benchoff

Hackaday

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Процессор 6502 является классическим образцом компьютерной истории. Версии этого процессора можно было встретить повсюду – от Apple II до Nintendo Entertainment System и Commodore 64. С видеоиграми история 6502 не заканчивается; за последние сорок лет этот процессор нашел применение в промышленном оборудовании, медицинских приборах и во всем остальном, что не нужно перепроектировать каждые два года. Объедините долголетие 6502 с тем, что целое поколение разработчиков получало свой первый опыт, программируя на ассемблере для 6502, и вы получите классический микропроцессор, который, я уверен, будет по-прежнему иметь большое значение еще сорок лет.

Священным пристанищем для 6502 является компания Western Design Center (WDC). Более 35 лет WDC была домом проектов, связанных с 6502. С недавних пор WDC начала интересоваться образовательными аспектами благодаря одному из вице-президентов Дэвиду Крамеру (David Cramer), часть своего времени посвятившего кружку по изучению кодов операций.

Люди из WDC недавно связались со мной, чтобы узнать, смогу ли я сделать обзор их оборудования, и, получив несколько плат, я увидел, что это оборудование оказалось превосходным. Платы прекрасно подходят для преподавателей, ушедших дальше от Arduino, Processing и Fritzing, и для тех, кто хочет прикоснуться к миру разработки на процессорах семейства 65xx.

Одноплатные компьютеры

WDC прислала мне W65C02SXB и W65C816SXB – два одноплатных компьютера, основанных на процессорах 65C02 и 65C816, соответственно.

6502 еще не умер. Одноплатные компьютеры с процессорами 65C02 и 65C816

В Интернете можно найти сотни хорошо документированных проектов компьютеров на базе 65xx, но в большинстве своем они имеют очень много общего. Если вы хотите создать собственный компьютер на основе 6502, вам потребуются процессор, ОЗУ и микросхема памяти EEPROM или Flash. Для периферии вы можете выбрать микросхему 6520 PIA, предоставляющую два восьмибитных порта ввода/вывода, более функциональную микросхему ввода/вывода 6522 VIA с таймерами и сдвиговым регистром и, возможно, микросхему последовательной передачи данных 6551 ACIA. Это стандартный набор чипов для компьютера на базе 6502, и по мнению Чака Педдла (Chuck Peddle), без этих вспомогательных микросхем 6502 не представлял бы такого интереса.

В обоих одноплатных компьютерах имеется по одной микросхеме ACIA, одной PIA и две VIA. Вторая VIA соединена с интерфейсом microUSB для связи с интегрированной средой разработки Terbium IDE (TIDE) компании WDC. Подробнее о TIDE будет рассказано ниже. На каждой плате также установлено 32 КБ SRAM и 128 КБ Flash-памяти, отображенной на верхнюю область памяти 32 КБ. Это довольно стандартная раскладка практически для любого доморощенного компьютера на основе 6502, но несколько моментов выделяют эту плату в особый ряд. Каждый вывод, который может вам потребоваться – линии данных, адреса, управления и выбора микросхемы – доступен на разъеме, вытянувшемся по всей длине платы. Было бы замечательно, если бы вы соединили SXB с каким-нибудь старым железом, но куда интереснее потенциал платы для создания нового оборудования. Когда я беседовал в WDC с Дэвидом Крамером и Дэвидом Греем (David Gray), мы размышляли о том, можно ли создать какую-то интересную аппаратуру, способную поддерживать такой гигантский разъем. Плата может оказаться слишком большой и громоздкой для квадрокоптера, но в качестве контроллера для 3D принтера она вполне подходит и, вероятно, будет работать очень хорошо.

65C816

Western Design Center имеет дело не только с процессором 6502 и чипами поддержки. Она остается единственным местом, где вы можете получить 65C816 – значительно усовершенствованный процессор, сделанный на основе 6502 ISA.

6502 еще не умер. Одноплатные компьютеры с процессорами 65C02 и 65C816

65C816 – это очень интересный процессор, известный, прежде всего, благодаря его использованию в Apple IIgs и Super Nintendo. Процессор имеет 16-разрядные регистры и несколько новых инструкций, отличающих его от 6502, а 24-разрядная шина адреса позволяет поддерживать 16 МБ оперативной памяти. Больше всего впечатляет то, что когда вы впервые включите 65C816, он запустится в режиме эмуляции 6502, гарантируя стопроцентную совместимость до тех пор, пока вы не инвертируете бит в «скрытом» регистре.

Возможно, узнав про новые стековые команды и совместимость с 65C02, вы зададите себе вопрос, что бы случилось, если бы процессоры 65C816 были представлены на несколько лет раньше. Разработка микросхемы, законченная в 1984 году, была приурочена к началу производства компьютера Apple IIgs. Всего нескольким годами ранее этот процессор мог бы рассматриваться как кандидат, по крайней мере, для начальных конструкций Apple Lisa, Macintosh, линейки Atari ST и, возможно, даже IBM PC. Это величайшее «что если» в истории компьютерных вычислений.

В течение последних 30 лет WDC была хранителем огня 65C816 и, конечно же, ее предложения в области образования включают одноплатный компьютер W65C816SXB на базе этого процессора. По расположению контактов он более или менее совпадает с W65C02SXB, за исключением выводов PIA, VIA и ACIA. Увеличенный набор разъемов содержит все линии данных, адреса и управления разъема XBus02 платы W65C02SXB, за исключением дополнительных контактов для расширения линий адреса.

Больше всего нравится то, что в отладочной плате с 65C816 не приходится иметь дело с мультиплексированными линиями данных и адреса. Писать код для ‘816 не сложнее, чем подключить плату к компьютеру и печатать на клавиатуре; в конце концов, у Western Design Center имеется только один современный компилятор C для '816.

Terbium IDE

Все платы компании WDC работают с Terbium IDE –интегрированной средой разработки, поставляемой с набором WDCTool. Это интерфейс для компилятора, компоновщика, используемого вами редактора и симулятора. По правде говоря, это не совсем современная среда разработки. Она работает только под Windows, и моя боевая станция (Win 8.1) в режиме совместимости с WinXP SP2 видела лучшие результаты.

Несмотря на некоторые недостатки TIDE, было бы не совсем справедливо сравнивать ее с Visual Studio или Eclipse; эти высококлассные инструментальные средства всегда будут иметь больше возможностей и более солидный вид, чем среды, созданные для одной платформы. Кроме того, это все же среда разработки, и небольшие недостатки здесь являются скорее нормой, чем исключением.

Помимо компиляции и компоновки TIDE имеет еще одну полезную функцию, непосредственно применимую к платам SXB – это симулятор и отладчик.

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

Типовым проектом для W65C02SXB было руководство по «включению семисегментного индикатора с помощью VIA», в котором демонстрируется потенциал отладчика и с помощью небольшого отрезка кода даже моделируется работа индикатора.

6502 еще не умер. Одноплатные компьютеры с процессорами 65C02 и 65C816
Запуск проекта с семисегментным дисплеем в симуляторе/
отладчике TIDE.

В TIDE также имеется несколько дополнительных функций, которые добавляют к программным ядрам для ’02 и ‘816 возможности работы с FPGA, но поскольку к моим платам это не имеет отношения, данные кнопки остались нетронутыми.

Микроконтроллерные отладочные платы

WDC не почивала на лаврах в течение 40 лет. В перечень их обучающих средств также входят микроконтроллеры на основе 65C02 и 65C816. Это W65C134SXB (на основе ’02) и W65C265SXB (на основе 65C816).

На каждой из этих плат имеется микроконтроллер W65C134S или W65C256S с 32 КБ статической памяти, 32-контактное гнездо для установки Flash ПЗУ, один большой разъем, примерно такой же, как на их «полных микропроцессорных» аналогах, а также три 10-контактных разъема, используемых линиями ввода/вывода общего назначения, последовательной шиной Serial Interface и интерфейсом UART.

Хотя эти микроконтроллерные отладочные платы выглядят минималистично – на них находятся всего четыре микросхемы, пригоршня пассивных компонентов и куча выводов, – в конце концов, внешность обманчива. На самом деле эти микроконтроллеры представляют собой удивительные образцы инженерной мысли, несравнимые ни с чем, что есть на рынке.

6502 еще не умер. Одноплатные компьютеры с процессорами 65C02 и 65C816
W65C265SXB – микроконтроллерная плата на основе 65C816.

Внутри каждого из этих микроконтроллеров находится записанный в ПЗУ монитор, функционирующий так же, как и любая управляющая программа в старом компьютере. С его помощью вы можете читать и писать по адресам памяти, выполнять команды перехода и запускать код. Все, что для этого нужно – кабель USB и эмулятор терминала (CoolTerm, Putty, небольшой скрипт на Python или что-нибудь другое, что может подключиться к последовательному порту с параметрами 9600 бод, 8N1). Род Биресч (Rod Biresch) написал объемное руководство по программированию ‘265SXB, которое позволяет мигать светодиодом. Да, это самое основное, что вы можете сделать с микроконтроллером, но это работает и может служить первым шагом к написанию более сложных приложений для встраиваемых микроконтроллеров 65xx ISA.

6502 еще не умер. Одноплатные компьютеры с процессорами 65C02 и 65C816
Записанная в ПЗУ управляющая программа запущена в эмуляторе терминала.

Как и их старшие братья, они также поддерживаются средой разработки TIDE. Благодаря этому вы можете записать в эти маленькие платы код, написанный на ассемблере или C, и они будут исправно работать.

Заключение

Один, но довольно существенный недостаток одноплатных компьютеров WDC – их цена. W65C02SXB и W65C816SXB стоят чуть меньше $200. Микроконтроллерные варианты W65C134 и W65C265 стоят на $100 дешевле своих старших собратьев. Когда вы можете получить клон Arduino Nano за $2 с бесплатной доставкой, это, на первый взгляд, выглядит неразумно. Поразмышляв над этим, я все же не убедил себя, что цена такая уж безумная.

Если 6502 и можно вытащить из древнего компьютера, то новых микросхем вы точно не найдете ни у кого, кроме WDC. Объем бизнеса, связанного с процессорами 6502, очень мал, и на каждый классический микропроцессор приходятся тысячи чипов ARM.

Как уже говорилось, если вы захотите создать свой одноплатный компьютер на основе 6502 или 65816, вам потребуются также микросхемы VIA и PIA, которые стоят далеко не по доллару за штуку. Я собрал компьютер на процессоре 6502, и в плане стоимости моя сборка была не очень далека от предлагаемых плат. А если вы еще учтете затраченные усилия… ну, и во сколько вы оцените свое время?

Определенно, самыми интересными предложениями являются микроконтроллерные варианты плат WDC. В рамках общего подхода, реализованного в современных конструкциях 6502, практически все перекладывается на микроконтроллер, однако классический формат 6502 с 40-контактным корпусом DIP сохраняется. Вы видели, как это делается с Propeller, с ATMega и снова с Propeller. 65C134 и ~265 выполняют эту работу исключительно хорошо, а встроенный монитор дает вам возможность быстрого ввода машинного кода. По сути, таким и должен быть любой доморощенный компьютер.

С образовательной точки зрения одноплатные компьютеры WDC делают в точности то, для чего были разработаны: заставляют людей изучать ассемблер, коды операций и машинные коды. Это по-прежнему имеет значение, особенно если вы планируете ковыряться в Arduino и ARM. Микроконтроллерные платы являются хорошей стартовой площадкой на пути к действительно интересным аппаратным проектам, и я не могу дождаться момента, когда смогу увидеть, как сообщество ретро радиолюбителей мастерит что-то серьезное на основе этих устройств.

Материалы по теме

  1. Datasheet WDC W65C02S
  2. Datasheet WDC W65C816S
  3. Datasheet WDC W65C21 (PIA)
  4. Datasheet WDC W65C22 (VIA)
  5. Datasheet WDC W65C51N (ACIA)

Перевод: Mikhail R по заказу РадиоЛоцман

На английском языке: Review: Single board 65C02 and 65C816 computers

W65C02S MPU EVAL BRD
ЭИК
Россия
W65C02SXB
Western Design Center
от 11 773 ₽
T-electron
Россия и страны СНГ
W65C02SXB
574 533 ₽
Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя