From a00483d09cbeff82cfb9245958dcdb89855c07b8 Mon Sep 17 00:00:00 2001 From: Joshua Wise Date: Tue, 1 Apr 2008 03:26:08 -0400 Subject: [PATCH 1/1] Fix not-taken jumps. Add more ALU ops. Add ALU A ops. --- FPGABoy.ise | Bin 225432 -> 227313 bytes GBZ80Core.v | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++-- rom.hex | 2 +- 3 files changed, 78 insertions(+), 3 deletions(-) diff --git a/FPGABoy.ise b/FPGABoy.ise index d10eca1d4dedb8121076c1f177ce01b5f76a58d1..8dfc411d2ba4f50bddbb6b7e25b3fcb106f10b22 100644 GIT binary patch delta 90188 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]vz>!^7CUBHG``IDvngOErf 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 diff --git a/GBZ80Core.v b/GBZ80Core.v index 1bc8f78..0f0496e 100644 --- a/GBZ80Core.v +++ b/GBZ80Core.v @@ -39,6 +39,7 @@ `define INSN_CALL 8'b11001101 `define INSN_JP_imm 8'b11000011 `define INSN_JPCC_imm 8'b110xx010 +`define INSN_ALU_A 8'b00xxx111 `define INSN_cc_NZ 2'b00 `define INSN_cc_Z 2'b01 @@ -69,6 +70,14 @@ `define INSN_alu_XOR 3'b101 `define INSN_alu_OR 3'b110 `define INSN_alu_CP 3'b111 // Oh lawd, is dat some CP? +`define INSN_alu_RLCA 3'b000 +`define INSN_alu_RRCA 3'b001 +`define INSN_alu_RLA 3'b010 +`define INSN_alu_RRA 3'b011 +`define INSN_alu_DAA 3'b100 +`define INSN_alu_CPL 3'b101 +`define INSN_alu_SCF 3'b110 +`define INSN_alu_CCF 3'b111 module GBZ80Core( input clk, @@ -357,6 +366,10 @@ module GBZ80Core( endcase end end + `INSN_ALU_A: begin + `EXEC_NEWCYCLE; + `EXEC_INC_PC; + end `INSN_NOP: begin `EXEC_NEWCYCLE; `EXEC_INC_PC; @@ -443,13 +456,14 @@ module GBZ80Core( rd <= 1; end 2: begin + `EXEC_INC_PC; if (!opcode[0]) begin // i.e., JP cc,nn /* We need to check the condition code to bail out. */ case (opcode[4:3]) `INSN_cc_NZ: if (registers[`REG_F][7]) begin `EXEC_NEWCYCLE; end - `INSN_cc_Z: if (!registers[`REG_F][7]) begin `EXEC_NEWCYCLE; end + `INSN_cc_Z: if (~registers[`REG_F][7]) begin `EXEC_NEWCYCLE; end `INSN_cc_NC: if (registers[`REG_F][4]) begin `EXEC_NEWCYCLE; end - `INSN_cc_C: if (!registers[`REG_F][4]) begin `EXEC_NEWCYCLE; end + `INSN_cc_C: if (~registers[`REG_F][4]) begin `EXEC_NEWCYCLE; end endcase end end @@ -622,6 +636,28 @@ module GBZ80Core( registers[`REG_F][3:0] }; end + `INSN_alu_SUB: begin + registers[`REG_A] <= + registers[`REG_A] - tmp; + registers[`REG_F] <= + { /* Z */ ((registers[`REG_A] - tmp) == 0) ? 1'b1 : 1'b0, + /* N */ 1'b1, + /* H */ (({1'b0,registers[`REG_A][3:0]} - {1'b0,tmp[3:0]}) >> 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] + }; + end + `INSN_alu_SBC: begin + registers[`REG_A] <= + 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 */ 1'b1, + /* 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] + }; + end `INSN_alu_AND: begin registers[`REG_A] <= registers[`REG_A] & tmp; @@ -649,11 +685,50 @@ module GBZ80Core( registers[`REG_F][3:0] }; end + `INSN_alu_CP: begin + registers[`REG_F] <= + { /* Z */ ((registers[`REG_A] - tmp) == 0) ? 1'b1 : 1'b0, + /* N */ 1'b1, + /* H */ (({1'b0,registers[`REG_A][3:0]} - {1'b0,tmp[3:0]}) >> 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] + }; + end default: $stop; endcase end end + `INSN_ALU_A: begin + case(opcode[5:3]) + `INSN_alu_RLCA: begin + registers[`REG_A] <= {registers[`REG_A][6:0],registers[`REG_A][7]}; + registers[`REG_F] <= {registers[`REG_F][7:5],registers[`REG_A][7],registers[`REG_F][3:0]}; + end + `INSN_alu_RRCA: begin + registers[`REG_A] <= {registers[`REG_A][0],registers[`REG_A][7:1]}; + registers[`REG_F] <= {registers[`REG_F][7:5],registers[`REG_A][0],registers[`REG_F][3:0]}; + end + `INSN_alu_RLA: begin + registers[`REG_A] <= {registers[`REG_A][6:0],registers[`REG_F][4]}; + registers[`REG_F] <= {registers[`REG_F][7:5],registers[`REG_A][7],registers[`REG_F][3:0]}; + end + `INSN_alu_RRA: begin + registers[`REG_A] <= {registers[`REG_A][4],registers[`REG_A][7:1]}; + registers[`REG_F] <= {registers[`REG_F][7:5],registers[`REG_A][0],registers[`REG_F][3:0]}; + end + `INSN_alu_CPL: begin + registers[`REG_A] <= ~registers[`REG_A]; + registers[`REG_F] <= {registers[`REG_F][7],1'b1,1'b1,registers[`REG_F][4:0]}; + end + `INSN_alu_SCF: begin + registers[`REG_F] <= {registers[`REG_F][7:5],1,registers[`REG_F][3:0]}; + end + `INSN_alu_CCF: begin + registers[`REG_F] <= {registers[`REG_F][7:5],~registers[`REG_F][4],registers[`REG_F][3:0]}; + end + endcase + end `INSN_NOP: begin /* NOP! */ end `INSN_RST: begin case (cycle) diff --git a/rom.hex b/rom.hex index 75e25c4..977ed30 100644 --- a/rom.hex +++ b/rom.hex @@ -1,4 +1,4 @@ -c2 +ca 08 00 00 -- 2.39.2