Увлёкшись продолжил с форматами, теперь вот АБРИС
Разобрал формал .ABR
ну что сказать, забавный формат
1) он не послойный, т.е. сразу информация про все 3 слоя
2) поток - байтовый
3) экран/область заполняется пословно с конца !, в реалии PUSH BC
4) в файле есть координаты "окна" на экране куда выводить
5) поток данных - можно сказать блочный
причина очень похоже - вся картинка не влазила в память
(максимальный кусок блока ~25к)
в каждом блоке есть свой заголовок и в нем указана область куда он путается
Код:
[:fname, "LEOPOLD"]
[:root, 2, 0, 0, 511, 255]
[:chunk, 25695, 0, 68, 511, 255]
[:chunk, 10438, 0, 0, 511, 68]
[:chunk, 0]
[:chunk,size, x0, y0,x1,y1]
первый кусок y - [68..255]
первый кусок y - [0..68]
как я понял есть два типа файлов
первый байт или 2 или 3
в теории те что 3 - вывод "окна", а 2- целый экран
в декодировании нет разницы.
В декодере 4 типа данных:
0 - смещение вывода или выход (нужно для "окон", как переместить координаты вывода к началу следующей строки)
1 - заполнение ЦВЕТОМ (len,+значение NCREG) (заполняем FF)
2 - заполнить 3 слоя константой (len,+6 байт данных, пара для каждого слоя)
3 - заполнить 3 слоя из данных (len,+2*len*3 данных)
подробности кому интересно в аттаче