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

ТЕМА: ZX Spectrum, регенерация видеобуфера и помехи

ZX Spectrum, регенерация видеобуфера и помехи 9 года 3 нед. назад #3485

  • Chaosorg
  • Chaosorg аватар Автор темы
  • Не в сети
  • Завсегдатай
  • Завсегдатай
  • Сообщений: 312
  • Спасибо получено: 18
... и еще. Раз появился интерес - давайте промежуточный итог какой-то выкладывать. Может потом и будет сильно отличающийся проект под Марсоход 2 и не только, но сейчас имеем


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

Имя файла: c3_ZX_Spec...0518.zip
Размер файла:160 KB


исправления и добавления:

- новый контроллер SDRAM

- опечатка про запись в порт FE

- сигналы звука (beeper) и выхода на магнитофон

- вход с магнитофона через АЦП марсохода


если кто сделал еще что-то - предлагаю выкладывать как-то обозначая разницу


но еще раз напомню - этот проект по компоновке не совсем ясен. Он с графическим дизайном на top-level, но с одним крупным главным блоком в тексте - ни туда, ни сюда. Лично мне был бы приятным проект, где можно полюбоваться визуально на стоящие в ряд блоки, подключение к чему-то типа магистрали какой-то.
Вложения:

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

ZX Spectrum, регенерация видеобуфера и помехи 9 года 3 нед. назад #3486

  • Vise
  • Vise аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 32
  • Спасибо получено: 4
Запилил AY :)) Все в принципе просто: ищем ym2149 vhdl. Далее формируем сигналы
psg_enable <= (not cpu_iorq_n) and cpu_a_bus(0) and cpu_a_bus(15) and not cpu_a_bus(1);
BDIR <= psg_enable and cpu_rd_n;
BC1 <= psg_enable and cpu_a_bus(14);
AY_D <= cpu_do_bus when (psg_enable = '1') else "00000000";
Подаем их на ym2149. Частоту 1.75 МГц на вход clk. Остальные сигналы на постоянные уровни, как на спекки. А выход подаем на местный сигма/дельта цап (2 штуки). Сидим слушаем крутецкую музыку. В принципе еще надо приделать чтение, ну и потестировать все это.
Спасибо сказали: Chaosorg

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

ZX Spectrum, регенерация видеобуфера и помехи 9 года 3 нед. назад #3487

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

Vise пишет: Запилил AY :)) ... В принципе еще надо приделать чтение, ну и потестировать все это.


а для чего там было чтение? - я не помню :(

и можно ссылки на справочную информацию или на использованные проекты про AY (исходники) ?

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

ZX Spectrum, регенерация видеобуфера и помехи 9 года 3 нед. назад #3488

  • Vise
  • Vise аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 32
  • Спасибо получено: 4
На сколько мне помнится чтение нужно было чтоб всякие эквалайзеры прыгающие в некоторых демах работали. Хотя могу и гнать :) 20 лет прошло. Я сейчас использую AY от i love speccy github.com/ILoveSpeccy/Aeon-Lite Я подключил так:

signal ay_csel : std_logic;
--AY-8912
ay_csel <= '0' when cpu_a_bus(15) = '1' and cpu_a_bus(13) = '1' and cpu_a_bus(1) = '0' and cpu_m1_n = '1' and cpu_iorq_n = '0' else '1';
AY_CS <= ay_csel;
AY_RESET <= nRST and res_n;
AY_BDIR <= not cpu_wr_n;
AY_BC <= cpu_a_bus(14);
AY_D <= cpu_do_bus when (ay_csel = '0' and port_fe_sel = '0') else "00000000";

Сейчас потестирую :))

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

ZX Spectrum, регенерация видеобуфера и помехи 9 года 3 нед. назад #3489

Vise пишет: Я сейчас использую AY от i love speccy

Ресурс единственный и неповторимый же. zx-pk.ru
zx-pk.ru/showthread.php?p=760366#post760366
Схемы, порты, проекты, и ILoveSpeccy - все там же.
Проекты есть и без АРМ-ядра, хотя и из того, что с АРМ - вполне можно вытащить формирование звука. Там в АРМ только как раз выбор ABC и ACB, если интересно :)
Всегда надо стараться улучшать чужие велосипеды, чем лепить собственные. Не? pourquoi pas?

Vise пишет: Какой смысл улучшать спектрум?

нее, не сам спектрум, а реализацию)
Кто что пилит) я сейчас вникаю в К580ВИ53 и К580ВГ75. Тоже увлекательно. Под пивко)

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

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

ZX Spectrum, регенерация видеобуфера и помехи 9 года 3 нед. назад #3490

  • Vise
  • Vise аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 32
  • Спасибо получено: 4
Не. Какой смысл улучшать спектрум? Это все так, понастальгировать. Прицепить АУ, позагружать с "касетты" демки под коньячок :) У меня уже в 1997 была амига 500 а в 1999 пентиум. Ну про сейчас я вообще молчу. Так что данный проект джаст фор фан, ну и немного скилл подкачать. Дак чот я отвлекся. Надо 128 К запилить :)))))

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

ZX Spectrum, регенерация видеобуфера и помехи 9 года 3 нед. назад #3491

  • Vise
  • Vise аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 32
  • Спасибо получено: 4
Нашел пример с чтением регистров AY называется Old House zxdemo.org/productions/13513/ Если с AY нельзя читать, то в верхнем левом углу 3 рожици просто черные, а если читать можно то они мигать всяко разноцветно будут. Щас попробую чтение запилить.

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

ZX Spectrum, регенерация видеобуфера и помехи 9 года 3 нед. назад #3492

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

azesmbog пишет:

Vise пишет: Я сейчас использую AY от i love speccy

Ресурс единственный и неповторимый же. zx-pk.ru
zx-pk.ru/showthread.php?p=760366#post760366
Схемы, порты, проекты, и ILoveSpeccy - все там же.
Проекты есть и без АРМ-ядра, хотя и из того, что с АРМ - вполне можно вытащить формирование звука. Там в АРМ только как раз выбор ABC и ACB, если интересно :)
Всегда надо стараться улучшать чужие велосипеды, чем лепить собственные. Не? pourquoi pas?

Vise пишет: Какой смысл улучшать спектрум?

нее, не сам спектрум, а реализацию)
Кто что пилит) я сейчас вникаю в К580ВИ53 и К580ВГ75. Тоже увлекательно. Под пивко)


Да, хороший ресурс - я там только что прорекламировал встречно эту тему и попросил навести на проект без отдельного ARM-совместимого микроконтроллера для работы USB host-ом и FAT32. Может что подскажут. Наверняка есть что-то под avr ядро, что поместится рядом с speccy на марсоходовской ПЛИС.

Про улучшать - видеосигнал имеет смысл ухудшать :) Хорошие программные эмуляторы имеют соответствующие post process фильтры. Простейшие из них делают небольшое замыливание и полосатость (blur и scanline), а лучшие представители умеют триады люминофора и маску кинескопа изображать. Для atari 800 еще делают искажения цветов, вносимые PAL или NTSC кодерами. Это надо, чтобы выглядело так как видели авторы игр тех времен. Они учитывали эти все артефакты изображения. Кое где полупрозрачность и дым изображали точками, расположенными в шахматном порядке.

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

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

ZX Spectrum, регенерация видеобуфера и помехи 9 года 3 нед. назад #3493

  • Vise
  • Vise аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 32
  • Спасибо получено: 4
А чего они делали? Чот я таких не помню... ВГ75 это вроде вообще видео контроллер от то-ли РК-86 то-ли БК... Ну вот и я про то-же, так ради развлечения под пивко спектрумчик и забегает :))) Добавил чтение с AY:

AY_D_IN : in std_logic_vector(7 downto 0);

cpu_di_bus <= rom_do when (rom_sel = '1' and cpu_mreq_n = '0') else
ram_rd_data (7 downto 0) when (rom_sel = '0' and cpu_mreq_n = '0') else
"1" & TAPE_IN & "1" & kb_do_bus when (port_fe_sel = '1') else
AY_D_IN when (ay_csel='0') else "11111111";
Морды в старом доме радостно мигают разными цветами :)))))
Спасибо сказали: Chaosorg

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

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

ZX Spectrum, регенерация видеобуфера и помехи 9 года 3 нед. назад #3494

  • Chaosorg
  • Chaosorg аватар Автор темы
  • Не в сети
  • Завсегдатай
  • Завсегдатай
  • Сообщений: 312
  • Спасибо получено: 18
128К с его ROMами поместится? Если да и все эти нововведения сделаны в проект с не меньшим, чем у меня количеством добавок и исправлений (beeper, вход/выход магнитофона, цвет бордюра, новый контроллер SDRAM), то просьба выложить архив, ибо я в отъезде и Марсохода 2 под рукой не имею - страшно копипастить Ваши участки кода вслепую и не попробовав на железе выкладывать. Кстати, как сделали вход от магнитофона - как у меня (т.е. через АЦП) или прямо в ПЛИС и если второй вариант, то грузятся ли игры в turbo-режиме?

Дальше я бы попробовал все-таки переместить видеопамять в SDRAM. Может с новым контроллером оно заработало бы изначально у автора (т е у mindango). Еще есть идея снизить требования к скорости памяти формируя обычный TV 50Гц сигнал (соответственно, с правильно работающими бордюрными эффектами) и формируя doublescan VGA режим в быстрой памяти ПЛИС. Тогда при 50Гц режиме (но с более дотошно соблюдаемыми, чем сейчас таймингами) будет достаточно памяти под всего две строки изображения, а больший ее объем под целый кадр понадобится только при 50Гц -> 60Гц преобразовании.

Aeon Lite посмотрел - жаль, что вторым чипом у него PIC - не хочется распыляться между многими архитектурами. Надо посмотреть подо что компилируются используемые ILoveSpeccy libusb.

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

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