Saar, адресом цвета является код выводимого в настоящий момент пикселя, или цвет бордюра. Обычно палитра программируется во время обратного хода луча, в это время активен бордюр.
Не хочу отвадить от благородного порыва, но Вектор на FPGA уже есть![]()
Saar, адресом цвета является код выводимого в настоящий момент пикселя, или цвет бордюра. Обычно палитра программируется во время обратного хода луча, в это время активен бордюр.
Не хочу отвадить от благородного порыва, но Вектор на FPGA уже есть![]()
Больше игр нет
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
svofski,
Я в курсе что есть для DE1. Во-первых: там всё основано на использовании SRAM, а сам код очень сильно запутан и на мой взгляд слишком усложнен. Всё то хозяйство довольно сложно портировать на плату без SRAM.
Во-вторых: я уже сделал эмулятор Апогея, а потому есть уже костяк, на который хочу навесить дополнения чтобы получить Вектор 06.
Потом, я не хочу портировать КНГМД отчасти из-за того что довольно сложно реализовать это на SDRAM (придется делить SDRAM шины между двумя процессорами), от части из-за не нужности. Мне хочется играть в игрушки, а не программированием заниматься.
На моей FPGA плате уже есть диспетчер файлов и потому закинуть приложение внутрь эмулируемого компьютера через готовое OSD гораздо проще чем эмулировать КНГМД.
Так как адрес цвета-то выставить?
Означает ли это что, в момент вывода бордюра я должен быстро перебрать все индексы цвета бордюра занося при этом значение цвета в порт 0xC?
- - - Добавлено - - -
Еще вопрос:
Игры для Вектор 06 я нашел ввиде ROM файлов. Это дамп памяти что-ль?
Достаточно залить файл с адреса 0x100 в память Вектора (вычитал из темы эмулятора DE1, но не уверен что правильно)?
- - - Добавлено - - -
Еще непонятно по поводу ПЗУ.
Оно при загрузке торчит с 0 адреса, но в отличие от других компов не мапится постоянно на 0xFxxx, а остается внизу. Так?
А когда оно отключается (чтобы освободить вектора)?
Если ROM файлы загружаются с 0x100, то получается что при записи в область ПЗУ, запись происходит в теневое ОЗУ по тем же адресам?
vector06cc поддерживает платы с SDRAM усилиями ivagor-a. Например, он работает на китайской WxEDA, в которой SRAM-a нет в принципе.
Да, программы для Вектора так и делают. Как правило они это делают сразу в начале обработки прерывания. В это время луч еще находится за границей экрана и этот процесс незаметен внешне. Разработчики Вектора допустили какой-то огрех в этой части схемы, поэтому на очень многих Векторах запись в этот порт работает ненадежно. Обычно программы делают out $0c по нескольку раз подряд, чтобы сработало наверняка.
Да. Дамп лент как их загружает в память загрузчик.
ПЗУ подключено только на чтение вплоть до нажатия БЛК+ВВОД (или БЛК+СБР? тут я могу ошибаться, реал давно не трогал). После включения и сброса, ПЗУ подключено, но запись в его адреса приводит к записи в ОЗУ. Нажатие волшебной клавиши запуска программы запускает защелку, которая отключает доступ ПЗУ загрузчика. Система остается в таком состоянии до полного сброса. Программно это сделать никак нельзя.
- - - Добавлено - - -
Техническое описание рекомендуется как дополнение к схемам http://asdasd.rpg.fi/~svo/scalar/sea...B5%D0%BC%D1%8B. Все вместе достаточно полно описывает устройство компьютера.
То, чего там может не быть, а если есть, может не бросаться в глаза: по-моему в каком-то из альбомов схем есть дамп ПЗУ, которое раздает управляющие сигналы RAS/CAS и циклы ожидания. Это важно для точной эмуляции. Упрощая, можно сказать, что число тактов в каждом машинном цикле на Векторе округляется вверх до числа кратного четырем. То есть цикл, который выполняется за 4 такта на Векторе выполнится за 4, а тот, что выполняется за 5 тактов, на Векторе съест все 8.
Больше игр нет
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)