ЗАПРЕДЕЛЬНЫЕ видеорежимы 83h (84h) и 80h (GFF)

Компьютер "Спринтер" http://sprinter.nedopc.org

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

ЗАПРЕДЕЛЬНЫЕ видеорежимы 83h (84h) и 80h (GFF)

Post by Shaos »

По итогам экспериментов с квадратиками видеопамяти Спринтера предлагаются новые видеорежимы для старого спринтеровского железа - 352x280 256 цветов (и 704x280 16 цветов):
vramsys_83h_84h.jpg
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Способ адресации "запредельных" пикселов в режиме 83h (84h) предлагается следующий:
Mode-83h-84h.gif
Верхние 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
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: NEW видеорежимы 83h & 84h

Post by Shaos »

Слегка поправил распределение памяти для верхних строк у второй видеостраницы и сделал нижние строки единым блоком - теперь вроде более логично стало (см.выше)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: НОВЫЕ видеорежимы 83h (84h) и 80h

Post by Shaos »

Проба пера вширь :)
termipus-sprinter.jpg
Пока 352x256

P.S. На самом деле эта картинка нарисована НЕ по описанной выше спецификации видеорежима 83h (84h) т.к. тут не трогается зона шрифтов и все запредельные пикселы расположены в зоне второй видеостраницы - только ради того, чтобы выйдя из картики в обычный графический или текстовый софт, можно было увидеть по краям эти самые запредельные пикселы:
termipus-sprinter-after.jpg


P.P.S. И вот через неделю - 27 апреля 2021 года - я решил завести под это дело новый видеорежим (для беспроблемной эмуляции в своём эмуляторе) под номером 80h - спецификацию в тетрадочке нарисовал - вот фотосканы (залил их сюда уже только в сентябре 2023):

Mode0x80-OnTheScreen.jpg
Это так оно выглядит на экране, а ниже - как в теневой видеостранице, откуда берутся кусочки по краям:
Mode0x80-In2ndScreenVideoMem.jpg
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: НОВЫЕ видеорежимы 83h (84h) и 80h

Post by Shaos »

Возникает вопрос - а как представлять картинки для таких расширенных режимов? А очень просто - дамп видеопамяти Спринтера 256 кб :)
Если этот дамп пожать пакером (например SHAFF1) то размер получившегося файла будет 70-80 килобайт.
Расширение у таких файлов можно сделать GFF (Gfx packed with shaFF).
В будущем так можно не только широкие и высокие картинки представлять, но и картинки с 4 палитрами на экране - т.е. всего 1024 цвета из 16 миллионов! :mrgreen:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: НОВЫЕ видеорежимы 83h (84h) и 80h

Post by Shaos »

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

Re: НОВЫЕ видеорежимы 83h (84h) и 80h

Post by Shaos »

Shaos wrote:Image
Я вчера открыл новый вид графического искусства - бордер арт :mrgreen:
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: НОВЫЕ видеорежимы 83h (84h) и 80h

Post by Shaos »

То были просто куски Саймановских шариков, а вот настоящий "Border Art" :mrgreen:
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: НОВЫЕ видеорежимы 83h (84h) и 80h

Post by Shaos »

Обновил архив запредельных картинок (UPDATE 13-FEB-2022):

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.S. Одна из картинок 368x288 TV_CHART.GFF выведенная через OSSC на HDMI телевизор с отключенным оверсканом (тут видно все добавленные квадратики - по 2 сверху и снизу и по 3 слева и справа):
tv_chart-sprinter.jpg
P.P.S. Она же выведенная напрямую на VGA-монитор 16:9 с автоподстройкой, который способен показывать видео с 15 кГц строчной:

Image
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
RomanRom2
Writer
Posts: 21
Joined: 02 Dec 2020 14:53

Re: НОВЫЕ видеорежимы 83h (84h) и 80h

Post by RomanRom2 »

на пц теперь надо вьювер, что бы можно было быстренько картинки глянуть, а не загружать эмуляторы всякие )
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: НОВЫЕ видеорежимы 83h (84h) и 80h

Post by Shaos »

RomanRom2 wrote:на пц теперь надо вьювер, что бы можно было быстренько картинки глянуть, а не загружать эмуляторы всякие )
да - можно попробовать сделать вьювер с юзер-интерфейсом, например wxWidgets, чтобы собиралось подо всё на свете
а то в эмулях эти кубики-квадратики ещё долго не будут поддержаны...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: НОВЫЕ видеорежимы 83h (84h) и 80h

Post by Shaos »

В эмуляторе эти режимы можно поддержать так - если программа пробует установить такой режим по номеру через DSS в эмуляторе, то эмулятор включает нужный режим, а на реале будет возвращаться ошибка и программа будет устанавливать режим "вручную" заполняя квадратики нужным образом (эта часть в эмуляторе запускаться не будет т.к. там не будет возвращаться ошибка - режим установится сам).
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: НОВЫЕ видеорежимы 83h (84h) и 80h

Post by Shaos »

Обновил архив запредельных картинок (см. выше):

viewtopic.php?p=160414#p160414

Вот одна из них:
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: НОВЫЕ видеорежимы 83h (84h) и 80h

Post by Shaos »

Задумал я тут метадату писать в первой строке в неиспользуемую область между описателями экрана и палитрами - со смещения 928 до 991 (64 байта), например писать сигнатуру GFX и далее могут идти 2 байта размер по X, 2 байта размер по Y и байт флагов:

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КБ :o
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: ЗАПРЕДЕЛЬНЫЕ видеорежимы 83h (84h) и 80h (GFF)

Post by Shaos »

Я практически вплотную подобрался к реализации "запредельных" картинок высокой чёткости 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-картинок в эмуляторе. Требуемый режим можно указывать в метаданных, как было предложено выше, но в текстовом виде:

Code: Select all

GFX1 #80 1 (768x288 16c)
GFFVIEW будет вычитывать эту строку и будет пытаться установить этот режим (A=80h B=1) и если ОС ещё ничего про него не знает (как на реальном Спринтере), то данные просто будут скопированы в видеопамять, что должно работать на реальном железе. А размер и количество цветов по сути необходимы только для программы-просмотрщика на ПЦ (по умолчанию оно будет предполагаться 368x288 с 256 цветами и стандартным соотношением сторон 5:4). Возможно надо будет ещё писать скажем букву W (или слово Wide целиком), если предусматривается, что картинка должна быть показана с соотношением сторон 16:9, а не обычными 5:4. Также можно писать количество используемых палитр (пока не для эмулятора) в виде 2p, 3p или 4p (по умолчанию это всегда одна палитра, причём вторая т.е. палитра №1).
Я тут за главного - если что шлите мыло на me собака shaos точка net