Project Magenta FSUIPC Offsets

Public Version

Wednesday, August 22, 2001
For the newest online version of this document, go to www.schiratti.com/docs

Please send an e-mail (support@schiratti.com) with your unanswered questions or any hints you think may be useful to others. Thank you.

0x Addresses:

4E0 MCP IAS (Read Only)
4E2 MCP Heading (Read Only)
4E4 MCP Altitude (Read Only) (100 of feet, i.e. 3000 ft = 30, 31000 ft = 310)
4E6 MCP Selected Vertical Speed (Read Only)
4E8 MCP Mach (Read Only) (70 = 0.7 Mach)

Please see offset 0x5406 for "Write" addresses

4EA CDU Thrust N1 (Read Only) (Project Magenta Internal)
4EC MCP/FCU Thrust N1 (Read Only)
(Project Magenta Internal)
4EE MCP/FCU Thrust Mode (Read Only)
(Project Magenta Internal)
4F0 MCP/FCU Lights (Read Only)

Boeing-Type MCP

Bit Light 0 A/P Master L (1)
1 A/P Master C (2)
2 VS
3 ALT HLD
4 APP
5 LOC
6 LNAV
7 HDG
8 FLCH
9 SPD
10 THR
11 A/T
12 F/D
13 A/P Master R
14 VNAV
15 Mach

Airbus -Type FCU

Bit Light 0 A/P 1
1 A/P 2
2 VS
3 ALT HLD
4 APP
5 LOC
6 LNAV
7 HDG
8 FLCH
9 SPD
10 THR
11 A/T
12 F/D
13
14 VNAV
15 Mach

4F2 MCP/FCU Throughpass (See MCPcodes Below) (Read/Write)

Example: Write Value 33 to engage AP2 (K033 ELAN Code). Once read, the MCP resets the value to 0 and is ready for another read.

4F4 ND Modes (Read Only)

(Values, not bits!)
1 ND Map Mode (Captain Side)
2 Map CTR (Captain Side)
3 Rose (Captain Side)
4 MAP Plan (Captain Side)

4F6 Navaids active in MAP... (Read Only)

Bit 0 VOR
1 NDB
2 ARP
3 WPT
4 WPT Data
5 VOR1 needle Active (Boeing)
6 VOR2 needle Active (Boeing)

4F8 ND Map Scale 1 = 10, 2 = 20, 3 = 40 ... (Read Only)
4FA Decision Height (10s of feet, 200 ft = 20, 1050 ft = 105) (Read Only)
4FC Selected Waypoint in PLAN Mode (CDU Writes)
(Project Magenta Internal)
4FE PFD Various (Read Only)

Bit 0 Windshear
1 Below G/S
2 Caution
3 Warning

500 AP Mode 1 (MCP active, F/D, TO/GA) (Read Only)

Bit 0 Mach Active
1 F/D
2 TOGA
non-zero if MCP is active

502 AP Mode 2 (Annunciator Standby Values) (Read Only)

Hex Value of anunciator Channels, 15 values possible per channel, encoded as follows:

Thrust Channel Standby Mode (Speed modes)
Vertical Channel Standby Mode (ALT etc.)
Horizontal Channel Standby Mode (HDG etc.)

0xThr * 0X100 + 0xVer * 0x10 + 0xHor

For a list of the anunciator values, please go to
http://www.schiratti.com/docs/AircraftType.html, as the meaning varies according to the type file. This is also the case for AP Mode 3.

This value is just an anunciation, i.e. it doesn't set any mode!

504 AP Mode 3 (Annunciator Values) (Read Only)

Autopilots Active (Bits 0 = none or any combination of 1, 2, 3 (bit 3), i.e. value 5 would be A/P 1 and 3 active)
Thrust Channel (Speed modes)
Vertical Channel (ALT etc.)
Horizontal Channel (HDG etc.)

0xAuto * 0x1000 + 0xThr * 0X100 + 0xVer * 0x10 + 0xHor

This value is just an anunciation, i.e. it doesn't set any mode!

506 Engine Warning Modes Engine 1/2 (Read/Write)
508 Engine Warning Modes Engine 3/4 (Read/Write)

(Engine N/Engine N + 1)
Bit 0/8 - Start Valve Open
Bit 1/9 - Oil Filter Bypass
Bit 2/10 - Low Oil Pressure
(set by Glass Cockpit if minimum Oil Pressure Value is defined in the Aircraft.TXT file)

50A MCP Commands (Read/Write)

Bit 0 (TO/GA switch)
Bit 1 (A/P disconnect)
Bit 2 (A/T disconnect)

Bit Toggles

 

50E WideFS in compatibility mode = 1
510 Electrical Systems Inop = 1 (Glass Cockpit Reads, switches off when bit is 1)
512 CDU "Load Type Data" Switch
(Project Magenta Internal)
514 CDU "Load Flight Plan Info" Switch
(Project Magenta Internal)
516 CDU Climb N1
(Project Magenta Internal)
518 CDU TO N1
(Project Magenta Internal)
51A CDU Set Value
(Project Magenta Internal)
51C MCP Blank V/S (bit 0) MCP Blank SPD (bit 1) (MCP Writes)
51E Unused

520 CDU Speed (Project Magenta Internal)
522 CDU Altitude
(Project Magenta Internal)
524 CDU VertSpeed
(Project Magenta Internal)
526 CDU Mode
(Project Magenta Internal)
528 CDU Mach
(Project Magenta Internal)
52A CDU Heading
(Project Magenta Internal)

52C CDU Lights (Read Only)

Bit 0 (EXEC)
Bit 1 (MSG)
Bit 2 (FAIL)
Bit 3 (OFST)
Bit 4
Bit 5 Next Waypoint
Bit 6 Climb
Bit 7 Cruise
Bit 8 Descent
Bit 9 TOD in 50 Miles
Bit 10 TOD

52E CDU Path Data (Project Magenta Internal)

530 Altitude Request (Weather, CDU Writes) (Project Magenta Internal)
532 Request Complete (non-zero) (Weather, CDU Reads)
(Project Magenta Internal)
534 Wind Direction (degrees true) (Weather, CDU Reads)
(Project Magenta Internal)
536 Wind Speed (Knots) (Weather, CDU Reads)
(Project Magenta Internal)

Upper offsets: 0x5400-0x55FF

5400 Glass Cockpit Build Number (Read Only)
5402 MCP/FCU Build Number (Read Only)
5404 CDU/MCDU Build Number (Read Only)

5406 MCP IAS Set (Write)
5408 MCP Heading Set (Write)
540A MCP Altitude Set (Write)
540C MCP V/S Set (Write)
540E MCP Mach Set (Write) (72 = 0.72 mach)

(MCP Build 307+: These values can be written to the MCP, but the MCP has the last word whether they are used, depending on the active modes, use offset 0x4E0 etc. to read the actual values)

5410 MCP Buttons B00-31 (Read/Write)

---- B00-B09 (free, ideally kept free)
SPDP B10 (SPD pushbutton 747 MCP)
HDGP B11 (heading SEL pushbutton 747 MCP)
ALTP B12 (ALT pushbutton 747 MCP)
---- B13-B18 (free)
ATON B19 (switch on)
ATFF B20 (switch off)
THR B21
SPD B22
MACH B23 (spd/mach toggle... C/O, SEL)
FLCH B24
HDG B25
VNAV B26
LNAV B27
LOC B28
APP B29
ALT B30 (ALT HOLD!)
VS B31

For external programs, toggled.

5414 MCP Buttons B32-63 (Read/Write)

AP1 B32
AP2 B33
---- B34-B35 (free)
AP3 B36
FDON B37 (switch on)
FDFF B38 (switch off)
---- B39 (free)
APDI B40 (AP Disengage - not used in 747-400 MCP)
APEN B41 (AP Engage - not used in 747-400 MCP)
APOF B42 (AP Disconnect, discreet OFF for 747-400 MCP)
VS B43 (same as B31)
--- B44-B48 (free)
ALS B49 (AB LS Button)
ASTI B50 (AB STD/QNH push)
ASTO B51 (AB STD/QNH pull -> STD BARO 29.92 in)
ASPI B52 (AB Speed Button push - managed speed mode)
ASPO B53 (AB Speed Button pull)
AHDI B54 (AB Heading Button push - managed heading mode)
AHDO B55 (AB Heading Button pull)
AALI B56 (AB Altitude Button push - managed altitude mode)
AALO B57 (AB Altitude Button pull)
AVSI B58 (AB VS Button push - managed altitude mode)
AVSO B59 (AB VS Button pull)
---- B60-B63 (free)

For external programs, toggled.

5418 MCP Knobs/Selectors S00-31 (Read/Write)

DH- S00 (10)
DH+ S01 (10)
HDG- S02 (1)
HDG+ S03 (1)
HDG- S04 (10)
HDG+ S05 (10)
ALT- S06 (100)
ALT+ S07 (100)
ALT- S08 (1000)
ALT+ S09 (1000)
SPD- S10 (1) (mach .01)
SPD+ S11 (1) (mach .01)
SPD- S12 (10) (mach .01)
SPD+ S13 (10) (mach .01)
VS- S14 (100)
VS+ S15 (100)
CRS- S16 (1)
CRS+ S17 (1)
QNH- S18 (0.01/1 depending on mode)
QNH+ S19 (0.01/1 depending on mode)

CRNG- S20 (Captain ND range -)
CRNG+ S21 (Captain ND range +)
CNDM- S22 (Captain ND mode -)
CNDM- S23 (Captain ND mode +)
FRNG- S24 (F/O ND range -)
FRNG+ S25 (F/O ND range +)
FNDM- S26 (F/O ND mode -)
FNDM- S27 (F/O ND mode +)

For external programs, set to one, when it applies, reset to 0 by the MCP.

541C MCP Knobs/Selectors S32-63 (Captain ND Modes) (Read/Write)

ILS S32 (reserved for Airbus ILS mode)
MAP S33 (Captain Side ND controls)
CTR S34
ROSE S35
PLAN S36
R10 S37
R20 S38
R40 S39
R80 S40
R160 S41
R320 S42
R640 S43
VOR S44
NDB S45
WPT S46
ARPT S47
DATA S48
POS S49
VOR1on S50
ADF1on S51
VORADF1off S52

VOR2on S53
ADF2on S54
VORADF2off S55
METRIC S56
HDGVS/TRKFPA S57

For external programs, toggled.

5420 MCP Knobs/Selectors S64-96 (First Officer ND Modes) (Read/Write)

ILS S64 (reserved for Airbus ILS mode) (Bit 0)
MAP S65 (Captain Side ND controls)
CTR S66
ROSE S67
PLAN S68
R10 S69
R20 S70
R40 S71
R80 S72
R160 S73
R320 S74
R640 S75
VOR S76
NDB S77
WPT S78
ARPT S79
DATA S80
POS S81

For external programs, toggled.

5424 Glass Cockpit Selectors (Read/Write)

Bit 0 Show Controls on engine page
1 Show Standby Gauge on engine page
2 Engine Page Decrement
3 Engine Page Increment
4 Synoptic Page Decrement
5 Synoptic Page Increment
6 PLAN mode selected waypoint Decrement
7 PLAN mode selected waypoint Increment

...

For external programs, set to one, when it applies, reset to 0 by the Glass Cockpit.

5430 CDU Remote (PM Internal, not implemented yet, about 64 bytes)

5430 RemoteLoadPage
5432 RemoteCommand
5434 RemotePageSet (8 bytes)
543D RemotePageActive (8 bytes)
5446 RemoteScratchPad (24 bytes)

5500 PFC.DLL Version

 

MCP Codes / MCP Interface (defined by ELAN Informatique)

The serial communication settings are 19200,N,8,1 Telegrams are all in ascii... where all telegrams are followed by a ASCII 0h I.e. when the HDG button is pressed, the MCP hardware sends to MCP.EXE (Basic Style Language): "K025" + chr(&h0)

The MCP Throughpass (Offset 0x4F2) can use the following codes as well, e.g. to send K020 set value in 0x4F2 to 20decimal. When read, the MCP sets 0x4F2 back to 0.

Switches send following telegrams (hardware to program):

SPDP K010 (SPD pushbutton 747 MCP)
HDGP K011 (heading SEL pushbutton 747 MCP)
ALTP K012 (ALT pushbutton 747 MCP)
ATON K019 (switch on)
ATFF K020 (switch off)
THR K021
SPD K022
FLCH K024
MACH K023
HDG K025
VNAV K026
LOC K028
LNAV K027
APP K029
ALT K030
VS K031
AP1 K032
AP2 K033
AP3 K036
FDON K037 (switch on)
FDFF K038 (switch off)
APDI K099 (AP Disengage - defined for 747-400 MCP)
APDI K040 (AP Disengage - not used in 747-400 MCP)
APEN K041 (AP Engage - not used in 747-400 MCP)

Serial communication, string K025(Null) ["K025"+chr(0)] "presses" HDG MCP hardware to program (telegrams)

V01 123(0) left course selector value from MCP (course 123)
V02 245(0) speed indicator value 245 knots
V03 320(0) heading value (320 degrees)
V0412000(0) altiitude value (12000ft)
V05-1800(0) vertical speed (-1800 ft/min)
V06 232(0) right course selector
V08 400(0) decision height Lights activation... from program to hardware: the last two digits are sent as identifier:
L0125(0) switches the HDG light on
L1125(0) switches it off Values from program to hardware:
D01 123(0) sets left course selector to course 123 on MCP
D02 245(0) speed indicator value 245 knots
D03 320(0) heading value (320 degrees)
D0412000(0) altiitude value (12000ft)
D05-1800(0) vertical speed (-1800 ft/min)
D05 +00(0) sets vertical speed to 0 (!!!important exception)
D06 232(0) right course selector
D08 200(0) decision height set
X1105 switches V/S display on
X1005 switches V/S display off
X1102 switches SPD display on
X1002 switches SPD display off