Pioneer DV-F07 300 disc DVD changer
My main DVD player system consists of a group of Pioneer DV-F07 300 disc DVD changers. This is a reasonable Pioneer Elite DVD player and it's main feature is of course that it is a 300 disc changer. As the equipment is in a different room from the viewing room, and I can page through the available discs with PCRemote, I don't want to go for a walk when I see the disc I want, I just want to point & click and have it loaded for me! I have had these units for several years now and it looks like Pioneer are still shipping them. It has a reasonable on-screen disc navigation system although I never use it as my PCRemote application takes care of all the disc data and browsing features. It has a component video output that connects directly to my projector which could be switched via my Marantz AV-9000 if I wanted. The audio is connected via an optical digital output that connects to the Marantz AV-9000 for playback of Dolby Digital AC-3 and DTS as well as LPCM of course. There are also stereo line outputs if needed. They have been working perfectly for all those years and have a brilliant picture. Although it is an older DVD player by today's standards and does not have HDMI or even a progressive scan output, this makes no difference in my system as the Sharp XV-Z9000U projector converts from interlaced to progressive beautifully. If you drink enough beer you can convince yourself that the picture is better when played on the Blu-ray via HDMI if you like but that means getting up and moving the disc... Originally I used (and still have in my motor home) a Sony CX-850D DVD changer. This was the first ever DVD changer back in 1999 I think, and is a 200 disc unit. It has quite fantastic onscreen menus with beveled edges, shadows and everything! It can even store a thumbnail image of each disc. There are quite some impressive imbedded processor systems under the cover! Having said that, the DV-F07 travels much better in the motor home than the CX-850D where sometimes the discs jump out into the body of the player. The main reason I replaced the CX-850D with the DV-F07 is that the DV-F07 can load the discs much faster via it's serial port interface and although the CX-850D menus look good, they are slow and I just don't want to see them up on the screen while PCRemote steps through them. With the DV-F07 you just send 88ZS<CR> via the serial port to load disc 88 for example, and it loads at once with no on-screen activity and no spilt beer at all!
DV-F07 RS232C Serial Port
The real key feature of the Elite DV-F07 over the non Elite DV-F727 (and of course the Sony CX-850D) is the presence of the mysterious 15 pin computer interface serial port connector on the back. Apart from that and the usual Elite cosmetic differences, both machines are the same, and again application of beer may make you believe that the Hi-bit Legato Link Converters in the DF-F07 are better than the standard DV-F727... If you have a DV-F727, you could easily add the RS232 serial port by adding a MAX232 chip to convert from logic level to RS232 voltage levels, because that's what's in there although Pioneer use the Sipex SP232AEP version. I haven't actually needed to do this, but it can definitely be done (see below). So having said that, it is clearly the case that the main compelling reason to buy a DV-F07 over a DV-F727 (unless you just have to have the glossy front and wooden sides) is to save the $3 for the MAX232 or Sipex SP232AEP and be able to use the serial port without further ado. Unlike some other Pioneer standard/Elite components of equivalent functionality, there is no heavy copper chassis etc. on the DV-F07 and inside it is just the same as a DV-F727. So this is of course why I went for the DV-F07 (plus the fact that I got the first one new for $499.99 in 2001!). As soon as I opened the box when it arrived I just took out the player & remote etc. as quickly as I could, scrambling to find the user manual to read all about the very interesting serial port! Well, many of you will know how that story ends! Nothing in sight except for the picture shown below. What crap is this?? "the integration of some systems"?? "Normally, this jack is not used"?? If it's not used, why is it there? This port is specifically advertised by Pioneer as a feature of this model and like I said, is the only reason I was looking to get a DV-F07 in the first place! I called Pioneer to ask about all this and after listening to my complaining for a while, they begrudgingly faxed me just two pages from the document that describes the port connections and protocol mnemonics. The pages were numbered 74 and 75, who knows how big the whole document is? After looking around the web a bit, I did manage to find a document on the Pioneer site, the DVD-V7400 Command Protocol Manual, and using this for clues I managed to reverse engineer enough of the protocol to make the DV-F07 serial port work effectively. As this information can clearly only be used by owners of Pioneer DV-F07 players to use equipment they have already paid Pioneer for, I have no idea why Pioneer would not print just a few extra pages in the DV-F07 user guide to show their good customers how to use this fine Pioneer equipment? Since then I have also found this document which looks like it was translated rather poorly presumably from Japanese that actually does describe the full interface though it is rather cryptic and poorly written. Still to this day, Pioneer do not have an RS232 document on their official DV-F07 page although they do have one for their latest Blu-ray player, the BDP-09FD here, but who cares about controlling a player that can only load one disc at a time? You have to go over there to load the disc anyhow. Oh, are we supposed to have one for every Blu-ray disc? Well the BDP-09FD only has an MSRP of $2200.00... Now finally after almost 10 years, I have finally found the elusive document from which those pages 74 & 75 came from back in 2001. It is the DV-F07 Service Manual and as far as the protocol description goes, it was not worth waiting for...
DV-F07 Sipex SP232AEP RS232 Board
Here is a little more information about the small RS232 board in the DV-F07 and how it connects up inside the player for anyone wanting to upgrade a DV-F727 with a real serial port. The Sipex SP232AEP datasheet that Pioneer uses describes everything you need to know about the simple circuit and as I mentioned above I suggest to use a MAX232 which are more common. Both of these chips are the same and just convert the internal logic level serial port of the DV-F07 & DV-F727 located on connector CN106 to the outside world RS232 voltage levels using a single 5 volt power supply and a few capacitors. If you have never built a circuit board before you can get some clues from my 8051 page or you can just use breadboard. The circuit is so simple it's not worth me writing about it here and is fully described in the MAX232CPE datasheet. You will see that CN106 is marked with TX, RX, DTR, CTS, +5V, GND and one not connected pin (NC). On the DV-F727 there is no connector but you can just solder wire leads to the pads there. You will only need TX, RX, +5V and GND. You just need to connect these to your board with the MAX232 and the five capacitors it requires and you're good to go! For connecting to a PC, you only need TX, RX and GND on the RS232 side. If you have made a board like this please let me know and we can put some pictures here to help others.
To make things confusing for some reason, Pioneer use a 15-pin D-sub connector for the serial interface port which requires a special cable to be made and connected as shown, presuming that you have a 9-pin D-sub connector on your PC or whatever you are connecting. I use this Jameco DA15 15 pin D-sub male to male cable and change the plug on one end to a DB9 (Jameco 15771 & 25620). To experiment with the port you can just use the ordinary Windows Terminal or HyperTerminal program or any other communications program setup as shown below. If you don't have a serial port on your PC, these days you are sure to have some spare USB ports and I use a Sewell SW-1301 USB to Serial Adapter for each extra DV-F07 I add to my system.
DV-F07 CM7 Command Protocol
The command protocol is based on a system in which the computer gives commands and the player returns status, and is the same as that used by other industrial and educational equipment made by Pioneer like Laserdisc players and is called Communications Mode 7 (CM7). CM7 uses a method of control by issuing each execution command in turn and confirming the execution status of the command with a further request command (?J). So, first the controller sends an execution command, and the player returns the status of having received the command (R). Then the controller sends a request command (?J) and the player returns the corresponding status data relating to the command previously given (B = busy, R = done). The controller then repeats this operation until it receives the status data required. In CM7, neither completion of execution status, nor error messages are returned at the time a command is received. The only statuses returned in response to receiving a command are the "End of Received Message" (R) or "Communications Errors" (E00). To confirm completion of execution of the actual command or the occurrence of errors, the request command (?J) should be used. Also, some commands have restrictions or conditions that mean they may or may not be properly executed at any particular point.
So what does all this mean? Well from the point of view of the controller, it is very irritating because the player never sends any unsolicited or delayed data to the host application! Whatever command, garbage or otherwise you give, the player always says R to indicate that the command was received and even if it does recognize the command, it still returns R weather command execution is complete or not. I consider this to be a fundamental flaw which requires much heavier intelligence in the controller than would be needed if the R was only returned when execution was complete. You can then send ?J to see if the status is busy (B) or complete (R), but doing so may overwrite commands still waiting execution in the buffer. The player actually has a command buffer of 20 characters (space and LF are ignored) so there is no reason why you can't enter the following and it does indeed work fine:
23 ZS TI 1 SE CH 2 SE PL<CR>
This will indeed load disc 23 and search to title 1, chapter 2 and start playing. However, any host application worth its salts is going to want to poll the player for time status in order to display the currently playing title, chapter and time and display it in the controller application just like the display on the player and this can indeed be done with the command ?A (all because the player will not send this obvious data unsolicited). The problem is if this is entered too soon before the disc is loaded, part of the buffer may be over written and execution will fail. For instance, if the player is still loading the disc (23ZS part of the command) at the point that ?A is received, it will not yet have looked at the TI 1 SE CH 2 SE PL part of the command in the buffer and all that will be wiped out with the ?A and play will not start. The required solution to this according to the CM7 protocol is as follows:
CM7 Protocol Sequence for loading a specific DVD title and chapter
But even that does not work! For reasons unknown at step 6, the ?J overwrites the SE from step 5 and chapter search does not complete. Even if that did work, at step 8, the ?J overwrites the PL from step 7 and play does not start. Therefore through trial and error, I have found the following the only way to get it to work:
Actual Required CM7 Sequence for loading a specific DVD title and chapter
Well, it is my opinion that CM7 is not much of a protocol if the only way to get it to work is to implement a timer at some point where the controller dare not send another command for fear of breaking something even when there is the ?J status command that is supposed to prevent this! If anyone knows a better way of doing this, please let me know. Just in case you were thinking to send TI1 without the SE and then do ?J, that doesn't work either. Believe me, I have been testing this for years and this is the only reliable method I have found. Even so, now knowing all this the DV-F07 will indeed do as it's told! The main unknown for the controller is how long the player will take to load the required disc. The disc may already be loaded or it may be all the way around on the other side of the carousel. So as long as steps 1 and 2 above work, the rest of the issues are not such a big deal. This ability is of course just as useful for loading CD's, so let's look at the CM7 sequence used for that.
Actual Required CM7 Sequence for loading a specific CD track
As you can see here, the action of loading the disc and searching for the track are separated from the actual playing. This is not because of CM7 but is done by PCRemote because often times when playing a sequence of CD tracks from the CD queue, the next track is in a different player and so it can be preloaded while the current track is still playing, so some time passes after the loading and searching ends (step 4) before play is started (step 5). Even so, I can tell you that ?J after step 3 will overwrite the buffer anyhow! Ahh!. Another supposedly useful feature is the single track play mode for CD's set with command KP. Entering this after the track is playing makes the response to ?J become B until the track ends whereupon it becomes R. Now you would think that this would make the player stop after the track ends right? No such luck! Play continues to the next track, it's just that you get R in response to ?J rather than B while the track is playing. This is totally useless as you are bound to be polling the track time from the controller with ?A. All you need to do is keep an eye on the current track and index returned from ?A and just send RJ to stop play when you get to the end of the track you want and save yourself the trouble of having to enter KP at the right time. The KP thing does not work for the last track on the CD or for DVD chapters anyhow. So weather you choose to use KP and ?J, or just ?A like I do with PCRemote, you need to be polling continuously in order to catch the end of the track to send RJ before the next track starts. Too slow and you get a snip of the next track before play is stopped, too quick and the comms thread in the host application uses more clicks than navigation computer in the space shuttle, and you know what that does to Windows...
Text & Time Commands
The next thing that you would think is that you could just load a CD (or DVD for that matter) and then have the controller poll the player for the Artist name, Album title and the names and times of all the tracks so that the data could be saved and displayed in the controller application. Well the CD table of contents (TOC) can indeed be fetched with ?Q so all the track times are available, but the artist name (AO) and album title (NO) are truncated to 12 characters and there is no way to get the track names even if there is CDText on the disc. This is of course very poor and annoying as you can see all this data scrolling on the players display. The truncation to 12 characters of the text that you can get is presumably related to the fact that the large dot matrix display the DV-F07 has is only 12 characters wide. So still the controller application will have to go to the internet with the TOC data and fetch the CD text from some database or the user will have to enter the names manually by hand. So still we are no better off than we were in 1995 with a Pioneer PD-F100 and Windows95 where the TOC data can be recovered by putting the CD in the CD ROM drive so the controller application can get the track times... Even so, it's not like we lost any functionality and you can get the DV-F07 to run quite well as a CD changer via the serial port control.
The commands will only work if the DVD will let them!
OK, so now here is the next issue: These commands will work fine as long as the player is in the correct state. For instance, you can't expect to select a CD track by track number if the disc loaded happens to be a DVD. An even bigger problem is with DVD's. Because DVD's define menu driven navigation structures and sometimes requirements for specific titles and chapters to be played at particular points, especially when a disc is first loaded, the player can't accept a request to play a different track until that activity has finished because it is under the control of the DVD itself. It's worth noting that the Sony CX-850D will actually load a specific title/chapter with such DVD's although very slowly via the program menu! From the host controllers point of view with the DV-F07, this appears to make the player look awkward as sometimes it will do as requested and other times it will not! A couple of examples of this are as follows: 1. A DVD that insists that the FBI warning logo be displayed before the menu is displayed during which time SE & PL will not work. The same thing happens if you try to skip with the remote, a little icon comes up on the screen telling you that you can't do that at this time. 2. Some DVD's have animated menus which must play to completion before the next menu can be accessed. Because the only status that the player can give in these cases is E04, it is impossible for the controller to know weather this is because of a problem that will go away after some short time or not. So as far as I can see, a very sophisticated controller is needed that knows all about the content and structure of each DVD loaded and this is not really practical when you have hundreds and hundreds of discs loaded. Another issue is that there are no menu navigation commands in the list of supported mnemonics. This is a problem on DVD's that probably by mistake have no defined Title/Chapter structure. An example of a disc like this is Steve Vai's Alian Love Secret (Fantastic music video!!). When it plays, even the title and chapter display on the player is blank! The only way to select a track on this DVD is via the menu using the remote control interface. In my opinion, all of these so called DVD features are crap. I just want to load the disc, and play the track I want! Oh Laserdisc, please come back!! So at the end of the day, my comment on all this is that the DVD format is too open and allows discs to be produced in too many different and unnecessary ways, and so none of this is the fault of any particular player. Even so, some menu navigation via the serial port is needed as far as I can see. To over come that case, my PCRemote application also uses the remote control interface for some functions with some of the more complex macros using interleaved sequences of remote control and serial commands. I bet your Philips Pronto can't do that! Not only that, the only way to switch on and off is via the remote control interface, there are no serial commands for that like on my Sharp projector. For industrial use (which is the origin of this interface), these problems probably never occur because the discs used would usually be specifically made for the application and therefore would not need any menus to annoy the controller (or the user). Us unfortunate consumers on the other hand, will have to continue to suffer the dictatorship of DVD producers who think that those stupid revolving spinning menus are of any use! To have them as an option is fine & fun, but to be forced to use them all the time is just plain boring! So as you can tell, I am disappointed that more can not be done with this interface with off the shelf DVD's, but even so, just the super fast ZS disc select function makes it all worth while for loading films and saves me from having to put down my beer in order to load a DVD, and with a bit of effort I can remove the menus from my music video DVD's! It's also quite viable to use the DV-F07 as a CD jukebox controlled solely via the serial interface, and of course the CD track selection always works as expected. I have one DV-F07 acting as a full time CD changer and probably over time I will replace all my CD changers with DV-F07's.
List of DV-F07 CM7 Command Mnemonics
Click here to see the full document.
List of DV-F07 CM7 Error Codes
Click here to see the full document.
DV-F07 Remote Control
Just to complete the control picture, here is some information on the remote control side of the DV-F07 that you will need if you want to be able to power the player on and off or traverse DVD menus etc. from a control application like PCRemote. The actual Pioneer Remote Control protocol is described in detail here, so you can work out what A399 means and the following table shows all the NEC format command codes that are used to control the DV-F07. Click here to see the Pioneer version. As you can see, each button that has two commands starts with A399.
DV-F07 IR Codes
DV-F07 Features & Specs
The DV-F07's are my main DVD and CD changers in my current 5.1 system and it is easy to get more quite cheaply on eBay for around $200 or so. To be honest, the disc changing and automatic loading feature is now the main reason I use DVD rather than Laserdisc and I now have all my old Laserdisc music videos transferred to DVD with the original LPCM sound tracks intact. I am generally disappointed with the DVD format as most of the DVD's I have are not as good as Laserdisc. Of course, there are a few (now about 20% of DVD's) that have vastly superior video to Laserdisc and have the advantage of being recorded in the Anamorphic Wide Screen format. The quality of an uncompressed Wide Screen Anamorphic DVD when viewed on my Sharp projector via the component output of the DV-F07 is truly stunning, there is just nothing else that can touch it apart from native 720/1080p HDTV via HDMI on my Blu-ray. I only wish that DVD's were required to bear a quality mark that specifically stated the discs compression ratio which would then prevent my usual disappointment. With the super Pioneer Elite paintwork and the curved window door through which the discs can be seen rotating around, it looks really great and has given top notch performance so far. As they fill up, I just get more from eBay. Hopefully soon, there will be some sort of Pioneer Bly-ray changer for my next machine and I'm sure there will be a serial interface like on the the Pioneer BDP-09FD here. Then it may actually be worth getting some more Blu-ray discs.