ПЭВМ АГАТ: Передовица » Эмуляторы/утилиты » Хвост у файлов в формате ВИДЕООЗУ
Хвост у файлов в формате ВИДЕООЗУЛюбой агатовский файл с картинкой в формате "видеоозу" имеет в хвосте достаточно много свободного места 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 Бывали случаи что юзер сокращал картинку на 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 - F - цвета в таблице для платы палитр, см. ниже. * * *$08...$0F - R, $18...$1F - G, $28...$2F - B Цвета для платы палитр: каждому из 16 Агатовских цветов задается любой из палитры 4096 цветов (12 бит). По 4 бит на компоненту. На рисунке выше задана палитра как у 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 - область комментария: любые подробности в свободной форме: дата, автор и т.д. * * *На картинке (выше) цвета С64 расположены в его родной последовательности. Но я, перенося картинки (с того же С64 или PICO), задаю цвета для ПП в другом порядке (см таблицу). Т.е. рядом с приблизительно похожими агатовскими, тогда ЭВМ без ПП будет показывать картинку близкую к задуманной.
Кстати мои эксперименты по переносу изображений от С64 на DHiRes не дали нормальных результатов. В теории 160х200 очень подходит к 140 х192. В принципе, цвета у Apple очень напоминают цвета С64, с поправкой на иную температуру (например cyan вместо aqua), т.е. у обоих три оттенка зеленого и т.д. Но, у комодора есть три оттенка серого, чем часто пользуются для полутонов в сложных изображениях. А вот у Apple, светло-синий вместо даркгрей у комодора. Таким образом у комодора 2 оттенка синего и 3 оттенка серого, тогда как у эпл 3 оттенка синего и 2 (1) оттенка серого. * * ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |