From b85870e0cf3c61677a430559c9621a665a8bab6d Mon Sep 17 00:00:00 2001 From: Joshua Wise Date: Sat, 29 Mar 2008 02:24:43 -0400 Subject: [PATCH 1/1] LD reg, reg --- FPGABoy.ise | Bin 161236 -> 162740 bytes GBZ80Core.v | 84 +++++++++++++++++++++++++++++++++++++++++----------- rom.hex | 9 +++--- 3 files changed, 70 insertions(+), 23 deletions(-) diff --git a/FPGABoy.ise b/FPGABoy.ise index 5e643e3ee37b317a333fc6d53a40f13725e5f82b..84ccd1ce09d13519dacf7b43f54436d7443833f5 100644 GIT binary patch delta 55840 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 W$|d;Gv28mB)5CP0UBiis{{I2jMoIbr diff --git a/GBZ80Core.v b/GBZ80Core.v index 9bc60a8..e5a7d35 100644 --- a/GBZ80Core.v +++ b/GBZ80Core.v @@ -22,14 +22,18 @@ `define STATE_WRITEBACK 2'h3 `define INSN_LD_reg_imm8 8'b00xxx110 -`define INSN_imm8_reg_A 3'b111 -`define INSN_imm8_reg_B 3'b000 -`define INSN_imm8_reg_C 3'b001 -`define INSN_imm8_reg_D 3'b010 -`define INSN_imm8_reg_E 3'b011 -`define INSN_imm8_reg_H 3'b100 -`define INSN_imm8_reg_L 3'b101 -`define INSN_imm8_reg_dHL 3'b110 +`define INSN_HALT 8'b01110110 +`define INSN_LD_HL_reg 8'b01110xxx +`define INSN_LD_reg_HL 8'b01xxx110 +`define INSN_LD_reg_reg 8'b01xxxxxx +`define INSN_reg_A 3'b111 +`define INSN_reg_B 3'b000 +`define INSN_reg_C 3'b001 +`define INSN_reg_D 3'b010 +`define INSN_reg_E 3'b011 +`define INSN_reg_H 3'b100 +`define INSN_reg_L 3'b101 +`define INSN_reg_dHL 3'b110 module GBZ80Core( input clk, @@ -49,6 +53,8 @@ module GBZ80Core( reg [7:0] rdata, wdata; /* Read data from this bus cycle, or write data for the next. */ reg rd = 1, wr = 0, newcycle = 1; + reg [7:0] tmp; /* Generic temporary reg. */ + reg [7:0] buswdata; assign busdata = buswr ? buswdata : 8'bzzzzzzzz; @@ -84,6 +90,7 @@ module GBZ80Core( if (newcycle) begin opcode <= busdata; rdata <= busdata; + newcycle <= 0; cycle <= 0; end else if (rd) rdata <= busdata; @@ -104,12 +111,11 @@ module GBZ80Core( 0: begin `EXEC_INC_PC; `EXEC_NEXTADDR_PCINC; - newcycle <= 0; rd <= 1; end 1: begin `EXEC_INC_PC; - if (opcode[5:3] == `INSN_imm8_reg_dHL) begin + if (opcode[5:3] == `INSN_reg_dHL) begin address <= {registers[`REG_H], registers[`REG_L]}; wdata <= rdata; rd <= 0; @@ -123,6 +129,28 @@ module GBZ80Core( end endcase end + `INSN_HALT: begin + /* XXX UNIMP */ + end + `INSN_LD_HL_reg: begin + /* XXX UNIMP */ + end + `INSN_LD_reg_HL: begin + /* XXX UNIMP */ + end + `INSN_LD_reg_reg: begin + `EXEC_INC_PC; + `EXEC_NEWCYCLE; + case (opcode[2:0]) + `INSN_reg_A: begin tmp <= registers[`REG_A]; end + `INSN_reg_B: begin tmp <= registers[`REG_B]; end + `INSN_reg_C: begin tmp <= registers[`REG_C]; end + `INSN_reg_D: begin tmp <= registers[`REG_D]; end + `INSN_reg_E: begin tmp <= registers[`REG_E]; end + `INSN_reg_H: begin tmp <= registers[`REG_H]; end + `INSN_reg_L: begin tmp <= registers[`REG_L]; end + endcase + end endcase state <= `STATE_WRITEBACK; end @@ -132,17 +160,37 @@ module GBZ80Core( case (cycle) 0: cycle <= 1; 1: case (opcode[5:3]) - `INSN_imm8_reg_A: begin registers[`REG_A] <= rdata; cycle <= 0; end - `INSN_imm8_reg_B: begin registers[`REG_B] <= rdata; cycle <= 0; end - `INSN_imm8_reg_C: begin registers[`REG_C] <= rdata; cycle <= 0; end - `INSN_imm8_reg_D: begin registers[`REG_D] <= rdata; cycle <= 0; end - `INSN_imm8_reg_E: begin registers[`REG_E] <= rdata; cycle <= 0; end - `INSN_imm8_reg_H: begin registers[`REG_H] <= rdata; cycle <= 0; end - `INSN_imm8_reg_L: begin registers[`REG_L] <= rdata; cycle <= 0; end - `INSN_imm8_reg_dHL: cycle <= 2; + `INSN_reg_A: begin registers[`REG_A] <= rdata; cycle <= 0; end + `INSN_reg_B: begin registers[`REG_B] <= rdata; cycle <= 0; end + `INSN_reg_C: begin registers[`REG_C] <= rdata; cycle <= 0; end + `INSN_reg_D: begin registers[`REG_D] <= rdata; cycle <= 0; end + `INSN_reg_E: begin registers[`REG_E] <= rdata; cycle <= 0; end + `INSN_reg_H: begin registers[`REG_H] <= rdata; cycle <= 0; end + `INSN_reg_L: begin registers[`REG_L] <= rdata; cycle <= 0; end + `INSN_reg_dHL: cycle <= 2; endcase 2: cycle <= 0; endcase + `INSN_HALT: begin + /* XXX UNIMP */ + end + `INSN_LD_HL_reg: begin + /* XXX UNIMP */ + end + `INSN_LD_reg_HL: begin + /* XXX UNIMP */ + end + `INSN_LD_reg_reg: begin + case (opcode[5:3]) + `INSN_reg_A: begin registers[`REG_A] <= tmp; end + `INSN_reg_B: begin registers[`REG_B] <= tmp; end + `INSN_reg_C: begin registers[`REG_C] <= tmp; end + `INSN_reg_D: begin registers[`REG_D] <= tmp; end + `INSN_reg_E: begin registers[`REG_E] <= tmp; end + `INSN_reg_H: begin registers[`REG_H] <= tmp; end + `INSN_reg_L: begin registers[`REG_L] <= tmp; end + endcase + end endcase state <= `STATE_FETCH; end diff --git a/rom.hex b/rom.hex index 61c700d..7894cdc 100644 --- a/rom.hex +++ b/rom.hex @@ -1,9 +1,8 @@ -// LD (HL), 05h -36 -05 -// LD H, 12h -26 +// LD A, 12h +3E 12 +// LD H, A +67 // LD L, 34h 2E 34 -- 2.43.0