diff --git a/10.01_base/2_src/pru1/pru1_statemachine_dma.c b/10.01_base/2_src/pru1/pru1_statemachine_dma.c
index 1cb3b04..2be8a52 100644
--- a/10.01_base/2_src/pru1/pru1_statemachine_dma.c
+++ b/10.01_base/2_src/pru1/pru1_statemachine_dma.c
@@ -142,7 +142,7 @@ static uint8_t sm_dma_state_1() {
// prev SSYN & DATA may be still on bus, disturbes DATA
while (buslatches_getbyte(4) & BIT(5))
; // wait for SSYN inactive
- __delay_cycles(NANOSECS(150) - 10);
+ __delay_cycles(NANOSECS(UNIBUS_DMA_MASTER_PRE_MSYN_NS) - 10);
// assume 10 cycles for buslatches_getbyte and address test
// ADDR, CONTROL (and DATA) stable since 150ns, set MSYN
@@ -192,7 +192,7 @@ static uint8_t sm_dma_state_1() {
buslatches_setbits(4, 0x3f, tmpval);
// wait 150ns after MSYN, no distance to SSYN required
- __delay_cycles(NANOSECS(150) - 10);
+ __delay_cycles(NANOSECS(UNIBUS_DMA_MASTER_PRE_MSYN_NS) - 10);
// assume 10 cycles for buslatches_getbyte and address test
// ADDR, CONTROL (and DATA) stable since 150ns, set MSYN next
diff --git a/10.01_base/2_src/shared/mailbox.h b/10.01_base/2_src/shared/mailbox.h
index 13fe823..893f031 100644
--- a/10.01_base/2_src/shared/mailbox.h
+++ b/10.01_base/2_src/shared/mailbox.h
@@ -32,22 +32,23 @@
#include "unibus.h"
// arm to pru
-#define ARM2PRU_NONE 0 // don't change
-#define ARM2PRU_HALT 1 // run PRU1 into halt
-#define ARM2PRU_MAILBOXTEST1 2
-#define ARM2PRU_BUSLATCH_INIT 3 // reset all mux registers to "neutral"
-#define ARM2PRU_BUSLATCH_SET 4 // set a mux register
-#define ARM2PRU_BUSLATCH_GET 5 // read a mux register
-#define ARM2PRU_BUSLATCH_EXERCISER 6 // exercise 8 accesses to mux registers
-#define ARM2PRU_BUSLATCH_TEST 7 // read a mux register
-#define ARM2PRU_INITPULSE 8 // pulse UNIBUS INIT
-#define ARM2PRU_POWERCYCLE 9 // ACLO/DCLO power cycle simulation
-#define ARM2PRU_DMA_ARB_NONE 10 // DMA without NPR/NPG/SACK arbitration
-#define ARM2PRU_DMA_ARB_CLIENT 11 // DMA with arbitration by external Arbitrator
-#define ARM2PRU_DMA_ARB_MASTER 12 // DMA as Arbitrator
-#define ARM2PRU_DDR_FILL_PATTERN 13 // fill DDR with test pattern
-#define ARM2PRU_DDR_SLAVE_MEMORY 14 // use DDR as UNIBUS slave memory
-#define ARM2PRU_INTR 15 // INTR, only with arbitration
+#define ARM2PRU_NONE 0 // Operation complete: don't change
+#define ARM2PRU_NOP 1 // to check wether PRU is running
+#define ARM2PRU_HALT 2 // run PRU1 into halt
+#define ARM2PRU_MAILBOXTEST1 3
+#define ARM2PRU_BUSLATCH_INIT 4 // reset all mux registers to "neutral"
+#define ARM2PRU_BUSLATCH_SET 5 // set a mux register
+#define ARM2PRU_BUSLATCH_GET 6 // read a mux register
+#define ARM2PRU_BUSLATCH_EXERCISER 7 // exercise 8 accesses to mux registers
+#define ARM2PRU_BUSLATCH_TEST 8 // read a mux register
+#define ARM2PRU_INITPULSE 9 // pulse UNIBUS INIT
+#define ARM2PRU_POWERCYCLE 10 // ACLO/DCLO power cycle simulation
+#define ARM2PRU_DMA_ARB_NONE 11 // DMA without NPR/NPG/SACK arbitration
+#define ARM2PRU_DMA_ARB_CLIENT 12 // DMA with arbitration by external Arbitrator
+#define ARM2PRU_DMA_ARB_MASTER 13 // DMA as Arbitrator
+#define ARM2PRU_DDR_FILL_PATTERN 14 // fill DDR with test pattern
+#define ARM2PRU_DDR_SLAVE_MEMORY 15 // use DDR as UNIBUS slave memory
+#define ARM2PRU_INTR 16 // INTR, only with arbitration
// possible states of DMA machine
#define DMA_STATE_READY 0 // idle
@@ -165,7 +166,7 @@ typedef struct {
mailbox_test_t mailbox_test;
mailbox_buslatch_t buslatch;
mailbox_buslatch_test_t buslatch_test;
- mailbox_buslatch_exerciser_t buslatch_exerciser;
+ mailbox_buslatch_exerciser_t buslatch_exerciser;
mailbox_dma_t dma;
mailbox_intr_t intr;
};
diff --git a/10.01_base/2_src/shared/tuning.h b/10.01_base/2_src/shared/tuning.h
index fc282de..a0dca7e 100644
--- a/10.01_base/2_src/shared/tuning.h
+++ b/10.01_base/2_src/shared/tuning.h
@@ -38,7 +38,7 @@
#if defined(TUNING_PCB_TEST)
// experimental to test error rates
#define BUSLATCHES_GETBYTE_DELAY 10
- #define BUSLATCHES_SETBITS_DELAY 2
+ #define BUSLATCHES_SETBITS_DELAY 4
#define BUSLATCHES_SETBYTE_DELAY 6
#elif defined(TUNING_PCB_LEGACY_SECURE)
diff --git a/10.03_app_demo/2_src/.cproject b/10.03_app_demo/2_src/.cproject
deleted file mode 100644
index 7834ecb..0000000
--- a/10.03_app_demo/2_src/.cproject
+++ /dev/null
@@ -1,161 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/10.03_app_demo/2_src/.project b/10.03_app_demo/2_src/.project
deleted file mode 100644
index 8f12058..0000000
--- a/10.03_app_demo/2_src/.project
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
- 10.03_app_demo
-
-
- 10.01_base
- 10.02_devices
- 10.04_device_exerciser
- pru_package
-
-
-
- org.eclipse.cdt.managedbuilder.core.genmakebuilder
- clean,full,incremental,
-
-
-
-
- org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
- full,incremental,
-
-
-
-
-
- org.eclipse.cdt.core.cnature
- org.eclipse.cdt.core.ccnature
- org.eclipse.cdt.managedbuilder.core.managedBuildNature
- org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
-
-
diff --git a/10.03_app_demo/2_src/.settings/language.settings.xml b/10.03_app_demo/2_src/.settings/language.settings.xml
deleted file mode 100644
index e46f18a..0000000
--- a/10.03_app_demo/2_src/.settings/language.settings.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/10.03_app_demo/2_src/.settings/org.eclipse.cdt.codan.core.prefs b/10.03_app_demo/2_src/.settings/org.eclipse.cdt.codan.core.prefs
deleted file mode 100644
index ff135cf..0000000
--- a/10.03_app_demo/2_src/.settings/org.eclipse.cdt.codan.core.prefs
+++ /dev/null
@@ -1,71 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.cdt.codan.checkers.errnoreturn=Warning
-org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false}
-org.eclipse.cdt.codan.checkers.errreturnvalue=Error
-org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.checkers.nocommentinside=-Error
-org.eclipse.cdt.codan.checkers.nocommentinside.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.checkers.nolinecomment=-Error
-org.eclipse.cdt.codan.checkers.nolinecomment.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.checkers.noreturn=Error
-org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false}
-org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=Error
-org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=Error
-org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error
-org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>false,empty_case_param\=>false}
-org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning
-org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()}
-org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=Error
-org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning
-org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true}
-org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=Error
-org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=Error
-org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.InvalidArguments=Error
-org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=Error
-org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=Error
-org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=Error
-org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=Error
-org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info
-org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()}
-org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.OverloadProblem=Error
-org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=Error
-org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=Error
-org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning
-org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()}
-org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false}
-org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false}
-org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=Error
-org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true}
-org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true}
-org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning
-org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")}
-org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=Error
-org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
diff --git a/10.03_app_demo/2_src/.settings/org.eclipse.cdt.core.prefs b/10.03_app_demo/2_src/.settings/org.eclipse.cdt.core.prefs
deleted file mode 100644
index 2305cb0..0000000
--- a/10.03_app_demo/2_src/.settings/org.eclipse.cdt.core.prefs
+++ /dev/null
@@ -1,16 +0,0 @@
-eclipse.preferences.version=1
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.158333694.2070487307/MAKE_TARGET_ARCH/delimiter=\:
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.158333694.2070487307/MAKE_TARGET_ARCH/operation=append
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.158333694.2070487307/MAKE_TARGET_ARCH/value=BBB
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.158333694.2070487307/append=true
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.158333694.2070487307/appendContributed=true
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.627384998.1341599967/DBG/delimiter=\:
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.627384998.1341599967/DBG/operation=append
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.627384998.1341599967/DBG/value=1
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.627384998.1341599967/MAKE_TARGET_ARCH/delimiter=\:
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.627384998.1341599967/MAKE_TARGET_ARCH/operation=append
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.627384998.1341599967/MAKE_TARGET_ARCH/value=BBB
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.627384998.1341599967/append=true
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.627384998.1341599967/appendContributed=true
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.627384998/append=true
-environment/project/cdt.managedbuild.toolchain.gnu.cross.base.627384998/appendContributed=true
diff --git a/10.03_app_demo/5_applications/name_scheme.txt b/10.03_app_demo/5_applications/name_scheme.txt
new file mode 100644
index 0000000..f4640b0
--- /dev/null
+++ b/10.03_app_demo/5_applications/name_scheme.txt
@@ -0,0 +1,24 @@
+
+Name scheme:
+__
+-
+
+rt11v5.5sj_dl1_34.sh
+rt11v5.5fb_dl0_34.sh
+rt11v5.5_dl_34.cmd
+
+
+xxdp2.5_dl1.sh .cmd
+
+
+rsx11m4.1_dl0_34.sh .cmd
+
+rsx11m4.1_34.rl02
+rsx11m4.1_hlpdcl_34.rl02
+rsx11m4.1_excprv_34.rl02
+
+
+
+miniunix_dk0_05.sh
+
+unixv6_dk0_34
diff --git a/10.03_app_demo/5_applications/zkma/zkma.cmd b/10.03_app_demo/5_applications/zkma/zkma.cmd
new file mode 100644
index 0000000..c8137f0
--- /dev/null
+++ b/10.03_app_demo/5_applications/zkma/zkma.cmd
@@ -0,0 +1,21 @@
+# full memory emulation
+m
+pwr
+.wait 3000 # wait for PDP-11 to reset through ACLO/DCLO
+m # emulate full memory
+.wait 1000
+lp zkma.ptap # load into memory
+
+
+.print *************************************************************
+.print Now start ZKMA on PDP-11.
+.print On M9312: "L 200" , "S"
+.print ZKMA should only test 0-157776
+.print
+
+.input
+
+.print Now starting UniBone DMA test in parallel with ZKMA on upper mem.
+.print *************************************************************
+tr 200000 757776
+
diff --git a/10.03_app_demo/5_applications/zkma/zkma.ptap b/10.03_app_demo/5_applications/zkma/zkma.ptap
new file mode 100644
index 0000000..806433d
Binary files /dev/null and b/10.03_app_demo/5_applications/zkma/zkma.ptap differ
diff --git a/10.03_app_demo/5_applications/zkma/zkma.sh b/10.03_app_demo/5_applications/zkma/zkma.sh
new file mode 100644
index 0000000..90a36d4
--- /dev/null
+++ b/10.03_app_demo/5_applications/zkma/zkma.sh
@@ -0,0 +1,4 @@
+# start "demo" application, emulate memory, load "ZKMA",
+cd ~/10.03_app_demo/5_applications/zkma
+~/10.03_app_demo/4_deploy/demo --verbose --debug --cmdfile zkma.cmd
+
diff --git a/compile.sh b/compile.sh
index a5576ef..a9f0979 100644
--- a/compile.sh
+++ b/compile.sh
@@ -1,3 +1,7 @@
+#/!bin/bash
+# option "-a": recompile all from scratch
+# else rely on makefile rules
+
. compile-bbb.env
# Debugging: remote from Eclipse. Compile on BBB is release.
@@ -6,7 +10,7 @@ export MAKE_CONFIGURATION=RELEASE
cd 10.03_app_demo/2_src
if [ "$1" == "-a" ] ; then
-make clean
+ make clean
fi
make