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/Интерлейс
Успехов!
Сообщение отредактировал сегфолт - Суббота, 22.08.2009, 08:37 |
|
| |
Black_Cat | Дата: Суббота, 22.08.2009, 06:21 | Сообщение # 2 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: 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-стыковках при выводе на ТВ
Успехов!
Сообщение отредактировал сегфолт - Суббота, 22.08.2009, 08:35 |
|
| |
Black_Cat | Дата: Суббота, 22.08.2009, 10:01 | Сообщение # 4 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: 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)
Успехов!
Сообщение отредактировал сегфолт - Суббота, 22.08.2009, 18:11 |
|
| |
Black_Cat | Дата: Воскресенье, 23.08.2009, 05:44 | Сообщение # 6 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: Offline
| Quote (сегфолт) Но в конечном счете комбинации стыков-наложений перечисляемы, и нет никаких проблем назвать это видеорежимами. не задумывался, сколько комбинаций можно получить из 64 экранов (помещающихся в 512k ОЗУ) при тасовании их в стопочке и раскладывании на несколько стопочек? Боюсь, ни о какой возможности свободной комбинаторики при включении экранов речь идти не может. В описании тетрапорта приведено 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 ______________ ||||||||| | ||||||||| | | | |_____________| верхняя левая четверть залита черным Добавлено (23.08.2009, 06:18) --------------------------------------------- как используя порт #EFD7 мне, с-бейсиком залить остальные четверти?
Успехов!
Сообщение отредактировал сегфолт - Воскресенье, 23.08.2009, 06:19 |
|
| |
Black_Cat | Дата: Воскресенье, 23.08.2009, 06:37 | Сообщение # 8 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: Offline
| Quote (сегфолт) пишу - Codepaper 0 : cls получаю на экране .. верхняя левая четверть залита черным ты не знал, что БЕЙСИК только для стандартного экрана? Переписать БЕЙСИК под все видеорежимы пожалуй врядли кто возьмётся.. да и смысла особого нет
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "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 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: 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, да к тому же в произвольной последовательности.. ну так это уже забота логики видеокарты.. так же?
Успехов!
|
|
| |
Black_Cat | Дата: Воскресенье, 23.08.2009, 06:59 | Сообщение # 12 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: 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 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: Offline
| Quote (сегфолт) ты о псевдоинструкциях "врубаем экран" "устанавливаем режим" ? не потребуется изменения в ПЗУ.. полюбому, синтаксис управления видеорежимами в неком языке к архитектуре видеокарты отношения не имеет.. пусть этим занимаются программисты, это их проблемы. Quote (сегфолт) IMHO включи-тупо-играй-набирая-проги это ведь один из основных плюсов Спектрум.. для меня кто мешает "тупо" загрузить язык, содержащий поддержку расширенных видеорежимов? Всё равно при рестарте попадаешь в стандартный экран, где прекрасно работает стандартный БЕЙСИК, а в расширенный видеорежим по рестарту не попасть по любому..
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
сегфолт | Дата: Воскресенье, 23.08.2009, 07:35 | Сообщение # 15 |
10h
Группа: Пользователи
Сообщений: 31
Статус: Offline
| Quote (Black_Cat) кто мешает "тупо" загрузить язык, содержащий поддержку расширенных видеорежимов? отвечу на сей риторический вопрос серьезно.. только ты по отдельности не цитируй. нужен "вау.. да это действительно расширяет Спектрум, а не добавляет к нему очередной выкидыш", а иначе будет лень.. а когда "вау" схвачено и начинаются активные действия, то только потом уже начинаешь загружать некий язык драйвер библиотеку или ОСь. аналогия.. ассемблер конечно лучше чем с-бейсик, так почему К.Синклер не вшил редактор монитор отладчик АСМ в ПЗУ? А с-бейсик кому надо загружайте с ленты.. Добавлено (23.08.2009, 07:35) --------------------------------------------- не, ну правда, кто мешает купить книгу по ассемблеру Z80?
Успехов!
|
|
| |
Black_Cat | Дата: Воскресенье, 23.08.2009, 07:43 | Сообщение # 16 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: 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 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: 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 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: Offline
| Quote (сегфолт) Все это подсматриваю у Спектранет и TR-DOS увлечение программными ловушками в Спектранете до добра не доведёт и в конце-концов вылезет где-то боком.. использование портов - самый правильный путь
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
|