747-400 remote MCDU
The remote Multi-function Control and Display Unit (MCDU) is a generic, network-enabled virtual console to control many add-ons for the Aerowinx 747-400 Precision Simulator and other simulators.
2011-05-20 V2.32: first release for Linux. A tar.gz ball with README inside. Only for the not-so-faint-of-heart. here.
2011-05-07 V2.31: a micro change. For human factor research, the MCDU has had a key stroke logging option since V2.16. This logging was supposed to be in millisecond granularity. However, it wasn't -- it was in system-dependent clock ticks. This has now been corrected.
Universal MCDUThis MCDU is not specifically for PS1: other systems can use it, too. You only need to write a small piece of code, in any language, to connect to the MCDU via plain ASCII TCP sockets. The unit does not speak ARINC 739A directly, but I have been contracted by an avionics company to build this and it is working. So this MCDU is, really, interfacing to actual avionics and doing an excellent job at this. Should you be interested in this interface, you can contact me but I cannot give or sell you the software, so I'll have to point you onward.
The source code in Tcl/Tk has been released under the GNU GPL. This means that you may freely distribute, run, and modify the code, as long as you don't claim it is all your work, you don't claim it's all my fault, and you release your modifications under the same license. It is all Tcl/Tk and should run on both Windows, Linux, and Mac, but the last two platforms are not explicitly supported and will need a tad of patch-up for sure.
You can use the MCDU on any normal computer. However, some hardware goes particularly well with this MCDU program, and is now fully supported. And a nice touch screen really adds to the experience as well; I tested everything on this one (really!). The top in dedicated hardware currently is the Engravity MCDU which has been fully supported since July 2007.
You need some extra software to display the PS1 CDU on the external MCDU, but it can be done.
IntegrationThe program should be run on a small (P/233+) remote computer, not running PS1. It connects to the Broker or runs its own socket server and offers services to all add-ons that are interested in having access to a central MCDU console. The MCDU itself does not do anything, it just offers a control and display console. Consider it a pre-wired GUI for your own program.
External programs can access the MCDU by connecting to the Broker or directly to the MCDU and registering themselves as an MCDU menu manager, using one of the commands listed on the Programming page (see left margin). The MCDU will assign them a MENU page entry, and notify the program when the user selects this submode. From then on, all interactions between the user and the MCDU are channeled to the external program.
The advantage of all this is that:
InstallationFetch the installation program mcdu-2.31-install.exe and run it. It will ask a few questions but you may answer "yes" to all of them. Finished!
Now run the MCDU. It will come up in the photorealistic 800 mode, which fits (twice) on a normal 800x600 screen. If you see ugly fat letters that overlap, something went wrong with the fonts -- try uninstalling and re-installing the package.
With the "Config" selection, you enter the setup menu. Here you must configure the Broker host (IP address, or "server" if you want a local socket server), and you're ready to go.
The default keys are parallel with the PS1 standard FMC keys, i.e., 1-6 for the left button row, F1-F6 for the right button row, etc. In the Config menu, you can also select the alternate "Magenta" mapping for all hardware based on Project Magenta keyboard layouts, such as the Precision Flight Controls hardware keyboard. Most off-the-shelf hardware for MSFS will actually work correctly in Magenta mode, annunciators and all.
With the title bar in a photorealistic mode, and also by dragging with the
right mouse button in any mode, you can move the display around and
adjust it exactly to your screen. In full screen modes (with no visible
keyboard), the thin grey rectangle should be positioned just outside the
display border. Display modes can be changed on the Config page. Not all
resolutions are available, but you can create your own via new config files
If you use PS1 and want the MCDU to display PS1's CDU, you need one more program.
If you build your own hardware and you have difficulties aligning your
display properly, please contact the author. There are a few tricks that you
can pull to get it all right. A suggestion may be found in the
For tips on working with the MCDU, read the MCDU operation instructions.
Engravity InstructionsIf you have an Engravity MCDU, install the drivers that come with it first, and find out on which COM port the unit lives (use Windows hardware management and look under Ports). On the config page of the software MCDU, fill in the COM port number. The rest should work straight away. Due to hardware restrictions of the Engravity unit, not all displays will be exactly alike the real thing, but they get close enough. In the future, a firmware upgrade of the Engravity unit might support better display layout.
|© 2013 Jeroen Hoppenbrouwers||For more information, mail to firstname.lastname@example.org|