Jump to content

kgallen

Members
  • Posts

    1,146
  • Joined

  • Last visited

  • Days Won

    4

kgallen last won the day on April 4 2020

kgallen had the most liked content!

4 Followers

Previous Fields

  • Sony Products I Own
    MDS-JE520, MZ-R700 (silver), MDS-JE530, MZ-B10, MZ-NF610, MDS-E12 x5, MDS-E10 x2, MDS-JE440, MDS-JE480 x2, MDS-JB940, MDS-JE770, DHC-NX5MD, CDP-XE530, CDP-D12, MXD-D4 x2 Bust: MZ-R909, MZ-N510, MZ-R700 (gold)

Profile Information

  • Gender
    Male
  • Location
    Gloucestershire, UK
  • Interests
    Amateur theatre lighting and sound (live sound, music and sound effects). With MiniDisc I tend to be I interested in the decks - both Hi-Fi and Pro models.

Audio

  • Minidisc units
    As Sony list plus Tascam MD-350 / Tascam MD-CD1 (x2)

Recent Profile Visitors

33,164 profile views

kgallen's Achievements

Proficient

Proficient (10/14)

  • Reacting Well Rare
  • Great Content Rare
  • Conversation Starter Rare
  • Dedicated Rare
  • Posting Machine Rare

Recent Badges

5

Reputation

  1. You’re really into buy from Japan aren’t you @piotr ! When you separate those discs you’ll have to document any special ones here: https://forums.sonyinsider.com/forum/87-disc-pictorials/
  2. The few I’ve tried, it’s the same commands. No comment your honour 😜 No E11s, E12 (4 I think, maybe another faulty?) and E10 (2, one not working). Yea I guess. Each needs an RS232 connection. If you just wanted to control them (no responses) then I guess an MDS-E12 and a CDP-D12 could share an RS232 interface as they respond to different command bytes. Hardware flow control is not needed (RTS/CTS/DTR/DSR are tied). I saw an 8-port RS232/USB interface on eBay. I’ve had a quick play with the two port one I bought and it maps to COM5 and COM6 so looks like they are fully independent which looks good…
  3. I've just bought a USB to 2-port RS232 lead, so I can talk to both the MDS-E12 and CDP-D12 in the same session 😝
  4. More CDP-D12 commands to document: proc cmd_cdp {mycmd} { global fp # CDP-D11,D12 use 0x05,0x41. set cmd(remote_on) [binary decode hex "7e0705411001ff"] set cmd(remote_off) [binary decode hex "7e0705411002ff"] set cmd(play) [binary decode hex "7e0705410201ff"] set cmd(stop) [binary decode hex "7e0705410202ff"] set cmd(pause_onoff) [binary decode hex "7e0705410203ff"] set cmd(pause_on) [binary decode hex "7e0705410206ff"] set cmd(key_off) [binary decode hex "7e06054100ff"] set cmd(rew) [binary decode hex "7e0705410213ff"] set cmd(ff) [binary decode hex "7e0705410214ff"] set cmd(slow_rew) [binary decode hex "7e0705410217ff"] set cmd(slow_ff) [binary decode hex "7e0705410218ff"] set cmd(prev) [binary decode hex "7e0705410215ff"] set cmd(next) [binary decode hex "7e0705410216ff"] set tk "01" set cmd(track_pause) [binary decode hex "7e090541034301${tk}ff"] set cmd(eject) [binary decode hex "7e0705410240ff"] set cmd(cont_mode) [binary decode hex "7e0705410280ff"] set cmd(1tk_pause_mode) [binary decode hex "7e0705410281ff"] set cmd(mark) [binary decode hex "7e0705410290ff"] set cmd(locate) [binary decode hex "7e0705410291ff"] set min "01"; set sec "00"; set frm "00" set cmd(direct_mark) [binary decode hex "7e0c0541029201${tk}${min}${sec}${frm}ff"] set cmd(repeat_off) [binary decode hex "7e07054102a0ff"] set cmd(all_repeat) [binary decode hex "7e07054102a1ff"] set cmd(1tk_repeat) [binary decode hex "7e07054102a2ff"] set cmd(auto_off) [binary decode hex "7e07054102b0ff"] set cmd(auto_pause) [binary decode hex "7e07054102b1ff"] set cmd(auto_cue) [binary decode hex "7e07054102b2ff"] set cmd(vari_speed_off) [binary decode hex "7e07054102c0ff"] set cmd(vari_speed_on) [binary decode hex "7e07054102c1ff"] set spd "00" set cmd(speed_change) [binary decode hex "7e08054102c2${spd}ff"] set cmd(play_mode_cont) [binary decode hex "7e07054102d0ff"] set cmd(play_mode_shuffle) [binary decode hex "7e07054102d1ff"] set cmd(play_mode_program) [binary decode hex "7e07054102d2ff"] set bytes $cmd($mycmd) puts -nonewline $fp $bytes set hex [binary encode hex $bytes] set bin [binary decode hex $hex] puts "[clock format [clock seconds] -format {%H:%M:%S}] ${mycmd}" puts "Hex:$hex" puts "--------" }
  5. Basic CDP-D12 control: proc cmd_cdp {mycmd} { global fp # CDP-D11,D12 use 0x05,0x41. set cmd(remote_on) [binary decode hex "7e0705411001ff"] set cmd(remote_off) [binary decode hex "7e0705411002ff"] set cmd(play) [binary decode hex "7e0705410201ff"] set cmd(stop) [binary decode hex "7e0705410202ff"] set cmd(pause_on) [binary decode hex "7e0705410206ff"] set bytes $cmd($mycmd) puts -nonewline $fp $bytes set hex [binary encode hex $bytes] set bin [binary decode hex $hex] puts "[clock format [clock seconds] -format {%H:%M:%S}] ${mycmd}" puts "Hex:$hex" puts "--------" } set fp [open "COM4:" w] fconfigure $fp -mode 9600,n,8,1 -translation binary -buffering none # Sequence of CDP-D12 transport operations via RS-232C control. cmd_cdp remote_on after 5000 cmd_cdp pause_on # Allow machine to cue track in Pause. (Note: Takes much longer than MDS-E12 <2s for MD, up to 5s for CD.) after 5000 cmd_cdp play # Play for 10 seconds... after 10000 # ...then stop. cmd_cdp stop after 5000 cmd_cdp remote_off close $fp exit
  6. Great catch @BearBoy! I found the thread (seems I was all over it at the time!) and got in touch with the reddit poster, adamxp12. He's sent me a link for the CDP-D11 RS232 manual, and I'll upload it here for future reference. In my un-google-ability I failed on that search! Many thanks to him for replying to my Chat message and still having access to a pdf of the manual! That was in the back of my mind. However I don't think I'll use the RS232 for this application. When you enter remote mode, it disables the front panel (and remote). I can see that makes sense when the unit is deployed in say a radio studio in some separate rack and is driven from the DJ console. In my case, I'd want the fallback ability to use the front panel controls too. Say something unplanned happens on stage, I need the ability to quickly start a track or maybe go back to the start. If the RS232 control is tied into say my lighting cue stack, with a DMX to RS232 interface, then I loose that direct access ability to cope with the unforseen. That issue is not present when the parallel interface is used. That can trigger a small number of transport commands (can be user defined) but does not inhibit the front panel. However I am going to have more of a play with the RS232 on both the MDS-E12 and now the CDP-D12, now I have access to the RS232 command set - yes it's for the D11 rather than the D12 but I bet it's the same. If it's not, I can now see which byte in the command stream Sony have used as a machine ID. It looks like that fourth byte. For the MDS-E12 it's 0x47, for the CDP-D11 it's 0x41. sony_CDP-D11_rs232_manual.pdf
  7. Subsequent to this I spent several hours trying to do similar with my Sony CDP-D12 CD player which also has the ‘same’ RS232 control port. But I don’t have (and couldn’t find after many searches) documentation on the command structure for this machine. Even writing some code to loop through values based on the command structure used for the MDS-E12 I couldn’t get any sort of response from the CDP-D12, even in its RS232 test mode.
  8. Instead of writing the files and using file copy in Windows, I found a more direct way to just write to the COM4: serial port directly from Tcl. This would open up writing a GUI application in Tk... proc cmd_mds {mycmd} { global fp set cmd(remote_on) "\x7e\x07\x05\x47\x10\x03\xff" set cmd(remote_off) "\x7e\x07\x05\x47\x10\x04\xff" set cmd(pause_on) "\x7e\x07\x05\x47\x02\x06\xff" set cmd(play) "\x7e\x07\x05\x47\x02\x01\xff" set cmd(stop) "\x7e\x07\x05\x47\x02\x02\xff" puts -nonewline $fp $cmd($mycmd) } set fp [open "COM4:" w] fconfigure $fp -mode 9600,n,8,1 -translation binary -buffering none # Sequence of MDS-E12 transport operations via RS-232C control. cmd_mds remote_on cmd_mds pause_on # Allow machine to cue track in Pause. after 2000 cmd_mds play # Play for 10 seconds... after 10000 # ...then stop. cmd_mds stop cmd_mds remote_off close $fp exit I run this from a Windows command terminal with: wish mds_serial.tcl
  9. The documentation for the commands is available around the net but I'll upload here. Note that the documentation has errors, and the folks above have debugged many of the commands. Here is a tarball of my bin files with the commands. The fancy ones requiring track numbers and names etc won't work, but you can try play, stop, pause etc: MDS_RS232_Commands.zip The Sony MDS-E11/MDS-E52 RS232 document: sony_mdse11_rs232_protocol.pdf Sony document for the MDS-E12 (probably the same as the above): Sony MDS-E11, MDS-E12, MDS-E52 - Protocol.pdf Addendum to the above: MDS-E11, MDS-E12, MDS-E52 - Protocol Addendum.pdf
  10. Other folk that have done fancy stuff: Our own @JonasE did some fancy stuff with his MDS-E11: LA2YUA has done lots of things with his MDS-E12 including some fancy RS232 remote control in C#: https://longview.be/adding-optical-io-to-the-sony-mds-e12-minidisc-recorder.html
  11. Starting with the excuses: Many other folk have done far more advanced things with the RS-232C control of the MDS-E12/MDS-E11/MDS-E52. But I'm just a lowly hardware engineer and my software programming skills are somewhat rudimentary. I'm documenting here some basic stuff I played with because other non-geeky folk might find it an easier start which helps them develop their own ideas and skills in this area. I finally got around to having a play with getting a PC to control one of my MDS-E12 machines. These machine have an RS-232C control port. I bought a basic FTDI-chipset based USB to RS232 adaptor - one that includes the electronics and RS232 level shifters, so not the TTL ones you get for playing with Arduinos and the like (or worse, the "cables" that don't have the electronics): https://www.ebay.co.uk/itm/265147427112?_skw=HQ+USB+2.0+to+Serial+9+pin+(RS-232)+Adapter+Cable+FTDI+Chipset+1m The RS232 connector of this USB adaptor is a 9-pin D male and it's wired as a DTE [Pin 2=RXD(in), Pin 3=TXD(out)]. The MDS-E12 has a 9-pin D male connector wired the same way so I had to create a RXD/TXD crossover connection to a cable with a 9-pin D female to plug into the back of the MDS-E12. The USB FTDI cable was plugged into a laptop, which assigned it to com4: In a Windows command terminal, this is configured for 9600 baud, no parity, 1 stop bit: mode com4:9600,N,8 It's not possible to type the commands in on a keyboard with a serial terminal shell (like PuTTY) because some of the codes are outside of the ASCII character set. i.e. the commands are 8-bit binary numbers not ASCII characters. For example to trigger PLAY you have to send the following (hexadecimal) numbers: 0x7E 0x07 0x05 0x47 0x02 0x01 0xFF In the above example the 0x7E is a command start code, 0x07 is the total number of bytes in this message, 0x05 0x47 are fixed values, 0x02 0x01 is the PLAY command and 0xFF is the end of command code. See the next post where I uploaded all of my command bin files, so you don't have to bother with the following nonsense... I wrote some basic TCL (it's a scripting language used to control many EDA tools I use at work) to construct some binary files of the command sequences and executed the script on my Windows laptop with the wish tcl shell. proc command {filename bytes} { set fp [open $filename w] # Stop e.g. 0x0a being output as LF,CR. fconfigure $fp -translation {binary} puts -nonewline $fp $bytes close $fp } # Commands from: # Sony MDS-E11/MDS-E52 RS232C Interface Manual (c) 1999 Sony Sound Tec Corp set cmd(remote_on) "\x7e\x07\x05\x47\x10\x03\xff" set cmd(play) "\x7e\x07\x05\x47\x02\x01\xff" set cmd(stop) "\x7e\x07\x05\x47\x02\x02\xff" foreach my_cmd [array names cmd] { command ${my_cmd}.bin $cmd($my_cmd) } exit I ran this script in Windows 10 with wish (which I had previously downloaded/installed): wish mds_cmd.tcl This created 3 binary files: remote_on.bin, play.bin, stop.bin (see the following post, I uploaded a tarball of all of the bin files I created so you don't need to). To send a command to the MDS-E12 I just used a binary file copy from Windows: copy remote_on.bin com4: /b ---> when in this mode, the display will switch between displaying "Remote Mode" and the disc or track title every few seconds. Once in Remote Mode, you can send commands to the MDS-E12. To start play, send the play.bin file to the MDS-E12: copy play.bin com4: /b ---> When the MDS-E12 is in Remote Mode (controlled via the RS232), it does not accept commands from the normal front panel keys (PLAY etc) or the IR remote control. If you try, it puts REMOTE on the display: To allow operation from the front panel buttons or IR remote, the remote off command needs to be sent over RS232. Power-cycling the MDS-E12 also reverts it to the normal mode - the RS232 remote on command has to be sent to put it into RS232 control. So that's my basic first steps. Yes, it's very clumsy, but proves the basic operation. There are many commands that can be sent, including more complex ones like doing divide and titling discs and tracks. Also the machine can send back lots of status and disc and track names can be read. I've not done anything fancy like this! I might develop this with something like an Arduino now I know the basic command set works. So there's a basic intro that doesn't require you to be a C++ expert. If you have an MDS-E12 (or the older MDS-E11 or MDS-E52), you could give it a go for fun!
  12. On this link @Piotr W shares the essence of the conversion to EU/UK/AUS mains voltage:
  13. @Piotr W very interesting and novel solution to the problem - I like it!
  14. Belt problems can leave the mech in the wrong position -> machine won’t exit standby. Try manually winding the gears to insert a disc then see if machine will boot.
  15. As you needed to repair the unit which originally had a bright display I would advise checking the power supplies to the VFD. Onkyo probably don’t do a service manual but as you’ve clearly got the skills to repair the display board I would look on you tube for some tutorials on VFDs. Regarding power supplies to the VFD there will be a dc one around 3V and an ac one around 24-30V.
×
×
  • Create New...