6502
Moderator: Lavr
-
- Banned
- Posts: 2139
- Joined: 20 Mar 2005 13:41
- Location: От туда
А что там приводить то? Первое - это операции с ZP, когда задается только младший адрес, а старший всегда равен 0. Второе - это индексная адресация, когда младший адрес только в X или Y, старший же всегда равен 0. И вся соль в том, что помимо "короткого" (в плане длины опкода) обращения, байт из ZP можно использовать как второй операнд непосредственно (первый всегда [A], как у i8080). Отсюда и такое убеждение.
PS ZP - Zero Page.
PPS Чел на Эмураши разбирает кристал для низкоуровневой симуляции ядра 6502, который присутствует в процессоре NES в несколько усеченном виде. Фишка в том, что чел все объясняет открыто, а не тарит как у Visual6502.
PS ZP - Zero Page.
PPS Чел на Эмураши разбирает кристал для низкоуровневой симуляции ядра 6502, который присутствует в процессоре NES в несколько усеченном виде. Фишка в том, что чел все объясняет открыто, а не тарит как у Visual6502.
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Хардыч, ну в теории - это вроде как понятно, но я просил нехитрозадумчивыйHardWareMan wrote:А что там приводить то? Первое - это...
пример, чтобы поковыряться с ним в эмуляторе 6502 под отладчиком.
На мой взгляд - это самый полезный способ разобраться с процессором
без лишних словесных пересказов.
PS. Немного не понял я затею мужика по ссылке. Зачем ему по-новой
делать реверс 6502? Ведь его схема на MOSFET-ах известна, да и на
логических вентилях - я видел...
iLavr
-
- Banned
- Posts: 2139
- Joined: 20 Mar 2005 13:41
- Location: От туда
Нуу, я не писал под 6502 столько. Но думаю, если ты возьмешь ИДу, плагин для NES и любую игру для NES то все поймешь и так. Тем более, что простых игр уже дизасмы есть дофига (марио, танчики) и с комментами.Lavr wrote:Хардыч, ну в теории - это вроде как понятно, но я просил нехитрозадумчивый пример, чтобы поковыряться с ним в эмуляторе 6502 под отладчиком.
Just for fun наверное.Lavr wrote:PS. Немного не понял я затею мужика по ссылке. Зачем ему по-новой делать реверс 6502? Ведь его схема на MOSFET-ах известна, да и на логических вентилях - я видел...
-
- Retired
- Posts: 1328
- Joined: 25 Jul 2011 00:14
- Location: WWW
Nerdy nights или как-то так.
три глобальных вещи есть у 6502
1) короткая адресация через нулевую страницу. каждая команда занимает 2 байта и выполняется быстрее. STA #xx/LDA #xx
2) по иксу
3) по игреку
второй и третий случай работает, как ссылка(?) на указатель(?) 2 байта плюс смещение. вот тебе внезапно 128 16битных регистров.
черт, а мнемоники то я подзабыл.
три глобальных вещи есть у 6502
1) короткая адресация через нулевую страницу. каждая команда занимает 2 байта и выполняется быстрее. STA #xx/LDA #xx
2) по иксу
3) по игреку
второй и третий случай работает, как ссылка(?) на указатель(?) 2 байта плюс смещение. вот тебе внезапно 128 16битных регистров.
черт, а мнемоники то я подзабыл.
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
6502 based projects
6502 based projects
Это микро-презент для MC68k...
http://mycorner.no-ip.org/6502/index.html
http://mycorner.no-ip.org/68k/index.html
Там много всяких 6502- и др. вкусностей...
Это микро-презент для MC68k...
http://mycorner.no-ip.org/6502/index.html
http://mycorner.no-ip.org/68k/index.html
Там много всяких 6502- и др. вкусностей...

iLavr
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
А где бы посмотреть хотя бы программную модель Apple ][ ?
А то MC68k столько убеждал нас, что это чуть ли не прототип "Специалиста"...
А кроме исторического славословия, что-то мало полезного гуглится...
http://apple2history.org/history/ah03/
Меня интересует карта памяти и структура экрана...
У С64 экран, похоже что на БИС видеокотроллера организован - это не так интересно...
А вот как он устроен у Apple ][ ?
Так, судя по вот этой статье, Apple ][ был организован значительно сложнее,
нежели "Специалист".
Судя по тому, что в нижних 4К у Apple ][ мог быть текстовый "экран", похоже,
что также была заюзана БИС видеокотроллера...
В "Специалисте" так не поколбасишься - графический экран с прозрачным доступом.
В "Орионе" он хоть по памяти "запрыгал"...
PS.
А то MC68k столько убеждал нас, что это чуть ли не прототип "Специалиста"...
А кроме исторического славословия, что-то мало полезного гуглится...
http://apple2history.org/history/ah03/
Меня интересует карта памяти и структура экрана...
У С64 экран, похоже что на БИС видеокотроллера организован - это не так интересно...
А вот как он устроен у Apple ][ ?
Так, судя по вот этой статье, Apple ][ был организован значительно сложнее,
нежели "Специалист".
Судя по тому, что в нижних 4К у Apple ][ мог быть текстовый "экран", похоже,
что также была заюзана БИС видеокотроллера...
В "Специалисте" так не поколбасишься - графический экран с прозрачным доступом.
В "Орионе" он хоть по памяти "запрыгал"...
PS.
Авторы выпустили новую версию эмулятора, и ссылка вновь рабочая!Lavr wrote:А ссылочка-то померла...http://www.6502asm.com/

iLavr
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Интересно, что в первых "Агатах" расширенный аналог 6502 также был выполненLavr wrote:
Особенностью микроЭВМ УМПК-589, построенной на основе секционированных БИС МПК серии К589, является реализация на микропрограммном уровне системы команд микропроцессора К580ВМ80 и формирование внешних магистралей, совместимых с УМПК-80.
С.74.
на этих самых "секционированных БИС" (как пишут).
Поэтому по системе команд он был расширен, а по скорости - проигрывал реальному 6502.
Я почему-то предполагал, что 6502 "на рассыпухе" делали с помощью БИС АЛУ и
мелкой логики, как это любители делают, оказалось, что нет...
iLavr
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
-
- Banned
- Posts: 2139
- Joined: 20 Mar 2005 13:41
- Location: От туда
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Ну ZP и SP (ZeroPage & StackPage) - это никаких вопросов не вызывает...HardWareMan wrote:А почему нет? Это обычная память же. Исполняет же он программу в ZP и SP (ZeroPage & StackPage).
Просто я не знаю его механизма - у i8080 по прерыванию должна поступить команда.
А 6502 - получается, просто берет адрес перехода из этих ячеек, вот я и задумался,
как он среагирует, если скушает JMP [ADDR NMI], к примеру.
iLavr
-
- Banned
- Posts: 2139
- Joined: 20 Mar 2005 13:41
- Location: От туда
Ну, мы юзаем JMP ($FFFC) чтобы запустить игру в своем картридже, но эта команда логически не отличается от отработки ресета. А вот если подать JMP $FFFC, то он однозначно прыгнет в этот адрес. Ну а так как туда все равно нужно писать адрес обработки, то что-то полезное там хранить тяжело. Разве что подгадать адрес так, чтобы получилась полезная команда.
-
- Retired
- Posts: 1328
- Joined: 25 Jul 2011 00:14
- Location: WWW
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
А вот такой вопрос у меня возник по ходу моих разборок с 6502:
популярные компьютеры, построенные на 6502, имели ну хоть как-то стандартизированные
подпрограммы своих системных ПЗУ?
Ну типа, как был негласный стандарт в наших популярных поделках на i8080:
- ввод символа с клавиатуры с ожиданием;
- ввод символа с клавиатуры без ожидания;
- вывод символа на экран;
- вывод строки на экран.
Ну я имею в виду:
В книжке про ассемблер "Аппле" пара стандартных вызовов упоминается, но по имени,
а не по адресу функции...
(Морер У. Язык Ассемблера для персонального компьютера ЭПЛ: Пер. с англ. -М.: 1987, -430с.)
Или у них для компактности кода были только вызовы по внутренним адресам системной ПЗУ,
как у "Спецтрума"?
популярные компьютеры, построенные на 6502, имели ну хоть как-то стандартизированные
подпрограммы своих системных ПЗУ?
Ну типа, как был негласный стандарт в наших популярных поделках на i8080:
- ввод символа с клавиатуры с ожиданием;
- ввод символа с клавиатуры без ожидания;
- вывод символа на экран;
- вывод строки на экран.
Ну я имею в виду:
Code: Select all
0F803H
...
0F809H
...
0F812H
...
0F818H
...
0F81BH
и т.д.
а не по адресу функции...
(Морер У. Язык Ассемблера для персонального компьютера ЭПЛ: Пер. с англ. -М.: 1987, -430с.)
Или у них для компактности кода были только вызовы по внутренним адресам системной ПЗУ,
как у "Спецтрума"?
iLavr