Index: trunk/MultiChannelUSB/histogram.v
===================================================================
--- trunk/MultiChannelUSB/histogram.v	(revision 94)
+++ trunk/MultiChannelUSB/histogram.v	(revision 95)
@@ -2,6 +2,4 @@
 	(
 		input	wire			clock, frame, reset,
-		
-		input	wire	[40:0]  cfg_data,
 		
 		input	wire			hst_good,
@@ -90,5 +88,5 @@
 			int_addr_reg <= 12'd0;
 			int_data_reg <= 32'd0;
-			int_case_reg <= 4'b1;
+			int_case_reg <= 4'b0;
 			bus_addr_reg <= 13'd0;
 			bus_miso_reg <= 16'd0;
@@ -137,28 +135,20 @@
 
 		case (int_case_reg)
+						
 			0:
 			begin
-				int_wren_next = 1'b0;
-				int_addr_next = 12'd0;
-				int_data_next = 32'd0;
-			end
-						
-			1:
-			begin
 				// write zeros
+				int_addr_next = int_addr_reg + 12'd1;
 				if (&int_addr_reg)
 				begin
 					int_wren_next = 1'b0;
-					int_case_next = 4'd2;
-				end
-				else
-				begin
-					int_addr_next = int_addr_reg + 12'd1;
+					int_case_next = 4'd1;
 				end
 			end	
 
-			2:
+			1:
 			begin
 				int_wren_next = 1'b0;
+/*
 				if (&int_data_reg)
 				begin
@@ -166,8 +156,15 @@
 				end
 				else if (frame & hst_good)
+*/
+				if (frame & hst_good)
 				begin
 					int_addr_next = hst_data;
-					int_case_next = 4'd3;
+					int_case_next = 4'd2;
 				end
+			end
+
+			2:
+			begin
+				int_case_next = 4'd3;
 			end
 
@@ -179,12 +176,10 @@
 			4:
 			begin
-				int_case_next = 4'd5;
-			end
-
-			5:
-			begin
-				int_wren_next = 1'b1;
-				int_data_next = q_a_wire + 32'd1;
-				int_case_next = 4'd2;
+				int_case_next = 4'd1;
+				if (~&q_a_wire)
+				begin
+					int_wren_next = 1'b1;
+					int_data_next = q_a_wire + 32'd1;
+				end
 			end
 
