PDA

Просмотр полной версии : Линейный видеорежим 320х256



zx_
02.03.2018, 21:57
для пентагона
http://realddp.narod.ru/zx/p1024sl2/320x256/index.htm

как у Ориона

план есть !

1 попросить JV-Soft, адаптировать этот режим в дипе под обычный пентагон

2 попросить орионщиков активных перетащить Оси и ситемный софт под пентагон

как план ?

JV-Soft
02.03.2018, 22:10
попросить JV-Soft, адаптировать этот режим в дипе под обычный пентагон
Сделать железку в общем то можно ,хотя и не очень просто , при 256x192 такой режим легко сделать пентагону , а вот софт точно никто не перетянет , всем лень , единицы остались кто ,что то делает.

Lethargeek
03.03.2018, 01:54
а почему только 320

Totem
03.03.2018, 02:08
АТМ не хватает каждому, Химерные режимы еще воскрешайте, веселье

barsik
03.03.2018, 06:52
Ввести в ZX линейный видеорежим 320х256 . . . как у Ориона
План есть . . . . Как план ?

План неполный, а идея интересная, если её упростить. Интересны любые идеи, что облегчают программирование, дают новые возможности, но главное, делаются при этом просто (например, проводками на плате "Ленинград").

Предложенный режим использует две плоскости экрана и потому реализУем только на Spectrum-128 с двумя банками. Интереснее более простой (и реализуемый проводками) режим с той же самой организацией цвета на знакоместо 8*8 точек, что можно сделать на имеющемся ZX с 48К ОЗУ. Тогда ОЗУ графики имеет размер 10 кб, а ОЗУ цветовых атрибутов - менее 2 кб, что при общем ОЗУ в 64 кб оставляет 48 кб для программ.

В приведённом плане отсутствует пара пунктов. Во-первых, надо опубликовать схему и подробную инструкцию по доработке платы "Ленинград" до такого режима. А во-вторых, надо разработать ROM-BIOS такого режима (он должен грузиться в ОЗУ F000...FFFF из дополнительной второй страницы ПЗУ в 16К). Если кто-то возьмётся за реализацию, могу предложить ROM-BIOS для такой машины.

А перетрансляция DOS-ов, если есть готовые подпрограммы чтения/записи сектора, - это труд на пару минут. Для этого даже не требуется иметь работающий ZX с таким режимом или эмулятор. Кстати, делать моно программы для такого компьютера можно на ОРИОНЕ с Z80.

При переделке платы "Ленинград" придётся сделать лишь следующее:

- ввести в этом режиме перенос экрана на C000
- ввести коммутацию структуры экрана (переключая сигналы от счётчиков на мультиплексорах)
- ввести в этом режиме отключение ПЗУ в области 0...3FFF
- изменить в этом режиме положение КСИ (чтобы отцентровать растр высотой 256 точек)

А ещё желательно увеличить число клавиш ZX-клавиатуры по популярным стандартам. Если сохранить вертикальный размер в 192 точки, то переделка существенно упростится. В итоге получится клон ZX-48К с дополнительным видео режимом.

Кстати, такой игровой компьютер с экраном 320*200 и знакоместным цветом следовало сделать в 1986 году вместо Специалиста и РК86. Пиксель клок 7 МГЦ, такт КР580 1.75 МГЦ. Получился бы отечественный игровой компьютер. Удобный экран отчасти компенсирует разницу скоростей.

И всё-же более выгодно и проще доработками на клоне ZX-48K делается режим двойного разрешения 512*192 в цвете (за счёт установки второй параллельной банки для второй плоскости). Кстати, и монохром 512*192 , когда банка всего одна, а вторая плоскость читается вместо атрибутов цвета, требует более существенных переделок на основной плате, чем вариант с двумя параллельными банками ОЗУ.

Главная трудность во всех подобных начинаниях, это найти энтузиаста фанатика, который бы загорелся этой идеей и довёл бы её до воплощения в железе. А эту идею воплотить в железо гораздо легче, чем навороченный скоростной клон ZX на ПЛИС без клешинга с выводом на VGA, что обсуждается в параллельной теме.


а почему только 320 ?
Потому, что в ZX нельзя изменить клок Z80 без частичной потери совместимости.

А лишь 320 точек влезает в экран при пиксель клоке в 7 МГЦ (вспомните, что в CGA в режиме 320*200 пиксель клок 7.159 МГЦ). В Орионе пиксель клок 10 МГЦ. В Специалисте - 8 МГЦ, но там крайние 3 колонки не влезают в экран на телевизоре.

Но и 320 точек нормально. Т.к текстообработка уже никого не волнует и иметь 80 символов в строке не требуется. При фонте шириной в 6 точек получаем 53 символа в строке, - это приятный размер экрана (буквы крупные, что хорошо для зрения, и в строках на ассемблере умещается комментарий), потому мой текстовый адаптер имел формат 53*21. Увы, ценный текстовый CP/M-редактор SuperText требует, минимум, 64 символов в строке. Режим 320 точек удобно эмулируется на PC в 640-ка точечных VGA-режимах.

Lethargeek
03.03.2018, 16:20
Потому, что в ZX нельзя изменить клок Z80 без частичной потери совместимости.

А лишь 320 точек влезает в экран при пиксель клоке в 7 МГЦ (вспомните, что в CGA в режиме 320*200 пиксель клок 7.159 МГЦ). В Орионе пиксель клок 10 МГЦ. В Специалисте - 8 МГЦ, но там крайние 3 колонки не влезают в экран на телевизоре.
да неужели? вот сколько здесь влезает в строчку?

https://www.youtube.com/watch?v=I3zRaRTzgCI
а здесь?

https://www.youtube.com/watch?v=_Ft9Otk4-_c

а если старый *****телек обрезает видимость по самое немогу, клок z80 совершенно не при делах

Totem
03.03.2018, 21:45
который бы загорелся этой идеей и довёл бы её до воплощения в железе
если мне память не изменяет лет так пять назад, это было ну не смешно.

EvgenRU
04.03.2018, 00:38
Вот непонятно, почему до сих пор не сделают 320х200 с поллитрой на 256 цветов, как в ПЦ? это же всего 4 банки, причем, можно каким-то регистром включать линейный режим на все 64к для видеоадаптера, ну в крайнем случае 320х200 16 цветов с палитрой. Это не так сложно всё реализовать, а эффект налицо, очень неплохое качество изображения можно получить с линейной адресацией и т.д. и т.п.

saymon
04.03.2018, 10:13
Вот непонятно, почему до сих пор не сделают 320х200 с поллитрой на 256 цветов, как в ПЦ?

Если до сих пор не сделали значит не интересно да и никому не нужно.

Lethargeek
04.03.2018, 15:20
непонятно, почему до сих пор не сделают 320х200 с поллитрой на 256 цветов, как в ПЦ? это же всего 4 банки,
...и 256 палитровых регистров

SAM style
04.03.2018, 16:32
Вот нафиг вы опять TSConf изобретаете? Он же есть.

EvgenRU
04.03.2018, 16:41
...и 256 палитровых регистров
А разве её нельзя в памяти хранить или в ПЗУ?


Вот нафиг вы опять TSConf изобретаете? Он же есть.
Ну, так это ж на эве, а если в новодел какой-то добавлять режимы новые, то хотелось бы что-то стандартное чтоб было да и с ПЦ тогда что-то перенести можно будет.

barsik
04.03.2018, 17:15
Главная трудность во всех подобных начинаниях, это найти энтузиаста фанатика, который бы загорелся этой идеей и довёл бы её до воплощения в железеесли мне память не изменяет лет так пять назад, это было ну не смешно
Это значит, что 5 лет назад было полно аппаратчиков любителей, которые с ходу подхватывали разные новые идеи и внедряли их, выпуская платы новоделов.

Может быть и так. Хотя думаю, что разработать железо, по крайней мере на TTL-логике, здесь сможет большинство участников форума, кто имеет паяльник, т.е является радиолюбителем по рэтро технике. Проблема скорее в понимании того, что не получит популярности изделие, лишённое программ. Отчего даже набрать минимальное число заказчиков на изготовление плат (а минимум это 15 штук, что делает цену доступной), не удастся. Обычно кто программирует дико ненавидит возиться с железом и наоборот. Потому имеет смысл выпуск только новоделов 100% совместимых со старыми машинами, в которые можно добавлять мелкие улучшения, нуждающиеся в минимальной программной поддержке.

В данной теме как раз речь о мелком усовершенствовании видеоадаптера платы "Ленинград". Более удобный для текста видеорежим имеет смысл только для системных программ, т.к игры, даже если альтернативный видеорежим удобнее, всё-равно будут писать под базовую машину, т.к это гарантирует максимальную аудиторию. Это уже чётко показал 25-летний опыт отечественных и западных ZX-клонов имеющих прибамбасы. Так что выпрямление экрана фактически бесполезно для игрописателей, а как следствие ничего не даёт потребителям игр. Кстати, кто-нибудь знает почему экран ZX-Spectrum сразу не сделали прямым ?

Разработку игр прямой экран существенно упрощает. Некоторые игры даже хранят в ОЗУ прямой экран, обслуживают в нём логику игры, а на экран ZX только копируют для визуализации, что одновременно избавляет от мерцаний. Но, как указано выше, писать игры на экзотические экраны мало кто захочет.

Какая иная польза от прямого экрана? Ответ очевиден. Если не писать игры, то от выпрямления экрана никакой пользы. А выводу текста кривой экран не особо вредит (лишь чуть тормозит).

А вот от расширения экрана по горизонтали польза есть. Более полезен был бы экран в 512 точек (и кстати он на клонах ZX делается просто), но экран в 320*192, даже без выпрямления экрана, всё-же заметно улучшает работу с текстом, т.к не только даёт больше символов, но и увеличивает экран.

Речь идёт о доработке на имеющейся плате "Ленинград-48К" и вопрос стоит о том, какой именно вариант доработки экрана делается проще и с минимальными вторжениями на основной плате.

Итак, вопреки мнению Lethargeek-а, всякий знает, что при пиксель клоке 7 МГЦ более, чем 320 точек при частоте строк в 15.6 КГЦ в экран телевизора не влезают. В этом легко убедиться, если 52 МКСЕК (время отображаемой части строчного периода) разделить на период частоты 7 МГЦ. Кстати в большинстве кинескопных телевизоров визуализируется даже не 52 МКСЕК строчного периода, что предусматривает TV-стандарт, а лишь 44-46 МКСЕК.

Итак, подумаем как экран 320 точек (или более) сделать с минимальными вторжениями на основной плате "Ленинград". Чтобы изменить формат экрана на 320 точек в имеющейся плате придётся поставить кучу мультиплексоров и сделать кучу разрезов печати, т.е вторжений на плату будет намного больше, чем в варианте 512*192 за счёт параллельной банки.

Но можно оставив видеогенератор ZX без изменений, а придвинув его к правому краю экрана (сдвижкой ССИ на 5 периодов работы сдвигового регистра), расширить экран вправо на 10 экранных байтов за счёт параллельной банки ОЗУ, что даст 10+32=42 экранных байта в строке и экран 336*192.

А чуть подняв клок до 7.5 МГЦ (соответственно увеличив коэф-т деления счётчика в строке с 56 до 60, чтобы сохранить видео стандарт) можно получить экран 352*192. Растр при этом займёт весь экран по горизонтали. А по вертикали останется таким же маленьким. Но пользуясь ручками настройки монитора или телевизора легко растянуть растр по вертикали, чтобы картинка занимала весь экран.

Выигрыш при этом в том, что на основной плате почти ничего переделывать не надо. Суть в том, что выходы РУ5-тых дополнительной банки подключены прямо к выходам РУ5-тых на основной плате и видео-вывод из них происходит через те же самые защёлки цвета и графики. Адресные мультиплекторы для доп.банки ОЗУ тоже используются те же самые, лишь добавляется один КП11, чтобы сместить адрес дополнительной экранной области на область ПЗУ. Доступ к этому дополнительному экранному ОЗУ процессор получает при отключении ПЗУ.

Дополнительных деталей для экрана 352*192 столько же или меньше, что и в варианте 512*192. Но увы, вариант 512*192 имеет фатальный недостаток, - экран при нём увеличивает разрешение вдвое, но остаётся таким же мизерным и на телевизоре с низкой полосой пропускания картинка будет паршивой. Возможно поэтому TIMEX-2068 с экраном 512*192 не понравился пользователям. А вот вариант 352*192 расширяет растр на весь экран и частота пиксель клока остаётся низкой, что позволяет использовать телевизор.

При 352 символах в строке и шрифте шириной в 6 точек в строку влезает 58 символов. Этого достаточно для текстообработки, и в частности для использования хороших CP/M редакторов текста. А при шрифте шириной в 5 точек в строку влезет аж 70 символов. Недостатками при этом является разбиение экранного буфера на 2 участка, расположенных по разным адресам, и в каждом из этих участков экран имеет ту же самую "нелинейную" ZX-адресацию.

Totem
04.03.2018, 18:01
А разве её нельзя в памяти хранить или в ПЗУ?


Ну, так это ж на эве, а если в новодел какой-то добавлять режимы новые, то хотелось бы что-то стандартное чтоб было да и с ПЦ тогда что-то перенести можно будет.

Переноси с любой c 15 бит цветом, пиши стандартно под ZX, никаких "велосипедов", версия для ZX ULAX в 15 бит цвете будет отличаться исключительно графикой, основной код трогать даже не надо. Куда еще проще?
Не хочешь, раскрашивать? уже потратил кучу времени на конверсию графики для ZX, да и не надо- выбери палитру для 2 цветов на спрайт. добавь загрузчик данных и это все практически.

- - - Добавлено - - -


Может быть и так. Хотя думаю, что разработать железо, по крайней мере на TTL-логике, здесь сможет большинство участников форума, кто имеет паяльник,
Остается найти еще столько же, что бы написали пару игр для этого, какой смысл? для компов типа "Иришкина", такой метод лично я одобрямс на 146%
сейчас максимальное разрешение 352x256x16, заметь, кодер вообще ничего не делает в своем исходном коде, чтобы сделать 15 бит на пиксель.

Lethargeek
04.03.2018, 18:20
А разве её нельзя в памяти хранить или в ПЗУ?
а последствия?


Итак, вопреки мнению Lethargeek-а, всякий знает, что при пиксель клоке 7 МГЦ более, чем 320 точек при частоте строк в 15.6 КГЦ в экран телевизора не влезают.
ага, не верь глазам своим, когда видишь пруфы с ютуба :v2_rolley


В этом легко убедиться, если 52 МКСЕК (время отображаемой части строчного периода) разделить на период частоты 7 МГЦ умноженный на 8 (это период видео-вывода одного экранного байта).
:v2_dizzy_facepalm: лёгкость в мыслях необыкновенная (c)
ну да, если делить произвольно выбранные числа случайным образом, можно убедиться в любой фигне
только вот пиксельклок относится не к "отображаемой части строчного периода", а ко всему периоду целиком
и даже больше - ко всему кадру

barsik
04.03.2018, 18:56
если делить произвольно выбранные числа случайным образом, можно убедиться в любой фигне.

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

Потому, что это просто невозможно. Даже качественные видео-мониторы CGA отображают только 48-50 МКСЕК из строчного периода в 64 МКСЕК. А изучив стандарты на CGA, EGA, VGA, SVGA и XGA, Вы убедитесь, что и там на обратный ход луча по строкам отведено ~25% строчного периода.

В 80-тые и начале 90-тых я много возился с разными графическими и текстовыми адаптерами, меняя им пиксельклоки и режимы и не только изучил теорию, но и на практике проверил всё, что утверждаю.

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


Только вот пиксельклок относится не к "отображаемой части строчного периода", а ко всему периоду целиком и даже больше - ко всему кадруНепонятная фраза. Вы не сумели выразить свою мысль.

Totem
04.03.2018, 20:13
Когда Вам чётко привели реальные цифры, то называя это "любой фигнёй", Вы лишь доказали, что не в состоянии обосновать возможность отображения бОльшего числа экранных байтов при заданной частоте пиксель-клока на кинескопном телевизоре.
Это не актуально, ранее было сказано, сейчас максимальное разращение 352X256 и роли не играет совсем. Все эти трудности давно уже побороли к чему полемика о ТВ? единственное, что осталось еще стандартное и востребованное из ретро- это PAL .

barsik
04.03.2018, 21:30
сейчас максимальное разрешение 352*256
Первый раз "слышу" об этом, думаю, как и большинство читателей форума. В Интернете есть страницы о видеорежимах ZX, но ни в одной из них не нашёл даже упоминаний о таком режиме. Близок лишь режим 320*200. В каком клоне ZX есть режим 352*256? Или хотя бы кто-то его использует? Хотелось бы узнать подробности.


разрешение 352*256 и роли не играет совсем
Это очевидно, раз режим новый и вообще никому не известный. И видимо, платы ZX-клона с таким режимом не продаются.


Все эти трудности давно уже побороли
Не понял о каких трудностях речь.

Я здесь вовсе не пытался решать проблемы ZX-платформы. Я обдумывал только вариант как в простой отечественный клон ZX-48K за один вечер, имея паяльник и моток провода ПЭЛ-0.25 ввести видео режим более пригодный для текстообработки. Т.к у меня есть "Ленинград" и я его использую для игр загружая их с МГ, что неудобно. Но т.к подключать флоп или винт к компьютеру с мизерным экраном неинтересно (для CP/M надо экран лучше), то я и стал думать как проще всего расширить экран.

Изначально я хотел делать 512*192 и уже даже закрепил вторую банку РУ5-тых с краю платы. Но мне не нравилось то, что экранчик остаётся мизерным, потому собирался растягивать экран существенно понизив пиксель-клок и такт CPU на 30%. А это плохо потому, что тогда как следует перестанут работать многие игры, да и скорость терять жалко.

И вот как раз эта тема подсказала мне идею, как расширить растр на весь экран, причём по трудозатратам так же просто как режим 512*192.

Totem
04.03.2018, 21:52
Первый раз "слышу" об этом, думаю, что как и большинство читателей форума. В Интернете есть страницы о видеорежимах ZX, но ни в одной из них не нашёл даже упоминаний о таком режиме. Близок лишь режим 320*200. В каком клоне ZX есть режим 352*256? Или хотя бы кто-то его использует? Хотелось бы узнать подробности.
ну если ты совсем слепой повторю
https://drive.google.com/file/d/1VNF17VdE9AGLnYXlQ_6UvAsPdiSwjSah/view
вот это 352x256 вместе с бордером и в нем вписано стандартное 256x192 и вообщем ничего не мешает использовать для игры максимальное на данный момент, это вообщем и видно сразу.
это просто BASIC, обычный и стандартный. Только снапшот, вот и все.
- - - Добавлено - - -


512*192.
дурацкий режим, попробуй картинку нормальную сконвертить в него, ну просто привычную для 4:3 с ретро платформ.

Lethargeek
04.03.2018, 22:32
Непонятная фраза. Вы не сумели выразить свою мысль.
:v2_dizzy_facepalm:

стандарт PAL:
7 000 000 / 50 / 312,5 = 448 пиксельклоков в строке, включая горизонтальное гашение (не менее 12мкс)
448 * (64 - 12) / 64 = 364 пиксельклока максимально в видимой области

Спектрум-48 (цифры из книги криса Смита):
6 988 800 / 50 / 312 = те же 448 пиксельклоков, опять же в полной строке
448 * (64 - 13.7) / 64 = 352 пиксельклока в видимой области

Так понятнее?

Если часть на конкретном *****телевизоре не видать - то вопросы к телевизору, а не к Спектруму.
Я привёл видеопруфы, на которых бордер явно шире 8 символов, то есть сумма с растром больше 320 пикселей.

barsik
04.03.2018, 22:48
ну если ты совсем слепой, повторю
Вот так не надо. Добрее надо быть.

Я и раньше видел Вашу ссылку, но мой браузер не берёт эту страницу. Но это не важно. Раз в Интернете это не гуглится, других ссылок нет, плат или готовых машин нет, значит это нельзя считать существующим режимом. И совмещаться с ним незачем. Последним режимом с увеличенным экраном для пиксель клока в 7 МГЦ надо по-прежнему считать 320*200 или 320*256.



512*192 - дурацкий режим, попробуй картинку нормальную сконвертить в него, ну просто привычную для 4:3 с ретро платформ.
Смотря как делать. И для чего.

Дурацкий он не из-за горизонтальной плющенности пикселя, а из-за мизерности размера самого экрана ZX. Это не вина режима, а вина сэра Клайва Синклера, который выбрал маленький экран, ради разгона Z80 до скорости как у конкурентов, что было совершенно ни к чему, раз компьютер позиционировался как учебный, для чего более крупные буквы полезнее.

А если цель не вывод чёрно-белых фотографий, а только текста, то 512 точек в строке это самое то. Только при этом такт CPU д.быть намного ниже, чем 3.5 МГЦ. При видеомониторе, чтобы 512 точек растянулись на весь экран, такт CPU д.быть 2.6 МГЦ, а для телевизора нужен такт CPU в 2.75 МГЦ.

Кстати, и для вывода фотографий этот режим лучше, т.к можно вывести картинку 256*192 в 3-х градациях яркости, используя плотность точек по принципу газеты.

А ещё лучше режим 512*192 сделан в SAM Coupe, где в нём не только 4 цвета на каждую точку, но и адресация экрана линейная. При 2-х битах на точку, если имеется резистивный конвертор RGB в монохром с градациями серости, то ч/белые фотографии с 4-мя градациями яркости выглядят приемлемо.

Totem
04.03.2018, 23:10
Вот так не надо. Добрее надо быть.

Я и раньше видел Вашу ссылку, но мой браузер не берёт эту страницу. Но это не важно. Раз в Интернете это не гуглится, других ссылок нет, плат или готовых машин нет, значит это нельзя считать существующим режимом. И совмещаться с ним незачем. Последним режимом с увеличенным экраном для пиксель клока в 7 МГЦ надо по-прежнему считать 320*200 или 320*256.



Смотря как делать. И для чего.

Дурацкий он не из-за горизонтальной плющенности пикселя, а из-за мизерности размера самого экрана ZX. Это не вина режима, а вина сэра Клайва Синклера, который выбрал маленький экран, ради разгона Z80 до скорости как у конкурентов, что было совершенно ни к чему, раз компьютер позиционировался как учебный, для чего более крупные буквы полезнее.

А если цель не вывод чёрно-белых фотографий (что получатся в плющенно виде), а только текста, то 512 точек в строке это самое то. Только эти 512 точек нужны при такте CPU в 3 МГЦ, как в Векторе, чтобы растр растянулся на весь экран.

Кстати, и для вывода фотографий этот режим лучше, т.к можно вывести картинку 256*192 в 3-х градациях яркости, используя плотность точек по принципу газеты.

Я и так добрый, даже "через чур, тебя очередной черный кот", понимаю и знаю о чем ты, но это подход хорош для именно наших компов.
Ну как не существующий, он пока эмулятор, того же ZX. Т.е. уже существует и идет разработка.
ну вот гиф
https://wmpics.pics/di-P7HZ.gif

Цель всегда одна, получить нормальную и полноценную картинку, текст вторичен. Для Орионов/РK/ -это значимо, но не для ZX.
Тут у нас картинка 15 бит, какие градации серого и зачем?