From d3938806a2b49df44ac55ea4b2a43c6a3f15011d Mon Sep 17 00:00:00 2001 From: Joshua Wise Date: Sun, 30 Mar 2008 06:33:25 -0400 Subject: [PATCH] NOP, and bug fixes --- FPGABoy.ise | Bin 209632 -> 209616 bytes GBZ80Core.v | 16 +++++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/FPGABoy.ise b/FPGABoy.ise index 8922cdfc55d202b1b3e0997549c4790a93fcbe22..2e6073ab007a9ad8a92f0e44de70220c85cd813c 100644 GIT binary patch delta 7352 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 q{AUfbAH;M3yIwjqRsRbgm6eqM delta 7334 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 gjz$LdKP(r}JuqO!=7y|eb3> 4 == 1) ? 1'b1 : 1'b0, /* C */ (({1'b0,registers[`REG_A]} + {1'b0,tmp}) >> 8 == 1) ? 1'b1 : 1'b0, registers[`REG_F][3:0] @@ -519,7 +524,7 @@ module GBZ80Core( registers[`REG_A] + tmp + {7'b0,registers[`REG_F][4]}; registers[`REG_F] <= { /* Z */ ((registers[`REG_A] + tmp + {7'b0,registers[`REG_F][4]}) == 0) ? 1'b1 : 1'b0, - /* N */ 0, + /* N */ 1'b0, /* H */ (({1'b0,registers[`REG_A][3:0]} + {1'b0,tmp[3:0]} + {4'b0,registers[`REG_F][4]}) >> 4 == 1) ? 1'b1 : 1'b0, /* C */ (({1'b0,registers[`REG_A]} + {1'b0,tmp} + {8'b0,registers[`REG_F][4]}) >> 8 == 1) ? 1'b1 : 1'b0, registers[`REG_F][3:0] @@ -530,7 +535,7 @@ module GBZ80Core( registers[`REG_A] & tmp; registers[`REG_F] <= { /* Z */ ((registers[`REG_A] & tmp) == 0) ? 1'b1 : 1'b0, - 0,1,0, + 3'b010, registers[`REG_F][3:0] }; end @@ -539,7 +544,7 @@ module GBZ80Core( registers[`REG_A] | tmp; registers[`REG_F] <= { /* Z */ ((registers[`REG_A] | tmp) == 0) ? 1'b1 : 1'b0, - 0,0,0, + 3'b000, registers[`REG_F][3:0] }; end @@ -548,7 +553,7 @@ module GBZ80Core( registers[`REG_A] ^ tmp; registers[`REG_F] <= { /* Z */ ((registers[`REG_A] ^ tmp) == 0) ? 1'b1 : 1'b0, - 0,0,0, + 3'b000, registers[`REG_F][3:0] }; end @@ -557,6 +562,7 @@ module GBZ80Core( endcase end end + `INSN_NOP: begin /* NOP! */ end endcase state <= `STATE_FETCH; end -- 2.39.2