Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

ТЕМА: ZX Spectrum 128K на основе проекта Ewgeny7

ZX Spectrum 128K на основе проекта Ewgeny7 9 года 5 мес. назад #3594

  • Chaosorg
  • Chaosorg аватар Автор темы
  • Не в сети
  • Завсегдатай
  • Завсегдатай
  • Сообщений: 312
  • Спасибо получено: 18

Вложенный файл:

Имя файла: c3_ZX_Spec...09_2.zip
Размер файла:249 KB

более свежая версия ниже в теме

Похоже, что мои предположения оказались верны - я увеличил разрядность счетчика, чтобы он проходил по памяти два раза - так он точно переписывает все как надо при успевшей включиться памяти.
Вернул обычное направление копирование памяти - снизу вверх и все работает как надо :)
Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Chaosorg.

ZX Spectrum 128K на основе проекта Ewgeny7 9 года 5 мес. назад #3595

  • Vise
  • Vise аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 32
  • Спасибо получено: 4
Может лучше тормознуть весь процесс до тех пор пока контроллер не заработает?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

ZX Spectrum 128K на основе проекта Ewgeny7 9 года 5 мес. назад #3596

  • Chaosorg
  • Chaosorg аватар Автор темы
  • Не в сети
  • Завсегдатай
  • Завсегдатай
  • Сообщений: 312
  • Спасибо получено: 18

Vise пишет: Может лучше тормознуть весь процесс до тех пор пока контроллер не заработает?

Ну, по фен-шую может и лучше, но это же еще один счетчик :) Я достигаю, по сути, того же результата - первый "корявый" проход по памяти как раз и делает задержку. Конечно, для лучшей читаемости кода может и стоит сделать отдельный таймер, чтобы читатели не смущались зачем я делаю 16битный счетчик для копирования 32кб данных. В следующей версии, наверное.

Что бы такое добавить, кстати? Я сделал тему с вопросом про USB-хост на марсоходе 2. Если будет какое-то движение по этой теме или удастся извлечь пользу из того, что посоветовал iff2 ( marsohod.org/forum/voprosy-o-plate-marso...omekhi?start=40#3500 ), то стоит, конечно, замахнуться на загрузку игр с флешки или sd-карты.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Chaosorg.

ZX Spectrum 128K на основе проекта Ewgeny7 9 года 5 мес. назад #3597

Chaosorg пишет:

Ну, по фен-шую может и лучше, но это же еще один счетчик :) Я достигаю, по сути, того же результата - первый "корявый" проход по памяти как раз и делает задержку. Конечно, для лучшей читаемости кода может и стоит сделать отдельный таймер, чтобы читатели не смущались зачем я делаю 16битный счетчик для копирования 32кб данных. В следующей версии, наверное.


В контроллере SDRAM (sdram_controller.vhd) уже есть счетчик начальной задержки и инициализации SDRAM init_counter

Достаточно создать дополнительный порт start,
добавить в port
start		: out std_logic := '0';
и добавить в конце файла (перед end rtl;) строчку
start <= '1' when ((state = "000") or (state = "001") or (state = "010") or (state = "011") or (state = "101")) else '0';

Активным start запускать остальную схему, это избавит от проблемм в будущем при ожидании инициализации SDRAM.
Спасибо сказали: Chaosorg

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

ZX Spectrum 128K на основе проекта Ewgeny7 9 года 5 мес. назад #3598

  • Chaosorg
  • Chaosorg аватар Автор темы
  • Не в сети
  • Завсегдатай
  • Завсегдатай
  • Сообщений: 312
  • Спасибо получено: 18

Alvich пишет: Активным start запускать остальную схему, это избавит от проблемм в будущем при ожидании инициализации SDRAM.


Исправил некрасивое место, но иначе - оказалось достаточным просто еще в одном месте автомата проверить ready контроллера SDRAM. Похоже, что он выполнил ту же роль, что и предложенный Вами start. Раньше я им тормозил этапы работы автомата, чтобы дождаться ответа выполнения команды (кстати, я не уверен, что ready снимается на это время), а теперь проверяю его перед командой, как собственно автор и говорил делать.

Если никаких добавок в чем-то другом не будет, то выложу текущую версию, но хочелось бы что-то еще добавить...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

ZX Spectrum 128K на основе проекта Ewgeny7 9 года 5 мес. назад #3599

Chaosorg пишет:

Если никаких добавок в чем-то другом не будет, то выложу текущую версию, но хочелось бы что-то еще добавить...


Можно попробовать добавить загрузку waw не через АЦП а через USB с помощью FTDI,
а за основу взять проект FM передатчика.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

ZX Spectrum 128K на основе проекта Ewgeny7 9 года 5 мес. назад #3658

Для формирования опорных частот ay8910 применена устаревшая макрофункция (fregdiv).
Altera не рекомендует без особой надобности применять устаревшие макрофункции, лучше поставить LPM_CUNTER.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

ZX Spectrum 128K на основе проекта Ewgeny7 9 года 5 мес. назад #3659

  • Vise
  • Vise аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 32
  • Спасибо получено: 4
Ну это как обычно, по быстрому попробовать, а как заработало так и ладно :))) Надо Chaosorg попросить поправить.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

ZX Spectrum 128K на основе проекта Ewgeny7 9 года 5 мес. назад #3660

  • Chaosorg
  • Chaosorg аватар Автор темы
  • Не в сети
  • Завсегдатай
  • Завсегдатай
  • Сообщений: 312
  • Спасибо получено: 18

Alvich пишет: Для формирования опорных частот ay8910 применена устаревшая макрофункция (fregdiv).
Altera не рекомендует без особой надобности применять устаревшие макрофункции, лучше поставить LPM_CUNTER.


а как отличать устаревшие от неустаревших ?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

ZX Spectrum 128K на основе проекта Ewgeny7 9 года 5 мес. назад #3661

Все, что в Symbol tool в папке /others/maxplus2 считается устаревшим.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.158 секунд
Работает на Kunena форум