проект аппаратной эмуляции - PullRequest
2 голосов
/ 22 декабря 2010

Привет.

Я заинтересован в написании эмулятора для какого-нибудь старого компьютера. Тем не менее, я хотел бы выбрать для начала что-то простое, архитектуру, которая не слишком сложна и относительно известна, чтобы ее было легко найти. Не могли бы вы предложить что-нибудь? Также приветствуем: ссылки на технические характеристики / документацию предлагаемой платформы, архивы rom и т. Д.:)

Ответы [ 2 ]

2 голосов
/ 22 декабря 2010

Старый добрый Commodore 64 был бы хорошим выбором.Хорошо документировано, доступно множество архивов ПЗУ и достаточно много поддержки со стороны сообщества.

Он работает на 8-битном микропроцессоре ( MOS 6510 ), который управляет набором команд RISCи должно быть довольно простым для моделирования (поскольку любое аппаратное эмулирование можно назвать «простым»:)

Процессор Таблица данных даже доступна!

1 голос
/ 23 декабря 2010

Уже сделав что-то подобное, я бы согласился с e.James и пошел бы с чем-то вроде 6502. 6502 управляема, я думаю, менее 256 инструкций.Например, z80 мультиплексирует некоторые коды операций и требует много работы.С 6502 вы можете пойти после vic20 Commodore64 и т. Д., А также такие места, как астероиды, лунные корабли, прорывы и некоторые другие.Apple Iie и atari vcs (2600) и другие также основаны на 6502.

Хорошо бы пойти с чем-то вроде этого, которое уже эмулировалось (и есть открытый исходный код).Что-то, что вы можете изучить как таблицы данных, так и реализации вместе, когда создаете свои собственные.Остерегайтесь не все без ошибок, они могут подражать одной вещи, возможно, потому что эта вещь никогда не использует эту сломанную инструкцию или этот флаг.Вы также можете найти различные интерпретации таблицы.

Благодаря маме и другим, существует множество видеоигр (не обязательно основанных на 6502), возможно, у вас есть любимый.Эмуляторы процессора в маме, как и в других, часто написаны для скорости выполнения, и им может быть трудно следовать.Конечно, не образовательный код, но сильно настроенный вручную для повышения производительности (был необходим для платформы 486, но не обязательно, что настройка сегодня).

Если 6502 слишком большой, чтобы переварить, или когда вы смотрите на перифериюэмулировать, вы можете использовать только процессор или микроконтроллер, например 12-битный набор микросхем pic или msp430.очень легко усваивается, все еще в производстве, поэтому инструменты доступны, оба имеют, например, c-компиляторы.Запрещается запускать известные сексуальные программы или что-то в этом роде, но не менее образовательно.

...