6502
Moderator: Lavr
-
- Admin
- Posts: 24086
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
6502
Mежду тем легендарный MOS 6502 до сих пор продаётся :)
MPU R6500 CISC 8-Bit 1MHz 40-Pin CDIP
На http://www.jameco.com его можно приобресть за:
6502 1x$5.95 10x$5.49
65C02 1x$5.95 10x$5.49 (у CMOS версии расширенный набор команд и несколько "исправлений" оригинального поведения)
а также там есть 6522 (интерфейсный адаптер за $6), 6532 (озу ио таймер за $8), 6551 (асинхронный последовательный интерфейс за $4)
P.S. вчера наткнулся на страничку где чувак рассказывает как на мелкой логике построил аналог 6502 :)
http://www.6502.org/users/dieter/m02/m02.htm
На http://www.jameco.com его можно приобресть за:
6502 1x$5.95 10x$5.49
65C02 1x$5.95 10x$5.49 (у CMOS версии расширенный набор команд и несколько "исправлений" оригинального поведения)
а также там есть 6522 (интерфейсный адаптер за $6), 6532 (озу ио таймер за $8), 6551 (асинхронный последовательный интерфейс за $4)
P.S. вчера наткнулся на страничку где чувак рассказывает как на мелкой логике построил аналог 6502 :)
http://www.6502.org/users/dieter/m02/m02.htm
You do not have the required permissions to view the files attached to this post.
Last edited by Shaos on 13 Sep 2011 06:28, edited 1 time in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 24086
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Вчера пришёл новый каталог от Jameco а там - реклама НОВОГО (!) WDC65С02 в DIP-40 и частотой 14 МГц (!) за $7.95!!!
А также есть 16-битный микроконтроллер WDC65С265 в PLCC и пара периферийных микросхем из той же серии.
Всё новое и даже RoHS (лужение без свинца)! 

You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Banned
- Posts: 2139
- Joined: 20 Mar 2005 13:41
- Location: От туда
-
- Admin
- Posts: 24086
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Ну это как бы не забытое, а заново воссозданное староеHardWareMan wrote:Новое - это хорошо забытое старое.

http://www.westerndesigncenter.com/wdc/w65c02s-chip.cfm
http://www.westerndesigncenter.com/wdc/ ... s-chip.cfm
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
To HardWareMan:
Хардыч, ты вот тут ссылку давал на доки по 6502...
Поясни, как он работает с регистрами X и Y?
Я почему-то заблуждался, что они аналогичны IX и IY у Z80, но оказалсь, что это не так.
Тем не менее, они названы и на блок-схеме индексными.
Как 6502 имеет доступ ко всей памяти через 8-разрядные индексные регистры ?
Хардыч, ты вот тут ссылку давал на доки по 6502...
![]() |
Поясни, как он работает с регистрами X и Y?
Я почему-то заблуждался, что они аналогичны IX и IY у Z80, но оказалсь, что это не так.

Тем не менее, они названы и на блок-схеме индексными.
Как 6502 имеет доступ ко всей памяти через 8-разрядные индексные регистры ?
-
- Admin
- Posts: 24086
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Вот собственно оригинальная система команд 6502:
8-битные ндексные регистры используются как смещение от произвольного фиксированного адреса (16-битного либо 8-битного в пределах нулевой страницы):
http://en.wikibooks.org/wiki/6502_Assembly
8-битные ндексные регистры используются как смещение от произвольного фиксированного адреса (16-битного либо 8-битного в пределах нулевой страницы):
http://en.wikibooks.org/wiki/6502_Assembly
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
А как это получается аппаратно? Хотя бы в рамках блок-схемы?Shaos wrote:Вот собственно оригинальная система команд 6502:
...
8-битные индексные регистры используются как смещение от произвольного фиксированного адреса (16-битного либо 8-битного в пределах нулевой страницы)
Или на ней что-то скрыто или опущено?
Какой регистр у них базовый - относительно которого они приплюсовываются
как смещения?
iLavr
-
- Retired
- Posts: 1328
- Joined: 25 Jul 2011 00:14
- Location: WWW
(X)->PCL
(X+1)->PCH
X=00h-0FFh
X/Y<->PCL/PCH<->INPUT DATA LATCH
Отец, не вводи людей в заблуждение.
http://6502.org/tutorials/6502opcodes.html
(X+1)->PCH
X=00h-0FFh
X/Y<->PCL/PCH<->INPUT DATA LATCH

Отец, не вводи людей в заблуждение.
http://6502.org/tutorials/6502opcodes.html
-
- Banned
- Posts: 2139
- Joined: 20 Mar 2005 13:41
- Location: От туда
Тут зависит от адресации же. Если ZP, то и X и Y простое беззнаковое (получаемые адреса будут от 0000 до 00FF). Если смещение, тогда число со знаком (-128+127) от базы, которая задается адресацией. Например, ($AA),Y означает что база хранится в нулевой странице, она считывается (два байта) и потом к ней приплюсовывется смещение Y.



А вообще, я давал ссылку, там есть пузатый PDF (mcs6500_family_programming_manual.pdf) с MOS на титульнике, там все адресации и растактовки при их исполнении даны, курите бамбук, школота.



А вообще, я давал ссылку, там есть пузатый PDF (mcs6500_family_programming_manual.pdf) с MOS на титульнике, там все адресации и растактовки при их исполнении даны, курите бамбук, школота.
-
- Retired
- Posts: 1328
- Joined: 25 Jul 2011 00:14
- Location: WWW
-
- Devil
- Posts: 907
- Joined: 26 May 2003 06:57
Судя по блок-схеме, адрес выдаётся через DL (input data latch) и ALU. Если адрес вычисляется 16-ти битный, то логично было бы, чтобы младший байт вычислился сначала (при помощи ALU) и сохранился бы в DL, а старший - на след. такте, и выдавался бы сразу из ALU. А для 8-ми битного адреса (из zero page) наверное наоборот: младший байт выдаётся через ALU. Например когда из ZP грузится 16-битный адрес, младший байт сохраняется в DL, затем старший в ALU.Lavr wrote:Какой регистр у них базовый - относительно которого они приплюсовываются как смещения?
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
http://bashkiria-2m.narod.ru/
-
- Banned
- Posts: 2139
- Joined: 20 Mar 2005 13:41
- Location: От туда
Опять же:MC68k wrote:($AA,X) я вот такой вариант имел ввидуНапример, ($AA),Y означает что база хранится в нулевой странице, она считывается (два байта) и потом к ней приплюсовывется смещение Y.


Из зеропэйджа. Прочитайте уже мануальчик то. :3
PS Обращаю ваше внимание на то, что на самом деле регистры X и Y не равноправны. Некоторые виды индексации (мой предыдущий пост) доступны только для Y, а некоторые (этот пост) только для X. Стало быть, они имеют разные схемы управления.
Shaos wrote:Code: Select all
| [nn,X] | x |Indexed indirect (X) | -0CH | +2 | | [nn],Y | y |Indirect indexed (Y) | +04H | +1 |
Last edited by HardWareMan on 03 Apr 2012 02:54, edited 1 time in total.
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
А я скачал.. даж поблагодарил.. даже с MOS на титульнике...HardWareMan wrote:А вообще, я давал ссылку, там есть пузатый PDF (mcs6500_family_programming_manual.pdf) с MOS на титульнике, там все адресации и растактовки при их исполнении даны, курите бамбук, школота.

А прицеливаюсь я что-либо из схемотехники у них позаимствовать для своего 4-bit CPU.
Для заявленных целей мне явно не хватает инструкции типа PCHL,
либо косвенного перехода по адресу из ячейки памяти...
Перебирать массивы преходов по адресу с голыми JUMP и CALL-RET пока крайне
неудобно и неуклюже вырисовывается.
iLavr
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Atari 2600
Интересная страничка Хабара, посвященная Atari 2600.


Приставка рассмотрена на страничке весьма подробно, до уровня принципиальных схем, если у кого есть интерес...
По внешнему виду приставка напоминает древний абонентский громкоговоритель. Деревянная вставка — это в действительности крашенная пластмасса. В отличии от современных приставок, кнопки START и SELECT расположены на корпусе. Помимо джойстиков, в комплекте с приставкой продавались контроллеры Paddle. Это вращающаяся ручка, позволяющая плавно перемещать игрока по одной оси и кнопка огонь.

Разберем Атари 2600 и посмотрим, что то же такого сделали разработчики за 2 года и 100.000.000$? Плата содержит всего 3 микросхемы: процессор MOS Technology 6507, микрсхемы TIA и RIOT.

Приставка рассмотрена на страничке весьма подробно, до уровня принципиальных схем, если у кого есть интерес...
iLavr
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Хардыч, а ты не мог бы привести какой-либо толковый и небольшой пример
(или ссылку на него) как 6502 использует свою нулевую страницу в качестве
аналогов регистров (ну так пишут)?
И как он адресуется к старшим адресам?
Ну имеется ввиду пример на ассме, конечно...
А то мне, привыкшему к i8080, как-то несподручным этот механизм 6502
представляется.
(или ссылку на него) как 6502 использует свою нулевую страницу в качестве
аналогов регистров (ну так пишут)?
И как он адресуется к старшим адресам?
Ну имеется ввиду пример на ассме, конечно...
А то мне, привыкшему к i8080, как-то несподручным этот механизм 6502
представляется.
iLavr