1 Отредактировано garnizon (22-03-2019 09:51)

Тема: Хвост у файлов в формате ВИДЕООЗУ

Любой агатовский файл с картинкой в формате "видеоозу" имеет в хвосте достаточно много свободного места 252 байта (считай сектор).
Ведь файл на диске хранится кратно сектору и вот на последнем секторе занято только 4 байта.

Бывали случаи что юзер сокращал картинку на 4 байта, экономя при этом сектор.
На картинке это мало сказывалось. Но можно поступить и по другому....

Я, например, рисуя текстовые экраны в псевдографике использовал это пространство как информационную область.
Но в таком виде, чтоб удобней было просматривать инфу любым HEX редактором (агатовским или внешним),
так как никаких других средств нет.
Хотя и написать простую прогу, даже на бейсике, наверное не сложно.
Делал это, просто потому что картинок налепил много, а некоторую инфу не засунуть в имя файла и на экране самой картинки не хотелось оставлять.

Сразу после графической инфы писал слово "vram", чтоб потом отличить свои пометки от мусора и потом:

- дата создания

- Автор (хотя зачем ? все равно же я) :)

- режим (Т32 или Т64)

- под какой знакогенератор рисовал:
00 - если агат7 128 знаков,
01 - если агат7 256 знаков,
10 - если агат9,
11 - если подгружаемый ЗГ, если так то следующие 8 байт имя файла знакогенератора.

- для какого монитора рисовал (ЧБ или ЦВ)

- сколько цветов использовал 8 или 16

- Номер палитры Агат-9

- 128 байт на "табличку с комментариями" в ASCII.

- еще в резерве оставил 24 байта на теоретическую возможность назначить каждому из 16 цветов любой из палитры в 4096
(это при использовании карты: http://agatcomp.ru/Reading/chargen1.shtml , но про неё известно пока мало, так и заглохло).

* * *

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

0 - не задан           
1 - Т32                           
2 - Т64               
3 - 64х64                                     
4 - 128х128                               
5 - 256х256 монохром                           
6 - 256х256 цвет                         
7 - 512х256                     
8 - резерв                           
9 - T40               
A - T80                           
B - LoRes                   
C - D LoRes                         
D - HiRes                 
E - D HiRes цвет                       
F - D HiRes монохром   

Те же просмотрщики смогут стразу выставлять правильный режим и т.д.

Комментарии и инфа о цветности полезна для любых режимов,
а если, например, файл с графикой 256х256 то байты информирующие о знакогенераторе просто не используются.

А как вы считаете, что полезно разместить в этом хвосте? И каким образом лучше это сделать?

2

Re: Хвост у файлов в формате ВИДЕООЗУ

EXIF для Агата? Почему бы и нет?

Только я не понял: ведь уже написанные программы ничего про этот "хвост" не знают и не ожидают лишних данных. Или предлагается ту длину данных, которая уже в начале файла прописана, не изменять? Или этот "хвост" будет только в новых картинках?

3 Отредактировано garnizon (22-03-2019 23:30)

Re: Хвост у файлов в формате ВИДЕООЗУ

Ну дык эта свободная область в 252 байта все равно таскается с файлом везде, ведь она часть файла. Копировщики агатовские (и дос33с2 кстати) её исправно копируют, графические редакторы не портят при перезаписи картинки. FIL-файлы тоже её носят в полном объеме.

Вот я и подумал, чем нули таскать туда сюда, можно там хранить что-то полезное.
Мне вот понадобилось хранить что, что я описал выше. Вопрос в том, как грамотней организовать формат этого хвоста, так сказать с оглядкой на будущее.
Учесть всё что может понадобится из инфы и правильно расположить.
Я смогу придерживаться всегда этого стандарта, и потом какой-то софт (если захочет) сможет воспользоваться этой инфой.


Например, какие-то внешние проги, скажем DOS33C2 или FIL Converter смогут самостоятельно выставить (без такой подсказки это невозможно) правильный режим при просмотре, правильную цветность и палитру, для текстовых еще и правильный ЗГ. Или даже показать табличку с комментариями.

Ну или в внутри агата прога типа http://agatcomp.ru/Apps/Sirius.shtml
может вывести на экран инфу из этой области, что полезно очень.

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

Почему меня заинтересовало это, я уже наклепал более 100 картинок для текстовых режимов, на многих до сих пор держу некоторые данные прям на экране, (что не всегда возможно):
http://forum.agatcomp.ru//misc.php?action=pun_attachment&item=481&download=0

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


И еще, про старые картинки, я вот время от времени правлю испорченные картинки (ну когда диск при всех стараниях не прочитался нормально), вот тут подробности:
http://agatcomp.ru/Soft/filConverter.shtml
С удовольствием бы там оставлял в области комментариев что это реставрированная картинка а не полный оригинал, это может потом пригодится. Это только пример из жизни.

4 Отредактировано garnizon (02-04-2019 13:57)

Re: Хвост у файлов в формате ВИДЕООЗУ

http://forum.agatcomp.ru//misc.php?action=pun_attachment&item=525&download=0


1) режим           

0 - не задан
1 - Т32           
2 - Т64 
3 - 64х64                   
4 - 128х128                       
5 - 256х256 м                   
6 - 256х256 ц                 
7 - 512х256                 
8 - резерв               
9 - T40               
A - T80               
B - LoRes               
C - D LoRes               
D - HiRes           
E - D HiRes ц                     
F - D HiRes м             


2) Цвет (для режимов АГАТ 7/9 )

0 - не задан
1 - резерв
2 - резерв
3 - резерв
4 - Агат 16 цветов
5 - резерв
6 - резерв
7 - Агат 8 цветов 
8 - резерв
9 - в оттенках серого (агат-9 с колокольчиком)
A - резерв
B - резерв
C - резерв
D - резерв
E - резерв
F - из таблицы палитр


3) Палитра Агат-9

0 - первая
1 - вторая
2 - третья
3 - четвертая
4 - резерв
5 - резерв
6 - резерв
7 - резерв
8 - резерв
9 - резерв
A - резерв
B - резерв
C - резерв
D - резерв
E - резерв
F - резерв


4) Знакогенератор

0 - не задан
1 - резерв
2 - резерв
3 - резерв
4 - расширенный агат-7
5 - резерв
6 - резерв
7 - обычный агат -7
8 - резерв
9 - агат - 9
A - резерв
B - резерв
C - резерв
D - резерв
E - резерв
F - из файла

Post's attachments

Attachment icon 252.png 12.45 kb, 22 downloads since 2019-04-02