747IPC
version 3

747IPC v3

PS1 Inter-Process Communicator

747IPC is an add-on software for the Aerowinx Precision Simulator 744, a PC-based flight simulator. It extends PS1 functionality chiefly by enabling network connectivity. Like many other PS1 add-ons, it is designed to work closely with Jeroen Hoppenbrouwers' Broker.

747IPC makes available to Broker many internal variables of PS1; programs that are connected to Broker can get access to these variables. The list of exported variables is user-configurable. Programs can also inject data and keystrokes into PS1 using commands sent via Broker. This to-and-fro data exchange makes it possible for external hardware (like overhead panels, CDU displays, etc) to interact with PS1.

Under Windows 2000 and XP, 747IPC version 3 will also launch WinPS1, a windowed interface to PS1 that also provides advanced support for modern audio, joystick and other control devices.

Further development of 747IPC has been stopped in 2008 following the bugfix release of version 3.1. The Open744 747-400 Simulator project continues the mission with the intention of creating a common wrapper for PS1 that runs on both Windows and Unix platforms.

747IPC version 3 is a re-write of version 2, which in turn was based on Dusan Lacko's original 747IPC released on 30 Dec 2000.


Download

Copyright (C) 2003-2008 Ivan Ngeow
This program is free software; you may redistribute it under the terms of
the GNU General Public License.  This program has absolutely no warranty.
10 May 2008: 747IPC v3.1 installer (from SourceForge.net).
You also need SDL.DLL and SDL_mixer.DLL from www.libsdl.org, as well as Hardy's experimental cockpit sounds.
Source code can be obtained from the SourceForge download page.

News

10 May 2008: After a long break, this is the final bugfix release of 747IPC. There are no new features. Bugs fixed include working VMD screens under Windows 98/ME, IPC.caution and IPC.warning keys, and keyboard handling in WinPS1. Supports FlightGear version 1.0.0 as a scenery generator. For the exciting future of PS1, keep track of the Open744 project !

15 Oct 2006: At long last, I present 747IPC version 3.0 ! Courtesy of SourceForge.net, you may now download both the Windows installer file, as well as the source code. You are welcome to study and modify the source -- do let me know what you do with it ! 747IPC and WinPS1 are released under the GPL.

6 Dec 2005: BETA 9 is out -- many bugfixes. Supports up to 16 joystick buttons. Please discuss bugs and request help at http://744.hoppie.nl/pub/node/170.

22 Oct 2005: BETA 8 is out, featuring Traffic Injection. Please discuss bugs and request help at http://744.hoppie.nl/pub/node/170.

28 Sep 2005: BETA 7 is out. This is a public BETA -- everyone is free to download it and discuss any problems on the 744 Forum.

11 Aug 2005: Work has resumed at a feverish pace. I laid the necessary groundwork for IPC.poke and IPC.pushsw injection, using an area of shared memory between 747IPC and WinPS1. This piece of memory is also used to share TF and VIDSERV data. VIDSERV itself has been completely integrated into 747IPC/WinPS1, and now pumps out even more pixels per second than before. A new version of VMD is provided for the remote displays. The "OCR" works as before to convert the CDU screen into text, then feed into MCDU. MCDU keystroke injection into PS1 works perfectly. The WinPS1 audio system has improved somewhat, with all WAV files now being converted to 22050Hz 16-bit stereo on-the-fly.

14 Apr 2005: Due to my coming exams, and the crash of my Win2000 development workstation, WinPS1 programming is temporarily suspended. I am still fixing minor bugs with a few beta testers, but there will be no further BETA release till late June.

28 Feb 2005: BETA 4 is released. See also the "747IPC Architecture" technical document below.

24 Feb 2005: Here's a pair of screenshots of PS1 coupled with MSFS 2004 using 747IPC v3 and Visual744. Demonstrates runway microshift at work, resulting in precise scenery alignment.

09 Feb 2005: BETA 3 released. This adds Win2000/XP support through the WinPS1 module. Windowing is functional; joystick and audio support in the original WinPS1 has been disabled.
This BETA can drive FlightGear 0.9.8 as a visuals generator. IP address can be specified independently of Broker.

21 Jan 2005: I've been able to automate the process of calculating offsets to correct scenery mal-alignment. The next step is compiling a list of offsets for all airports in the PS1 database. For FlightGear, this is quite easily done as all runway data is available. For MSFS, I am receiving help in extracting runway data out of the BGL files.
747IPC is now able to accurately shift PS1 runways in the x-y axes, as well as adjust their directions. The next challenge is in matching PS1 runway elevation to the visual generator's database.

17 Jan 2005: I have finally finished coding the IPC.poke routines. With help from Matt Sheil and other testers, 747IPC is now stable enough to make it to BETA stage :-) Known issues at present: network send error 10093. Please report bugs.
Another very exciting development: FlightGear support !!! The BETA 1 is able to drive a copy of FlightGear running on the same PC as Broker (they must have the same IP address). To setup FlightGear, you must use the following options:

--fdm=null
--native-fdm=socket,in,24,,6969,udp


Features

Module Description Status
Base functionality Output of variables essential for high-performance V744 operation.
Simplified loading of PS1 and add-ons.
Slew PS1 aircraft position.
completed
20.11.04
Runway shift Micro-adjust PS1 runway and ILS positions for alignment with MSFS scenery database. completed
new features in progress
VMREAD Output of user-defined variables.
Handle ad hoc requests for variables from Broker clients.
99% completed
17.01.05
VIDSERV Stream bitmaps of portions of PS1's displays over the network for remote display by VMD. completed
11.08.05
CRM Couple two instances of PS1 in a Captain-First Officer configuration for practising two-crew procedures. in planning
TWY Display taxiway scenery in PS1's lower EICAS screen. completed
TF Display network air traffic overlaid on TWY. completed
TF2 Inject network air traffic as PS1's native TCAS intruders. in progress
FlightGear Output position and attitude data to drive FlightGear as a visuals generator. mostly complete
30.01.05
BGI/WinPS1 Make PS1 run in a window under Microsoft Windows.
Support for all Windows-compatible audio and gaming hardware.
completed
29.08.04

Visit Ed Parker's and Pierre Theilliere's homepages for useful tips and diagrams on how PS1, 747IPC, Broker, Visual744 and MSFS connect together.


System Requirements

You will need:

  1. PS1 with the EE4 update. Get this from the 744 Community or hoppie's temporary folder (May 2008).
  2. Microsoft Windows 95/98/2000/XP.
  3. At least 580 kilobytes of free conventional memory available for DOS programs.
  4. A TCP/IP network connection.

747IPC works best with a functioning network connection to Broker. The following features will still work without a network: slew, runway shift, TWY, WinPS1. The following features additionally require an Internet connection for network air traffic data: TF, TF2.

It is recommended to run Broker on a separate PC from PS1, with the two PCs sharing a network disk drive. TCP/IP connectivity is required between the two PCs. If you use a firewall, open up TCP port 1863.


Documentation

Do browse the Open744 project documentation for useful info.

Technical information on the 747IPC Architecture.

Description of Broker keys handled natively by 747IPC.
For description of keys defined in VMREAD.CFG, you should consult the respective author of the client program.


Last updated .
Contact the author: Ivan Ngeow <rimb1991 at yahoo.com>