http://pelrun.github.io/dtvwiki
This project is maintained by pelrun
More information can be found on the pages by Daniel Kahlin, see his page.
The directory is located at $010000-$013fff.
Each entry is 32 bytes long:
$00-$17 Filename max 24 bytes, padded with $00
$18-$1a Location of the file in flash (code/len/offset data).
$1b-$1d Load address of file in RAM.
$1e-$1f Offset of raw file data relative to location of the file in flash ($18-$1a).
Directory scanning stops when the first byte of the entry is $00.
Note that the directory presented when doing LOAD“$” is just a file named “$”, not the actual directory.
The files are compressed using a simple equal-sequence compression algorithm.
If differs from the DTV2 flash format a bit as raw data is stored at the end of the compressed stream instead of being interleaved with control data.
“HELLO” loaded to $0801:
$010018 00 00 10 01 08 00 02 00
^^^^^^^^ location of file in flash ($100000)
^^^^^^^^ load address ($000801)
^^^^^ raw data at $10000+$02=$010002
$100000 05 00 08 05 0C 0C 0F
^^^^^ read five raw bytes, then exit
^^^^^^^^^^^^^^ five raw bytes