** Сайт посвящённый ПЭВМ АГАТ **
Любой агатовский файл с картинкой в формате "видеоозу" имеет в хвосте достаточно много свободного места 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 для Агата.
$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 бит на компоненту.
Возьмём такие цвета:
0 - #000 Black 1 - #FFF White 2 - #800 Red 3 - #AFE Cyan 4 - #C4C Violet / purple 5 - #0C5 Green 6 - #00A Blue 7 - #EE7 Yellow 8 - #D85 Orange 9 - #640 Brown A - #F77 Light red B - #333 Dark grey / grey 1 C - #777 Grey 2 D - #AF6 Light green E - #08F Light blue F - #BBB Light grey / grey 3
В инфоблоке они буду упакованы вот так (по 2 регистра палитры в один байт):
В память Агата это загружается так:
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
Монохромные: #0 для фона и #F для пера; ЦГВР: #0 для фона и #1, #2, #4 для пера; HGR: #0 для фона и #1, #2, #4, #5, #7 для пера.Таким образом задавая в соответствующих ячейках цвета, можно изменять палитру этих режимов.
$3F - ТИП ЗГ:
Тип знакогенератора для текстовых режимов. Указан в старшей тетраде.
0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - Агат-7 стандартный (128 знаков). 8 - Агат-7 расширенный (256 знаков). 9 - Агат-9 стандартный. A - B - C - D - E - F - Загружаемый ЗГ, имя в ячейках $30...$3D
$30...$3D - CHAR SET NAME:
Имя знакогенератора, который использовался при создании изображения. Отведено 14 знаков, остаток добивается кодами $A0.
Обычно знакогенератор хранится в АГАТовском файле, и содержит дамп микросхемы знакогенератора в формате Агат-7 либо Агат-9. Имя файла состоит из имени знакогенератора + указатель формата хранения.
ZG7_VOLDEMAR - набор символов "VOLDEMAR" в формате знакогенератора Агат-7. ZG9_GARNIZON - набор символов "GARNIZON" в формате знакогенератора Агат-9.
$40...$FF - область комментария: любой текст, например дата, автор и т.д.
Важно: это текстовый блок(окно), размером 16х12 символов.
При просмотре с другим форматированием, может выглядеть некорректно.