Вопросы по теме '6502'

6502 Инструкция по сборке недействительна
Печатаю на экран в 6502 сборке В мониторе я написал STA $01, y to store the value at the pointer Однако, когда я нажимаю ввод в этой строке, он говорит, что инструкция недействительна? Любые идеи...?
312 просмотров
schedule 28.11.2021

Как я мог эмулировать 6502 JMP, ветвление и подпрограмму на C ++?
У меня есть программа, которая должна полностью эмулировать процессор MOS Technologies 6502. Я почти полностью реализовал весь набор инструкций в функциях C ++, включая математические, побитовые функции. Я даже могу подражать тактовой частоте....
249 просмотров
schedule 21.09.2021

Что такое неиспользуемый адрес памяти?
Прочитав эту страницу HTML о распределении памяти Commodore 64 , потому что меня интересует старое компьютерное оборудование, я споткнулся через ячейку в таблице, которая утверждает, что адрес памяти не используется. Что именно это влечет за собой?...
402 просмотров
schedule 31.10.2021

Поведение прерывания 6502 в автономном тесте по сравнению с Commodore PET
Я строю Commodore PET на FPGA. Я реализовал собственное ядро ​​6502 в Kansas Lava (код доступен по адресу https://github.com/gergoerdi/mos6502-kansas-lava ) и достаточное количество операций ввода-вывода (...
329 просмотров
schedule 18.03.2022

6502 Обертка режима относительного адреса
Читая документацию по 6502, я нигде не смог найти ответ на этот вопрос. При использовании относительной адресации возможен перенос. Но можно ли обернуть оба конца? Я предполагаю, что это возможно, хотя маловероятно. И когда я имею в виду оба...
1181 просмотров
schedule 13.05.2022

Почему символы смещаются на 0x40 в моем эмуляторе Commodore 64?
У меня есть код 6502 для печати строки в памяти экрана после очистки экрана. К сожалению, если я напечатаю строку, например, «HELLO WORLD», она будет искажена. Я обнаружил, что это связано с тем, что символы верхнего регистра начинаются с 0x01, а не...
1352 просмотров
schedule 15.05.2022

Объектно-ориентированная таблица переходов, определенная для нескольких классов
Я занимаюсь рефакторингом эмулятора NMOS6502 на несколько классов. Мне было интересно, существует ли «объектно-ориентированный» способ определения таблицы переходов функций. По сути, я определил отдельные классы инструкций для классификации групп...
388 просмотров
schedule 12.07.2022

Как запустить набор тестов 6502 Клауса Дормана на реальном оборудовании с отдельными ПЗУ и ОЗУ
Я хотел бы запустить полный набор тестов 6502 от Клауса Дормана для тестирования моя реализация Kansas Lava 6502. Однако в коде используется самомодификация (см. Все варианты использования range_adr ) , который, хотя и тривиально реализовать в...
443 просмотров
schedule 30.07.2022

Синтаксис ассемблера CBM Program Studio
Я пытаюсь изучить CBM Program Studio. Но у меня не работают макросы. Без макроса коды были в порядке. Но когда я добавляю часть макроса, в строке 7 отображается «Нет соответствующего конечного определения». Есть идеи? *=$c000 ; sys...
1100 просмотров
schedule 30.08.2022

Повторная попытка сложения N-байтовых целых чисел BASIC 6502?
Я сначала (попросил о помощи) и написал программу BASIC в эмуляторе домашних животных 6502, которая добавила два n-байтовых целых числа. Однако мой отзыв заключался в том, что он просто добавлял два 16-битных целых числа (не добавляя n-байтовые целые...
143 просмотров
schedule 26.02.2023

Как разделить 16-битное число на 2 в 6502 asm?
Я хочу разделить 16-битное число на два. Мое решение проблемы было следующим lda $17 ;set high byte ldx $32 ;set low byte divide: PHA ;push A to stack TXA ;X > A LSR ;divide low byte by...
2290 просмотров
schedule 26.01.2023

Можно ли процедурно определить количество циклов, которые выполняет конкретная инструкция на 6502?
Большинство эмуляторов хранят количество циклов, которое выполняет конкретная инструкция, в таблице поиска, а затем при необходимости добавляют любые условные циклы (например, при пересечении границ страницы). Мне интересно, есть ли способ...
376 просмотров
schedule 01.12.2022

Разница между = и :=
Я новичок в программировании на ассемблере 6502 и использую набор cc65 (целью является C64). Официальная документация указывает, что "The assembler accepts the standard 6502/65816 assembler syntax" однако мне трудно найти авторитетную ссылку....
104 просмотров
schedule 26.12.2022

Почему мой Fibonacci 6502 работает со сбоями для 144 и 233?
Следующая программа: PORTB = $6000 PORTA = $6001 DDRB = $6002 DDRA = $6003 E = %10000000 RW = %01000000 RS = %00100000 VARX = $4000 VARY = $4001 VARZ = $4002 NUM = $4005 DIV = $4006 RES = $4007 MOD = $4008 BACK_TO_FRONT = $4020 .org $8000...
124 просмотров
schedule 10.03.2023

Почему индексные регистры X и Y 8-битные?
Я пытался заняться программированием 6502, и что-то не складывается. Если у него 16-битное адресное пространство, почему индексные регистры X и Y 8-битные? Используются ли они в тандеме, где X — младший байт, а Y — старший байт адреса? Если да, то...
58 просмотров
schedule 12.11.2022

Какие проблемы возникают при эмуляции чего-то вроде архитектуры x86 по сравнению с чем-то вроде 6502?
В настоящее время я делаю эмулятор NES на Java. Мое ядро ​​6502 работает на 99%, за исключением некоторых мелких проблем. Дело в том, что я эмулирую 6502 для NES, но я никогда не интересовался им так, как что-то вроде PS1, N64 или DOS. Я всегда...
307 просмотров
schedule 25.10.2023

Сборка C64 — 6502/6510 — отображение серии из трех растровых изображений одно за другим с последующим переходом в символьный режим.
У меня есть довольно большой вопрос, на который мне очень трудно ответить, имея всего пару справочников, интернет и ваш покорный слугу. Я просто хочу отобразить растровое изображение. Подождите пару секунд. Сотрите это из памяти. Показать...
39 просмотров
schedule 05.11.2023

Создание простой программы ввода/вывода для назначения
Создайте программу, которая печатает Вы ввели единицу, если пользователь вводит 1, Вы ввели двойку, если пользователь вводит 2, Вы ввели три, если пользователь вводит 3. Программа должна зацикливаться до тех пор, пока пользователь не введет цифру...
59 просмотров
schedule 22.01.2024