Dali

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Added info on Dali)
 
m (Sample files)
 
(12 intermediate revisions by 4 users not shown)
Line 3: Line 3:
 
|formattype=electronic
 
|formattype=electronic
 
|subcat=Graphics
 
|subcat=Graphics
|extensions={{ext|sd0}} {{ext|sd1}} {{ext|sd2}}
+
|extensions={{ext|sd0}} {{ext|sd1}} {{ext|sd2}} {{ext|hpk}} {{ext|lpk}} {{ext|mpk}}
 
}}
 
}}
 
'''Dali''' is a graphics program for the Atari ST.
 
'''Dali''' is a graphics program for the Atari ST.
Line 13: Line 13:
 
<code>SD2</code> files are 640x400 in mono
 
<code>SD2</code> files are 640x400 in mono
  
 +
== Format details ==
 +
 +
=== Dali file format ===
 +
 +
''Copied from [[Atari Forum Wiki]].''
 +
 +
<pre>
 +
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
 +
</pre>
 +
 +
=== Dali Compressed file format ===
 +
 +
''Copied from [[Atari Forum Wiki]].''
 +
 +
<pre>
 +
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&lt;=156; i=i+4) {
 +
    for (offset=0; offset&lt;=31840; offset=offset+160) {
 +
        if (flag==0) {
 +
            flag = btab[index];
 +
            data = ltab[index];
 +
            index++;
 +
        }
 +
        bmap[offset + i] = (data &gt;&gt; 24) &amp; 0xFF;
 +
        bmap[offset + i + 1] = (data &gt;&gt; 16) &amp; 0xFF;
 +
        bmap[offset + i + 2] = (data &gt;&gt; 8) &amp; 0xFF;
 +
        bmap[offset + i + 3] = data &amp; 0xFF;
 +
        flag--;
 +
    }
 +
}
 +
</pre>
  
 
== Identification ==
 
== Identification ==
Files start are exactly 32128 bytes long.
+
<code>.sc?</code> files are exactly 32128 bytes long.
 +
 
 +
<code>.?pk</code> files are compressed.
  
 
== Software ==
 
== Software ==
Line 22: Line 91:
  
 
== Sample files ==
 
== Sample files ==
* https://telparia.com/fileFormatSamples/image/dali/
+
* {{DexvertSamples|image/dali}}
  
 
== Links ==
 
== Links ==
 
* http://www.atarimania.com/utility-atari-st-dali_22804.html
 
* 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]]

Latest revision as of 03:21, 28 December 2023

File Format
Name Dali
Ontology
Extension(s) .sd0 .sd1 .sd2 .hpk .lpk .mpk

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.

[edit] Software

[edit] Sample files

[edit] Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox