Jump to content
Sony Insider Forums

Control software for MDS-E11

Rate this topic


Recommended Posts

  • Replies 57
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

29 minutes ago, kgallen said:

Try this page for the RS232 protocol:

https://www.minidisc.org/part_Sony_MDS-E11.html

It's RS232 electrically which is a standard, maybe still on your PC. It's what you send over it that is the creative bit.

Hello!

Yes, already found that page but unfortunately the link to the software is dead. :-(

I did get the protocol specification and it is simple enough. I can make my own software if I cannot find something already working. 

Best regards, Jonas

Link to post
Share on other sites
19 minutes ago, JonasE said:

but unfortunately the link to the software is dead. :-(

No surprises there I guess!

There are a number of ongoing projects on the Forum related to PC transfer, titling and the like. If you develop anything, even something basic, then come back and share it, there will be interest. On my part I have MDS-E12 machines with RS232 and I've been meaning to have a play at some point. I suspect the E11 and E12 share pretty much the same protocol.

Let us know what you're up to - you don't need to come back with a canned/polished product! This is your thread, so use it to share your ongoing thoughts and experiments. We look forward to them!

Kevin

Link to post
Share on other sites
8 minutes ago, kgallen said:

No surprises there I guess!

There are a number of ongoing projects on the Forum related to PC transfer, titling and the like. If you develop anything, even something basic, then come back and share it, there will be interest. On my part I have MDS-E12 machines with RS232 and I've been meaning to have a play at some point. I suspect the E11 and E12 share pretty much the same protocol.

Let us know what you're up to - you don't need to come back with a canned/polished product! This is your thread, so use it to share your ongoing thoughts and experiments. We look forward to them!

Kevin

Hello!

I think it would be hard for me NOT to develop a .dll for E11 communication applications using simple .NET developing tools. :-) Far to interesting to stay away from. Both .dll and application (with source) will be shared if I get that far. :-)

Yes, I think some detail was different on one or two commands regarding the E12, so a .dll should easily be able to handle both. We will see. First my E11 must arrive in working condition and then I have to find myself a USB-RS232 converter working with W10. :-)

Best regards, Jonas

Link to post
Share on other sites
7 minutes ago, JonasE said:

I think it would be hard for me NOT to develop a .dll for E11 communication applications using simple .NET developing tools. :-) Far too interesting to stay away from. Both .dll and application (with source) will be shared if I get that far. :-)

Hi Jonas,

It sounds like you're the person for the job!

Any low level/hardware stuff I could probably help. Now you're talking DLLs and .NET you're on your own - I am certainly interested but my C coding is not at that standard! However there are plenty of similarly capable contributors on the forum (nudge @sfbp) so make sure you shout up if you get in a pickle.

Kevin

 

Link to post
Share on other sites
  • 3 weeks later...

I got a decent USB to RS232 adapter and plugged it in. It seems to work fine.

Wrote some code to make it play, stop, ffwd, rev, pause.... Working my way through the specification, currently at 6.22.

Can't make Divide Adjust work. It makes the divide instead of adjusting. Probably me. :-)

Just to let you know something is happening.

Best regards, Jonas

 

Capture.PNG

Link to post
Share on other sites

Great stuff!

The Divide function (when done by buttons) is always twothree-phase. So either there's a parameter there or you have to do some other command first.

(edit)

Ok i get it, you tried the divide and THEN Div-Adj. 100 sounds like a quite a lot maybe too much.

Link to post
Share on other sites
12 hours ago, sfbp said:

Great stuff!

The Divide function (when done by buttons) is always twothree-phase. So either there's a parameter there or you have to do some other command first.

(edit)

Ok i get it, you tried the divide and THEN Div-Adj. 100 sounds like a quite a lot maybe too much.

No, it actually was an error in the specification. They messed that one up... (Just to confuse the Russians, perhaps... Worked on Swedes too) Looking in the "command quick reference" gave a clue to how it should be, and now it works. :-)

Commands are getting more complex now, but I will get it done. Once done with this I will make an application that fits my needs (splitting, combining, naming etc) and then I will release the source (a GIT somewhere) for anyone to add functions or use as they want.

Best regards, Jonas

Link to post
Share on other sites

Hi Jonas,

Great project! Would it be possible to have a function that downloads all the metadata? Something like this in csv format.

Artist

Album Title

         Track1 title         Track1 length

         Track2 title         Track2 length

         etc....

It would be very useful for archiving disks and labelling.

John O

 

Link to post
Share on other sites
2 hours ago, John_O said:

Hi Jonas,

Great project! Would it be possible to have a function that downloads all the metadata? Something like this in csv format.

Artist

Album Title

         Track1 title         Track1 length

         Track2 title         Track2 length

         etc....

It would be very useful for archiving disks and labelling.

John O

 

Hello!

That is a few commands ahead from where I am now, but most likely that would be very easy to do once I get through the specification. :-)

Best regards, Jonas

Link to post
Share on other sites

Continues work.... Only 4 commands left now (mostly naming), but there might be a few more responses left than that. I can read status, disc name, track names and their length, etc... The specification is full of bugs, and probably my code is too. :-) The last command i made was "read all names". It should reply with disc name and then all track names in the same manner as when asking for them individually. Disc name is ok, but the track names are just not working. First I thought I might have a buffer underrun using the COM port (9600 bps should be slow enough, though...) but then i noticed packet types were just....wrong. And sometimes it starts sending a new packet in the middle of another one. Same place every time I try it. So, either there is still something very wrong with my receiving of serial data or my MDS-E11 is not sending packets correctly. In either case, this command is not critical and can be implemented by using the other (working) commands, even if that approach is a bit slower. I can go back to this later, perhaps, and do more tests.

So, a few more hours and it should be done. Then I will make the application itself, very exciting! :-)

Link to post
Share on other sites

I have a PC with DB25 serial port running Win7, so I'll be happy to give this software a go with my MDS-E12 machines (assuming I can find an RS232 DB25-DB9 serial lead!).

Kevin

Link to post
Share on other sites
5 minutes ago, kgallen said:

I have a PC with DB25 serial port running Win7, so I'll be happy to give this software a go with my MDS-E12 machines (assuming I can find an RS232 DB25-DB9 serial lead!).

Kevin

I have not implemented the special version of the COMBINE commands for the E12, but the rest should work! And when the rest DOES work we can try to get the COMBINE to work with the E12 too if you are willing to test (perhaps a few times). :-)

Link to post
Share on other sites
41 minutes ago, JonasE said:

I have not implemented the special version of the COMBINE commands for the E12, but the rest should work! And when the rest DOES work we can try to get the COMBINE to work with the E12 too if you are willing to test (perhaps a few times). :-)

No problem! Personally I'm not too worried about that COMBINE command, but I'm happy to try and help debug your implementation of it!

I'm interested what can be done over this interface, particularly how I might either link two MDS-E12 together or if I could create an interface to my lighting console - so being able to trigger the MD players from a DMX or Art-Net or sACN command. This of course would require me to use something like a Raspberry Pi to interface between the two, but from the software side I'd be interested if your code could run on a Pi (of which I know relatively little, generally being an Arduino user).

Link to post
Share on other sites
14 minutes ago, kgallen said:

No problem! Personally I'm not too worried about that COMBINE command, but I'm happy to try and help debug your implementation of it!

I'm interested what can be done over this interface, particularly how I might either link two MDS-E12 together or if I could create an interface to my lighting console - so being able to trigger the MD players from a DMX or ArtNet or sACN command. This of course would require me to use something like a Raspberry Pi to interface between the two, but from the software side I'd be interested if your code could run on a Pi (of which I know relatively little, generally being an Arduino user).

I thought of the Arduino, too... :-) I'm not sure what I would use it for, though. Making an answering machine is kind of out of date. :-) But I did think of making a jukebox. A 3d-printed mechanism to change discs would not be THAT hard, would it? A carousel with 50 discs should be no problem. And then an Arduino to control it all. :-) Perhaps with two players to have it play more or less without wait between songs. Will never have time for this, but cool it would be. 

Running the code I'm writing now on a Pi CAN be done using, for example, Mono. I'm not sure how the serial port will work, though. Probably a good idea to make a C implementation later. This could be implemented to work at the command line, callable from all types of scripts, etc.  Should not be too much of a problem with the C# implementation as a reference.

 

 

Link to post
Share on other sites
38 minutes ago, kgallen said:

No problem! Personally I'm not too worried about that COMBINE command, but I'm happy to try and help debug your implementation of it!

I'm interested what can be done over this interface, particularly how I might either link two MDS-E12 together or if I could create an interface to my lighting console - so being able to trigger the MD players from a DMX or ArtNet or sACN command. This of course would require me to use something like a Raspberry Pi to interface between the two, but from the software side I'd be interested if your code could run on a Pi (of which I know relatively little, generally being an Arduino user).

And, what do you want to do with two linked E12?

Link to post
Share on other sites
2 minutes ago, JonasE said:

And, what do you want to do with two linked E12?

I would like to be able to make an MD disc clone (so I can create a backup disc of a master with SFX/music on for theatre) - well at least copy all audio and title tracks. Possibly I can already do this with the SPDIF plus CTRL-S link. But it was a thought, I'm intrigued by the control possibilities...

Link to post
Share on other sites
2 minutes ago, kgallen said:

I would like to be able to make an MD disc clone (so I can create a backup disc of a master with SFX/music on for theatre) - well at least copy all audio and title tracks. Possibly I can already do this with the SPDIF plus CTRL-S link. But it was a thought, I'm intrigued by the control possibilities...

Ah. My next FPGA project will probably be a copy-bit eliminator. ;-) We will see how that turns out....

Link to post
Share on other sites
14 minutes ago, JonasE said:

Ah. My next FPGA project will probably be a copy-bit eliminator. ;-) We will see how that turns out....

Did you see our work here (page 2 on)? This could be done in a different way in FPGA but there is some analysis and info here (and the final FSM) that will be useful information.

The clock recovery (not in the scope of the below thread) is one of the hardest parts - possible you could integrate part of this into digital logic in the FPGA and maybe even use one of the on-chip DLLs (depending what family you're using), or use an external PLL chip like the various Elektor designs of old.

ETA: MDS-E12 has fully copy-bit control, so a "killer" is not needed. Don't know about your MDS-E11.

 

Link to post
Share on other sites
16 minutes ago, kgallen said:

Did you see our work here? This could be done in a different way in FPGA but there is some analysis and info here (and the final FSM) that will be useful information.

The clock recovery (not in the scope of the below thread) is one of the hardest part - possible you could integrate part of this into digital logic in the FPGA and maybe even use one of the on-chip DLLs (depending what family you're using), or use an external PLL chip like the various Elektor designs of old.

 

Ah, cool! You figured out the Elektor state machine! Well done. :-)

Designing that state machine must have been a real engineering job. :-)

 

Link to post
Share on other sites
26 minutes ago, kgallen said:

Did you see our work here (page 2 on)? This could be done in a different way in FPGA but there is some analysis and info here (and the final FSM) that will be useful information.

The clock recovery (not in the scope of the below thread) is one of the hardest parts - possible you could integrate part of this into digital logic in the FPGA and maybe even use one of the on-chip DLLs (depending what family you're using), or use an external PLL chip like the various Elektor designs of old.

ETA: MDS-E12 has fully copy-bit control, so a "killer" is not needed. Don't know about your MDS-E11.

 

...and I don't think it can be controlled in the E11. And my other machines are consumer machines, so they will need an eliminator if I want to copy anything more than once. :-)

Link to post
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.

Loading...

×
×
  • Create New...