From 62940da0dd1b60db11e9861d6dd55a43c5756114 Mon Sep 17 00:00:00 2001
From: Joshua Wise <joshua@rebirth.joshuawise.com>
Date: Fri, 4 Apr 2008 04:23:12 -0400
Subject: [PATCH 1/1] Timer works.

---
 FPGABoy.ise | Bin 240197 -> 240410 bytes
 GBZ80Core.v |   4 ++--
 Interrupt.v |   8 ++++----
 System.v    |   2 +-
 Timer.v     |   4 ++--
 rom.asm     |  19 +++++++++----------
 6 files changed, 18 insertions(+), 19 deletions(-)

diff --git a/FPGABoy.ise b/FPGABoy.ise
index a4399b8547dc1e3bf92fb75e1b95c105588e7337..227845500b0c7f94cfbe06aa62cec21e47c4f84e 100644
GIT binary patch
delta 33973
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
SOpCe89-LR@^~Muq^1lEfJf#=_

delta 33406
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

diff --git a/GBZ80Core.v b/GBZ80Core.v
index 96e4dcd..095d9e8 100644
--- a/GBZ80Core.v
+++ b/GBZ80Core.v
@@ -87,9 +87,9 @@
 
 module GBZ80Core(
 	input clk,
-	output reg [15:0] busaddress,	/* BUS_* is latched on STATE_FETCH. */
+	output reg [15:0] busaddress = 0,	/* BUS_* is latched on STATE_FETCH. */
 	inout [7:0] busdata,
-	output reg buswr, output reg busrd);
+	output reg buswr = 0, output reg busrd = 0);
 	
 	reg [1:0] state = 0;					/* State within this bus cycle (see STATE_*). */
 	reg [2:0] cycle = 0;					/* Cycle for instructions. */
diff --git a/Interrupt.v b/Interrupt.v
index 4e3d17d..1450b2c 100644
--- a/Interrupt.v
+++ b/Interrupt.v
@@ -17,7 +17,7 @@ module Interrupt(
 
 	wire [7:0] iflag = {3'b0,buttons,serial,tovf,lcdc,vblank};
 	reg [7:0] imask = 16'hFFFF;
-	reg [7:0] ihold = 0;
+	reg [7:0] ihold = 8'b0;
 	wire [7:0] imasked = ihold & imask;
 
 	assign data = rd ?
@@ -34,12 +34,12 @@ module Interrupt(
 		       imasked[3] ? 8'h58 :
 		       imasked[4] ? 8'h60 : 8'h00;
 
-	always @ (negedge clk)
+	always @(negedge clk)
 	begin
-		if (wr) begin
+		if (wr && (addr == `ADDR_IF || addr == `ADDR_IE)) begin
 			case(addr)
 			`ADDR_IF : ihold <= iflag | data;
-			`ADDR_IE : imask <= data;
+			`ADDR_IE : begin imask <= data; ihold <= ihold | iflag; end
 			endcase
 			
 		end
diff --git a/System.v b/System.v
index a5fee66..8b8d613 100644
--- a/System.v
+++ b/System.v
@@ -151,7 +151,7 @@ module CoreTop(
 endmodule
 
 module TestBench();
-	reg clk = 0;
+	reg clk = 1;
 	wire [15:0] addr;
 	wire [7:0] data;
 	wire wr, rd;
diff --git a/Timer.v b/Timer.v
index 0481614..53f392d 100644
--- a/Timer.v
+++ b/Timer.v
@@ -9,11 +9,11 @@ module Timer(
 	input rd,
 	input [15:0] addr,
 	inout [7:0] data,
-	output reg irq);
+	output reg irq = 0);
 
 	reg [7:0] tima = 0, tma = 0, tac = 0, div = 0;
 	reg ovf = 0;
-	reg [9:0] clkdv;
+	reg [9:0] clkdv = 0;
 
 	wire is_tima = addr == `ADDR_TIMA;
 	wire is_tma  = addr == `ADDR_TMA;
diff --git a/rom.asm b/rom.asm
index 93f8524..5527ea8 100644
--- a/rom.asm
+++ b/rom.asm
@@ -4,7 +4,7 @@ main:
 	ld c, $51	; Note that we are alive.
 	ld a, $FF
 	ld [c],a
-
+	
 	ld sp, $DFFF
 
 	ld hl, signon
@@ -105,7 +105,7 @@ waitsw:
 	call puts
 	
 	ld c, $07
-	ld a, $07	;start timer, 4.096KHz
+	ld a, $04	;start timer, 4.096KHz
 	ld [c], a
 	
 	ld c, $51
@@ -138,13 +138,8 @@ testa:
 	ret z
 	xor a
 	ld [c], a
-	ld hl, $D000
-	ld c, [hl]
-	inc bc
-	ld [hl], c
-	ld a, c
-	ld c, $50
-	ld [c], a
+	ld a, $41
+	call putc
 	ret
 
 ; Core instruction basic acceptance tests.
@@ -258,10 +253,12 @@ insntest:
 putc:
 	ld b, 0
 	ld c, $50
+	push af
 .waitport:
 	ld a,[c]
 	cp b
 	jr nz,.waitport
+	pop af
 	ld [c],a
 	ret
 
@@ -269,6 +266,8 @@ puts:
 	ld a, [hli]
 	ld b, $00
 	cp b
-	ret z
+	jr z, .done
 	call putc
 	jr puts
+.done:
+	ret
-- 
2.43.0