Soviet Union ZX Spectrum CommunityПятница, 19.04.2024, 16:34
Вы вошли как Гость | Группа "Гости" | RSS
 [ · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Soviet Union ZX Spectrum Community » ZX-строительство » Железо » video+ (видеокарта)
video+
сегфолтДата: Суббота, 22.08.2009, 02:44 | Сообщение # 1
10h
Группа: Пользователи
Сообщений: 31
Статус: Offline
На суд читателя выдвигается Видео+. Концепция устройства... Находится в разработке. Каждый раз при получении критики.. сведений или идей, которые автор смог осилить, она перерабатывается... номер версии растет и тут, в первом посте, происходит обновление...

Добавляя свои комментарии вы помогаете устранить глупости и внести грамотные поправки..

video+ входит в пакет предложений "ПЛЮС", которые sp-автономщики при их численности и квалификации будут воплощать еще лет 20.. но не суть.. мы спектрумисты народ мускулистый.. предложения из оного связаны. В частности, поддержка video+ в os+ http://sites.google.com/site/zxspectra/filosofia/os_plus

теперь наглядный плакат версии .3

повышение вертикального разрешения на телеках:
переразвертка - http://ru.wikipedia.org/wiki/Overscan
интерлейс http://ru.wikipedia.org/wiki/Интерлейс

Прикрепления: 2359922.jpg (78.5 Kb) · 6841350.jpg (77.4 Kb)


Успехов!

Сообщение отредактировал сегфолт - Суббота, 22.08.2009, 08:37
 
Black_CatДата: Суббота, 22.08.2009, 06:21 | Сообщение # 2
Координатор
Группа: Координаторы
Сообщений: 715
Статус: Offline
По топику: концепция аппаратная, т.к. касается не разработки концептуальных принципов, а разработки способа реализации конкретной концепции, поэтому перемещена в Железо.

По концепции: концепция видеокарта->конвертор->VGA избыточна и будет фактически в два раза затратней концепции идеокарта->VGA. Конвертор ZXKit1 VGA & PAL имеет узконапавленное назначение - подключение старых компов, и не рассчитан на разрешение более 256х192.

По управлению: всё управление такой картой полностью описано в: 1.4 TetraVideo port #EFD7(%1110xx1xxx0x0111).

По видео ОЗУ: при базовом экране 256х192, для реализации всех возможных видеорежимов необходимо 256k, при базовом экране 384х256 - 512k. Подразумевается что ОЗУ достаточно быстродействующее для обеспечения VGA режимов без необходимости буферизации. Адресные области расположения страниц видео ОЗУ в адресном пространстве компьютера отвечают формуле A16'=1.


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
сегфолтДата: Суббота, 22.08.2009, 08:37 | Сообщение # 3
10h
Группа: Пользователи
Сообщений: 31
Статус: Offline
железо так железо..
насчет установки vga на плате вынужден согласится..

по управлению.. логика 4видеопорта позволяет выбрать разрешение 192х256, 192х512, 384х256, 384х512... о.к. В терминах видео+ это все варианты стыковки простых sp-экранов в один расширенный h-/v-/hv- экран

Code
---------
|     |     |
---------

------
|      |
------
|      |
------

---------
|    |     |
---------
|    |     |
-----  ----

но про регулировку глубины цвета (читай число простых или расширенных экранов в "цветовой стопке") найти ничего не смог..

по этому предлагаю использовать хак, а именно контроль выполнения Z80 и перехват ситуации записи по определенным адресам гарантировано неиспользуемой на запись области, например ПЗУ. Когда такая ситуация перехватывается, с шины данных Z80 снимается число, интерпретируемое как количество базовых экранов в цветовой стопке.. читай, число бит-на-пиксель. Кстати. Поскольку тетравидеопорт требует переделок на старых машинах, такой же принцип (перехват определенных инструкций z80) можно использовать для всего управления видеокартой..

по страницам ОЗУ

Добавлено (22.08.2009, 08:37)
---------------------------------------------
вопрос из серии возможно ли в принципе?

за 1/50 секунды отобрать у процессора все шины, прочесть и суммировать стыковкой/наложением все sp-экраны (из активных в текущем режиме страниц ram) и отправить результат в буфер для последующего вывода через scart и vga.. с учетом необходимости удвоения числа строк в v, hv-стыковках при выводе на ТВ

Прикрепления: 9953939.png (16.8 Kb)


Успехов!

Сообщение отредактировал сегфолт - Суббота, 22.08.2009, 08:35
 
Black_CatДата: Суббота, 22.08.2009, 10:01 | Сообщение # 4
Координатор
Группа: Координаторы
Сообщений: 715
Статус: Offline
Quote (сегфолт)
про регулировку глубины цвета (читай число простых или расширенных экранов в "цветовой стопке") найти ничего не смог..

конфигурация страниц и логика видеоформирования определяется видеорежимами.

Quote (сегфолт)
за 1/50 секунды отобрать у процессора все шины, прочесть и суммировать стыковкой/наложением все sp-экраны (из активных в текущем режиме страниц ram) и отправить результат в буфер для последующего вывода через scart и vga.. с учетом необходимости удвоения числа строк в v, hv-стыковках при выводе на ТВ

зачем что-то куда-то передавать? у тебя и так всё уже находится там где нужно - в ОЗУ видеокарты

Quote (сегфолт)
Кстати. Поскольку тетравидеопорт требует переделок на старых машинах

о каких машинах речь? #EFF7 применялся только на Pentagon-1024SL v.2.2 и там вопрос решается перепрошивкой ПЛИС

Quote (сегфолт)
гарантировано неиспользуемой на запись области, например ПЗУ

окно CPU0 используется и на запись

Quote (сегфолт)
интерпретируемое как количество базовых экранов в цветовой стопке.. читай, число бит-на-пиксель.

зачем нужна такая избыточность? Есть спецификации на видеорежимы, где указано с какими страницами что и как делать, переключаются только сами видеорежимы. ..всё детерминировано и красиво..

Quote (сегфолт)
В терминах видео+

ты с порождением терминологических сущностей не погорячился? Зачем нужны какие-то "стыки", когда спецификация на видеорежим и разрешение даёт исчерпывающую информацию обо всём?


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
сегфолтДата: Суббота, 22.08.2009, 17:08 | Сообщение # 5
10h
Группа: Пользователи
Сообщений: 31
Статус: Offline
Quote (Black_Cat)
конфигурация страниц и логика видеоформирования определяется видеорежимами.

Quote (Black_Cat)
зачем нужна такая избыточность? Есть спецификации на видеорежимы, где указано с какими страницами что и как делать, переключаются только сами видеорежимы. ..всё детерминировано и красиво..

Quote (Black_Cat)
ты с порождением терминологических сущностей не погорячился? Зачем нужны какие-то "стыки", когда спецификация на видеорежим и разрешение даёт исчерпывающую информацию обо всём?

не подумай ничего плохого, просто я юзер, а не инженер-электронщик и мне удобно оперировать другими абстракциями, тем более, что они отражают суть дела. Но в конечном счете комбинации стыков-наложений перечисляемы, и нет никаких проблем назвать это видеорежимами. Только я хотел еще раз сказать, что во всем множестве таких видеорежимов а) только 4 разрешения 192х256,192х512,384х256,384х512 б) видеопамять адресуется по-синклеровски, по этим-же адресам, только в отличие от sp48к/sp128 где только один видеобуфер активен, video+ в зависимости от видеорежима активны от 1 (для 1 бит точка при 192х256) до 36 буферов (для 9 бит на точку при 384х512)

Quote (Black_Cat)
о каких машинах речь? #EFF7 применялся только на Pentagon-1024SL v.2.2 и там вопрос решается перепрошивкой ПЛИС

http://zx.clan.su/forum/7-57-1 , про 1.1 "Tetraport" #Exx7.
Quote (Black_Cat)

Естественным недостатком такой дешифрации является необходимость внесения изменений в схемотехнику старых компьютеров для корректной работы нового програмного обеспечения, использующего тетрапорт.

Добавлено (22.08.2009, 17:08)
---------------------------------------------

Quote (сегфолт)
Quote (сегфолт)
за 1/50 секунды отобрать у процессора все шины, прочесть и суммировать стыковкой/наложением все sp-экраны (из активных в текущем режиме страниц ram) и отправить результат в буфер для последующего вывода через scart и vga.. с учетом необходимости удвоения числа строк в v, hv-стыковках при выводе на ТВ

зачем что-то куда-то передавать? у тебя и так всё уже находится там где нужно - в ОЗУ видеокарты


хорошо даже вроде бы удобней. Так можно подключить видеокарту хоть к Spectrum48k и пользоваться режимом с максимальным разрешением и глубиной цвета..

вопрос в том, как задействовать нужный активный видеобуфер... Я предлагаю так..


  • программист для формирования изображения как и раньше, тупо работает с буфером #4000..#5800
  • программист контролирует назначение этого буфера:

    • из цветоформирующей стопки выбирается базовый экран (B - base, bitplan)
    • выбирается доля на базовом экране (P - pie, part)


  • видеокарта во время записи в этот буфер, заставляет идти данные в свою внутреннюю видеопамять на участок заданный (B) и (P)
Прикрепления: 8590961.png (11.6 Kb)


Успехов!

Сообщение отредактировал сегфолт - Суббота, 22.08.2009, 18:11
 
Black_CatДата: Воскресенье, 23.08.2009, 05:44 | Сообщение # 6
Координатор
Группа: Координаторы
Сообщений: 715
Статус: Offline
Quote (сегфолт)
Но в конечном счете комбинации стыков-наложений перечисляемы, и нет никаких проблем назвать это видеорежимами.

smile не задумывался, сколько комбинаций можно получить из 64 экранов (помещающихся в 512k ОЗУ) при тасовании их в стопочке и раскладывании на несколько стопочек? smile Боюсь, ни о какой возможности свободной комбинаторики при включении экранов речь идти не может. В описании тетрапорта приведено 8 графических и 8 текстовых видеорежимов, которые могут модифицироваться с помощью четырёх режимов-модификаторов, что в сумме даёт 256 комбинаций. Кроме того столько же комбинаций возможно ещё для режимов параскрин+паратекст. 512 комбинаций видеорежимов - это больше чем достаточно.

Quote (сегфолт)
программист контролирует назначение этого буфера: из цветоформирующей стопки выбирается базовый экран (B - base, bitplan) выбирается доля на базовом экране (P - pie, part)

ничего этого не надо, прописываешь порт #EFD7 и всё. Этот порт для того и сделан, чтоб одним обращением выставить сразу всё управление видеорежимами.


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
сегфолтДата: Воскресенье, 23.08.2009, 06:18 | Сообщение # 7
10h
Группа: Пользователи
Сообщений: 31
Статус: Offline
Quote (Black_Cat)
программист контролирует назначение этого буфера: из цветоформирующей стопки выбирается базовый экран (B - base, bitplan) выбирается доля на базовом экране (P - pie, part,

ничего этого не надо, прописываешь порт #EFD7 и всё.


не могу осилить ход твоей мысли.. прописал я в порт значение и установил режим 512х384, моно, так?

Добавлено (23.08.2009, 06:15)
---------------------------------------------
пишу -

Code
paper 0 : cls

получаю на экране

Code

______________
|||||||||            |
|||||||||            |
|                         |
|_____________|

верхняя левая четверть залита черным

Добавлено (23.08.2009, 06:18)
---------------------------------------------
как используя порт #EFD7
мне, с-бейсиком залить остальные четверти?


Успехов!

Сообщение отредактировал сегфолт - Воскресенье, 23.08.2009, 06:19
 
Black_CatДата: Воскресенье, 23.08.2009, 06:37 | Сообщение # 8
Координатор
Группа: Координаторы
Сообщений: 715
Статус: Offline
Quote (сегфолт)
пишу - Codepaper 0 : cls получаю на экране .. верхняя левая четверть залита черным

ты не знал, что БЕЙСИК только для стандартного экрана? smile Переписать БЕЙСИК под все видеорежимы пожалуй врядли кто возьмётся.. да и смысла особого нет


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
сегфолтДата: Воскресенье, 23.08.2009, 06:41 | Сообщение # 9
10h
Группа: Пользователи
Сообщений: 31
Статус: Offline
Quote (Black_Cat)
не задумывался, сколько комбинаций можно получить из 64 экранов (помещающихся в 512k ОЗУ) при тасовании их в стопочке и раскладывании на несколько стопочек?

отвечу на другой вопрос, сколько всего комбинаций возможно по моей схеме со стопочками выше..
4 типа стыковки, на каждый до 8 параллельных ему экранов.. (9 в стопке макс)

4х9=36. тридцать шесть комбинаций, можно назвать это 36 видеорежимами.

Но в "настоящем" видеорежиме меняется начало, длина видеобуфера и метод адресации. А в данном случае начало/длина видеобуфера, и метод адресации сохраняются, а именно остаются синклеровскими.


Успехов!
 
Black_CatДата: Воскресенье, 23.08.2009, 06:47 | Сообщение # 10
Координатор
Группа: Координаторы
Сообщений: 715
Статус: Offline
Quote (сегфолт)
на каждый до 8 параллельных ему экранов.. (9 в стопке макс)

вот только ты не учитываешь что эти 9 могут быть любыми из 64, да к тому же в произвольной последовательности..


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
сегфолтДата: Воскресенье, 23.08.2009, 06:58 | Сообщение # 11
10h
Группа: Пользователи
Сообщений: 31
Статус: Offline
Quote (Black_Cat)
ты не знал, что БЕЙСИК только для стандартного экрана? Переписать БЕЙСИК под все видеорежимы пожалуй врядли кто возьмётся.. да и смысла особого нет

смысл есть.. но не в том слысл.. представляю диаграмму № хз какой

Добавлено (23.08.2009, 06:58)
---------------------------------------------

Quote (Black_Cat)
вот только ты не учитываешь что эти 9 могут быть любыми из 64, да к тому же в произвольной последовательности..

ну так это уже забота логики видеокарты.. так же?
Прикрепления: 7882973.png (8.7 Kb)


Успехов!
 
Black_CatДата: Воскресенье, 23.08.2009, 06:59 | Сообщение # 12
Координатор
Группа: Координаторы
Сообщений: 715
Статус: Offline
имхо, работу с расширенными экранами проще интегрировать в загружаемый язык, чем в ПЗУ.. Это будет правильно, т.к. ПЗУшная версия слишком привязывает к железу, в т.ч. и возможными ошибками в ней. Хватит уже и тех ошибок которые есть в SOS.

"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
сегфолтДата: Воскресенье, 23.08.2009, 07:04 | Сообщение # 13
10h
Группа: Пользователи
Сообщений: 31
Статус: Offline
не потребуется изменения в ПЗУ..

ты о псевдоинструкциях "врубаем экран" "устанавливаем режим" ?

ну так это будет зависеть от выбранного способа управления видеокартой. Может через порт оператор out. Может типа как TRDOS с её суффиксом randomize usr:rem: Изменение не требуется. Конечно это не так красиво, как если бы можно было написать draw 511,383, но все равно уже позволяет играться с видео через встроенный c-бейсик, а ведь IMHO включи-тупо-играй-набирая-проги это ведь один из основных плюсов Спектрум.. для меня


Успехов!

Сообщение отредактировал сегфолт - Воскресенье, 23.08.2009, 07:10
 
Black_CatДата: Воскресенье, 23.08.2009, 07:14 | Сообщение # 14
Координатор
Группа: Координаторы
Сообщений: 715
Статус: Offline
Quote (сегфолт)
ты о псевдоинструкциях "врубаем экран" "устанавливаем режим" ? не потребуется изменения в ПЗУ..

полюбому, синтаксис управления видеорежимами в неком языке к архитектуре видеокарты отношения не имеет.. пусть этим занимаются программисты, это их проблемы.

Quote (сегфолт)
IMHO включи-тупо-играй-набирая-проги это ведь один из основных плюсов Спектрум.. для меня
кто мешает "тупо" загрузить язык, содержащий поддержку расширенных видеорежимов? smile Всё равно при рестарте попадаешь в стандартный экран, где прекрасно работает стандартный БЕЙСИК, а в расширенный видеорежим по рестарту не попасть по любому..


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
сегфолтДата: Воскресенье, 23.08.2009, 07:35 | Сообщение # 15
10h
Группа: Пользователи
Сообщений: 31
Статус: Offline
Quote (Black_Cat)
кто мешает "тупо" загрузить язык, содержащий поддержку расширенных видеорежимов?

отвечу на сей риторический вопрос серьезно.. только ты по отдельности не цитируй. smile
нужен "вау.. да это действительно расширяет Спектрум, а не добавляет к нему очередной выкидыш", а иначе будет лень..
а когда "вау" схвачено и начинаются активные действия, то только потом уже начинаешь загружать некий язык драйвер библиотеку или ОСь.

аналогия.. ассемблер конечно лучше чем с-бейсик, так почему К.Синклер не вшил редактор монитор отладчик АСМ в ПЗУ? А с-бейсик кому надо загружайте с ленты..

Добавлено (23.08.2009, 07:35)
---------------------------------------------
не, ну правда, кто мешает купить книгу по ассемблеру Z80?


Успехов!
 
Black_CatДата: Воскресенье, 23.08.2009, 07:43 | Сообщение # 16
Координатор
Группа: Координаторы
Сообщений: 715
Статус: Offline
имхо, для "вау" достаточно стандартного видеорежима и БЕЙСИКА.. для того, кто этот этап осилит, загрузить с флешки с помощью сервисного ПЗУ некий язык высокого уровня не будет трудно, как и любую другую программу.. Теоретически, можно и в автозагрузку прописать..

"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
сегфолтДата: Воскресенье, 23.08.2009, 07:58 | Сообщение # 17
10h
Группа: Пользователи
Сообщений: 31
Статус: Offline
пожалуй ты прав... конечно стандартный стандартно организованный видеобуфер для управления расширенным видео это интересно,
но все равно с-бейсик с его скоростями не позволит эффективно работать с такой графикой.

да и сам интерфейс с-бейсика не вклчюится гармонично в расширенный видеорежим. Для этого все равно потребуется его переделка.

стало быть не имеет смысла зацикливаться на моем способе адресации..

Добавлено (23.08.2009, 07:51)
---------------------------------------------
хотя..
в принципе возможно разместить на видеокарте ПЗУ, которые будет page-ins в окно CPU0 во время работы с-бейсик кода.. Мне кажется так и надо, но эта задача гораздо сложнее

Добавлено (23.08.2009, 07:58)
---------------------------------------------
надо описать логику работы устройства..
включаем компьютер.. все работает как и раньше, но сквозь видео+ (через нее стыкуется со SCART и VGA)
включаем карту каким-то образом в один из расширенных режимов. В любой. Весь с-бейсик код заменяется на тот, что сидит в ПЗУ на карте.

как заменяется? отслживание обращения Z80 по определенным адресам и выполнения им определенных инструкций, после чего rom page in / rom page out


Успехов!
 
Black_CatДата: Воскресенье, 23.08.2009, 07:59 | Сообщение # 18
Координатор
Группа: Координаторы
Сообщений: 715
Статус: Offline
В концепции объединительного стандарта “Ximera” есть аппаратная возможность размещать в ОЗУ виртуальное ПЗУ ёмкостью до 512k. Там можно подгрузить что-то типа ПрофПЗУ с подпрограммами работы с расширенными видеорежимами.. и вообще что угодно..

"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
сегфолтДата: Воскресенье, 23.08.2009, 08:05 | Сообщение # 19
10h
Группа: Пользователи
Сообщений: 31
Статус: Offline
в версиях карты (прошивки cpld) до 2.0 C-БЕЙСИК не замещается полностью на новый,
только подмена операторов draw, plot, circle, ink, paper, print, input$ и тп, поведение каналов и потоков

Добавлено (23.08.2009, 08:05)
---------------------------------------------

Quote (Black_Cat)
В концепции объединительного стандарта “Ximera” есть аппаратная возможность размещать в ОЗУ виртуальное ПЗУ ёмкостью до 512k. Там можно подгрузить что-то типа ПрофПЗУ с подпрограммами работы с расширенными видеорежимами.. и вообще что угодно..

о, да. Я это и имею ввиду.
кстати Black_Cat, не подумай что я сам это все изобретаю ако Кулибин. Все это подсматриваю у Спектранет и TR-DOS. Имею ввиду идеи подмены страниц, перехват определенных адресов и инструкций процессора. Стопка экранов, так это вообще известное амижное изобретение. Просто хочу чтобы видео+ как можно гармоничнее влилось в традиционное zx-русло


Успехов!

Сообщение отредактировал сегфолт - Воскресенье, 23.08.2009, 08:01
 
Black_CatДата: Воскресенье, 23.08.2009, 08:27 | Сообщение # 20
Координатор
Группа: Координаторы
Сообщений: 715
Статус: Offline
Quote (сегфолт)
Все это подсматриваю у Спектранет и TR-DOS

увлечение программными ловушками в Спектранете до добра не доведёт и в конце-концов вылезет где-то боком.. использование портов - самый правильный путь


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
Soviet Union ZX Spectrum Community » ZX-строительство » Железо » video+ (видеокарта)
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск:

Copyright MyCorp © 2006Сайт управляется системой uCoz