Как настроить тесты процессора TomHarte
В настоящее время я тестирую свой 6510 и решил использовать тесты TomHarte для большей точности. У меня есть пара вопросов по этой теме;
- Нужно ли нам читать двоичные файлы файлов .json?
- Если бы мы это сделали, как бы выглядела функция, читающая это? Будет ли это похоже на что-то вроде AllSuiteA (который проверяет значение ПК и 0x0210 для 0xFF, чтобы определить, прошел ли эмулятор).
- Нужно ли нам выполнять каждый тест отдельно в файлах .json? Или есть способ сделать все вместе одновременно?
Это репо
1 ответ
Здесь есть хорошее объяснение формата JSON.
https://github.com/TomHarte/ProcessorTests/blob/main/6502/README.md
- Что вам нужно сделать, так это проанализировать JSON как стандартный файл JSON, инициализировать свой процессор с помощью регистра и флагов из дочерних значений исходного ключа (PC, s, a, x, y, p). А затем запишите все значения памяти в заданные места в массиве оперативной памяти . А затем выполните код. Значение ПК уже указано в исходном ключе.
- Когда выполнение будет завершено, вам необходимо сравнить фактические регистры, флаги и ячейки памяти вашего процессора с окончательным ключом. Так вы определите, пройден ли тест.
- Все тесты должны быть индивидуальными. Вам необходимо перезагрузить процессор и память и выполнить тест, чтобы убедиться, что ничто из предыдущего теста каким-либо образом не влияет на тесты, что маловероятно, но возможно.