|
It is currently 30 Apr 2025, 16:49
|
View unsolved topics | View unanswered posts
 |
|
 |
|
Author |
Message |
cplusplus
|
Post subject: Serial Communication with CLD-V Industrial Players  Posted: 05 Aug 2019, 01:45 |
Hardcore fan |
 |
 |
Joined: 13 Aug 2018, 03:18 Posts: 1529 Has thanked: 456 times Been thanked: 600 times
|
I recently acquired two industrial players and I've built a cable to talk to them. I thought I would document the process here: 1. Buy a male DB15 connector and a female DB9 connector. From DB15 to DB9 connect: - GND-GND
- TXD-RXD
- RXD-TXD
- DTR-CTS,CD,DTR,DSR
Pioneer sold this as Pioneer Cable # CC-13. PacParts still has at least some variant of this available for order, but it is of course quadruple the cost of making one. 2. Buy USB to RS-232C converter. I believe I purchased mine at RadioShack long ago. Mine was made by Prolific. 3. If you don't have Linux running somewhere, install it on VirtualBox. I used Debian 9. After the OS is done installing, go to Devices -> USB and select your USB/serial converter. 4. Ensure your player is set to 4800 baud. On most players (all?) this is controlled by dip switch two on the back. It should be off for 4800 (up position). 5. ls /dev should show ttyUSB0. You can begin communication with stty. For example stty 4800 < /dev/ttyUSB0; echo -e "OP\r" > /dev/ttyUSB0 should open the door. 6. If you want something a little more robust, install minicom. Start with minicom -s and go to device (A) and set to /dev/ttyUSB0. Go to serial port setup (E) and change speed to 4800. Disable hardware flow control. Save setup as dfl. I'm currently writing a library to make it easier to interact with these players. Controlling these players through software is pretty cool and can be useful. For example, it is possible to disable repeat play which is pretty annoying on these players, set the player into test mode, change background from blue to black, play at half speed, get your player's hardware revision number, etc. Next up is to buy the barcode software Pioneer made to see if barcodes can be created from the more useful commands.
Attachments: |

Hello_LDDB.jpg [ 100.3 KiB | Viewed 9109 times ]
|
|
|
|
|
 |
takeshi666
|
Post subject: Re: Serial Communication with CLD-V Industrial Players  Posted: 05 Aug 2019, 12:14 |
Jedi Candidate |
 |
 |
Joined: 01 Feb 2018, 02:41 Posts: 2106 Location: Finland Has thanked: 221 times Been thanked: 454 times
|
My old PC actually has an on-board RS232 socket  I wonder how that'd work.
|
|
|
|
 |
deadlegion
|
Post subject: Re: Serial Communication with CLD-V Industrial Players  Posted: 05 Aug 2019, 13:36 |
Advanced fan |
 |
 |
Joined: 02 Aug 2019, 02:29 Posts: 661 Location: Australia Has thanked: 52 times Been thanked: 86 times
|
takeshi666 wrote: My old PC actually has an on-board RS232 socket  I wonder how that'd work. It should work if it's a serial port.
|
|
|
|
 |
deadlegion
|
Post subject: Re: Serial Communication with CLD-V Industrial Players  Posted: 05 Aug 2019, 23:18 |
Advanced fan |
 |
 |
Joined: 02 Aug 2019, 02:29 Posts: 661 Location: Australia Has thanked: 52 times Been thanked: 86 times
|
cplusplus wrote: It would be cool to create a bluetooth to RS-232 device to plug into the back of the player so your smartphone could function as a Level III remote control. Or to set certain settings on player power up. Might be doable but I'm not a coder so I wouldn't know. There's a guy that has made an adapter (OGX360) to run Xbox 360 wireless controllers through original Xbox controller ports. The programming even emulates the Steel Battalion controller (yes, that large expensive mech controller) by using 360 chatpad keys for the special buttons. The adapter uses Arduino Pro Micro boards. Original Xbox controller ports are essentially USB but using proprietary plug/socket. I say essentially because there's one extra wire there that USB doesn't need.
|
|
|
|
 |
admin
|
Post subject: Re: Serial Communication with CLD-V Industrial Players  Posted: 06 Aug 2019, 15:55 |
Site Admin |
 |
 |
Joined: 07 Aug 2002, 23:37 Posts: 4942 Location: Tokyo Has thanked: 354 times Been thanked: 1416 times
|
gypsy wrote: I keep an old laptop around just for that RS232 port. Been using this for years at work, to take control of network devices (Cisco, Arista, etc.) on location via the CONSOLE ports. Just needs a DB9-RJ45 adapter that usually comes with the devices. https://www.trendnet.com/support/support-detail.asp?prod=265_TU-S9Julien
_________________ HARDWARE DATABASE HLD-X0/9 LD-S9 OPPO 105/205 SL-1200G LDD-1 MSC-4000 R2144 PONTUS II C45 MC257
|
|
|
|
 |
yaffle2345
|
Post subject: Re: Serial Communication with CLD-V Industrial Players  Posted: 19 May 2024, 21:56 |
Serious fan |
 |
 |
Joined: 03 Mar 2019, 15:15 Posts: 145 Location: United Kingdom Has thanked: 26 times Been thanked: 41 times
|
Interesting that this thread should pop up to-day, as it's been my first ever day of LaserDisc serial communication. I recently acquired an LD-V6100, and, after buying a cheap PCI Serial Port card for my Windows 10 PC, set about linking the two together. First of all I tried the "DOS test" software which can be found here. ...running in "DOSBOX" (which needed a tiny bit of configuration to see my "COM3" serial port as "COM1", basically this: " serial1=directserial realport:Com3"). It worked but unfortunately it seems that the LD-V6100 (not supported by this software) has a different command set to the LD-V6000 (which is the option I used) so all I managed to do was toggle the on-screen display. I then had a quick go with Windows Powershell, and cobbled together the appended. But with a lack of documentation, all I found out how to do was to toggle the display and switch the audio channels off and on... [to use that, change the first two values in the Byte array to the command value you want - so if you want to send "ED", you send 0x45.., 0x44.., 0x0D - as 0x45 is the hex code for the ASCII letter "E" and 0x44 for "D". I think there should have been a way to send it as a single byte but didn't pursue that.] My ultimate aim was to get some ancient MS-DOS LaserDisc training software working, but didn't get far with that - may continue that in a separate thread sometime... $port1 = new-Object System.IO.Ports.SerialPort COM3,9600,None,8,one $port1.Encoding = [System.Text.Encoding]::UTF8 $port1.Open() $port1.Write([byte[]] (0x31,0x40,0x0D), 0, 3) $port1.ReadExisting() $port1 $port1.Close()
|
|
|
|
 |
yaffle2345
|
Post subject: Re: Serial Communication with CLD-V Industrial Players  Posted: 19 May 2024, 22:47 |
Serious fan |
 |
 |
Joined: 03 Mar 2019, 15:15 Posts: 145 Location: United Kingdom Has thanked: 26 times Been thanked: 41 times
|
yobagme wrote: Hopefully its compatible with the LD-V2200. Yes looks as though it should be okay, the LD-V2200 is on there: Attachment:
Dosbox.JPG [ 31.94 KiB | Viewed 5763 times ]
yobagme wrote: Let us know if you make any further progress on your end. Good luck! 
|
|
|
|
 |
cplusplus
|
Post subject: Re: Serial Communication with CLD-V Industrial Players  Posted: 22 May 2024, 19:25 |
Hardcore fan |
 |
 |
Joined: 13 Aug 2018, 03:18 Posts: 1529 Has thanked: 456 times Been thanked: 600 times
|
yobagme wrote: Did you ever make any progress with the library to interact with the player and Linux by chance? I did, but the code here is much more usable: DomesdayDuplicator PlayerCommunication
|
|
|
|
 |
yobagme
|
Post subject: Re: Serial Communication with CLD-V Industrial Players  Posted: 29 May 2024, 21:09 |
Knows how to post |
 |
 |
Joined: 19 Apr 2024, 19:41 Posts: 15 Location: United States Has thanked: 13 times Been thanked: 9 times
|
So I've had some success! Built the CC-13 cable as per the PIB #150002 document, then connected my LD-V2200 it to a Raspberry Pi 3B running RetroPie (Debian 10) using a DB9 to USB adapter, which was autodetected as /dev/ttyUSB0. Using the link provided by yaffle2345 above, I downloaded the MSDOS Pioneer Test Program, installed and configured DOSBOX onto the Pi and transferred the executable over to a directory accessible to it. Thankfully, the application fired right up and was able to both connect to and control my LD-V2200! I can do anything from open/close the tray, play, step controls, chapter/frame search, enter/exit test mode, etc... Attachment:
IMG_0552_optimized_500.jpg [ 453.55 KiB | Viewed 5595 times ]
Attachment:
IMG_0553_optimized_500.jpg [ 445.35 KiB | Viewed 5595 times ]
The application can be used from the Pi using a keyboard and monitor, but I was also able to forward its X session via SSH and launch DOSBOX and remotely control the player from my office laptop as well. Attachment:
Screenshot from 2024-05-25 18-11-12.png [ 19.77 KiB | Viewed 5595 times ]
My next goal was to get the DAPHNE laserdisc arcade emulator to interact with the player, but no such luck yet. I installed DAPHNE from RetroPie's repos successfully and configured it to use a physical Pioneer LD player at 4800 baud as per the emulator's wiki, but it refuses to connect to the player. I may try an older version of the emulator to see if that makes a difference. For now, all I've really managed to do is create the most inconvenient remote control for my LD-V2200 possible, but at least it works! 
_________________ Pioneer CLD-D704 Pioneer CLD-D504 Pioneer LD-V2200 Toshiba HD-A2
|
|
|
|
 |
yaffle2345
|
Post subject: Re: Serial Communication with CLD-V Industrial Players  Posted: 30 May 2024, 23:29 |
Serious fan |
 |
 |
Joined: 03 Mar 2019, 15:15 Posts: 145 Location: United Kingdom Has thanked: 26 times Been thanked: 41 times
|
You're having some success then! Less so for me sadly. My LD-V6100 doesn't work with the LD-V6000 options on that program. Well, a couple of them (not the display one though) toggle the display but that's about it. I managed to get some of the old MS-DOS training software working and controlling the player though, and then running another app. to capture the serial port traffic, it showed this when started: F X ?P ==/16#W A?U U8009A11A11B10j10k10i11h10g11d A?U U8009A?F F02151A?F F02151A10D A
I've found some documentation for the LDV-8000 Level III codes here, so for example "?P" is Player Status Request, and "?U" is a User's Code Request. I'm not sure if I'm seeing both sides of the communication though - my serial capture app. is just putting everything in the 'write' and nothing in the 'read' box - so is what I'm seeing after the "?U" - "U8009A11A11B10j10k10i11h10g11d" - actually the response (it seems too short, apparently it should be 200 characters), or the PC sending some more stuff? Maybe I don't have that app. configured correctly (this is all rather new to me). Another part showed: ...which I think means "search to frame 13125, then play as far as frame 14250" - but I could be wrong. But this seems slightly terser syntax than the LD-V8000, which I think would be "13125SE14250PL", or something like that? So "SE" instead of "S", "PL" instead of "P" - so maybe the LD-V8000 Level III isn't the most compatible with the V6100 - or can the commands be shortened in some cases? Anyway, there is probably more experimenting I can do myself, but if anyone has any insights that might push me forward, they'd be very welcome!
|
|
|
|
 |
yaffle2345
|
Post subject: Re: Serial Communication with CLD-V Industrial Players  Posted: 05 Jun 2024, 17:47 |
Serious fan |
 |
 |
Joined: 03 Mar 2019, 15:15 Posts: 145 Location: United Kingdom Has thanked: 26 times Been thanked: 41 times
|
Have been doing a bit more with this - my main object was to see if I could find any 'magic' codes that would do something with the mysterious features of the LD-V6100 (see separate thread) - video input, teletext feature, cartridge port - unfortunately I couldn't find any! Here is my simple C# code though, which might be useful to someone at some point: SerialPort serialPort;
private void btnConnect_Click(Object sender, EventArgs e) { serialPort = new SerialPort("COM3", 9600, Parity.None, 8, StopBits.One); serialPort.DtrEnable = true; serialPort.DataReceived += SerialPort_DataReceived; serialPort.Open(); }
private void SerialPort_DataReceived(Object sender, SerialDataReceivedEventArgs e) { String t = serialPort.ReadExisting(); }
private void SendSerialCommand(String command) { Byte[] array = Encoding.Default.GetBytes(command); serialPort.Write(array, 0, array.Length > 20 ? 20 : array.Length); }
private void btnDisconnect_Click(Object sender, EventArgs e) { serialPort.Close(); }
The "Level III" language this player uses seems different both to that on the earlier industrial players (LD-V6000 for example), and on later ones (LD-V4400, CLD-V5000 etc.). Unfortunately I can't find any documentation online for this 'dialect', but I've documented what I could make out using trial and error, which might be of use to someone, one day: P - play xxxxxP - play until frame xxxxx, then freeze xxxxxS - go to frame xxxxx (black screen) and freeze xxxxx] - go to frame xxxxx (approx) (pic search) and freeze xxxxx\ - slow mo [ - reject, open tray W - freeze frame, frame advance V - freeze frame, frame reverse U - freeze frame, no movement X - slow motion back Y - slow motion forward Z - stop + - play 106 frames then freeze
11D - display on 10D - display off $D - display toggle * - display off 00A - left audio off 00B - right audio off 11A - left audio on 11B - right audio on 00d - pic and sound off (squelch) 11d - pic and sound on
?C - returns chapter number, eg C01 ?D - returns D8803 or D6000 (?) ?F - returns frame number (CAV) or time for CLV, eg F03100 => 31 mins ?M - returns 256 bytes, alternating blocks of "0"s and "F"s (?) ?R - returns R007F (?) ?S - returns S00 (?) ?U - returns player status (examples below) ?V - returns V53 or V71 or v77 or V70 etc. (?)
Player status examples: UD109 - playing UD10A - playing U8009 - frozen UB109 - slow motion forward UB209 - slow motion back UC208 - reverse play U9008 - searching UFF00 - stopped UFB00 - stopping/reading - empty UF900 - opening/loading UF800 - opened
|
|
|
|
 |
|
|
 |
|
 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|