Dali
From Just Solve the File Format Problem
(Difference between revisions)
Dexvertbot (Talk | contribs) m (Change telparia.com samples link to template) |
Dexvertbot (Talk | contribs) (Undo revision 46795 by Dexvertbot (talk)) |
||
Line 48: | Line 48: | ||
16 words palette | 16 words palette | ||
− | ? size of byte array in bytes, stored as plain ASCII text | + | ? size of byte array in bytes, stored as plain ASCII text + cr/lf |
− | ? size of long array in bytes, stored as plain ASCII text | + | ? size of long array in bytes, stored as plain ASCII text + cr/lf |
? array of bytes | ? array of bytes | ||
? array of longs | ? array of longs | ||
Line 65: | Line 65: | ||
uint32 data; | uint32 data; | ||
flag = index = 0; | flag = index = 0; | ||
− | for (i=0; i | + | 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--; | ||
+ | } | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | == Identification == | ||
+ | <code>.sc?</code> files are exactly 32128 bytes long. | ||
+ | |||
+ | <code>.?pk</code> files are compressed. | ||
+ | |||
+ | == Software == | ||
+ | * [[XnView]] | ||
+ | * [[RECOIL]] | ||
+ | |||
+ | == Sample files == | ||
+ | * https://telparia.com/fileFormatSamples/image/dali/ | ||
+ | |||
+ | == Links == | ||
+ | * http://www.atarimania.com/utility-atari-st-dali_22804.html | ||
+ | * {{AtariForumWiki|Dali_file_format|AtariForumWiki: Dali file format}} | ||
+ | * {{AtariForumWiki|Dali_Compressed_file_format|AtariForumWiki: Dali Compressed file format}} | ||
+ | |||
+ | [[Category:Atari graphics formats]] |
Revision as of 03:05, 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 |
Format details
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
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--; } }
Identification
.sc?
files are exactly 32128 bytes long.
.?pk
files are compressed.