I think I got it.
Your software and Schtrom's where huge in my figuring this thing out. I can't you enough for you hardwork.
Although there are still some unknowns to me.
I find this site usefull on xdvdfs:
http://home.comcast..../dvddrives.htmlThe problem is, I could find documentation for the CDB commands, just functions that say... unlock a drive... or get disk format information. In schtrom's software he has the command below.
//Read Video Sector On Disc (Sector 32)= 28 00 00 00 00 10 00 00 01 00
I made the below assumtions based on playing with it a little. I started to increase the "10" until I got to 20. Then I saw "MICROSOFT*XBOX*MEDIA" the link says that I should find that at sector 32... (20 in hex is 32). Then the 6th postion must be the last Byte for addressing.
I used the info on the link to find the start of the TOC, 7D 38 1B 00 (however it's in little endian) below is the core what will return the TOC
// command descriptor block (CDB)
sptd->Cdb[0] = 0x28; // <- read sense mode?
sptd->Cdb[1] = 0x00; //
sptd->Cdb[2] = 0x00; // <- start address bytes
sptd->Cdb[3] = 0x1B; //
sptd->Cdb[4] = 0x38; //
sptd->Cdb[5] = 0x7D; // <- end address bytes
sptd->Cdb[6] = 0x00; //
sptd->Cdb[7] = 0x20; // <- blocks to read
sptd->Cdb[8] = 0x01; // <- offset?
sptd->Cdb[9] = 0x00; //
sptd->Cdb[10] = 0x00; //
sptd->Cdb[11] = 0x00; //
If you don't mind I'll clean up my code and post it. It will be a simple C++ program that will write the TOC to the screen.
I don't really know that the other commands do, I'm totally guessing but this will return a TOC on Call of Duty 2.
Why do I want to do this crazy thing?
I'm a contractor, a little dvd rental company a year ago asked me to help with a automated return system. You put movie into a slot and a robotic arm (sounds much cooler than it is) puts your disk into a drive and checks to make the disk is playable, and it's the movie you rented. Then closes your account and puts the disk in a stack to be returned to inventory.
Movies have a ID so they where really easy to make a system validate your return.
It worked so well, they asked me to expand this to games... only there is allot trickery with games. I spoke to the game companies and they refused to help.
PS2 has an ID
PS3 was a snap. (Lite-on drive)
Wii took a little work but a number of Hitachi drives will return a full data frame which is needed to describable the frame as the CRC and payload segments are swapped.
That left the Xbox, which has taken me the longest.
I guess the outcome is peoples returns will go a bit quicker, and I'll post my leanings so hopefully others can learn from what has been done as I have.