Передовица » Эмуляторы/утилиты » Инфо блок у файлов ВИДЕООЗУ

Инфо блок у файлов ВИДЕООЗУ

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

Начало хвоста (смещение в файле): 
у 256х256ц, 512х256, 128x256ц и DHIres - $4004, 
у 128х128 , 256х256м и HIres - $2004
у Т32, Т64 , 64х64 и DLOres - $0804
у Т40  и LOres - $0404

У gigascreen 256х256ц, 512х256, 128x256ц - $8004
У gigascreen 128х128 , 256х256м - $4004

У PCGH 128x128 - $2304

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

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

* * *

РИС 1.

$04, $05 (cмещение в секторе) - сигнатура хвоста (VideoRam): т.е. если есть пометка VR, значит этот хвост содержит инфу - хорошо, можно воспользоваться этим. Нету - ну выходит пусто там, старые файлы все такие.

* * *

$06 - РЕЖИМ

В младшей тетраде указана пренадлежность режима:

0 - графические режимы АГАТ. Конкретика в таблице 1.
1 - текстовые режимы АГАТ. Конкретика в таблице 2.
2..9 - резерв 
A - текстовые и графические режимы Apple][. Конкретика в таблице 3. 
B,C - резерв
D - GigaScreen графика АГАТ. Т.е. в файле две подряд картинки для режима указанного в таблице 1.
E,F - резерв

В старшей тетраде сообщается режим отображения:

Таблица 1.
0 -        
1 - 256х256 МГВР 
2 - 
3 -                    
4 - 64х64   ЦГНР                      
5 - 128х128 ЦГСР                  
6 - 256х256 ЦГВР                 
7 - 512х256 МГДП
8 - 128х256 16 цветов
9 - 280х192 HGR                
A - 
B - 
C - 
D -  
E - 
F - 
Таблица 2.
0 -           
1 - 
2 - Т32 Ц
3 - Т64 М                  
4 - Т64 Ц (Turbo Agat)                      
5 -                   
6 -                 
7 - 
8 - 
9 -                
A - Т32 ЦЦ
B - 
C - Т64 ЦЦ (Turbo Agat) 
D - 
E - 
F - 
Таблица 3. (для этих режимов не учитываются поля "палитра" и "char_set").
0 -           
1 - 
2 - 
3 -                    
4 -                        
5 -                    
6 -                 
7 - 
8 - 
9 - 280х192 HiRes                
A - T40
B - T80
C - 40х48 LoRes
D - 80x48 Double LoRes
E - 140x192 Double Hires color
F - 560x192 Double Hires b/w

* * *

$07 - ПАЛИТРА:

В старшей тетраде сообщается палитра для режимов АГАТ:
(в младшей тетраде альтернативная палитра, если она есть)

0 - палитра 1 Агат-9 (по умолчанию которая), или единственная Агат-7.            
1 - палитра 2 Агат-9. 
2 - палитра 3 Агат-9.
3 - палитра 4 Агат-9.                   
4 -                        
5 -                     
6 -                  
7 - 
8 - палитра 1 Агат-9 (оттенки серого через "видеосигнал").
9 - палитра 2 Агат-9 (оттенки серого через "видеосигнал").                
A - палитра 3 Агат-9 (оттенки серого через "видеосигнал").
B - палитра 4 Агат-9 (оттенки серого через "видеосигнал").
C -
D - 
E - режим PCGH на основе переключения палитр. Подробности на форуме.
F - цвета в таблице для платы палитр, см. ниже.

* * *

$08...$0F - R, $18...$1F - G, $28...$2F - B

Цвета для платы палитр: каждому из 16 Агатовских цветов задается любой из палитры 4096 цветов (12 бит). По 4 бит на компоненту.

На РИС 1 задана палитра как у Commodore64.

#000000  Black 
#FFFFFF  White
#880000  Red
#AAFFEE  Cyan
#CC44CC  Violet / purple
#00CC55  Green
#0000AA  Blue
#EEEE77  Yellow
#DD8855  Orange
#664400  Brown
#FF7777  Light red
#333333  Dark grey / grey 1
#777777  Grey 2
#AAFF66  Light green
#0088FF  Light blue
#BBBBBB  Light grey / grey 3

Которая на реальном Агате загружается так:


Cx00: 00 0F 08 0A 0C 00 00 0E 0D 06 0F 03 07 0A 00 0B
Cx10: 00 0F 00 0F 04 0C 00 0E 08 04 07 03 07 0F 08 0B
Cx20: 00 0F 00 0E 0C 05 0A 07 05 00 07 03 07 06 0F 0B
Cx38: 00
И еще, как известно, в реальной ЭВМ, все режимы отображения подключают для себя цвета из основного (16 цветного) набора
Монохромные: #0 для фона и #F для пера; 
ЦГВР: #0 для фона и #1, #2, #4 для пера; 
HGR: #0 для фона и #1, #2, #4, #5, #7 для пера.
Таким образом задавая в соответствующих ячейках цвета, можно изменять палитру этих режимов.

* * *

$10...$17 - char_set: актуально только для текстовых режимов. Имя загружаемого знакогенератора, использованного для создания изображения.

 
Вместо имени могут быть указаны стандартные ЗГ:

АГАТ7 - расширенный зг Агат-7 (256 знаков)
АГАТ9 - стандартный зг Агат-9 (256 знаков)

* * *

$40...$FF - область комментария: любой текст, например дата, автор и т.д.
Важно: это текстовый блок(окно), размером 16х12 символов. При просмотре с другим форматированием, может выглядеть некорректно.

* * *

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


Почта для обратной связи: mail@agatcomp.ru


Живое общение по теме Агата: Telegram группа Agatcomp.


Накопленные знания и проекты: тематический ФОРУМ.


© 2004-2024 agatcomp.su / agatcomp.ru

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *