Fixed cores not being able to access the wishbone bus.
diff --git a/verilog/dv/coreMemory/coreMemory.c b/verilog/dv/coreMemory/coreMemory.c
index 6ef204c..0b78f60 100644
--- a/verilog/dv/coreMemory/coreMemory.c
+++ b/verilog/dv/coreMemory/coreMemory.c
@@ -163,7 +163,7 @@
 	wbWrite (GPIO0_OE_WRITE_ADDR, ~0x03000);
 
 	wbWrite (CORE0_SRAM + 3, 0x0000a183);
-	wbWrite (CORE0_SRAM + 4, 0x00312223);
+	wbWrite (CORE0_SRAM + 4, 0x0030a223);
 
 	if (!testMemory (0x30000000, 0x000000b7, 0x12345678)) testPass = false;
 	nextTest (testPass);
diff --git a/verilog/dv/memory/memory.c b/verilog/dv/memory/memory.c
index c29b951..4b2b6e1 100644
--- a/verilog/dv/memory/memory.c
+++ b/verilog/dv/memory/memory.c
@@ -39,7 +39,6 @@
 #define GPIO1_INPUT_ADDR ((uint32_t*)0x33032020)
 
 #define CORE0_SRAM ((uint32_t*)0x30000000)
-#define CORE0_SRAM ((uint32_t*)0x30000000)
 #define CORE1_SRAM ((uint32_t*)0x31000000)
 #define VGA_SRAM ((uint32_t*)0x32000000)
 #define SRAM_BANK_SIZE 0x200
diff --git a/verilog/rtl/ExperiarCore/Wishbone/Core_WBInterface.v b/verilog/rtl/ExperiarCore/Wishbone/Core_WBInterface.v
index fc0735d..ecdf0d0 100644
--- a/verilog/rtl/ExperiarCore/Wishbone/Core_WBInterface.v
+++ b/verilog/rtl/ExperiarCore/Wishbone/Core_WBInterface.v
@@ -26,8 +26,10 @@
 	localparam STATE_IDLE  		  = 2'h0;
 	localparam STATE_WRITE_SINGLE = 2'h1;
 	localparam STATE_READ_SINGLE  = 2'h2;
+	localparam STATE_END 		  = 2'h3;
 	
 	reg[1:0] state = STATE_IDLE;
+	reg[31:0] readDataBuffered;
 
 	reg stb = 1'b0;
 
@@ -35,9 +37,12 @@
 		if (wb_rst_i || (wb_error_i && state != STATE_IDLE)) begin
 			state <= STATE_IDLE;
 			stb <= 1'b0;
+			readDataBuffered <= ~32'b0;
 		end else begin
 			case (state)
 				STATE_IDLE: begin
+					readDataBuffered <= ~32'b0;
+
 					if (wbWriteEnable) begin
 						state <= STATE_WRITE_SINGLE;
 						stb <= 1'b1;
@@ -51,7 +56,7 @@
 					stb <= 1'b0;
 					
 					if (wb_ack_i) begin
-						state <= STATE_IDLE;
+						state <= STATE_END;
 					end
 				end
 
@@ -59,9 +64,14 @@
 					stb <= 1'b0;
 
 					if (wb_ack_i) begin
-						state <= STATE_IDLE;
+						state <= STATE_END;
+						readDataBuffered <= wb_data_i;
 					end
 				end
+
+				STATE_END: begin
+					state <= STATE_IDLE;
+				end
 				
 				default: begin
 					state <= STATE_IDLE;
@@ -79,7 +89,7 @@
 	assign wb_data_o = wbDataWrite;
 	assign wb_adr_o = wbAddress;
 	
-	assign wbDataRead = wb_data_i;
-	assign wbBusy = state != STATE_IDLE;
+	assign wbDataRead = readDataBuffered;
+	assign wbBusy = (state != STATE_IDLE || wbWriteEnable || wbReadEnable) && (state != STATE_END);
 
 endmodule
\ No newline at end of file
diff --git a/verilog/rtl/WishboneInterconnect/MasterArbiter.v b/verilog/rtl/WishboneInterconnect/MasterArbiter.v
index 044a605..0edf600 100644
--- a/verilog/rtl/WishboneInterconnect/MasterArbiter.v
+++ b/verilog/rtl/WishboneInterconnect/MasterArbiter.v
@@ -57,6 +57,6 @@
 		else currentMaster <= nextMaster;
 	end
 
-	assign masterSelected = currentMaster;
+	assign masterSelected = nextMaster;
 
 endmodule
\ No newline at end of file