#------------------------------------------------------------------------------
# $File: playdate,v 1.1 2022/11/04 13:34:48 christos Exp $
#
# Various native file formats for the Playdate portable video game console.
#
# These are unofficially documented at
# https://github.com/jaames/playdate-reverse-engineering
#
# The SDK is a source for many test files, and can be used to
# create others. https://play.date/dev/


# pdi: static image
0       string  Playdate\ IMG   Playdate image data
>12     belong&0x80     0x80    (compressed)
>>20    lelong  x       %d x
>>24    lelong  x       %d
>12     belong&0x80     0x00    (uncompressed)
>>16    leshort x       %d x
>>18    leshort x       %d

# pdt: multiple static images
0       string  Playdate\ IMT   Playdate image data set
>12     belong&0x80     0x80    (compressed)
>>20    lelong  x       %d x
>>24    lelong  x       %d,
>>28    lelong  x       %d cells
>12     belong&0x80     0x00    (uncompressed)
>>20    lelong  x       tile grid %d x
>>24    lelong  x       %d

# pds: string tables
0       string  Playdate\ STR   Playdate localization strings
>12     belong&0x80     0x80    (compressed)
>12     belong&0x80     0x00    (uncompressed)

# pda: audio
0       string  Playdate\ AUD   Playdate audio file
>12     lelong&0xffffff x       %d Hz,
>15     byte    0       unsigned, 8-bit PCM, 1 channel
>15     byte    1       unsigned, 8-bit PCM, 2 channel
>15     byte    2       signed, 16-bit little-endian PCM, 1 channel
>15     byte    3       signed, 16-bit little-endian PCM, 1 channel
>15     byte    4       4-bit ADPCM, 1 channel
>15     byte    5       4-bit ADPCM, 2 channel

# pda: video
0       string  Playdate\ VID   Playdate video file
>24     leshort x       %d x
>26     leshort x       %d,
>16     leshort x       %d frames,
>20     lefloat x       %.2f FPS

# pdz: executable package
# Not a lot we can do, as it's a stream of entries with no summary information.
0       string  Playdate\ PDZ   Playdate executable package