Структура RECORD

Файлы INFO/RECORD/RECORDNN/RECORDNN00001.lst содержат данные по трекам каталогов в DATA/DATANN (возможно оригинальную длительность каждого). При удалении трека данные о нем удаляются из файла. В файле содержаться данные только тех каталогов, в которых есть хоть один файл *.sc.

Структура файла:

Description Length Comment
Header 36
100 x list size 4
N x list data N — количество каталогов DATA/DATANN/NN0000MM, в которых есть хоть один файл *.sc

Структура Header:

Offset Length Default Description
0 4 32 bit checksum блоков Header и list size
4 16 «SLJA_RECORD:1.3 « текст
20 2 индекс каталога (NN) в текстовом виде
22 5 0x3030303031
27 9 0x000000000000000000

Структура list size:

Offset Length Default Description
0 4 0x00000000 длина (hex) соответствующего (по порядку) блока list data. Если блока нет — используется значение по умолчанию

Размеры идут друг за другом — порядковый номер размера соответствует номеру каталога, т.е. первое значение соответствует каталогу DATA/DATANN/NN000001, второе — каталогу DATA/DATANN/NN000002 и т.д. Если соответствующего каталога нет или каталог не содержит ни одного файла *.sc, то размер будет нулевой.

Структура list data:

Description Length Comment
list data header 16
N x track data 12 N — изначальное количество треков в каталоге (при удалении треков это значение не меняется)

Структура list data header:

Offset Length Default Description
0 4 32 bit checksum блока list data
4 4 имя каталога в Big Endian (т.е. если каталог — DATA/DATA1F/1F000003, то 0300001F)
8 1 изначальное количество треков в каталоге (hex, при удалении треков это значение не меняется)
9 7 unknown (похожие значения встречаются в блоках track data)

Структура track data:

Offset Length Default Description
0 4 0x00000000 Определяет наличие трека. Если трек присутствует, то первый байт равен 0x01, если нет — то 0x00
4 8 0x0000000000000000 unknown (какие-то данные по треку. Похожие значения встречаются в блоке list data header. Возможно длина трека)

Блоки данных по треку идут друг за другом — порядковый номер блока данных соответствует номеру трека, т.е. первый блок данных соответствует треку DATA/DATANN/NN0000MM/001.sc, второй — треку DATA/DATANN/NN0000MM/002.sc и т.д. Если соответствующего трека нет, то блок данных будет содержать нули.

Рубрики: MMCS
Метки:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

 

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.