 	Serial.println( " bytes saved to EEPROM." );
 }
 
+
+////////////////////////////////////////////////////////////////////////////////
+#ifdef DESKTOP_NEVER
+// a few commands for desktop use.
+
+#include <dirent.h>
+
+#define kProgramFolder	"programs"
+
+void cmd_files( void )
+{
+	DIR * drp = NULL;
+	struct dirent * dent = NULL;
+	int count = 0;
+
+	drp = opendir( kProgramFolder );
+	if( !drp ) {
+		Serial.print( kProgramFolder );
+		Serial.println( ": Unable to read folder." );
+		return;
+	}
+
+	Serial.println( "" );
+	
+	while( ((dent = readdir( drp )) != NULL ) )
+	{
+		if( dent->d_type != DT_DIR ) {
+			Serial.print( "    " );
+			Serial.println( dent->d_name );
+			count++;
+		}
+	}
+	closedir( drp );
+
+	if( count != 0 ) Serial.println( "" );
+
+	Serial.print( (long) count, DEC );
+	if( count == 1 ) 
+		Serial.println( " files found." );
+	else
+		Serial.println( " file found." );
+}
+
+void cmd_load( void )
+{
+	char fname[ 64 ]
+}
+
+void cmd_save( void )
+{
+}
+
+
+
+
+
+#endif
+////////////////////////////////////////////////////////////////////////////////
 #define VarCharToIndex( A )\
 		( (A) - 'a' )
 


bool trace = false;


#define kJRDBZError	(-5)
#define kJRSyntaxError	(-4)
#define kJRStop		(-3)

		return next;
	}
	if( OpcodeIs( 'R', 'T' )) {
		if( gosubPtr <= 0 ) {
			return kJRGosubStack;
		} else {
		gosubPtr--;
		
		return next;
	}
#endif

	// Digital IO  analog/digital write/read
	if( OpcodeIs( 'A', 'W' )) { // AnalogWrite PORT VALUE
