{"id":310,"date":"2006-08-24T19:20:19","date_gmt":"2006-08-25T02:20:19","guid":{"rendered":"http:\/\/multimedia.cx\/eggs\/cd-detection-experiment\/"},"modified":"2006-08-24T19:20:19","modified_gmt":"2006-08-25T02:20:19","slug":"cd-detection-experiment","status":"publish","type":"post","link":"https:\/\/multimedia.cx\/eggs\/cd-detection-experiment\/","title":{"rendered":"CD Detection Experiment"},"content":{"rendered":"<p>Some years ago, I wrote a program named the CD Detection Experiment to toy around with compact discs. I reference this tool often in my <a href=\"http:\/\/multimedia.cx\/mmjournal.html\">Multimedia Exploration Journal<\/a>. The end goal was a tool that could analyze a variety of different CD types, including mode 2 discs, Philips CD-I discs, and 3DO discs. All it does is open a raw CD device under Unix, check the first few sectors, and decide what kind of CD is in the drive. I&#8217;m trying to remember if this tool preceded my CD-related work for <a href=\"http:\/\/xinehq.de\">xine<\/a> or if I used code from my xine work in this program. There is code for Solaris and FreeBSD reading, so I am guessing that I based this on the xine work.<\/p>\n<p><center><br \/>\n<img decoding=\"async\" src=\"\/eggs\/images\/Nuvola_devices_cdrom_unmount.png\" alt=\"CD\" \/><img decoding=\"async\" src=\"\/eggs\/images\/Nuvola_devices_cdaudio_unmount.png\" alt=\"CD\" \/><img decoding=\"async\" src=\"\/eggs\/images\/Nuvola_devices_cdwriter_unmount.png\" alt=\"CD\" \/><br \/>\n<\/center><\/p>\n<p>Anyway, if you care, <a href=\"http:\/\/multimedia.cx\/cdexp.c\">here is the code<\/a>. Here is some sample output, from that <a href=\"http:\/\/www.mobygames.com\/game\/windows\/ian-livingstones-deathtrap-dungeon\"><em>Deathtrap Dungeon<\/em><\/a> game discussed <a href=\"http:\/\/multimedia.cx\/mmentry-2006-08-13.html\">in this journal entry<\/a>, the one with a weird mixed mode:<\/p>\n<pre>\r\n$ .\/cdexp \/dev\/cdrom\r\nCD Detection Experiment\r\ntoc:\r\n  first track = 1\r\n   last track = 18\r\n\r\ntoc entries:\r\nleadout track: MSF: 76:16:18, first frame = 343218\r\ntrack  1,  data, MSF: 00:02:00, first frame = 150\r\n mode 1 data\r\n iso9660 fs signature found\r\n system id =\r\n volume id = Deathtrap\r\ntrack  2, audio, MSF: 28:09:14, first frame = 126689\r\ntrack  3, audio, MSF: 30:37:58, first frame = 137833\r\ntrack  4, audio, MSF: 32:37:28, first frame = 146803\r\ntrack  5, audio, MSF: 35:32:30, first frame = 159930\r\ntrack  6, audio, MSF: 39:57:58, first frame = 179833\r\ntrack  7, audio, MSF: 43:07:24, first frame = 194049\r\ntrack  8, audio, MSF: 45:45:35, first frame = 205910\r\ntrack  9, audio, MSF: 49:33:19, first frame = 222994\r\ntrack 10, audio, MSF: 52:38:22, first frame = 236872\r\ntrack 11, audio, MSF: 55:17:04, first frame = 248779\r\ntrack 12, audio, MSF: 58:13:66, first frame = 262041\r\ntrack 13, audio, MSF: 60:28:28, first frame = 272128\r\ntrack 14, audio, MSF: 62:43:43, first frame = 282268\r\ntrack 15, audio, MSF: 64:59:33, first frame = 292458\r\ntrack 16, audio, MSF: 67:14:00, first frame = 302550\r\ntrack 17, audio, MSF: 75:36:00, first frame = 340200\r\ntrack 18,  data, MSF: 76:00:00, first frame = 342000\r\n mode 1 data\r\n iso9660 fs signature found\r\n system id =\r\n volume id = Deathtrap\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Some years ago, I wrote a program named the CD Detection Experiment to toy around with compact discs. I reference this tool often in my Multimedia Exploration Journal. The end goal was a tool that could analyze a variety of different CD types, including mode 2 discs, Philips CD-I discs, and 3DO discs. All it [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-310","post","type-post","status-publish","format-standard","hentry","category-open-source-multimedia"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/310","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/comments?post=310"}],"version-history":[{"count":0,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/310\/revisions"}],"wp:attachment":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/media?parent=310"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/categories?post=310"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/tags?post=310"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}