Dali
From Just Solve the File Format Problem
(Difference between revisions)
Dexvertbot (Talk | contribs) (Undo revision 46795 by Dexvertbot (talk)) |
Dexvertbot (Talk | contribs) m (→Sample files) |
||
Line 91: | Line 91: | ||
== Sample files == | == Sample files == | ||
− | * | + | * {{DexvertSamples|image/dali}} |
== Links == | == Links == |
Latest revision as of 03:21, 28 December 2023
Dali is a graphics program for the Atari ST.
SD0
files are 320x200 with 16 colors
SD1
files are 640x200 with 4 colors
SD2
files are 640x400 in mono
Contents |
[edit] Format details
[edit] Dali file format
Copied from Atari Forum Wiki.
Dali *.SD0 (ST low resolution) *.SD1 (ST medium resolution) *.SD2 (ST high resolution) Files do not seem to have any resolution or bit plane info stored in them. The file extension seems to be the only way to determine the contents. 1 long file id? [always 0] 16 words palette 92 bytes reserved? [usually 0] 32000 bytes raw image data ----------- 32128 bytes total for file
[edit] Dali Compressed file format
Copied from Atari Forum Wiki.
Dali compressed *.LPK (ST low resolution) *.MPK (ST medium resolution) *.HPK (ST high resolution) Files do not seem to have any resolution or bit plane info stored in them. The file extension seems to be the only way to determine the contents. 16 words palette ? size of byte array in bytes, stored as plain ASCII text + cr/lf ? size of long array in bytes, stored as plain ASCII text + cr/lf ? array of bytes ? array of longs ? image data: Assuming the tables have been loaded into arrays: uint8 *btab=malloc(size of byte array); uint32 *ltab=malloc(size of long array); uint8 *bmap=malloc(32000); /* st bitmap */ /* PureC example by Lonny Pursell - placed into the Public Domain 1/19/2017 */ uint8 flag; uint16 i, index, offset; uint32 data; flag = index = 0; for (i=0; i<=156; i=i+4) { for (offset=0; offset<=31840; offset=offset+160) { if (flag==0) { flag = btab[index]; data = ltab[index]; index++; } bmap[offset + i] = (data >> 24) & 0xFF; bmap[offset + i + 1] = (data >> 16) & 0xFF; bmap[offset + i + 2] = (data >> 8) & 0xFF; bmap[offset + i + 3] = data & 0xFF; flag--; } }
[edit] Identification
.sc?
files are exactly 32128 bytes long.
.?pk
files are compressed.