#10308·mame

CHD does not store CD track indexes from cuesheet

Author: SenemuCreated Sep 5, 2022Updated Sep 14, 2026
Example input cuesheet
cue-sheet
FILE "purikura.bin" BINARY
  TRACK 01 MODE1/2352
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    INDEX 00 15:49:15
    INDEX 01 15:51:15
  TRACK 03 AUDIO
    INDEX 00 18:09:16
    INDEX 01 18:11:15
  TRACK 04 AUDIO
    INDEX 00 20:29:17
    INDEX 01 20:31:16
  TRACK 05 AUDIO
    INDEX 00 22:49:18
    INDEX 01 22:51:17
  TRACK 06 AUDIO
    INDEX 00 25:09:19
    INDEX 01 25:11:18
  TRACK 07 AUDIO
    INDEX 00 27:29:20
    INDEX 01 27:31:19
  TRACK 08 AUDIO
    INDEX 00 29:49:21
    INDEX 01 29:51:20
  TRACK 09 AUDIO
    INDEX 00 31:53:51
    INDEX 01 31:55:50
  TRACK 10 AUDIO
    INDEX 00 33:24:34
    INDEX 01 33:26:33
  TRACK 11 AUDIO
    INDEX 00 35:08:06
    INDEX 01 35:10:05
  TRACK 12 AUDIO
    INDEX 00 37:10:65
    INDEX 01 37:12:64
  TRACK 13 AUDIO
    INDEX 00 39:06:17
    INDEX 01 39:08:16
  TRACK 14 AUDIO
    INDEX 00 40:57:23
    INDEX 01 40:59:22
  TRACK 15 AUDIO
    INDEX 00 43:11:54
    INDEX 01 43:13:53
  TRACK 16 AUDIO
    INDEX 00 45:01:71
    INDEX 01 45:03:70
  TRACK 17 AUDIO
    INDEX 00 45:19:49
    INDEX 01 45:21:48
  TRACK 18 AUDIO
    INDEX 00 45:33:27
    INDEX 01 45:35:26
  TRACK 19 AUDIO
    INDEX 00 45:43:17
    INDEX 01 45:45:16
  TRACK 20 AUDIO
    INDEX 00 45:51:66
    INDEX 01 45:53:65
  TRACK 21 AUDIO
    INDEX 00 46:02:64
    INDEX 01 46:04:63
  TRACK 22 AUDIO
    INDEX 00 48:09:68
    INDEX 01 48:11:67
  TRACK 23 AUDIO
    INDEX 00 50:39:24
    INDEX 01 50:41:23
  TRACK 24 AUDIO
    INDEX 00 53:36:23
    INDEX 01 53:38:22
    INDEX 02 53:41:00
    INDEX 03 53:44:05
    INDEX 04 53:48:33
    INDEX 05 53:51:57
    INDEX 06 53:55:05
    INDEX 07 53:58:28
    INDEX 08 54:01:50
    INDEX 09 54:06:03
    INDEX 10 54:09:08
  TRACK 25 AUDIO
    INDEX 00 54:13:36
    INDEX 01 54:15:35
    INDEX 02 54:20:34
    INDEX 03 54:29:63
    INDEX 04 54:33:73
    INDEX 05 54:45:61
    INDEX 06 54:50:14
    INDEX 07 54:53:57
    INDEX 08 54:58:51
    INDEX 09 55:03:11
    INDEX 10 55:07:55
    INDEX 11 55:11:03
    INDEX 12 55:14:16
    INDEX 13 55:23:39
    INDEX 14 55:26:72
    INDEX 15 55:30:30
    INDEX 16 55:35:62
  TRACK 26 AUDIO
    INDEX 00 55:40:35
    INDEX 01 55:42:34
    INDEX 02 55:48:25
    INDEX 03 55:58:22
    INDEX 04 56:07:59
    INDEX 05 56:14:02
    INDEX 06 56:21:12
    INDEX 07 56:26:07
    INDEX 08 56:29:57
    INDEX 09 56:35:41
    INDEX 10 56:39:45
    INDEX 11 56:43:33
    INDEX 12 56:48:16
    INDEX 13 56:53:64
    INDEX 14 57:00:57
  TRACK 27 AUDIO
    INDEX 00 57:08:19
    INDEX 01 57:10:18
    INDEX 02 57:16:35
    INDEX 03 57:20:64
    INDEX 04 57:26:41
    INDEX 05 57:29:37
    INDEX 06 57:34:56
    INDEX 07 57:38:51
    INDEX 08 57:41:54
    INDEX 09 57:45:66
  TRACK 28 AUDIO
    INDEX 00 57:50:18
    INDEX 01 57:52:17
    INDEX 02 57:55:47
    INDEX 03 58:02:59
    INDEX 04 58:06:07
    INDEX 05 58:15:10
    INDEX 06 58:19:04
    INDEX 07 58:23:03
    INDEX 08 58:26:13
    INDEX 09 58:33:64
    INDEX 10 58:38:17
    INDEX 11 58:44:04
    INDEX 12 58:49:51
    INDEX 13 58:56:10
    INDEX 14 59:01:38
    INDEX 15 59:08:74
    INDEX 16 59:12:12
    INDEX 17 59:17:09
    INDEX 18 59:21:44
    INDEX 19 59:28:41
    INDEX 20 59:32:50
    INDEX 21 59:38:23
    INDEX 22 59:43:09
    INDEX 23 59:48:63
  TRACK 29 AUDIO
    INDEX 00 59:53:03
    INDEX 01 59:55:02
    INDEX 02 60:02:29
    INDEX 03 60:07:11
    INDEX 04 60:15:33
    INDEX 05 60:17:63
    INDEX 06 60:23:12
    INDEX 07 60:28:18
    INDEX 08 60:35:18
  TRACK 30 AUDIO
    INDEX 00 60:39:63
    INDEX 01 60:41:62
    INDEX 02 60:49:67
    INDEX 03 60:56:02
    INDEX 04 61:00:36
    INDEX 05 61:08:67
    INDEX 06 61:14:15
    INDEX 07 61:22:08
  TRACK 31 AUDIO
    INDEX 00 61:30:47
    INDEX 01 61:32:46
    INDEX 02 61:41:39
    INDEX 03 61:47:12
    INDEX 04 61:50:28
    INDEX 05 61:57:74
    INDEX 06 62:01:28
  TRACK 32 AUDIO
    INDEX 00 62:07:13
    INDEX 01 62:09:12
    INDEX 02 62:18:48
    INDEX 03 62:22:49
    INDEX 04 62:33:03
    INDEX 05 62:39:07
    INDEX 06 62:42:53
    INDEX 07 62:50:05
CHD creation
bash
$ chdman createcd -i "purikura.cue" -o "purikura.chd"
chdman - MAME Compressed Hunks of Data (CHD) manager 0.247 (unknown)
Output CHD:   purikura.chd
Input file:   purikura.cue
Input tracks: 32
Input length: 62:56:22
Compression:  cdlz (CD LZMA), cdzl (CD Deflate), cdfl (CD FLAC)
Logical size: 693,459,648
Compression complete ... final ratio = 52.7%            
CHD information
bash
$ chdman info -v -i "purikura.chd"
chdman - MAME Compressed Hunks of Data (CHD) manager 0.247 (unknown)
Input file:   purikura.chd
File Version: 5
Logical size: 693,459,648 bytes
Hunk Size:    19,584 bytes
Total Hunks:  35,410
Unit Size:    2,448 bytes
Total Units:  283,276
Compression:  cdlz (CD LZMA), cdzl (CD Deflate), cdfl (CD FLAC)
CHD size:     365,490,028 bytes
Ratio:        52.7%
SHA1:         d5bd4c7df597101def2081b548bc1f07932e67d1
Data SHA1:    e4af08ad9e0953398db4a00e0ba2206f6e4d41f4
Metadata:     Tag='CHT2'  Index=0  Length=92 bytes
              TRACK:1 TYPE:MODE1_RAW SUBTYPE:NONE FRAMES:71190 PREGAP:0 PGTYPE:MODE1 PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=1  Length=91 bytes
              TRACK:2 TYPE:AUDIO SUBTYPE:NONE FRAMES:10501 PREGAP:150 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=2  Length=91 bytes
              TRACK:3 TYPE:AUDIO SUBTYPE:NONE FRAMES:10501 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=3  Length=91 bytes
              TRACK:4 TYPE:AUDIO SUBTYPE:NONE FRAMES:10501 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=4  Length=91 bytes
              TRACK:5 TYPE:AUDIO SUBTYPE:NONE FRAMES:10501 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=5  Length=91 bytes
              TRACK:6 TYPE:AUDIO SUBTYPE:NONE FRAMES:10501 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=6  Length=91 bytes
              TRACK:7 TYPE:AUDIO SUBTYPE:NONE FRAMES:10501 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=7  Length=90 bytes
              TRACK:8 TYPE:AUDIO SUBTYPE:NONE FRAMES:9330 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=8  Length=90 bytes
              TRACK:9 TYPE:AUDIO SUBTYPE:NONE FRAMES:6808 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=9  Length=91 bytes
              TRACK:10 TYPE:AUDIO SUBTYPE:NONE FRAMES:7772 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=10  Length=91 bytes
              TRACK:11 TYPE:AUDIO SUBTYPE:NONE FRAMES:9209 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=11  Length=91 bytes
              TRACK:12 TYPE:AUDIO SUBTYPE:NONE FRAMES:8652 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=12  Length=91 bytes
              TRACK:13 TYPE:AUDIO SUBTYPE:NONE FRAMES:8331 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=13  Length=92 bytes
              TRACK:14 TYPE:AUDIO SUBTYPE:NONE FRAMES:10081 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=14  Length=91 bytes
              TRACK:15 TYPE:AUDIO SUBTYPE:NONE FRAMES:8267 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=15  Length=91 bytes
              TRACK:16 TYPE:AUDIO SUBTYPE:NONE FRAMES:1328 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=16  Length=91 bytes
              TRACK:17 TYPE:AUDIO SUBTYPE:NONE FRAMES:1028 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=17  Length=90 bytes
              TRACK:18 TYPE:AUDIO SUBTYPE:NONE FRAMES:740 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=18  Length=90 bytes
              TRACK:19 TYPE:AUDIO SUBTYPE:NONE FRAMES:649 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=19  Length=90 bytes
              TRACK:20 TYPE:AUDIO SUBTYPE:NONE FRAMES:823 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=20  Length=91 bytes
              TRACK:21 TYPE:AUDIO SUBTYPE:NONE FRAMES:9529 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=21  Length=92 bytes
              TRACK:22 TYPE:AUDIO SUBTYPE:NONE FRAMES:11206 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=22  Length=92 bytes
              TRACK:23 TYPE:AUDIO SUBTYPE:NONE FRAMES:13274 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=23  Length=91 bytes
              TRACK:24 TYPE:AUDIO SUBTYPE:NONE FRAMES:2788 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=24  Length=91 bytes
              TRACK:25 TYPE:AUDIO SUBTYPE:NONE FRAMES:6524 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=25  Length=91 bytes
              TRACK:26 TYPE:AUDIO SUBTYPE:NONE FRAMES:6584 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=26  Length=91 bytes
              TRACK:27 TYPE:AUDIO SUBTYPE:NONE FRAMES:3149 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=27  Length=91 bytes
              TRACK:28 TYPE:AUDIO SUBTYPE:NONE FRAMES:9210 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=28  Length=91 bytes
              TRACK:29 TYPE:AUDIO SUBTYPE:NONE FRAMES:3510 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=29  Length=91 bytes
              TRACK:30 TYPE:AUDIO SUBTYPE:NONE FRAMES:3809 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=30  Length=91 bytes
              TRACK:31 TYPE:AUDIO SUBTYPE:NONE FRAMES:2741 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.
Metadata:     Tag='CHT2'  Index=31  Length=91 bytes
              TRACK:32 TYPE:AUDIO SUBTYPE:NONE FRAMES:3684 PREGAP:149 PGTYPE:VAUDIO PGSUB:NONE POSTGAP:0.

     Hunks  Percent  Name
----------  -------  ------------------------------------
     2,355     6.7%  Copy from self                          
     9,370    26.5%  CD LZMA                                 
        22     0.1%  CD Deflate                              
    23,663    66.8%  CD FLAC                                 
CHD extraction
bash
$ chdman extractcd -i "purikura.chd" -o "purikura.cue"
chdman - MAME Compressed Hunks of Data (CHD) manager 0.247 (unknown)
Output TOC:   purikura.cue
Output Data:  purikura.bin
Input CHD:    purikura.chd
Extraction complete                                    
Extracted cuesheet
cue-sheet
FILE "purikura.bin" BINARY
  TRACK 01 MODE1/2352
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    INDEX 00 15:49:15
    INDEX 01 15:51:15
  TRACK 03 AUDIO
    INDEX 00 18:09:16
    INDEX 01 18:11:15
  TRACK 04 AUDIO
    INDEX 00 20:29:17
    INDEX 01 20:31:16
  TRACK 05 AUDIO
    INDEX 00 22:49:18
    INDEX 01 22:51:17
  TRACK 06 AUDIO
    INDEX 00 25:09:19
    INDEX 01 25:11:18
  TRACK 07 AUDIO
    INDEX 00 27:29:20
    INDEX 01 27:31:19
  TRACK 08 AUDIO
    INDEX 00 29:49:21
    INDEX 01 29:51:20
  TRACK 09 AUDIO
    INDEX 00 31:53:51
    INDEX 01 31:55:50
  TRACK 10 AUDIO
    INDEX 00 33:24:34
    INDEX 01 33:26:33
  TRACK 11 AUDIO
    INDEX 00 35:08:06
    INDEX 01 35:10:05
  TRACK 12 AUDIO
    INDEX 00 37:10:65
    INDEX 01 37:12:64
  TRACK 13 AUDIO
    INDEX 00 39:06:17
    INDEX 01 39:08:16
  TRACK 14 AUDIO
    INDEX 00 40:57:23
    INDEX 01 40:59:22
  TRACK 15 AUDIO
    INDEX 00 43:11:54
    INDEX 01 43:13:53
  TRACK 16 AUDIO
    INDEX 00 45:01:71
    INDEX 01 45:03:70
  TRACK 17 AUDIO
    INDEX 00 45:19:49
    INDEX 01 45:21:48
  TRACK 18 AUDIO
    INDEX 00 45:33:27
    INDEX 01 45:35:26
  TRACK 19 AUDIO
    INDEX 00 45:43:17
    INDEX 01 45:45:16
  TRACK 20 AUDIO
    INDEX 00 45:51:66
    INDEX 01 45:53:65
  TRACK 21 AUDIO
    INDEX 00 46:02:64
    INDEX 01 46:04:63
  TRACK 22 AUDIO
    INDEX 00 48:09:68
    INDEX 01 48:11:67
  TRACK 23 AUDIO
    INDEX 00 50:39:24
    INDEX 01 50:41:23
  TRACK 24 AUDIO
    INDEX 00 53:36:23
    INDEX 01 53:38:22
  TRACK 25 AUDIO
    INDEX 00 54:13:36
    INDEX 01 54:15:35
  TRACK 26 AUDIO
    INDEX 00 55:40:35
    INDEX 01 55:42:34
  TRACK 27 AUDIO
    INDEX 00 57:08:19
    INDEX 01 57:10:18
  TRACK 28 AUDIO
    INDEX 00 57:50:18
    INDEX 01 57:52:17
  TRACK 29 AUDIO
    INDEX 00 59:53:03
    INDEX 01 59:55:02
  TRACK 30 AUDIO
    INDEX 00 60:39:63
    INDEX 01 60:41:62
  TRACK 31 AUDIO
    INDEX 00 61:30:47
    INDEX 01 61:32:46
  TRACK 32 AUDIO
    INDEX 00 62:07:13
    INDEX 01 62:09:12

Data is identical, but audio track indexes beyond 01 are missing.