trunk/src/lib/util/chdcd.c
| r20091 | r20092 | |
| 377 | 377 | offset = 0; |
| 378 | 378 | for (track = start; track <= end; track++) |
| 379 | 379 | { |
| 380 | | UINT32 size, mode; |
| 380 | UINT32 size, mode, unknown; |
| 381 | 381 | UINT64 index0, index1, track_end; |
| 382 | 382 | |
| 383 | 383 | fseek(infile, 12, SEEK_CUR); // skip ISRC code |
| 384 | 384 | size = read_uint16(infile); |
| 385 | | mode = read_uint32(infile); |
| 385 | mode = read_uint16(infile); |
| 386 | unknown = read_uint16(infile); |
| 386 | 387 | index0 = read_uint64(infile); |
| 387 | 388 | index1 = read_uint64(infile); |
| 388 | 389 | track_end = read_uint64(infile); |
| r20091 | r20092 | |
| 393 | 394 | outinfo.track[track-1].idx0offs = 0; |
| 394 | 395 | outinfo.track[track-1].idx1offs = 0; |
| 395 | 396 | |
| 396 | | switch (mode>>24) |
| 397 | switch (mode) |
| 397 | 398 | { |
| 398 | 399 | case 0x0000: // 2048 byte data |
| 399 | 400 | outtoc.tracks[track-1].trktype = CD_TRACK_MODE1; |
| r20091 | r20092 | |
| 410 | 411 | fclose(infile); |
| 411 | 412 | return CHDERR_NOT_SUPPORTED; |
| 412 | 413 | |
| 413 | | case 0x06: // 2352 byte mode 2 raw |
| 414 | case 0x0600: // 2352 byte mode 2 raw |
| 414 | 415 | outtoc.tracks[track-1].trktype = CD_TRACK_MODE2_RAW; |
| 415 | 416 | outinfo.track[track-1].swap = false; |
| 416 | 417 | break; |