ЗАПРЕДЕЛЬНЫЕ видеорежимы 83h (84h) и 80h (GFF)
Moderator: Shaos
-
- Admin
- Posts: 24008
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
ЗАПРЕДЕЛЬНЫЕ видеорежимы 83h (84h) и 80h (GFF)
По итогам экспериментов с квадратиками видеопамяти Спринтера предлагаются новые видеорежимы для старого спринтеровского железа - 352x280 256 цветов (и 704x280 16 цветов):
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 24008
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Способ адресации "запредельных" пикселов в режиме 83h (84h) предлагается следующий:
Верхние 16 строк и нижние 8 строк пикселов расположены в области шрифтов (это не страшно - шрифты вернутся на место после смены видеорежима в текстовый).
Верхние 16 строк переключаются вместе с видеостраницей, а вот нижние 8 строк - нет (видеопамяти не хватит их тоже переключать).
Кроме того в нижних 8 строках можно организовать полуаппаратный горизонтальный скролл с шагом 8 пикселов в пределах 512 пикселов...
Верхние 16 строк и нижние 8 строк пикселов расположены в области шрифтов (это не страшно - шрифты вернутся на место после смены видеорежима в текстовый).
Верхние 16 строк переключаются вместе с видеостраницей, а вот нижние 8 строк - нет (видеопамяти не хватит их тоже переключать).
Кроме того в нижних 8 строках можно организовать полуаппаратный горизонтальный скролл с шагом 8 пикселов в пределах 512 пикселов...
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 24008
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: NEW видеорежимы 83h & 84h
Слегка поправил распределение памяти для верхних строк у второй видеостраницы и сделал нижние строки единым блоком - теперь вроде более логично стало (см.выше)
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 24008
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: НОВЫЕ видеорежимы 83h (84h) и 80h
Проба пера вширь 
Пока 352x256
P.S. На самом деле эта картинка нарисована НЕ по описанной выше спецификации видеорежима 83h (84h) т.к. тут не трогается зона шрифтов и все запредельные пикселы расположены в зоне второй видеостраницы - только ради того, чтобы выйдя из картики в обычный графический или текстовый софт, можно было увидеть по краям эти самые запредельные пикселы:
P.P.S. И вот через неделю - 27 апреля 2021 года - я решил завести под это дело новый видеорежим (для беспроблемной эмуляции в своём эмуляторе) под номером 80h - спецификацию в тетрадочке нарисовал - вот фотосканы (залил их сюда уже только в сентябре 2023):
Это так оно выглядит на экране, а ниже - как в теневой видеостранице, откуда берутся кусочки по краям:

Пока 352x256
P.S. На самом деле эта картинка нарисована НЕ по описанной выше спецификации видеорежима 83h (84h) т.к. тут не трогается зона шрифтов и все запредельные пикселы расположены в зоне второй видеостраницы - только ради того, чтобы выйдя из картики в обычный графический или текстовый софт, можно было увидеть по краям эти самые запредельные пикселы:
P.P.S. И вот через неделю - 27 апреля 2021 года - я решил завести под это дело новый видеорежим (для беспроблемной эмуляции в своём эмуляторе) под номером 80h - спецификацию в тетрадочке нарисовал - вот фотосканы (залил их сюда уже только в сентябре 2023):
Это так оно выглядит на экране, а ниже - как в теневой видеостранице, откуда берутся кусочки по краям:
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 24008
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: НОВЫЕ видеорежимы 83h (84h) и 80h
Возникает вопрос - а как представлять картинки для таких расширенных режимов? А очень просто - дамп видеопамяти Спринтера 256 кб 
Если этот дамп пожать пакером (например SHAFF1) то размер получившегося файла будет 70-80 килобайт.
Расширение у таких файлов можно сделать GFF (Gfx packed with shaFF).
В будущем так можно не только широкие и высокие картинки представлять, но и картинки с 4 палитрами на экране - т.е. всего 1024 цвета из 16 миллионов!

Если этот дамп пожать пакером (например SHAFF1) то размер получившегося файла будет 70-80 килобайт.
Расширение у таких файлов можно сделать GFF (Gfx packed with shaFF).
В будущем так можно не только широкие и высокие картинки представлять, но и картинки с 4 палитрами на экране - т.е. всего 1024 цвета из 16 миллионов!

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 24008
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: НОВЫЕ видеорежимы 83h (84h) и 80h
Вот тестовая картинка от пользователя телеграма LessNick в разрешении 368x288 (максимум для нового режима 80h):
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 24008
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: НОВЫЕ видеорежимы 83h (84h) и 80h
Я вчера открыл новый вид графического искусства - бордер артShaos wrote:

You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 24008
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: НОВЫЕ видеорежимы 83h (84h) и 80h
То были просто куски Саймановских шариков, а вот настоящий "Border Art" 

You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 24008
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: НОВЫЕ видеорежимы 83h (84h) и 80h
Обновил архив запредельных картинок (UPDATE 13-FEB-2022):
http://nedopc.org/nedopc/sprinter/upload/gffview.zip (1.7MB)
P.S. Одна из картинок 368x288 TV_CHART.GFF выведенная через OSSC на HDMI телевизор с отключенным оверсканом (тут видно все добавленные квадратики - по 2 сверху и снизу и по 3 слева и справа):
P.P.S. Она же выведенная напрямую на VGA-монитор 16:9 с автоподстройкой, который способен показывать видео с 15 кГц строчной:

http://nedopc.org/nedopc/sprinter/upload/gffview.zip (1.7MB)
Code: Select all
Archive: gffview.zip
Length Date Time Name
--------- ---------- ----- ----
66099 2021-05-06 19:34 AMBER_H.GFF
71070 2022-02-12 13:49 BIGBUCKB.GFF
96281 2022-02-12 00:31 CHEBOKSA.GFF
81050 2022-02-12 00:43 CHICAGO.GFF
11787 2021-04-30 02:59 CLEAN.GFF
87843 2021-05-28 23:09 EBURG.GFF
66717 2021-04-30 03:17 GAGARIN.GFF
1753 2021-05-06 19:10 GFFVIEW.EXE
19801 2021-04-30 03:17 GOLDEN.GFF
95170 2021-08-29 22:25 HACKERMN.GFF
96692 2021-05-26 00:55 KLAD.GFF
84833 2021-08-20 09:14 KOLYAZIN.GFF
21420 2021-04-30 02:52 LESSNICK.GFF
85863 2022-02-11 23:48 MIAMI.GFF
91305 2022-02-12 00:08 MOSKVA.GFF
89754 2022-01-25 21:55 NEDOPC.GFF
48353 2021-05-20 03:10 OPUS_MEM.GFF
89619 2022-02-12 01:12 PARAD.GFF
81264 2022-02-12 00:41 PURPLE.GFF
79812 2021-05-16 21:24 ROMANROM.GFF
84982 2022-02-08 23:10 SHOUGANG.GFF
100537 2022-02-12 00:10 STARS.GFF
81846 2021-04-30 08:24 TERMIPUS.GFF
108424 2021-08-12 01:22 TOKYO.GFF
27852 2021-05-06 19:40 TV_CHART.GFF
96379 2021-05-16 21:25 ZABOR.GFF
--------- -------
1866506 26 files
P.P.S. Она же выведенная напрямую на VGA-монитор 16:9 с автоподстройкой, который способен показывать видео с 15 кГц строчной:
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Writer
- Posts: 21
- Joined: 02 Dec 2020 14:53
Re: НОВЫЕ видеорежимы 83h (84h) и 80h
на пц теперь надо вьювер, что бы можно было быстренько картинки глянуть, а не загружать эмуляторы всякие )
-
- Admin
- Posts: 24008
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: НОВЫЕ видеорежимы 83h (84h) и 80h
да - можно попробовать сделать вьювер с юзер-интерфейсом, например wxWidgets, чтобы собиралось подо всё на светеRomanRom2 wrote:на пц теперь надо вьювер, что бы можно было быстренько картинки глянуть, а не загружать эмуляторы всякие )
а то в эмулях эти кубики-квадратики ещё долго не будут поддержаны...
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 24008
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: НОВЫЕ видеорежимы 83h (84h) и 80h
В эмуляторе эти режимы можно поддержать так - если программа пробует установить такой режим по номеру через DSS в эмуляторе, то эмулятор включает нужный режим, а на реале будет возвращаться ошибка и программа будет устанавливать режим "вручную" заполняя квадратики нужным образом (эта часть в эмуляторе запускаться не будет т.к. там не будет возвращаться ошибка - режим установится сам).
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 24008
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: НОВЫЕ видеорежимы 83h (84h) и 80h
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 24008
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: НОВЫЕ видеорежимы 83h (84h) и 80h
Задумал я тут метадату писать в первой строке в неиспользуемую область между описателями экрана и палитрами - со смещения 928 до 991 (64 байта), например писать сигнатуру GFX и далее могут идти 2 байта размер по X, 2 байта размер по Y и байт флагов:
Можно ещё писать какой программой картинка создана и когда (скажем во второй строчке)
P.S. Либо вообще всё в текстовом виде писать - там целый трактат можно вставить размером 256 строк по 64 символа в каждой т.е. в пределе 16КБ
Code: Select all
бит 0 - картинка имеет пикселы 256 цветов
бит 1 - картинка в удвоенном разрешении 16 цветов на пиксел
бит 2 - текстовая картинка
бит 3 - хитрый режим с 4 видеостраницами
биты 4,5:
00 - не мигать (открывать видеостраницу 0 и оставаться в ней до выхода)
01 - мигать видеостраницами по кадровому прерыванию
10 - мигать видеостраницами с частотой 2 кадра в секунду
11 - мигать видеостраницами по нажатию пробела
биты 6,7 - зарезервировано (в 6,7 можно количество используемых палитр указывать)
P.S. Либо вообще всё в текстовом виде писать - там целый трактат можно вставить размером 256 строк по 64 символа в каждой т.е. в пределе 16КБ

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 24008
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: ЗАПРЕДЕЛЬНЫЕ видеорежимы 83h (84h) и 80h (GFF)
Я практически вплотную подобрался к реализации "запредельных" картинок высокой чёткости 736x288 с 16 цветами (цветной дизеринг либо градации серого) - пожалуй ради будущей совместимости с Project Spirit они будут всегда в широкоэкранном режиме (с соотношением сторон 16:9 в отличие от "низкой" чёткости 368x288, которые уже были как 5:4, так и 16:9). В будущем (и в эмуляторе SprintEm) такой режим также будет устанавливаться через A=80h и чтобы отличить его от обычного 256-цветного режима можно воспользоваться аргументом B, который в данном случае не будет обозначать видеостраницу т.к. видеостраница в этом режиме всегда только одна - скажем при B=0 будет выбираться режим 368x288 c 256 цветами на точку, а при B=1 будет выбираться режим 736x288 c 16 цветами на точку - это сильно упростит поддержку GFF-картинок в эмуляторе. Требуемый режим можно указывать в метаданных, как было предложено выше, но в текстовом виде:
GFFVIEW будет вычитывать эту строку и будет пытаться установить этот режим (A=80h B=1) и если ОС ещё ничего про него не знает (как на реальном Спринтере), то данные просто будут скопированы в видеопамять, что должно работать на реальном железе. А размер и количество цветов по сути необходимы только для программы-просмотрщика на ПЦ (по умолчанию оно будет предполагаться 368x288 с 256 цветами и стандартным соотношением сторон 5:4). Возможно надо будет ещё писать скажем букву W (или слово Wide целиком), если предусматривается, что картинка должна быть показана с соотношением сторон 16:9, а не обычными 5:4. Также можно писать количество используемых палитр (пока не для эмулятора) в виде 2p, 3p или 4p (по умолчанию это всегда одна палитра, причём вторая т.е. палитра №1).
Code: Select all
GFX1 #80 1 (768x288 16c)
Я тут за главного - если что шлите мыло на me собака shaos точка net