ВДК 65C02
![]() Микропроцессор W65C02S в корпусе PDIP-40 | |
Общая информация | |
---|---|
Запущен | 1983 год |
Общий производитель | |
Производительность | |
Макс. процессора Тактовая частота | от 1 МГц до 14 МГц |
История | |
Предшественник | МОП-технология 6502 |
Western Design Center (WDC) 65C02 Микропроцессор представляет собой усовершенствованную CMOS- версию популярной nMOS на базе 8-битной технологии MOS 6502 . Он потребляет меньше энергии, чем исходный 6502, исправляет несколько проблем и добавляет новые инструкции. Потребление энергии примерно в 10–20 раз меньше, чем у оригинального 6502, работающего на той же скорости; [1] его пониженное энергопотребление сделало его полезным в портативных компьютерах и промышленных микроконтроллерных системах. 65C02 также использовался в некоторых домашних компьютерах , а также во встроенных приложениях, включая имплантируемые устройства медицинского уровня.
Разработка WDC 65C02 началась в 1981 году. [а] с семплами, выпущенными в начале 1983 года. [б] 65C02 был официально выпущен вскоре после этого. [2] WDC лицензировала разработку Synertek , NCR , GTE Microcircuits и Rockwell Semiconductor . Основной интерес Rockwell был к рынку встраиваемых систем, и он попросил добавить несколько новых команд, которые помогут в этой роли. Позже они были скопированы обратно в базовую версию, после чего WDC добавила две собственные новые команды для создания W65C02 . Позже Sanyo также лицензировала этот дизайн, а Seiko Epson выпустила еще одну модифицированную версию под названием HuC6280 .
В ранних версиях использовался 40-контактный DIP-корпус, и они были доступны в версиях с частотой 1, 2 и 4 МГц, что соответствовало скоростям исходных версий nMOS. Более поздние версии выпускались в корпусах PLCC и QFP , а также PDIP и с гораздо более высокими тактовыми частотами. Текущая версия от WDC, W65C02S-14, имеет полностью статическое ядро и официально работает на частоте до 14 МГц при питании от 5 В.
Введение и особенности
[ редактировать ]65C02 — это недорогой 8-битный микропроцессор общего назначения (8-битные регистры и шина данных ) с 16-битным программным счетчиком и адресной шиной . Набор регистров небольшой: один 8-битный аккумулятор (A), два 8-битных индексных регистра (X и Y), 8-битный регистр состояния (P) и 16-битный программный счетчик (PC). Помимо единственного аккумулятора, первые 256 байт ОЗУ, «нулевая страница» ( $0000
к $00FF
), обеспечивают более быстрый доступ через режимы адресации, в которых используется 8-битный адрес памяти вместо 16-битного адреса. Стек . находится в следующих 256 байтах, на первой странице (от $0100 до $01FF), и его нельзя переместить или расширить Стек растет в обратном направлении, при этом указатель стека (S) начинается с $01FF и уменьшается по мере роста стека. [3] переменной длины Он имеет набор команд , от одного до трех байтов на команду. [1]
Базовая архитектура 65C02 идентична оригинальной 6502 и может считаться маломощной реализацией этой конструкции. При частоте 1 МГц, самой популярной скорости оригинального 6502, 65C02 требует всего 20 мВт, тогда как оригинал использует 450 мВт, что более чем в двадцать раз меньше. [4] Оптимизированное вручную ядро и низкое энергопотребление призваны сделать 65C02 хорошо подходящим для разработки систем на кристалле (SoC) с низким энергопотреблением. [1]
специализированную интегральную Доступна модель описания аппаратного обеспечения Verilog для проектирования ядра W65C02S в схему (ASIC) или программируемую вентильную матрицу (FPGA). [5] Как это принято в полупроводниковой промышленности, WDC предлагает систему разработки, включающую в себя плату разработчика , внутрисхемный эмулятор (ICE) и систему разработки программного обеспечения. [6]
W65C02S –14 — серийная версия по состоянию на 2023 год. [update]и доступен в пакетах PDIP , PLCC и QFP . Максимальная официально поддерживаемая тактовая частота Ø2 (основная) составляет 14 МГц при работе от напряжения 5 В, на что указывает суффикс номера детали –14 (любители разработали самодельные системы 65C02, которые работают быстрее, чем официальный рейтинг). Обозначение «S» указывает на то, что деталь имеет полностью статический сердечник — функцию, которая позволяет замедлять или полностью останавливать Ø2 как в высоком, так и в низком состоянии без потери данных. [7] Типичные микропроцессоры, не реализованные в CMOS, имеют динамические ядра и потеряют содержимое своих внутренних регистров (и, следовательно, выйдут из строя), если они не будут постоянно тактироваться со скоростью между некоторыми минимальными и максимальными заданными значениями.
|
Общие логические особенности
[ редактировать ]- 8-битная шина данных
- 16-битная адресная шина (обеспечивает адресное пространство 64 КБ)
- 8-битное арифметико-логическое устройство (АЛУ)
- 8-битного Регистры процессора :
- 16-битный счетчик программ
- 69 инструкций , реализованных 212 кодами операций.
- 16 режимов адресации , включая нулевой страницы . адресацию

Логические функции
[ редактировать ]- Векторное притяжение (
VPB
) выход указывает, когда векторам прерываний обращаются к - Блокировка памяти (
MLB
) выход указывает другим мастерам шины , когда чтения-изменения-записи. обрабатывается инструкция - ВА это-за- я перебиваю(
WAI
) и СТ о П (STP
) инструкции снижают энергопотребление, уменьшают задержку прерываний и обеспечивают синхронизацию с внешними событиями.
Электрические характеристики
[ редактировать ]- питания Напряжение указано от 1,71 В до 5,25 В.
- Потребление тока (ядро) 0,15 и 1,5 мА на МГц при 1,89 В и 5,25 В соответственно.
- Набор команд переменной длины, позволяющий оптимизировать размер кода по сравнению с процессорами с набором команд фиксированной длины, что приводит к экономии энергии.
- Полностью статическая схема позволяет останавливать часы для экономии энергии.
Функции синхронизации
[ редактировать ]W65C02S может работать при любом удобном напряжении питания (VDD ) от 1,8 до 5 В (±5%). В таблице характеристик переменного тока паспорта указаны рабочие характеристики при 5 В на частоте 14 МГц, 3,3 В или 3 В на частоте 8 МГц, 2,5 В на частоте 4 МГц и 1,8 В на частоте 2 МГц. Эта информация может быть артефактом более раннего описания, поскольку график показывает, что типичные устройства способны работать на более высоких скоростях, чем указано в таблице характеристик переменного тока, и что надежная работа на частоте 20 МГц должна быть легко достижима при V DD при 5 вольт, при условии, что поддерживающее оборудование позволит это.
Поддержка произвольной тактовой частоты W65C02S позволяет использовать тактовую частоту, идеальную для какой-либо другой части системы, например 13,5 МГц (частота дискретизации яркости цифрового SDTV), 14,31818 МГц (несущая частота цвета NTSC × 4), 14,75 МГц (квадратные пиксели PAL), 14,7456 (кристалл скорости передачи данных) и т. д., если V DD достаточно для поддержки этой частоты. Дизайнер Билл Менш отметил, что на F MAX влияют внешние факторы, такие как емкостная нагрузка на выводы микропроцессора. Минимизация нагрузки за счет использования коротких сигнальных дорожек и наименьшего количества устройств помогает повысить F MAX . Корпуса PLCC и QFP имеют меньшую межконтактную емкость, чем корпус PDIP, и более экономичны в использовании места на печатной плате .
WDC сообщила, что реализации W65C02S на FPGA успешно работают на частоте 200 МГц. [ нужна ссылка ]
Сравнение с NMOS 6502
[ редактировать ]Базовая архитектура
[ редактировать ]Хотя 65C02 в основном можно рассматривать как маломощный 6502, он также исправляет несколько ошибок, обнаруженных в оригинале, и добавляет новые инструкции, режимы адресации и функции, которые могут помочь программисту писать меньшие по размеру и более быстро исполняющиеся программы. Подсчитано, что средняя программа на языке ассемблера 6502 может быть уменьшена на 10–15 процентов на 65C02 и добиться аналогичного улучшения производительности, в основном за счет исключения обращений к памяти за счет использования меньшего количества инструкций для выполнения заданной задачи. [1]
Недокументированные инструкции удалены.
[ редактировать ]Исходный 6502 имеет 56 инструкций, которые в сочетании с различными режимами адресации создают в общей сложности 151 код операции из возможных 256 8-битных шаблонов кодов операций. Остальные 105 неиспользуемых кодов операций не определены, при этом набор кодов с младшими 4 битами с 3, 7, B или F остался полностью неиспользованным, а код с младшими 2 имеет только один код операции. [8]
В 6502 некоторые из этих оставшихся кодов фактически выполняют вычисления. Из-за особенностей работы декодера команд 6502 простая установка определенных битов в коде операции приводит к выполнению части обработки инструкций. Некоторые из этих кодов операций немедленно приводят к сбою процессора, в то время как другие выполняют полезные функции, и некоторые программисты даже использовали неофициальную мнемонику ассемблера. [9]
В 65C02 добавлены новые коды операций, которые используют некоторые из ранее недокументированных слотов команд. Например, $FF используется для нового BBS
инструкция. Те, которые остаются действительно неиспользованными, эквивалентны NOP
с. Программы 6502, использующие эти коды операций, не будут работать на 65C02. [1]
Исправления ошибок
[ редактировать ]Оригинальный 6502 при первом выпуске имел несколько ошибок. Ранние версии процессора не имели ROR
(повернуть вправо) и в руководствах по технологии MOS это также не документировано. ROR
была реализована на очень ранней стадии производства, и подавляющее большинство машин, использующих процессор, поддерживают эту инструкцию. [10]
Ошибка, присутствующая во всех вариантах NMOS 6502, связана с инструкцией перехода при использовании косвенной адресации . В этом режиме адресации целевой адрес JMP
Инструкция извлекается из памяти, вектора перехода, а не является операндом для JMP
инструкция. Например, JMP ($1234)
будет извлекать значение из ячеек памяти $1234 (младший значащий байт) и $1235 (самый старший байт) и загрузите эти значения в счетчик программ , что затем заставит процессор продолжить выполнение по адресу, хранящемуся в векторе.
Ошибка появляется, когда адрес вектора заканчивается на $FF — граница страницы памяти . В этом случае, JMP
извлечет самый старший байт целевого адреса из 00 долларов США исходной страницы, а не 00 долларов США новой страницы. Следовательно JMP ($12FF)
получит младший значащий байт целевого адреса по адресу $12FF и старший байт целевого адреса из 1200 долларов вместо 1300 долларов . 65C02 исправил эту проблему. [1]
Состояние флага (D)ecimal в регистре состояния NMOS 6502 является неопределенным после сброса или прерывания , что скорее является недосмотром, чем ошибкой. Это означает, что программистам приходится устанавливать флаг на известное значение, чтобы избежать ошибок, связанных с арифметическими операциями. В результате обнаруживается CLD
инструкции (CLear Decimal) почти во всех обработчиках прерываний 6502 , а также в начале кода сброса. 65C02 автоматически очищает этот флаг после помещения регистра состояния в стек в ответ на любое прерывание или в ответ на аппаратный сброс, тем самым переводя процессор обратно в режим двоичной арифметики. [11]
Во время арифметики в десятичном режиме NMOS 6502 будет обновлять флаги (N)egative, o(V)erflow и (Z)ero, чтобы отразить результат базовой двоичной арифметики, то есть флаги отражают результат, вычисленный до обработки процессором. выполнение десятичной коррекции. Напротив, 65C02 устанавливает эти флаги в соответствии с результатом десятичной арифметики за счет дополнительного тактового цикла на каждую арифметическую команду. [11]
При выполнении инструкции чтения-изменения-записи (RMW), например INC addr
, все варианты NMOS будут выполнять двойную запись в адрес addr , сначала перезаписывая текущее значение, найденное в адресе addr , а затем записывая измененное значение. Такое поведение может привести к трудно устраняемым ошибкам, если addr является аппаратным регистром. Это может произойти, если оборудование отслеживает изменения значения в регистре, а затем выполняет действие. В этом случае оно выполнит два действия: одно с исходным значением, а затем еще раз с новым значением. Вместо этого 65C02 выполняет двойное чтение addr с последующей одинарной записью.
Если при выполнении индексированной адресации индексация пересекает границу страницы, все варианты NMOS будут читать с недопустимого адреса перед доступом к правильному адресу. Как и в случае с инструкцией RMW, такое поведение может вызвать проблемы при доступе к аппаратным регистрам посредством индексации. 65C02 устранил эту проблему, выполнив фиктивное чтение кода операции инструкции, когда индексация пересекает границу страницы. Однако это исправление привело к появлению новой ошибки. [ нужна ссылка ] это происходит, когда базовый адрес находится на четной границе страницы (что означает, что индексация никогда не перейдет на следующую страницу). Благодаря новой ошибке перед индексацией выполняется фиктивное чтение базового адреса, так что LDA $1200,X
сделаю пустышку, читай дальше 1200 долларов США до того, как значение X будет добавлено к 1200 долларов . Опять же, при индексации по адресам аппаратных регистров эта ошибка может привести к неопределенному поведению.
Если NMOS 6502 получает код операции BRK (программное прерывание) одновременно с аппаратным прерыванием, BRK будет игнорироваться, поскольку процессор реагирует на аппаратное прерывание. 65C02 правильно обрабатывает эту ситуацию, обслуживая прерывание и затем выполняя BRK.
Новые режимы адресации
[ редактировать ]У 6502 есть два режима косвенной адресации, которые разыменовывают через 16-битные адреса, хранящиеся на нулевой странице:
- Индексированный косвенный, например
LDA ($10,X)
, добавляет регистр X к заданному нулевому адресу страницы перед чтением 16-битного вектора. В этом примере, если X равен 5, он считывает 16-битный адрес из ячейки $15/$16. Это полезно, когда на нулевой странице имеется массив указателей. - Косвенная индексация
LDA ($10),Y
добавляет регистр Y к 16-битному вектору, считанному с заданного нулевого адреса страницы. Например, если Y равно 5, и $10/$11 содержит вектор $1000 . Это значение считывается из 1005 долларов . При этом выполняется адресация со смещением указателя.
Недостатком этой модели является то, что если индексация не требуется, но адрес находится на нулевой странице, один из индексных регистров все равно должен быть установлен в ноль и использоваться в одной из этих инструкций. В 65C02 добавлен режим неиндексированной косвенной адресации. LDA ($10)
ко всем инструкциям, которые использовали индексированный косвенный и косвенно индексированный режимы, освобождая индексные регистры. [12]
6502-е JMP
Инструкция имела уникальный (среди 6502 инструкций) режим адресации, известный как «абсолютный косвенный», который считывал 16-битное значение из заданного адреса памяти, а затем переходил к адресу в этом 16-битном значении. Например, если ячейка памяти В $A000 содержится $34 и $A001 содержит 12 долларов, JMP ($A000)
прочитает эти два байта, создаст значение $1234 , а затем перейдите в это место.
Одним из распространенных применений косвенной адресации является создание таблиц ветвей — списка точек входа для подпрограмм , доступ к которым можно получить с помощью индекса. Например, драйвер устройства может содержать список точек входа для OPEN
, CLOSE
, READ
и т. д. в таблице по адресу 000 долларов США . READ
это третья запись с нулевым индексом, и каждый адрес требует 16 бит, поэтому для вызова READ
можно было бы использовать что-то похожее на JMP ($A004)
. Если драйвер обновлен и код подпрограммы перемещен в память, любой существующий код все равно будет работать, пока таблица указателей остается на месте. 000 долларов США .
В 65C02 добавлен новый режим «индексированный абсолютный косвенный», который упростил использование таблиц ветвей. Этот режим добавлял значение регистра X к абсолютному адресу и брал 16-битный адрес из полученного адреса. Например, чтобы получить доступ к READ
функции из таблицы выше, можно было бы сохранить 4 в X, тогда JMP ($A000,X)
. Этот стиль доступа упрощает доступ к таблицам ветвей, поскольку один базовый адрес используется в сочетании с 8-битным смещением. [12] Того же самого можно было добиться в версии NMOS с использованием индексированного косвенного режима, но только если таблица находилась на нулевой странице, а это ограниченный ресурс. Разрешение их создания за пределами нулевой страницы не только уменьшило потребность в этом ресурсе, но также позволило создавать таблицы в ПЗУ.
Новые и измененные инструкции
[ редактировать ]В дополнение к новым режимам адресации в «базовую модель» 65C02 также добавлен набор новых инструкций. [13]
INC
иDEC
без параметров теперь увеличивает или уменьшает аккумулятор. Это была странная ошибка в исходном наборе инструкций, который включал толькоINX
/DEX
,INY
/DEY
иINC addr
/DEC addr
. Некоторые ассемблеры используют альтернативные формыINA
/DEA
илиINC A
/DEC A
. [13]STZ addr
, STore Zero по адресу . Заменяет необходимостьLDA #0;STA addr
и не требует изменения значения аккумулятора. Поскольку эта задача является общей для большинства программ, используяSTZ
может уменьшить размер кода, устраняяLDA
а также любой код, необходимый для сохранения значения аккумулятора, обычноPHA
PLA
пара. [14]PHX
,PLX
,PHY
,PLY
, помещайте и извлекайте регистры X и Y в/из стека. Раньше только аккумулятор и регистр состояния имели инструкции push и pull. X и Y можно было сложить, только сначала переместив их в аккумулятор с помощьюTXA
илиTYA
, тем самым изменяя содержимое аккумулятора, а затем используяPHA
. [15]BRA
, ветка всегда. Работает какJMP
но использует относительный адрес размером 1 байт, как и другие ветки, экономя байт. Скорость часто такая же, как и при абсолютном 3-тактном режиме.JMP
если только не будет пересечена страница, из-за которойBRA
версия на 1 цикл длиннее (4 цикла). [16] Поскольку адрес является относительным, он также полезен при написании перемещаемого кода. [14] обычная задача в эпоху, когда еще не было блоков управления памятью .
Инструкции по битовым манипуляциям
[ редактировать ]И WDC, и Rockwell внесли улучшения в функции тестирования и манипулирования битами в 65C02. WDC добавила новые режимы адресации к инструкции BIT, которая присутствовала в 6502, а также две новые инструкции для удобного манипулирования битовыми полями, что является обычным действием в драйверах устройств.
BIT
в 65C02 добавлен немедленный режим, нулевая страница, индексируемая X, и абсолютная индексация X-адресации. [13] Адресация в немедленном режиме особенно удобна тем, что она совершенно неразрушающая. Например:
LDA $1234
BIT #%00010000
может использоваться вместо:
LDA $1234
AND #%00010000
The AND
операция изменяет значение в аккумуляторе, поэтому исходное значение, загруженное из $1234, теряется. С использованием BIT
оставляет значение в аккумуляторе неизменным, поэтому последующий код может выполнять дополнительные проверки исходного значения, избегая повторной загрузки значения из памяти.
Помимо усовершенствований BIT
инструкции, WDC добавила две инструкции, предназначенные для удобного манипулирования битовыми полями:
TSB addr
иTRB addr
, Биты проверки и установки и Биты проверки и сброса.
- Маска в аккумуляторе (
.A
) логически объединяется AND с памятью по адресу addr , местоположение которого может быть нулевой страницей или абсолютным. Флаг Z в регистре состояния определяется в соответствии с результатом логического И — никакие другие флаги регистра состояния не затрагиваются. Кроме того, биты в адресе устанавливаются (TSB) или очищаются (TRB) в соответствии с маской в.A
. БСЭ выполняет логическоеOR
после логическогоAND
и сохраняет результат логическогоOR
по адресу addr , тогда как TRB хранит результаты логическогоAND
по адресу . В обоих случаях флаг Z в регистре состояния указывает результат.A AND addr
содержимого addr до изменения . Таким образом, TRB и TSB заменяют последовательность инструкций, по существу объединяяBIT
инструкция с дополнительными шагами для сохранения вычислительных изменений, но таким образом, чтобы сообщать о состоянии затронутого значения до его изменения. [1]
Изменения Роквелла добавили больше инструкций по манипуляции битами для непосредственной установки и тестирования любого бита, а также объединения проверки, очистки и перехода в один код операции. Новые инструкции с самого начала были доступны в семействе Rockwell R65C00. [17] но не входил в исходную спецификацию 65C02 и не встречался в версиях, выпущенных WDC или другими ее лицензиатами. Позже они были скопированы обратно в базовый дизайн и стали доступны в более поздних версиях WDC.
Специальные инструкции Rockwell:
SMBbit# zp
иRMBbit# zp
. Установить или сбросить (очистить) номер бита бит# в байте нулевой страницы zp .
- RMB и SMB используются для очистки (RMB) или установки (SMB) отдельных битов в битовом поле, каждый из которых заменяет последовательность из трех инструкций. Поскольку RMB и SMB предназначены только для адресации нулевой страницы, полезность этих инструкций ограничена и в первую очередь имеет значение в системах, в которых регистры устройств присутствуют на нулевой странице. [ нужна ссылка ] Компонент бит# инструкции часто записывается как часть мнемоники, например:
SMB1 $12
который устанавливает бит 1 в адресе нулевой страницы $12. Некоторые ассемблеры рассматривают бит# как часть операнда инструкции, например:SMB 1,$12
, преимущество которого заключается в том, что его можно заменить именем переменной или вычисленным числом. [14]
BBSbit# zp,addr
иBBRbit# zp,addr
. Переход по установке/сбросу бита.
- Применяются та же адресация нулевой страницы и ограничения, что и у RMB и SMB, но они разветвляются на addr, если выбранный бит байта нулевой страницы zp сброшен (BBR) или установлен (BBS). Как и в случае с RMB и SMB выше, компонент бит# инструкции часто записывается как часть мнемоники, например:
BBS1 $12,addr
который переходит к метке адреса addr, если установлен бит 1 байта по адресу нулевой страницы $12. Некоторые ассемблеры рассматривают бит# как часть операнда инструкции, например:BBS 1,$12,addr
, преимущество которого заключается в том, что его можно заменить именем переменной или вычисленным числом. Как и в случае с RMB и SMB, BBR и BBS заменяют последовательность из трех инструкций. [14]
Режимы пониженного энергопотребления
[ редактировать ]В дополнение к новым командам, указанным выше, WDC также добавила команду STP
и WAI
инструкции по поддержке режимов пониженного энергопотребления.
STP
, ОСТАНОВИТЬ процессор, остановить всю обработку до тех пор, пока не будет выполнен аппаратный сброс. Это можно использовать, чтобы перевести систему в «спящий режим», а затем быстро вывести ее из строя с помощью перезагрузки. Обычно для этого требовалась внешняя система для обслуживания основной памяти, и она не получила широкого распространения.
WAI
t имел аналогичный эффект при переходе в режим пониженного энергопотребления, но эта инструкция снова разбудила процессор при получении прерывания. Раньше обработка прерывания обычно включала в себя выполнение цикла для проверки получения прерывания, иногда называемого « вращением », проверку типа при его получении и затем переход к коду обработки. Это означало, что процессор работал в течение всего процесса, даже когда не происходило никаких прерываний.
Напротив, в 65C02 код прерывания можно было записать, имея WAI
за которым немедленно следует JSR
или JMP
обработчику. Когда WAI
был обнаружен, обработка остановилась, и процессор перешел в режим пониженного энергопотребления. Когда прерывание было получено, оно немедленно обработало JSR
и обработал запрос.
Это имело дополнительное преимущество в виде небольшого улучшения производительности. В случае вращения прерывание может появиться в середине одной из инструкций цикла, и чтобы позволить ему перезапуститься после возврата из обработчика, процессор тратит один цикл на сохранение своего местоположения. С WAI
, процессор переходит в состояние пониженного энергопотребления в известном месте, где все инструкции гарантированно будут завершены, поэтому при поступлении прерывания он не может прервать выполнение инструкции, и процессор может безопасно продолжить работу, не тратя состояние сохранения цикла.
65SC02
[ редактировать ]65 SC 02 представляет собой вариант WDC 65C02 без битовых инструкций. [18] [19]
Известные варианты использования 65C02
[ редактировать ]Домашние компьютеры
[ редактировать ]- Apple IIc Портативный от Apple Computer (NCR 1,023 МГц) [20]
- Улучшенный Apple IIe от Apple Computer (1,023 МГц)
- BBC Master Домашний/учебный компьютер от Acorn Computers Ltd (2 МГц 65SC12 плюс дополнительный второй процессор 65C102 4 МГц) [21]
- Реплика 1 от Briel Computers, копия компьютера для любителей Apple I (1 МГц)
- серии Laser 128 Клоны Apple II [22]
- KIM-1 Современная копия MOS/CBM KIM-1 от Briel Computing
Игровые консоли
[ редактировать ]- Портативный компьютер Atari Lynx (65SC02 @ ~ 4 МГц)
- NEC PC Engine, также известный как TurboGrafx-16 ( HuC6280 @ 7,16 МГц) [23]
- КПК GameKing (6 МГц) от Timetop
- Портативные компьютеры Watara Supervision (KS5360 (ядро 65SC02) @ 4 МГц)
Другие продукты
[ редактировать ]- TurboMaster Картридж -ускоритель для домашнего компьютера Commodore 64 (65C02 @ 4,09 МГц)
- с ламповым подключением Второй процессор для домашнего компьютера Acorn BBC Micro (65C02 @ 3 МГц)
- множество специализированных шахматных компьютеров , например Mephisto MMV , Novag Super Constellation, Fidelity Elite (4–20 МГц)
См. также
[ редактировать ]- Прерывания в процессорах 65xx
- CSG 65CE02 , усовершенствованная версия 65C02.
Примечания
[ редактировать ]- ↑ Некоторые источники, включая предыдущие версии этой статьи, утверждают, что это был 1978 год. Это была дата, когда Билл Менш, главный дизайнер, основал WDC. В статье 1984 года Менш конкретно называет 1981 год датой начала.
- ↑ В статье Вагнера за июнь 1983 года упоминается, что он будет доступен в течение «несколько месяцев». Учитывая типичные для этого момента задержки публикации, можно датировать ее уже концом 1982 года. Другой источник указывает на 1980 год, см. страницу обсуждения.
Ссылки
[ редактировать ]Цитаты
[ редактировать ]- ^ Jump up to: а б с д и ж г Вагнер 1983 , с. 204.
- ^ «Софтток» . Издательство Софталк . Том. 3, нет. 10 июня 1983 г. с. 199 . Проверено 24 мая 2022 г.
- ^ Коэн, Филипп (2 марта 2018 г.). «Стек 6502» (PDF) .
- ^ Тейлор и Уотфорд 1984 , с. 174.
- ^ «Проекты ЦП 6502 в HDL (для FPGA)» .
- ^ «Плата разработчика W65C02DB» .
- ^ «W65C02S-14» .
- ^ Паркер, Нил. «Раскодированный набор команд 6502/65C02/65C816» . Страница Apple II Нила Паркера .
- ^ Варди, Адам (22 августа 1995 г.). «Дополнительные инструкции для ЦП серии 65XX» .
- ^ Файл: Набор инструкций MCS650x.jpg
- ^ Jump up to: а б «Различия между NMOS 6502 и CMOS 65c02» . Проверено 27 февраля 2018 г.
Флаги N, V и Z были неправильными после десятичной операции (но C был в порядке).
- ^ Jump up to: а б Кларк, Брюс. «Коды операций 65C02» .
- ^ Jump up to: а б с Вагнер 1983 , с. 200.
- ^ Jump up to: а б с д Вагнер 1983 , с. 203.
- ^ Вагнер 1983 , стр. 200–201.
- ^ «Техническое описание W65C02S» (PDF) .
- ^ Вагнер 1983 , с. 199.
- ^ Справочник микросхем ГТД . Микросхемы ГТД. 1984. с. 1-3 . Проверено 2 мая 2024 г.
- ^ Zaks, Rodnay (1983). Programming the 6502 . Sybex. p. 348. ISBN 0895881357 .
- ^ «8-Apple IIc» . История Apple II . 23 июня 2010 г. Проверено 31 октября 2023 г.
- ^ «Компьютер BBC Master Acorn» . www.old-computers.com . Проверено 31 октября 2023 г.
- ^ «Видеотехника LASER 128/128EX/128EX2» . www.old-computers.com . Проверено 31 октября 2023 г.
- ^ «HuC6280 — архаичные пиксели» .
Библиография
[ редактировать ]- Вагнер, Роберт (июнь 1983 г.). «Сборочные линии» . Мягкий разговор . стр. 199–204.
- Тейлор, Саймон; Уотфорд, Боб (июль 1984 г.). «6502 возрождение» . Мир персональных компьютеров . стр. 174–175.
Дальнейшее чтение
[ редактировать ]- 65C02 Технический паспорт ; Центр западного дизайна; 32 страницы; 2018.
- Программирование 65816 – включая 6502, 65C02, 65802 ; 1-е изд; Дэвид Айс и Рон Личти; Прентис Холл; 636 страниц; 1986 год; ISBN 978-0893037895 . (архив)
Внешние ссылки
[ редактировать ]- Веб-страница 65C02 - Центр западного дизайна
- Различия 65xx/65Cxx/65SCxx - Мир процессоров
- Раскодированный набор команд 6502/65C02/65C816 - со страницы Apple II Нила Паркера