Эмулятор Ti-83 вопрос с ROM - PullRequest
       62

Эмулятор Ti-83 вопрос с ROM

3 голосов
/ 26 февраля 2011

Я уже довольно давно накапливаю знания о компьютерах и C ++, и решил, что хочу попробовать создать эмулятор, чтобы лучше понять его.Я хочу попробовать сделать эмулятор TI-83 (работает на процессоре Zilog Z80).В настоящее время у меня есть две проблемы:

Первая состоит в том, что регистр "ПК", который указывает на текущую инструкцию, составляет всего 16 бит, но загруженное ПЗУ Ti-83 составляет 256 КБ.Как 16 бит данных должны указывать на адрес за пределами ~ 64 КБ?

Во-вторых, где находится точка входа в ПЗУ?Начинается ли исполнение с 0x0000?

Спасибо, и, надеюсь, вы поможете мне немного понять, как это работает.

Ответы [ 2 ]

0 голосов
/ 26 февраля 2011

Руководство разработчика описывает, как устроена память, хотя на самом деле не описывает, как работает отображение.

Краткая версия: адресное пространство разделено на четыре страницы по 16 КБ, первая из которых всегда отображает страницу 0 флэш-ПЗУ на 32 страницы.

0 голосов
/ 26 февраля 2011

Скорее всего, имеется программируемый регистр подкачки вне ядра процессора, который можно настроить для отображения части 256 КБ за раз в часть адресного пространства 64 КБ.Вам нужно будет подражать этому.Надеюсь, вы можете узнать об этом в официальной или неофициальной документации.Если у вас есть схема или печатная плата, она может даже отображаться как внешний PAL или набор логических микросхем.

Я забываю на макушке, где z80 начинает выполняться при перезагрузке, но я уверен, что вынайдет его в руководстве по процессору, которое будет необходимым инструментом для написания эмулятора для него.

Вы хотите убедиться, что используемое ядро ​​действительно является z80, а не какой-то его расширенной версией.

И, конечно, я уверен, что кто-то уже сделал это, так что ваш проект, вероятно, будет больше посвящен обучению - хотя в конце вы можете превзойти любое доступное решение, если будете работать над ним достаточно долго.

...