Важная информация
RSS лента

ВитГо

ZX-Spectrum на рассыпухе: Видео режимы

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

Отличительная особенность от существующего (и уже работающего) будет полностью новый подход к генерации сигналов что по идее даст возможность генерировать несколько видеорежимов.
Например для графических режимов, думаю, можно получить следующие:
Нажмите на изображение для увеличения. 

Название:	видеорежимы.jpg 
Просмотров:	125 
Размер:	21.9 Кб 
ID:	79205
по задумке стандартный видеорежим 256х192 будет на пиксельклоке в 7 мгц со стандартной для спектрума адресацией, а вот дополнительные режимы будут базироваться на пиксельклоке в 8 мгц, и позволят выбирать произвольно не только горизонтальное, но и вертикальное разрешение. Таким образом получаем сочетания режимов:
- 320 точек по горизонтали: 192, 232 или 272 строки изображения
- 384 точки по горизонтали: 192, 232 или 272 строки изображения
то есть всего будет 7 видеорежимов графики:
256х192 (стандарт), 320х192, 320х232, 320х272, 384х192, 384х232, 384х272..
максимальное количество строк изображения возможно будет корректироваться (посмотрим что телевизоры на это скажут)...

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

для горизонтали:

- стандартный видеорежим 256х192 (другое количество линий в кадре не возможно!)
Нажмите на изображение для увеличения. 

Название:	строка256.jpg 
Просмотров:	114 
Размер:	22.6 Кб 
ID:	79206

- 320 точек изображения в строке
Нажмите на изображение для увеличения. 

Название:	строка320.jpg 
Просмотров:	85 
Размер:	23.0 Кб 
ID:	79207

- 384 точки изображения в строке
Нажмите на изображение для увеличения. 

Название:	строка384.jpg 
Просмотров:	90 
Размер:	21.6 Кб 
ID:	79208

И соответственно разводка вертикальной развертки кадра:
- 192 строки (стандартный и единственный при 256 точках изображения в строке !)
Нажмите на изображение для увеличения. 

Название:	кадр192.jpg 
Просмотров:	89 
Размер:	23.7 Кб 
ID:	79209

-232 строки изображения
Нажмите на изображение для увеличения. 

Название:	кадр232.jpg 
Просмотров:	86 
Размер:	24.6 Кб 
ID:	79210

-272 строки изображения
Нажмите на изображение для увеличения. 

Название:	кадр272.jpg 
Просмотров:	91 
Размер:	24.1 Кб 
ID:	79212

вроде нигде не ошибся, но в любом случае буду еще проверять при макетировании...

p.s. купил сегодня кучу 555КП2.. считаю текстовый режим с знакогенератором, он будет четвертым к выводу строк и планирую что он будет базироваться на 384 точках по горизонтали (пока ломаю голову как сделать вывод 6 точек символа...)

видеорежимы в одном файле (макросов в файле нет): https://disk.yandex.ru/i/nDVjlanfGYgQjw

Обновлено 29.07.2023 в 06:16 ВитГо

Категории
Без категории

Комментарии

  1. Аватар для UncleDim
    таблички ниасилил, непонятно "где кончается Беня и где начинается полиция" (ну т.е. когда одно и то же значение счетчиков соответствует концу одного поля и началу другого - где собсно граница? впрочем, если вам так удобнее..)
    увидеть все 272 строки на элт - это если очень повезет..
    и что за тяга к широченному КСИ? просто потому, что у всех так?
  2. Аватар для ВитГо
    Цитата Сообщение от UncleDim
    таблички ниасилил, непонятно "где кончается Беня и где начинается полиция" (ну т.е. когда одно и то же значение счетчиков соответствует концу одного поля и началу другого - где собсно граница? впрочем, если вам так удобнее..)
    гм... начало - это начало, а конец - это конец..
    следовательно состояние сигналов на конце блока (например бордера) означает что бордер прекращается и начинается следующий блок... поэтому начало и конец соседних блоков совпадают...
    в принципе можете не смотреть столбец "конец" у каждого блока - и будет только "начальное состояние сигналов" для блока... и потом следующее начальное состояние сигналов для следующего блока и т.д..

    Цитата Сообщение от UncleDim
    увидеть все 272 строки на элт - это если очень повезет..
    есть задокументированные опыты ? я тоже немного сомневаюсь, первоначально считал на 256 строк изображения... просто удобно что каждое вертикальное разрешение отстоит на 40 строк от предыдущего (192, 232, 272)... (кстати, так же как и горизонтальное отстоит на 64 точки по горизонтали 256, 320, 384).
    в принципе если скушаются бордеры сверху и снизу - то и бог с ними, если нет - значит придется уменьшать разрешение... но пока я не пробовал и не знаю.. (поэтому чужой задокументированный опыт очень мною востребован...)
    вообще опирался на следующую картинку (как то использовал это в своих поделках ранее):


    Цитата Сообщение от UncleDim
    и что за тяга к широченному КСИ? просто потому, что у всех так?
    можете предложить аппаратное решение на логике для правильной генерации КСИ (для схемы с ленинградом например) ? я в курсе как он должен выглядеть, но честно говоря проектировать лог схему для его правильной генерации просто нет желания (кучу более интересных вещей надо сделать, а кси длинный вроде как работает и в таком виде.. хотя согласен кси косячен :-( (ну все, теперь и по кси зарубка в извилины пошла....:-( придется теперь и его править...)
    Обновлено 19.07.2023 в 10:39 ВитГо
  3. Аватар для UncleDim
    Цитата Сообщение от ВитГо
    аппаратное решение на логике для правильной генерации КСИ
    можно просто безболезненно уменьшить его до 8 строк вместо 16

    Цитата Сообщение от ВитГо
    первоначально считал на 256 строк изображения
    вот больше 256 я бы и не пытался (даже они вызезают за text safe area, но на практике обычно видны целиком)
    Цитата Сообщение от ВитГо
    поэтому начало и конец соседних блоков совпадают...
    с последней таблички: 8 строк со значениями V8..V3 = 100011 - это еще бордюр или уже КСИ, как понять-то?
  4. Аватар для ВитГо
    Цитата Сообщение от UncleDim
    с последней таблички: 8 строк со значениями V8..V3 = 100011 - это еще бордюр или уже КСИ, как понять-то?
    это кси !
    бордер на этом значении уже не выводится...


    Цитата Сообщение от UncleDim
    вот больше 256 я бы и не пытался (даже они вызезают за text safe area, но на практике обычно видны целиком)
    просто сейчас то ЭЛТ уже и не понятно у кого есть.. а все tft должны показывать корректно.. по меньшей мере проверю и доложу потом :-)
  5. Аватар для UncleDim
    Цитата Сообщение от ВитГо
    все tft должны показывать корректно
    сейчас сидел с линейкой перед своим "обычным" fullhd tv, подавая на него с профика растр с 240, 256 "полезных"строк - упорно получалось, что на полную высоту какое-то кривое число строк приходится, около 266 (ни то ни сё)
    однако это число неплохо согласуется вот с этим документом:
    https://tech.ebu.ch/docs/r/r095.pdf
    т.е. мой тв видимо отображает "зеленую рамку" - строки 33..300, 346..613 в случае 576i
  6. Аватар для ВитГо
    Цитата Сообщение от UncleDim
    сейчас сидел с линейкой перед своим "обычным" fullhd tv, подавая на него с профика растр с 240, 256 "полезных"строк - упорно получалось, что на полную высоту какое-то кривое число строк приходится, около 266 (ни то ни сё)
    однако это число неплохо согласуется вот с этим документом:
    https://tech.ebu.ch/docs/r/r095.pdf
    т.е. мой тв видимо отображает "зеленую рамку" - строки 33..300, 346..613 в случае 576i
    ОО !! спасибо что поделились своим опытом !!!
  7. Аватар для ВитГо
    UncleDim,
    кстати, а если поступить как в пентагоне - увеличить количество строк с 312 до 320 - это не увеличит количество видимых ? нет у вас такого опыта ?
  8. Аватар для UncleDim
    Пробовал и 320 когда-то, но не помню точно в чем отличие было, может положение по вертикали чуть отличалось.. Проверю при случае, но по памяти - нет, кол-во видимых строк не менялось
    PS проверил, на имеющихся прошивках 256/312 и 256/320 с укороченным (8 строк) кси - одно и то же, изо ни на йоту не сдвинулось
    Обновлено 20.07.2023 в 21:14 UncleDim
  9. Аватар для ВитГо
    UncleDim, в статью добавил ссылку на файл режимов в формате экселя (в конце)...
    так наверное удобнее будет смотреть и править..
    число строк 192, 224, 256
  10. Аватар для UncleDim
    еще немного "урезав осетра") - приходим к "богоугодным" разрешениям 320х240 (4:3) и 384х216 (16:9)
  11. Аватар для UncleDim
    или вообще к одному - 384х240
  12. Аватар для ВитГо
    Цитата Сообщение от UncleDim
    или вообще к одному - 384х240
    я просто когда то давно имел дело с cp\m.. и там 64 символа в строке было и строк что то около 40 (помоему).. вот на эти цифры и хочу выйти...
    так что 320 по горизонтали это маловато :-(

    да и интересно сделать сменяемые разрешения..
    как то простое решение ко мне пришло.. надо сделать чтобы проверить...
    фактически с синхрогенератора надо брать буквально 4 зависимых сигнала с другой части схемы (физически)... и можно брать например с 4х вариантов (если взять 555кп2)... только счетчики надо делать без предзагрузок как в обычном спеке делают.. но это оказалось при ближайшем рассмотрении не так уж и затратно !!! банально первая точка это конец вывода изображения, вторая - позиция сси и уровня черного (бланк)... бордер это не изображение и не сси+бланк... в общем все достаточно просто должно реализоваться....
    вкладку "работа с озу" открывали ? как вам задумка (и про оверлей - вместо спрайтов и про cpu_1)... ?

    p.s. вообще ностальгия накрыла, все таки в 14 лет когда собирал свой первый спек не настолько хорошо разбирался в том как он работает (хорошо, но не так как сейчас)... а сейчас столько всего наворотить можно (но на макетке :-)) - вот и буду делать... тем более на статических озу - вообще класс - никакого дедтайма нет на моих частотах (14 и 16 мгц) :-)
    Обновлено 21.07.2023 в 20:56 ВитГо
  13. Аватар для UncleDim
    cp/m прекрасно работает и с 80, и с 64 символами в строке, и даже с 32 в стандартном спекоэкране, если очень хочется

Трекбэков