Lines 656-661
static int scsi_read_toc (cdrom_drive *d
Link Here
|
656 |
|
656 |
|
657 |
/* read the header first */ |
657 |
/* read the header first */ |
658 |
unsigned char sense[SG_MAX_SENSE]; |
658 |
unsigned char sense[SG_MAX_SENSE]; |
|
|
659 |
const unsigned char orig_cmd[10] = { 0x43, 0, 0, 0, 0, 0, 1, 0, 12, 0}; |
659 |
unsigned char cmd[10] = { 0x43, 0, 0, 0, 0, 0, 1, 0, 12, 0}; |
660 |
unsigned char cmd[10] = { 0x43, 0, 0, 0, 0, 0, 1, 0, 12, 0}; |
660 |
cmd[1]=d->lun<<5; |
661 |
cmd[1]=d->lun<<5; |
661 |
|
662 |
|
Lines 674-680
static int scsi_read_toc (cdrom_drive *d
Link Here
|
674 |
} |
675 |
} |
675 |
|
676 |
|
676 |
for (i = first; i <= last; i++){ |
677 |
for (i = first; i <= last; i++){ |
677 |
memcpy(cmd, (char []){ 0x43, 0, 0, 0, 0, 0, 0, 0, 12, 0}, 10); |
678 |
memcpy(cmd, orig_cmd, 10); |
678 |
cmd[1]=d->lun<<5; |
679 |
cmd[1]=d->lun<<5; |
679 |
cmd[6]=i; |
680 |
cmd[6]=i; |
680 |
|
681 |
|
Lines 695-701
static int scsi_read_toc (cdrom_drive *d
Link Here
|
695 |
} |
696 |
} |
696 |
} |
697 |
} |
697 |
|
698 |
|
698 |
memcpy(cmd, (char []){ 0x43, 0, 0, 0, 0, 0, 0, 0, 12, 0}, 10); |
699 |
memcpy(cmd, orig_cmd, 10); |
699 |
cmd[1]=d->lun<<5; |
700 |
cmd[1]=d->lun<<5; |
700 |
cmd[6]=0xAA; |
701 |
cmd[6]=0xAA; |
701 |
|
702 |
|
Lines 745-751
static int scsi_read_toc2 (cdrom_drive *
Link Here
|
745 |
} |
746 |
} |
746 |
|
747 |
|
747 |
for (i = 0; i < tracks; i++){ |
748 |
for (i = 0; i < tracks; i++){ |
748 |
memcpy(cmd, (char[]){ 0xe5, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 10); |
749 |
memset(cmd, 0, 10); |
|
|
750 |
cmd[0]=0xe5; |
749 |
cmd[5]=i+1; |
751 |
cmd[5]=i+1; |
750 |
cmd[8]=255; |
752 |
cmd[8]=255; |
751 |
|
753 |
|