Две программки, прямо со сковородки. Обе с исходниками.
1. IDC.COM - Image Data Converter
Конвертирует Windows или OS/2 bitmap размером от 1x1 до 256x256 пикселов в формат несжатой Векторовской видеопамяти. Входной .BMP файл должен иметь 4 бита на пиксел без RLE компрессии. Выходной файл всегда будет иметь размер 32K и может быть просмотрен утилитами 2DSCI.COM, GRAB.COM (см. пост выше) или SHIM.COM (см.ниже в этом посте). Изображение меньшего размера всегда выводится в левом нижнем углу. Утилита GRAB использует такой-же формат, поэтому возможно выдирать куски из полученного изображения и создавать спрайты в многочисленных форматах, которые GRAB поддерживает.
Во время конвертации, IDC.COМ также производит текстовый файл с исходным именем .BMP файла и расширением .PAL, содержащий палитру, конвертированную из 24-битового цветового пространства в Векторовскую 8-битовую палитру. Файл содержит палитру в виде кода на ассемблере вида:
DB xx
...
DB yy
и может быть немедленно использован для ассемблирования. Комментарии в файле содержат исходные цвета в .BMP картинке и рассчитанное значение яркости. Поддерживается десятичный (по умолчанию) и шестнадцатиричный (опция IDC -h1) форматы вывода палитры. Алгоритм нахождения ближайшего цвета пока довольно примитивный, поэтому возможны повторения цветов, что может быть исправлено дальнейшим редактированием .pal файла.
По умолчанию, IDC производит "зеркальное" копирование плоскостей из BMP, так, что цвет 0 соответствует плоскости 0xE000, а цвет 8 - плоскости 0x8000. Зеркальное копирование можно отменить опцией
IDC -f0
Опция IDC -vX, где X=0,1,2 задаёт объём выдаваемой информации об исходном изображении и диагностики во время конвертирования.
Процесс конвертирования достаточно долгий, и требует большого количества обращений к диску, так что лучше используйте квазидиск.
Исходники для компилятора Supersoft C прилагаются.
2. ShIm.COM - Show Image
Позволяет посмотреть картинку, сгенерённую утилитой IDC в цветах из файла палитры в 16-цветном режиме. Не портит содержимое квазидиска.
Единственное условие, цвета в файле палитры должны быть в десятичной системе счисления.
Файл палитры может содержать и больше строчек с цветами, ShIm будет использовать только первые 16. Выход из просмотра - клавиша BackSpace.
Исходники для m80 прилагаются.