Jump to content

CDX reverse engineering


Guest rasteri

Recommended Posts

Had some fun today. Managed to dump the firmware from the PIC - https://drive.google.com/open?id=0B7FEmphzxtnxRjB3clJQUmlQZVk - Not had a chance to examine it properly yet. Interestingly seems totally devoid of strings.

 

Also been prodding around the mp3 board with my cheapo logic analyzer while playing a CD:

 

 

It seems to be spitting out standard I2S audio on the BCK/LRCK/PCMD pins at 88.2KHz, signed 24bit format.

Weirdly this seems to be duplicated on another set of pins (BCK-L, LRCK-L, PCMD-L), I dunno if that's the left channel and we're actually sampling at 176.4KHz Nope! The BCK/LRCK/PCMD are going TO the mp3 board, BCK-L/LRCK-L/PCMD-L are coming BACK from the mp3 board.

 

The DATA_MP3 and SCK pins don't seem to be doing anything with a standard audio CD, maybe they're used to send ID3 tag information when playing mp3s?

 

Anyway I reckon next step is to try injecting I2S data onto those pins to see what the CDX makes of them

  • Like 1
Link to comment
Share on other sites

It looks like the 88/24 I2S mode is how the servo spits out data by default - see page 72 of http://pdf.datasheetcatalog.com/datasheet/sony/a6803016.pdf

 

I think when it's playing CDs, the mp3 board just copies whatever comes in from the servo and passes it straight to the DSP. It looks like the PIC is responsible for telling the servo to change tracks and informs the DSP and MP3 board accordingly.

 

Seems like replacing the mp3 board with our own will be the way to add USB support to this thing. The PIC might have to be hacked but that's very doable.

  • Like 1
Link to comment
Share on other sites

If you are replacing the board and hacking the PIC, whats the chances of reading a tempo map file per song, melodyne spits out some unbelievable analysis of old all over the place music, a midi clock out using that tempo map would simplify the shit out of my live set up.

Currently i am having to put audio on left ch, then bake in a melodyne analysed metronome on the right channel, the audio metronome is fed to a red voyager which extracts it as midi clock, for syncing sequencers

Obviously a bit of funding for any extra work, would be forthcoming ;)

Link to comment
Share on other sites

Seems like replacing the mp3 board with our own will be the way to add USB support to this thing. The PIC might have to be hacked but that's very doable.

It could be possible attach one of these mpc1000 adaptors (scsi port emulators to cf card)?

I will love to upgrade with newer mp3 decoder board but maybe going the mpc route could be easy for most users searching for solution.

 

If you are replacing the board and hacking the PIC, whats the chances of reading a tempo map file per song, melodyne spits out some unbelievable analysis of old all over the place music, a midi clock out using that tempo map would simplify the shit out of my live set up.

Currently i am having to put audio on left ch, then bake in a melodyne analysed metronome on the right channel, the audio metronome is fed to a red voyager which extracts it as midi clock, for syncing sequencers

Obviously a bit of funding for any extra work, would be forthcoming ;)

I remember adjust time clock with the tap tempo button when it usually failed to match it. I find interesting the question Flexinoodle but my head drools about putting directly a Raspi with pd and start tinkering with the possibilities :d

Link to comment
Share on other sites

If you are replacing the board and hacking the PIC, whats the chances of reading a tempo map file per song

Sounds interesting but unlikely, the DSP chip handles all the tempo stuff and it's an obscure obsolete part. I'm unlikely to be able to get dev tools for it.

 

 

It could be possible attach one of these mpc1000 adaptors (scsi port emulators to cf card)?

I will love to upgrade with newer mp3 decoder board but maybe going the mpc route could be easy for most users searching for solution.

Wouldn't help, the CDX doesn't use SCSI. And replacing the mp3 board shouldn't be too hard, it won't require soldering.

  • Like 1
Link to comment
Share on other sites

 

If you are replacing the board and hacking the PIC, whats the chances of reading a tempo map file per song

Sounds interesting but unlikely, the DSP chip handles all the tempo stuff and it's an obscure obsolete part. I'm unlikely to be able to get dev tools for it

 

 

 

So the DSP is the only way to send out from the MIDI port ?

The tempo map itself doesn't actually do any tempo stuff, it is just a row of markers that sends MIDI clock tempo changes out the MIDI port, but in sync with the song that is playing

(I am guessing yes, and i am already gutted oooof back to the drawing board, one day a useful piece of DJ gear might appear)

Link to comment
Share on other sites

There is any sound format which incude this kind of info embeded, Flexi?

 

I was thinking something in the line with FLAC which has support for multitrack audio plus metadata (if I remember well) and it could be an open stem alternative to NI stems. Also useful for lots of dubwise ideas I had...

Edited by Mutis Mayfield
Link to comment
Share on other sites

No, no format supports it, but mp3 has that many free tags/attributes it could easily be saved in mp3, problem is, the only really usable BPM editor on DJ software is in Virtual DJ and even that is a very very poor compared to any DAW, and every DAW is very very poor conpared to Melodyne.

 

It is just the impossible dream really, as far as developers are concerned in the DJ world, play 4 to the floor music or piss off :(

Link to comment
Share on other sites

I believed the cdrom drive was SCSI! What kind of is it? I point these adaptors but it could be any suitable of course.

 

Anyways if change the mp3 board adresses all the problems so smart, let's go!

The thing that looks like a scsi connector is just wired straight through to the cd mechanism (a KSM-213CCM). There isn't any SCSI or ATAPI bus or anything.

 

I'm starting to think just replacing the servo board would be the way forward here, since the CXD3068Q has pretty extensive documentation and should be emulatable with a reasonable-speed microcontroller.

  • Like 1
Link to comment
Share on other sites

No, no format supports it, but mp3 has that many free tags/attributes it could easily be saved in mp3, problem is, the only really usable BPM editor on DJ software is in Virtual DJ and even that is a very very poor compared to any DAW, and every DAW is very very poor conpared to Melodyne.

It is just the impossible dream really, as far as developers are concerned in the DJ world, play 4 to the floor music or piss off :(

I'm still not sure if I understood right but it seems something so interesting to start a topic maybe...

 

 

I believed the cdrom drive was SCSI! What kind of is it? I point these adaptors but it could be any suitable of course.Anyways if change the mp3 board adresses all the problems so smart, let's go!

The thing that looks like a scsi connector is just wired straight through to the cd mechanism (a KSM-213CCM). There isn't any SCSI or ATAPI bus or anything.I'm starting to think just replacing the servo board would be the way forward here, since the CXD3068Q has pretty extensive documentation and should be emulatable with a reasonable-speed microcontroller.

So... It's not possible to emulate the drive? The connector lie me badly. Well also the usual SCSI on all (samplers, multitrackers...) made me asume it was.

The servo is the mp3 decoder? For the name it seems "motor driver" but I'm not going to supose nothing more x(

Link to comment
Share on other sites

So there are two boards connected to the main board, the servo board and the mp3 board. It's the servo board I'm thinking will be the bit to emulate.

 

The servo board is what speaks to the CD mechanism and controls the spindle and laser sled. Emulating it shouldn't be too hard - it's just some control lines, a couple of clocked serial lines for the subcode data, and the I2S output. There are loads of MCUs that should be able to handle that.

 

The mp3 board takes the output from the servo mechanism and (if we're playing an mp3) sends it to the DSP. I initially thought emulating this board might be the way to go, but you'd have to hack the PIC to ignore the servo board, and it looks like the DSP also speaks to the servo so you'd end up emulating bits of the servo anyway.

 

I did think about emulating the CD mechanism itself (the classic game console community has been down this road in the past), but the timing requirements are pretty tight so I'd probably need to start looking at CPLDs or FPGAs rather than just microcontrollers. Also it would mean having to emulate all the EFM and CIRC stuff that CDs do, and the actual interface between the mech and the servo board is pretty undocumented.

  • Like 1
Link to comment
Share on other sites

Thanks for the encouragement Dub/Flex.

 

The servo board is being pretty forthcoming :

 

 

Took a while to work out what all the signals did (it didn't help that they're mislabelled on the fucking PCB...), and had to learn more about CDs than I ever thought I'd need to, but it's mostly sussed now. Gotta start thinking about how I'm gonna connect a microcontroller to this thing.

 

EDIT : oh also, mp3 mode needs to be investigated, I didn't have any more blank CDs left today though, haha.

  • Like 4
Link to comment
Share on other sites

Sometimes friends giving support is the best tool one need to continue freakin'. Almost in my own I really appreciate all the mood of the forum members and of course the great job does Rasteri as usual. The cdx mod performed by my friend Norbert was really possible thanks to Rasteri contributions at Ucapps (scratcher box) and my part was being a nightmare coach for Norbert xDDD

 

Also the few or much I've learnt over the years was a mix between researching and sharing in loop mode. ;)

Edited by Mutis Mayfield
  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...