Jump to content

Controlling Sony Minidisc with MIDI


philetaylor
 Share

Recommended Posts

Hi.

Sorry if this is the wrong forum, but I am new here.

I am interested in the midibox project and I have an application that I would like to try. I have a sony MDS-E52 Minidisc Deck which can be fully controlled via an RS-232 interface. It appears that a good staring point for me would be to purchase a Core and LTC module and then write an interface between MMC and Sonys RS-232 protocol??

From searching the archives, somebody asked a similar question about 5 years ago but there didn't seem to be any follow-up other than it should be possible.

I am a C programmer and I have some experience of assembler (from college many years ago!) but before I embark on this project I wondered if it is likely to be possible? Can I use MIDI<->RS-232 with the LTC module and control what is sent over the RS-232 port or can it just be used as a TO-HOST style port?

Also the Sony desk only supports 9600,n,8,1. Is it possible to set this baud rate on the serial port and still support MIDI commands on the MIDI ports?

I would appreciate any pointers anybody can give me.

Thanks

Phil

Link to comment
Share on other sites

As you guessed, the basic core has only one serial port, and we usually use it for MIDI. (MIDI is a serial protocol at an odd baud rate).

So you are correct that you would need more ports to make this work. I have no experience with the LTC, so I'll do a bit of research.. (reading.. reading.. OK, I'm back)

I looked the LTC over. It can do the serial voltage changes I mentioned below with a MAX232, but you'll lose the MIDI ports to get the serial port. The IIC module can apparently add more MIDI ports for you.

Now we need an expert to tell us if we can use both at once. :-)

One other issue to watch out for is the serial voltage levels. "real" serial uses - and + 8 volts (approx, maybe more) But a "logic level" serial port usually uses +5 volts and GND (as it comes out of the PIC). You can use something like a MAX232 to create the odd voltages and do the level shifting. I can't tell if that will be needed without seeing more data on the minidisc player.

Finally, there are "standard" MIDI commands for start, stop, song position pointer etc. You may want to support the standards instead of making up your own as you go along. You can learn a lot about MIDI by reading a website like http://home.roadrunner.com/~jgglatt/

There's a TON of well organized information there.

A good place to start is http://home.roadrunner.com/~jgglatt/tech/midispec.htm

then scroll on down to MIDI Start, MIDI Stop, MIDI Continue

But I'm telling you stuff you probably already know.

Welcome aboard, have fun, enjoy the friendly community.

LyleHaze

Link to comment
Share on other sites

if we can use both at once.

Yeh that should work!

Phil, have a search around for info on changing the baud rate, and using IIC_MIDI to upload apps etc. It'll definitely be tricky, and you'll have to do most of the work alone, but it sounds like you should be able to pull it off. Good luck!!

Link to comment
Share on other sites

Thanks for the info both of you, I (not surprisingly) have more questions....

My current thought is to use an IIC-MIDI module to handle the 'actual' midi, I would plan to connect this to my Yamaha 01x which has MMC transport controls. I was then thinking of 'also' connecting an LTC module to handle the RS-232 side of it. Do you think this would be a workable configuration?

If I do it this way, my thoughts are that I would 'only' need to create a MIOS application to handle the translation and I can leave the midi communications to the IIC-MIDI? Am I barking up the wrong tree here?

Thanks

Phil

Link to comment
Share on other sites

Please share if you get this working, I have thought this would be useful in the past, but have no time to work on it currently. Also, you could look at modifying the IIC MIDI firmware to be an IIC Serial port, could be useful for those who need to control mopre than one serial device, and I think it is hinted somewhwere on the IIC MIDI page that this is possible, but it needs development.

Anyway, it's a good idea and makes MIDIbox even more flexible.

FYI: my interest in this is to build a transport controller for the DV decks I use at work, amongst others.

Thanks!

AB

Link to comment
Share on other sites

  • 2 weeks later...

Well I have had a fun few evenings!

The kits arrived on Tuesday (thanks Mike) and I got them (Core, IIC, RTC, LCD) built and tested that evening. There was only 1 solder bridge when I built the core which (unfortunately) was shorting the output of the bridge rectifier, once I fixed that everything came up and I was able to load MIOS and one of the sample programs. I then built the other two kits and they both worked first time. Great work everyone that has been involved in the development!

I have now written a fairly simple C based project which receives MMC commands on the IIC and forwards them to the Core (RTC Com interface) in the correct format for the Sony MDS-E11/MDS-E52 Minidisc decks!

I did need to make a slight mod to mios_midi.inc and re-make MIOS in order to force the Core baud rate to 9600 (the Sony only supports this...). In case you are interested, the only line that needed changing was:

movlw 2*0x21-1 ; set baudrate to 38400 baud

to

movlw 2*0x80-1 ; set baudrate to 9600 baud

I got the number from the Datasheet for the PIC. It is actually 9766baud but seems to be OK. I did wonder as interfaces 0x2 -> 0xf aren't used for anything would it be worth using them as a way of setting different baud rates for the internal USART from within MIOS_MIDI_InterfaceSet?

I still have many other things that I would like to add including feedback from the Minidisc desk back to MMC and maybe display track info on the Core LCD. Once I have done this (and tidied up the code a bit) I am quite happy to release my work back to the community but so far I think I have jumped the biggest hurdle in actually getting the things talking!

I did find a commerical product that seems to fulfil a similar function for Sony video decks but as it is about 500UKP this may become a low cost option?

Cheers

Phil

Link to comment
Share on other sites

I have had a bit of a redesign, I got fed-up of removing and reinserting the optocoupler in the core everytime I wanted to send an updated program so I decided to use the IIC for the RS-232 comms (with the LTD) but of course the IIC does quite a lot of MIDI processing which is not compatible with the Sony RS-232 protocol (it uses 0xff as a terminator for a start) so I bypassed most of the MIDI processing from IIC_MIDI and reprogrammed the IIC PIC.

It is all working now with feedback including sending track counter information as MTC events). I still need to do a 'lot' of tidying up of the code and a 'lot' more testing.

I have learnt an enormous amount about PIC programming in a very short time, I didn't realise how rusty my assembler skills were (mostly 6502 in the late 80's)!!

Cheers

Phil

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.

Loading...
 Share

×
×
  • Create New...