 	if( OpcodeIs( 'G', 'S' )) {
 		return next;
 	}
+
+#ifdef DOGOSUB
+/*
+#define kNGosubs (15)
+char gosubPtr = 0;
+char * gosubStack[ kNGosubs ];
+if( next == kJRGosubStack ) {
+*/
+
 	if( OpcodeIs( 'G', 'L' )) {
 		return next;
 	}

	else if( !strcmp( linebuf, "list" )) { cmd_list(); }
	else if( !strcmp( linebuf, "vars" )) { cmd_vars(); }
	else if( !strcmp( linebuf, "help" )) { cmd_help(); }

	else if( !strcmp( linebuf, "enew" )) { cmd_enew(); }
	else if( !strcmp( linebuf, "elist" )) { cmd_elist(); }

		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
