Path: chuka.playstation.co.uk!news From: "Mario Wynands" Newsgroups: scea.yaroze.programming.sound Subject: Re: Bug in CdPlay() ? Date: Tue, 4 Nov 1997 03:04:08 +1300 Organization: PlayStation Net Yaroze (SCEE) Lines: 64 Message-ID: <63kld0$sk225@chuka.playstation.co.uk> References: <34400BAF.7675@teleport.com> <3459579b.57260624@205.149.189.29> NNTP-Posting-Host: p21-max6.well.ihug.co.nz X-Newsreader: Microsoft Outlook Express 4.71.1712.3 X-MimeOLE: Produced By Microsoft MimeOLE V4.71.1712.3 Mario Perdue wrote in message <3459579b.57260624@205.149.189.29>... >David, > >I received this reply from Sony. > >"CD Play is not sensitive to the contents of the disc. It simply >seeks to the timecode specified for the specified track, and starts >playing from there." > >"I suspect the problem here has to do with the fact that the program >is not debouncing the controller buttons at all. It's probably >skipping from one track to the next because it goes through the loop >several times before anything starts playing. The problem would >likely be worse for short tracks." > >"The program should either wait for the button to be released before >accepting further input, or else it should wait for a certain amount >of time to go by. Once the program has been changed this way, see if >the problem persists." This is DEFINITELY not the case. We can across this bug very early on when mucking around with the Yaroze system (seemed like one of the easier things to implement), and actually posted a similar cry for help (although nobody replied). Here is the source we used (doesn't get much simpler than this :) ) #include int tracks[10] = {10,4,6,8,1,3,5,7,9,0}; void main() { SsSetSerialAttr(SS_CD,SS_MIX,SS_SON); SsSetSerialVol(SS_CD,127,127); SsSetMVol(127,127); CdPlay(1,tracks,0); while(CdPlay(3,tracks,0) != -1); } Even if you hard code the order the tracks play in, some will still skip. Therefore it cannot be anything to do with the controller (our version doesn't even let you use the controller to select tracks). No matter how hard you try some tracks will just not play. The program WILL find the track, but skips straight over it as though the track were zero in length (you can see this when you watch SIOCONS run the program). We tried all sorts of things like putting in delays and outputting different variables. Nix, nada, nothing. After some experimentation we couldn't even find any kind of correlation between the tracks that wouldn't play. On some CDs tracks 2,3, and 9 might not play, on others 4, 7-12, 15, on others every track would work fine. Different length songs, different length CDs. You should be able to replicate the problem if you try a couple of CDs. I know that some tracks on the latest No Doubt album don't work (can't remember any others off hand - it has been a while since we gave up on this one). Mario Wynands