diff --git a/Models/Instruments/MCDU1/MCDU1.xml b/Models/Instruments/MCDU1/MCDU1.xml
index 6bce3f67..754825a3 100644
--- a/Models/Instruments/MCDU1/MCDU1.xml
+++ b/Models/Instruments/MCDU1/MCDU1.xml
@@ -136,6 +136,50 @@
+
+ CLB
+ PERF/CLB/CLB.xml
+
+ 180
+ 180
+ 90
+
+
+
+
+ /systems/electrical/bus/ac1
+ 25
+
+
+ /MCDU[0]/page
+ CLB
+
+
+
+
+
+
+ CRZ
+ PERF/CRZ/CRZ.xml
+
+ 180
+ 180
+ 90
+
+
+
+
+ /systems/electrical/bus/ac1
+ 25
+
+
+ /MCDU[0]/page
+ CRZ
+
+
+
+
+
DATA2
DATA2/DATA2.xml
diff --git a/Models/Instruments/MCDU1/PERF/CLB/CLB.xml b/Models/Instruments/MCDU1/PERF/CLB/CLB.xml
new file mode 100644
index 00000000..11cc7d96
--- /dev/null
+++ b/Models/Instruments/MCDU1/PERF/CLB/CLB.xml
@@ -0,0 +1,538 @@
+
+
+
+
+
+
+ EMPTY.ac
+
+
+
+
+ page
+
+ -0.001
+ 0.0
+ 0.083
+
+ center-center
+ yz-plane
+ text-value
+ CLB
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+ actmode
+
+ -0.001
+ -0.045
+ 0.0755
+
+ left-center
+ yz-plane
+ text-value
+ ACT MODE
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ actmode2
+
+ -0.001
+ -0.045
+ 0.0705
+
+ left-center
+ yz-plane
+ text-value
+ MANAGED
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ timedest
+
+ -0.001
+ -0.0
+ 0.0755
+
+ center-center
+ yz-plane
+ text-value
+ TIME DEST
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ timedest2
+
+ -0.001
+ -0.0
+ 0.0715
+
+ center-center
+ yz-plane
+ text-value
+ ---
+ false
+ helvetica_medium.txf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ efob
+
+ -0.001
+ 0.045
+ 0.0755
+
+ right-center
+ yz-plane
+ text-value
+ EFOB
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ efob2
+
+ -0.001
+ 0.045
+ 0.0715
+
+ right-center
+ yz-plane
+ text-value
+ ---
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+ ci
+
+ -0.001
+ -0.045
+ 0.065
+
+ left-center
+ yz-plane
+ text-value
+ CI
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ ci2
+
+ -0.001
+ -0.045
+ 0.0605
+
+ left-center
+ yz-plane
+ text-value
+ ---
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+ ci3
+
+ -0.001
+ -0.045
+ 0.0605
+
+ left-center
+ yz-plane
+ text-value
+ %s
+ false
+ BoeingCDU-Large.ttf
+ /FMGC/internal/cost-index
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+ select
+ ci2
+
+ /FMGC/internal/cost-index-set
+
+
+
+ select
+ ci3
+
+ /FMGC/internal/cost-index-set
+
+
+
+
+ managed
+
+ -0.001
+ -0.045
+ 0.0545
+
+ left-center
+ yz-plane
+ text-value
+ MANAGED
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ presel
+
+ -0.001
+ -0.045
+ 0.0435
+
+ left-center
+ yz-plane
+ text-value
+ PRESEL
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ presel2
+
+ -0.001
+ -0.045
+ 0.0385
+
+ left-center
+ yz-plane
+ text-value
+ *[ ]
+ false
+ helvetica_medium.txf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+ previous
+
+ -0.001
+ -0.045
+ 0.0230
+
+ left-center
+ yz-plane
+ text-value
+ PREV
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+ phase2
+
+ -0.001
+ -0.045
+ 0.0190
+
+ left-center
+ yz-plane
+ text-value
+ <PHASE
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+ next
+
+ -0.001
+ 0.041
+ 0.0230
+
+ right-center
+ yz-plane
+ text-value
+ NEXT
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+ phase
+
+ -0.001
+ 0.043
+ 0.0190
+
+ right-center
+ yz-plane
+ text-value
+ PHASE>
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+
+
+ material
+ page
+ actmode
+ managed
+ ci
+ efob
+ next
+ phase
+ previous
+ phase2
+ timedest
+
+ 1
+ 1
+ 1
+
+
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+
+
+
+
+
+ material
+ efob2
+ actmode2
+ timedest2
+
+ 0.2
+ 0.4
+ 0.2
+
+
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+
+
+ 0.2
+ 0.4
+ 0.2
+
+
+
+
+
+ material
+ presel2
+ ci2
+ ci3
+
+ 0
+ 0.5
+ 0.7
+
+
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+
+
+ 0
+ 0.5
+ 0.7
+
+
+
+
diff --git a/Models/Instruments/MCDU1/PERF/CLB/EMPTY.ac b/Models/Instruments/MCDU1/PERF/CLB/EMPTY.ac
new file mode 100644
index 00000000..4dd7e1f9
--- /dev/null
+++ b/Models/Instruments/MCDU1/PERF/CLB/EMPTY.ac
@@ -0,0 +1,3 @@
+AC3Db
+OBJECT world
+kids 0
diff --git a/Models/Instruments/MCDU1/PERF/CLB/bg.jpg b/Models/Instruments/MCDU1/PERF/CLB/bg.jpg
new file mode 100644
index 00000000..b6eece57
Binary files /dev/null and b/Models/Instruments/MCDU1/PERF/CLB/bg.jpg differ
diff --git a/Models/Instruments/MCDU1/PERF/CRZ/CRZ.xml b/Models/Instruments/MCDU1/PERF/CRZ/CRZ.xml
new file mode 100644
index 00000000..0cdbe6e3
--- /dev/null
+++ b/Models/Instruments/MCDU1/PERF/CRZ/CRZ.xml
@@ -0,0 +1,614 @@
+
+
+
+
+
+
+ EMPTY.ac
+
+
+
+
+ page
+
+ -0.001
+ 0.0
+ 0.083
+
+ center-center
+ yz-plane
+ text-value
+ CRZ
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+ actmode3
+
+ -0.001
+ -0.045
+ 0.0755
+
+ left-center
+ yz-plane
+ text-value
+ ACT MODE
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ actmode4
+
+ -0.001
+ -0.045
+ 0.0705
+
+ left-center
+ yz-plane
+ text-value
+ MANAGED
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ timedest3
+
+ -0.001
+ -0.0
+ 0.0755
+
+ center-center
+ yz-plane
+ text-value
+ TIME DEST
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ timedest4
+
+ -0.001
+ -0.0
+ 0.0715
+
+ center-center
+ yz-plane
+ text-value
+ ---
+ false
+ helvetica_medium.txf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ efob3
+
+ -0.001
+ 0.045
+ 0.0755
+
+ right-center
+ yz-plane
+ text-value
+ EFOB
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ efob4
+
+ -0.001
+ 0.045
+ 0.0715
+
+ right-center
+ yz-plane
+ text-value
+ ---
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+ ci5
+
+ -0.001
+ -0.045
+ 0.065
+
+ left-center
+ yz-plane
+ text-value
+ CI
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ ci6
+
+ -0.001
+ -0.045
+ 0.0605
+
+ left-center
+ yz-plane
+ text-value
+ ---
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+ ci7
+
+ -0.001
+ -0.045
+ 0.0605
+
+ left-center
+ yz-plane
+ text-value
+ %s
+ false
+ BoeingCDU-Large.ttf
+ /FMGC/internal/cost-index
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+ select
+ ci6
+
+ /FMGC/internal/cost-index-set
+
+
+
+ select
+ ci7
+
+ /FMGC/internal/cost-index-set
+
+
+
+
+ managed2
+
+ -0.001
+ -0.045
+ 0.0545
+
+ left-center
+ yz-plane
+ text-value
+ MANAGED
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ presel3
+
+ -0.001
+ -0.045
+ 0.0435
+
+ left-center
+ yz-plane
+ text-value
+ PRESEL
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ presel4
+
+ -0.001
+ -0.045
+ 0.0385
+
+ left-center
+ yz-plane
+ text-value
+ *[ ]
+ false
+ helvetica_medium.txf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+ previous2
+
+ -0.001
+ -0.045
+ 0.0230
+
+ left-center
+ yz-plane
+ text-value
+ PREV
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+ phase4
+
+ -0.001
+ -0.045
+ 0.0190
+
+ left-center
+ yz-plane
+ text-value
+ <PHASE
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+ next2
+
+ -0.001
+ 0.041
+ 0.0230
+
+ right-center
+ yz-plane
+ text-value
+ NEXT
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+ phase3
+
+ -0.001
+ 0.043
+ 0.0190
+
+ right-center
+ yz-plane
+ text-value
+ PHASE>
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+ descabinrate
+
+ -0.001
+ 0.0265
+ 0.030
+
+ right-center
+ yz-plane
+ text-value
+ -350
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+ descabinrate2
+
+ -0.001
+ 0.045
+ 0.0345
+
+ right-center
+ yz-plane
+ text-value
+ DES CABIN RATE
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ descabinrate3
+
+ -0.001
+ 0.045
+ 0.030
+
+ right-center
+ yz-plane
+ text-value
+ FT/MIN
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+
+
+ material
+ page
+ actmode3
+ managed2
+ ci5
+ efob3
+ next2
+ phase3
+ previous2
+ phase4
+ presel3
+ descabinrate3
+ descabinrate2
+ timedest3
+
+ 1
+ 1
+ 1
+
+
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+
+
+
+
+
+ material
+ efob4
+ actmode4
+ timedest4
+
+ 0.2
+ 0.4
+ 0.2
+
+
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+
+
+ 0.2
+ 0.4
+ 0.2
+
+
+
+
+
+ material
+ presel4
+ ci6
+ ci7
+ descabinrate
+
+ 0
+ 0.5
+ 0.7
+
+
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+
+
+ 0
+ 0.5
+ 0.7
+
+
+
+
diff --git a/Models/Instruments/MCDU1/PERF/CRZ/EMPTY.ac b/Models/Instruments/MCDU1/PERF/CRZ/EMPTY.ac
new file mode 100644
index 00000000..4dd7e1f9
--- /dev/null
+++ b/Models/Instruments/MCDU1/PERF/CRZ/EMPTY.ac
@@ -0,0 +1,3 @@
+AC3Db
+OBJECT world
+kids 0
diff --git a/Models/Instruments/MCDU1/PERF/CRZ/bg.jpg b/Models/Instruments/MCDU1/PERF/CRZ/bg.jpg
new file mode 100644
index 00000000..b6eece57
Binary files /dev/null and b/Models/Instruments/MCDU1/PERF/CRZ/bg.jpg differ
diff --git a/Models/Instruments/MCDU2/MCDU2.xml b/Models/Instruments/MCDU2/MCDU2.xml
index f9522985..3946d9a5 100644
--- a/Models/Instruments/MCDU2/MCDU2.xml
+++ b/Models/Instruments/MCDU2/MCDU2.xml
@@ -136,6 +136,50 @@
+
+ CLB
+ PERF/CLB/CLB.xml
+
+ 180
+ 180
+ 90
+
+
+
+
+ /systems/electrical/bus/ac1
+ 25
+
+
+ /MCDU[1]/page
+ CLB
+
+
+
+
+
+
+ CRZ
+ PERF/CRZ/CRZ.xml
+
+ 180
+ 180
+ 90
+
+
+
+
+ /systems/electrical/bus/ac1
+ 25
+
+
+ /MCDU[1]/page
+ CRZ
+
+
+
+
+
DATA2
DATA2/DATA2.xml
diff --git a/Models/Instruments/MCDU2/PERF/CLB/CLB.xml b/Models/Instruments/MCDU2/PERF/CLB/CLB.xml
new file mode 100644
index 00000000..11cc7d96
--- /dev/null
+++ b/Models/Instruments/MCDU2/PERF/CLB/CLB.xml
@@ -0,0 +1,538 @@
+
+
+
+
+
+
+ EMPTY.ac
+
+
+
+
+ page
+
+ -0.001
+ 0.0
+ 0.083
+
+ center-center
+ yz-plane
+ text-value
+ CLB
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+ actmode
+
+ -0.001
+ -0.045
+ 0.0755
+
+ left-center
+ yz-plane
+ text-value
+ ACT MODE
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ actmode2
+
+ -0.001
+ -0.045
+ 0.0705
+
+ left-center
+ yz-plane
+ text-value
+ MANAGED
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ timedest
+
+ -0.001
+ -0.0
+ 0.0755
+
+ center-center
+ yz-plane
+ text-value
+ TIME DEST
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ timedest2
+
+ -0.001
+ -0.0
+ 0.0715
+
+ center-center
+ yz-plane
+ text-value
+ ---
+ false
+ helvetica_medium.txf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ efob
+
+ -0.001
+ 0.045
+ 0.0755
+
+ right-center
+ yz-plane
+ text-value
+ EFOB
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ efob2
+
+ -0.001
+ 0.045
+ 0.0715
+
+ right-center
+ yz-plane
+ text-value
+ ---
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+ ci
+
+ -0.001
+ -0.045
+ 0.065
+
+ left-center
+ yz-plane
+ text-value
+ CI
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ ci2
+
+ -0.001
+ -0.045
+ 0.0605
+
+ left-center
+ yz-plane
+ text-value
+ ---
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+ ci3
+
+ -0.001
+ -0.045
+ 0.0605
+
+ left-center
+ yz-plane
+ text-value
+ %s
+ false
+ BoeingCDU-Large.ttf
+ /FMGC/internal/cost-index
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+ select
+ ci2
+
+ /FMGC/internal/cost-index-set
+
+
+
+ select
+ ci3
+
+ /FMGC/internal/cost-index-set
+
+
+
+
+ managed
+
+ -0.001
+ -0.045
+ 0.0545
+
+ left-center
+ yz-plane
+ text-value
+ MANAGED
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ presel
+
+ -0.001
+ -0.045
+ 0.0435
+
+ left-center
+ yz-plane
+ text-value
+ PRESEL
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ presel2
+
+ -0.001
+ -0.045
+ 0.0385
+
+ left-center
+ yz-plane
+ text-value
+ *[ ]
+ false
+ helvetica_medium.txf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+ previous
+
+ -0.001
+ -0.045
+ 0.0230
+
+ left-center
+ yz-plane
+ text-value
+ PREV
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+ phase2
+
+ -0.001
+ -0.045
+ 0.0190
+
+ left-center
+ yz-plane
+ text-value
+ <PHASE
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+ next
+
+ -0.001
+ 0.041
+ 0.0230
+
+ right-center
+ yz-plane
+ text-value
+ NEXT
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+ phase
+
+ -0.001
+ 0.043
+ 0.0190
+
+ right-center
+ yz-plane
+ text-value
+ PHASE>
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+
+
+ material
+ page
+ actmode
+ managed
+ ci
+ efob
+ next
+ phase
+ previous
+ phase2
+ timedest
+
+ 1
+ 1
+ 1
+
+
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+
+
+
+
+
+ material
+ efob2
+ actmode2
+ timedest2
+
+ 0.2
+ 0.4
+ 0.2
+
+
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+
+
+ 0.2
+ 0.4
+ 0.2
+
+
+
+
+
+ material
+ presel2
+ ci2
+ ci3
+
+ 0
+ 0.5
+ 0.7
+
+
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+
+
+ 0
+ 0.5
+ 0.7
+
+
+
+
diff --git a/Models/Instruments/MCDU2/PERF/CLB/EMPTY.ac b/Models/Instruments/MCDU2/PERF/CLB/EMPTY.ac
new file mode 100644
index 00000000..4dd7e1f9
--- /dev/null
+++ b/Models/Instruments/MCDU2/PERF/CLB/EMPTY.ac
@@ -0,0 +1,3 @@
+AC3Db
+OBJECT world
+kids 0
diff --git a/Models/Instruments/MCDU2/PERF/CLB/bg.jpg b/Models/Instruments/MCDU2/PERF/CLB/bg.jpg
new file mode 100644
index 00000000..b6eece57
Binary files /dev/null and b/Models/Instruments/MCDU2/PERF/CLB/bg.jpg differ
diff --git a/Models/Instruments/MCDU2/PERF/CRZ/CRZ.xml b/Models/Instruments/MCDU2/PERF/CRZ/CRZ.xml
new file mode 100644
index 00000000..0cdbe6e3
--- /dev/null
+++ b/Models/Instruments/MCDU2/PERF/CRZ/CRZ.xml
@@ -0,0 +1,614 @@
+
+
+
+
+
+
+ EMPTY.ac
+
+
+
+
+ page
+
+ -0.001
+ 0.0
+ 0.083
+
+ center-center
+ yz-plane
+ text-value
+ CRZ
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+ actmode3
+
+ -0.001
+ -0.045
+ 0.0755
+
+ left-center
+ yz-plane
+ text-value
+ ACT MODE
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ actmode4
+
+ -0.001
+ -0.045
+ 0.0705
+
+ left-center
+ yz-plane
+ text-value
+ MANAGED
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ timedest3
+
+ -0.001
+ -0.0
+ 0.0755
+
+ center-center
+ yz-plane
+ text-value
+ TIME DEST
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ timedest4
+
+ -0.001
+ -0.0
+ 0.0715
+
+ center-center
+ yz-plane
+ text-value
+ ---
+ false
+ helvetica_medium.txf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ efob3
+
+ -0.001
+ 0.045
+ 0.0755
+
+ right-center
+ yz-plane
+ text-value
+ EFOB
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ efob4
+
+ -0.001
+ 0.045
+ 0.0715
+
+ right-center
+ yz-plane
+ text-value
+ ---
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+ ci5
+
+ -0.001
+ -0.045
+ 0.065
+
+ left-center
+ yz-plane
+ text-value
+ CI
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ ci6
+
+ -0.001
+ -0.045
+ 0.0605
+
+ left-center
+ yz-plane
+ text-value
+ ---
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+ ci7
+
+ -0.001
+ -0.045
+ 0.0605
+
+ left-center
+ yz-plane
+ text-value
+ %s
+ false
+ BoeingCDU-Large.ttf
+ /FMGC/internal/cost-index
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+ select
+ ci6
+
+ /FMGC/internal/cost-index-set
+
+
+
+ select
+ ci7
+
+ /FMGC/internal/cost-index-set
+
+
+
+
+ managed2
+
+ -0.001
+ -0.045
+ 0.0545
+
+ left-center
+ yz-plane
+ text-value
+ MANAGED
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ presel3
+
+ -0.001
+ -0.045
+ 0.0435
+
+ left-center
+ yz-plane
+ text-value
+ PRESEL
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ presel4
+
+ -0.001
+ -0.045
+ 0.0385
+
+ left-center
+ yz-plane
+ text-value
+ *[ ]
+ false
+ helvetica_medium.txf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+ previous2
+
+ -0.001
+ -0.045
+ 0.0230
+
+ left-center
+ yz-plane
+ text-value
+ PREV
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+ phase4
+
+ -0.001
+ -0.045
+ 0.0190
+
+ left-center
+ yz-plane
+ text-value
+ <PHASE
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+ next2
+
+ -0.001
+ 0.041
+ 0.0230
+
+ right-center
+ yz-plane
+ text-value
+ NEXT
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+ phase3
+
+ -0.001
+ 0.043
+ 0.0190
+
+ right-center
+ yz-plane
+ text-value
+ PHASE>
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+ descabinrate
+
+ -0.001
+ 0.0265
+ 0.030
+
+ right-center
+ yz-plane
+ text-value
+ -350
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+ descabinrate2
+
+ -0.001
+ 0.045
+ 0.0345
+
+ right-center
+ yz-plane
+ text-value
+ DES CABIN RATE
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0040
+
+ 64
+ 64
+
+
+
+
+ descabinrate3
+
+ -0.001
+ 0.045
+ 0.030
+
+ right-center
+ yz-plane
+ text-value
+ FT/MIN
+ false
+ BoeingCDU-Large.ttf
+ autopilot/serviceable
+ true
+ false
+ false
+ 0.0050
+
+ 64
+ 64
+
+
+
+
+
+
+ material
+ page
+ actmode3
+ managed2
+ ci5
+ efob3
+ next2
+ phase3
+ previous2
+ phase4
+ presel3
+ descabinrate3
+ descabinrate2
+ timedest3
+
+ 1
+ 1
+ 1
+
+
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+
+
+
+
+
+ material
+ efob4
+ actmode4
+ timedest4
+
+ 0.2
+ 0.4
+ 0.2
+
+
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+
+
+ 0.2
+ 0.4
+ 0.2
+
+
+
+
+
+ material
+ presel4
+ ci6
+ ci7
+ descabinrate
+
+ 0
+ 0.5
+ 0.7
+
+
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+
+
+ 0
+ 0.5
+ 0.7
+
+
+
+
diff --git a/Models/Instruments/MCDU2/PERF/CRZ/EMPTY.ac b/Models/Instruments/MCDU2/PERF/CRZ/EMPTY.ac
new file mode 100644
index 00000000..4dd7e1f9
--- /dev/null
+++ b/Models/Instruments/MCDU2/PERF/CRZ/EMPTY.ac
@@ -0,0 +1,3 @@
+AC3Db
+OBJECT world
+kids 0
diff --git a/Models/Instruments/MCDU2/PERF/CRZ/bg.jpg b/Models/Instruments/MCDU2/PERF/CRZ/bg.jpg
new file mode 100644
index 00000000..b6eece57
Binary files /dev/null and b/Models/Instruments/MCDU2/PERF/CRZ/bg.jpg differ
diff --git a/Nasal/MCDU1.nas b/Nasal/MCDU1.nas
index 8ecb832f..6580a74a 100644
--- a/Nasal/MCDU1.nas
+++ b/Nasal/MCDU1.nas
@@ -17,20 +17,31 @@ var MCDU_reset = func {
}
var lskbutton = func(btn) {
- if (btn == "4") {
+ if (btn == "2") {
+ if (getprop("/MCDU[0]/page") == "INITA") {
+ PerfInput("L2");
+ }
+ } else if (btn == "4") {
if (getprop("/MCDU[0]/page") == "DATA") {
setprop("/MCDU[0]/page", "STATUS");
}
} else if (btn == "5") {
if (getprop("/MCDU[0]/page") == "INITA") {
initInputA("L5");
+ } else if (getprop("/MCDU[0]/page") == "CLB") {
+ PerfCLBInput("L5");
}
} else if (btn == "6") {
if (getprop("/MCDU[0]/page") == "INITA") {
initInputA("L6");
+ } else if (getprop("/MCDU[0]/page") == "CLB") {
+ PerfCLBInput("L6");
+ } else if (getprop("/MCDU[0]/page") == "CRZ") {
+ PerfCRZInput("L6");
}
}
}
+
var initInputA = func(key) {
var scratchpad = getprop("/MCDU[0]/scratchpad");
@@ -79,8 +90,60 @@ var initInputA = func(key) {
}
}
+var PerfCLBInput = func(key) {
+ var scratchpad = getprop("/MCDU[0]/scratchpad");
+ if (key == "L5") {
+ if (scratchpad == "CLR") {
+ setprop("/FMGC/internal/cost-index", 0);
+ setprop("/FMGC/internal/cost-index-set", 0);
+ setprop("/MCDU[0]/scratchpad", "");
+ } else {
+ var ci = int(scratchpad);
+ var cis = size(scratchpad);
+ if (cis >= 1 and cis <= 3) {
+ if (cis >= 0 and cis <= 120) {
+ setprop("/FMGC/internal/cost-index", ci);
+ setprop("/FMGC/internal/cost-index-set", 1);
+ setprop("/MCDU[0]/scratchpad", "");
+ } else {
+ setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
+ }
+ } else {
+ setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
+ }
+ }
+ } else if (key == "L6") {
+ setprop("/MCDU[0]/page", "TO");
+ } else if (key == "R6") {
+ setprop("/MCDU[0]/page", "CRZ");
+ }
+}
+
+var PerfTOInput = func(key) {
+ if (key == "R6") {
+ setprop("/MCDU[0]/page", "CLB");
+ }
+}
+
+var PerfCRZInput = func(key) {
+ if (key == "L6") {
+ setprop("/MCDU[0]/page", "CLB");
+ }
+ # if (key == "R6") {
+ # setprop("/MCDU[0]/page", "DES");
+ # }
+}
+
var rskbutton = func(btn) {
- # LOL Nothing here :D
+ if (btn == "6") {
+ if (getprop("/MCDU[0]/page") == "TO") {
+ PerfTOInput("R6");
+ } else if (getprop("/MCDU[0]/page") == "CLB") {
+ PerfCLBInput("R6");
+ } # else if (getprop("/MCDU[0]/page") == "CRZ") {
+ # PerfCRZInput("R6");
+ #}
+ }
}
var arrowbutton = func(btn) {
diff --git a/Nasal/MCDU2.nas b/Nasal/MCDU2.nas
index 2615a390..73ce4ad4 100644
--- a/Nasal/MCDU2.nas
+++ b/Nasal/MCDU2.nas
@@ -17,17 +17,27 @@ var MCDU_reset = func {
}
var lskbutton = func(btn) {
- if (btn == "4") {
+ if (btn == "2") {
+ if (getprop("/MCDU[1]/page") == "INITA") {
+ PerfInput("L2");
+ }
+ } else if (btn == "4") {
if (getprop("/MCDU[1]/page") == "DATA") {
setprop("/MCDU[1]/page", "STATUS");
}
} else if (btn == "5") {
if (getprop("/MCDU[1]/page") == "INITA") {
initInputA("L5");
+ } else if (getprop("/MCDU[1]/page") == "CLB") {
+ PerfCLBInput("L5");
}
} else if (btn == "6") {
if (getprop("/MCDU[1]/page") == "INITA") {
initInputA("L6");
+ } else if (getprop("/MCDU[1]/page") == "CLB") {
+ PerfCLBInput("L6");
+ } else if (getprop("/MCDU[1]/page") == "CRZ") {
+ PerfCRZInput("L6");
}
}
}
@@ -79,8 +89,59 @@ var initInputA = func(key) {
}
}
+var PerfCLBInput = func(key) {
+ var scratchpad = getprop("/MCDU[1]/scratchpad");
+ if (key == "L5") {
+ if (scratchpad == "CLR") {
+ setprop("/FMGC/internal/cost-index", 0);
+ setprop("/FMGC/internal/cost-index-set", 0);
+ setprop("/MCDU[1]/scratchpad", "");
+ } else {
+ var ci = int(scratchpad);
+ var cis = size(scratchpad);
+ if (cis >= 1 and cis <= 3) {
+ if (cis >= 0 and cis <= 120) {
+ setprop("/FMGC/internal/cost-index", ci);
+ setprop("/FMGC/internal/cost-index-set", 1);
+ setprop("/MCDU[1]/scratchpad", "");
+ } else {
+ setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
+ }
+ } else {
+ setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
+ }
+ }
+ } else if (key == "L6") {
+ setprop("/MCDU[1]/page", "TO");
+ } else if (key == "R6") {
+ setprop("/MCDU[1]/page", "CRZ");
+ }
+}
+
+var PerfTOInput = func(key) {
+ if (key == "R6") {
+ setprop("/MCDU[1]/page", "CLB");
+ }
+}
+
+var PerfCRZInput = func(key) {
+ if (key == "L6") {
+ setprop("/MCDU[1]/page", "CLB");
+ } # else if (key == "R6") {
+ # setprop("/MCDU[1]/page", "DES");
+ #}
+}
+
var rskbutton = func(btn) {
- # LOL Nothing here :D
+ if (btn == "6") {
+ if (getprop("/MCDU[1]/page") == "TO") {
+ PerfTOInput("R6");
+ } else if (getprop("/MCDU[1]/page") == "CLB") {
+ PerfCLBInput("R6");
+ } # else if (getprop("/MCDU[1]/page") == "TO") {
+ # PerfCRZInput("R6");
+ # }
+ }
}
var arrowbutton = func(btn) {