 	Serial.println(coreJ2.DC_data_in, HEX);
 
 #else
-	if (0x8000 & J2_data.AC_data_out)			// when the '1' is in the MSB (bit 31)
+	if (0x80000000 & J2_data.outdata.as_word)		// when the '1' is in the MSB (bit 31) (AC data)
 		{
-		J2_data.AC_data_out = 0;				// clear so there is only one '1'
-		J2_data.DC_data_out = 1;				// shift the '1' to lsb of DC data
-		J3_data.AC_data_out = 0;				// clear so there is only one '1'
-		J3_data.DC_data_out = 1;				// shift the '1' to lsb of DC data
-		J4_data.AC_data_out = 0;				// clear so there is only one '1'
-		J4_data.DC_data_out = 1;				// shift the '1' to lsb of DC data
-		}
-	else if (0x8000 & J2_data.DC_data_out)		// when the '1' is in the DC board's MSB (bit 15)
-		{
-		J2_data.AC_data_out = 1;				// shift the '1' to lsb of DC data
-		J2_data.DC_data_out = 0;				// clear so there is only one '1'
-		J3_data.AC_data_out = 1;				// shift the '1' to lsb of DC data
-		J3_data.DC_data_out = 0;				// clear so there is only one '1'
-		J4_data.AC_data_out = 1;				// shift the '1' to lsb of DC data
-		J4_data.DC_data_out = 0;				// clear so there is only one '1'
+		J2_data.outdata.as_word = 1;		// shift the '1' to lsb of DC data
+		J3_data.outdata.as_word = 1;
+		J4_data.outdata.as_word = 1;
 		}
 	else
 		{
-		J2_data.AC_data_out <<= 1;			// shift both registers toward msb
-		J2_data.DC_data_out <<= 1;
-		J3_data.AC_data_out <<= 1;			// shift both registers toward msb
-		J3_data.DC_data_out <<= 1;
-		J4_data.AC_data_out <<= 1;			// shift both registers toward msb
-		J4_data.DC_data_out <<= 1;
+		J2_data.outdata.as_word <<= 1;		// shift both registers toward msb
+		J3_data.outdata.as_word <<= 1;
+		J4_data.outdata.as_word <<= 1;
 		}
 
-	J2_update ();						// do it
-	J3_update ();						// do it
-	J4_update ();						// do it
+	J2_update ();							// do it
+	J3_update ();							// do it
+	J4_update ();							// do it
 	Serial.println(J4_data.DC_data_in, HEX);
 #endif
 

extern void J2_update (void);
extern void J3_update (void);
extern void J4_update (void);
extern struct J_data J2_data, J3_data, J4_data;
#endif


	coreJ2.update ();					// do it
//	coreJ3.update (coreJ3reg);			// do it
//	coreJ3.update (coreJ4reg);			// do it
	coreJ2.AC_data_out = 0x8000;		// setup for walking-ones test
//	coreJ3.AC_data_out = 0x8000;		// setup for walking-ones test
//	coreJ3.AC_data_out = 0x8000;		// setup for walking-ones test
#else
	J2_data.outdata.as_word = 0;		// clear DC and AC 595 registers
	J3_data.outdata.as_word = 0;
	J4_data.outdata.as_word = 0;

	J2_update ();						// do it
	J3_update ();						// do it
	J4_update ();						// do it

	J2_data.outdata.as_word = 0x80000000;	// setup for walking-one test
	J3_data.outdata.as_word = 0x80000000;
	J4_data.outdata.as_word = 0x80000000;

#endif
	coreFETs.FET_settings = 0x80;		// init for walking-one test
	}


//---------------------------< L O O P >----------------------------------------------------------------------
