С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Думаю, что палитры в 12 бит (4096 цветов), должно вполне хватить.
(Так сделано в v6z80p, схему видео выхода можно посмотреть)
V6Z80P - Back for Good
Скрытый текст
Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
ZX Evolution Rev B.
Color 48 + Beta Disk Interface +FDD+YM2149F
Орель-08БК
Pentagon-48 (недоссобранный кем-то)
Pentagon-128 (полуубитый)
Кворум-128 (в ремонте)
Магик-05 (в ремонте)
Robotron 1715
Корвет ПК8020 и ПК8010
Amstrad CPC 464
Amstrad CPC 6128[свернуть]
Я тоже считаю, что лучше ограничиться выходом SCART, ну может VGA. А YPbPr легко сделать ?
Мне в концепциях предложили увеличить количество слоев экрана и сделать аппаратные спрайты и скроллинг всего экрана.
Это навело меня на более эффективный и удобный способ построения экрана. Можно сделать, наоборот, всего один слой, но два экрана как ZX128. На одном экране будем строить изображение игровой ситуации. А второй экран в это время отображает текущее состояние игры. По прерыванию экраны меняются местами с помощью соответствующей команды.
Для реализации графики всего на одном слое достаточно реализовать аппаратное копирование спрайтов с учетом прозрачного цвета. Если цвет точки спрайта при копировании не прозрачный - записать на экран этот цвет. Если же данная точка в спрайте прозрачная - ничего не делать и переходить к копированию следующей.
Тогда мы просто путем копирования создаем фон, на него поочередно копируем все остальные спрайты, начиная с дальнего. Таким образом передние объекты будут правильно загораживать дальних. И это призойдет само сабой без манипуляции слоями.
Это позволит создавать даже игры типа DOOM2 с объектами на разных планах используя всего один слой и не задумываясь, как нам накладывать загораживающие друг друга объекты.
Последний раз редактировалось zx-kit; 16.06.2013 в 10:55.
"L-256"
V6Z80P - Back for Good
А почему?
То есть, машины с 3,5 Мгц и 7 Мгц идут лесом?
Так может сделать даже загрузчик с ленты и диска. Например, если активен экран 1 128-х машин, а 5-я страница используется под данные (или переменные программы). Еще так может сделать заглючившая отлаживаемая программа. Или незаглючившая, если я хочу посмотреть счет в некоторых переменных визуально, и не хочу писать вывод цифер. Просто вообще переключение видеорежимов при записи ключа в память (тем более, такого простого) - не айс. Порты надежнее.
Хочется еще уметь делать гарантированный детект девайса и возвращать его в режим 6912. Зачем нужен детект - чтобы писать отциональный софт под него. Зачем нужен возврат в 6912 - чтобы можно было не всю игру переделать под устройство, а оставить, например, классическое 6912-меню или межуровневую заставку.
Имелась ввиду частота кварца в компьютере, которая выводится на шину ZX-BUS для тактирования видеокарты, исправил - частота кварца в клоне должна быть ровно 14 МГц. Нам ведь надо на телевизор сигнал кратно этой частоте формировать. А если будет 16 МГц, как у некоторых клонов, то синхронизации не будет.
Лучше порты не занимать - их итак свободных не осталось. Почти нет программ, которые запишут подряд в одну ячейку по адресу атрибутов три нужных байта. Это бессмысленно, так как человек не успеет заметить такое быстрое изменение цвета. Да и сканер при выводе на TV сможет прочитать только один из трех в заданный момент.Так может сделать даже загрузчик с ленты и диска. Например, если активен экран 1 128-х машин, а 5-я страница используется под данные (или переменные программы). Еще так может сделать заглючившая отлаживаемая программа. Или незаглючившая, если я хочу посмотреть счет в некоторых переменных визуально, и не хочу писать вывод цифер. Просто вообще переключение видеорежимов при записи ключа в память (тем более, такого простого) - не айс. Порты надежнее.
Возврат к стандартному экрану можно сделать при записи другой последовательности байтов в эту же ячейку. Чтение из видеокарты не планировалось, чтобы не конфликтовать с памятью и портами компьютера. В крайнем случае через порт #FF, так как он будет формироваться видеокартой только для стандартного экрана ZX SPECTRUM.Хочется еще уметь делать гарантированный детект девайса и возвращать его в режим 6912. Зачем нужен детект - чтобы писать отциональный софт под него. Зачем нужен возврат в 6912 - чтобы можно было не всю игру переделать под устройство, а оставить, например, классическое 6912-меню или межуровневую заставку.
Последний раз редактировалось zx-kit; 15.06.2013 в 22:54.
"L-256"
Не знаю... Как-то не по уму оно, через память. Спонтанная мысль: может, через последоватетельность хитрых out'ов в #7ffd при включенном экране-1 (+ память)? Если через ZX-BUS можно "заблокировать" блокировку #7ffd, было бы вообше рульно, например, карта переходит в нужный видеорежим если при включенном экране-1 блокируется порт #7ffd.![]()
Кстати, видеокарта должна стать единственным видеовыходом компа же, так? Значит, второй экран 128-го будет тоже на ней?
V6Z80P - Back for Good
извините что влез в вашу беседу. но почему бы разработчику не посмотреть то уже было сделано? а именно описание VIC-II на C64? там есть и прерывание по определенной линии растра и 8 аппаратных спрайтов и тд. всегда можно взять готовое и улучшить
C64C+1541II
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)