From 1e03e0219589e33a57c34046428f09b9228c99b4 Mon Sep 17 00:00:00 2001 From: Joshua Wise Date: Sun, 30 Mar 2008 20:23:36 -0400 Subject: [PATCH] RST insn --- FPGABoy.ise | Bin 209616 -> 212305 bytes GBZ80Core.v | 33 +++++++++++++++++++++++++++++++++ rom.hex | 4 ++-- 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/FPGABoy.ise b/FPGABoy.ise index 2e6073ab007a9ad8a92f0e44de70220c85cd813c..82604438fba61afd2e1d93f0f6cd10bdbc272ce1 100644 GIT binary patch delta 69701 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 diff --git a/GBZ80Core.v b/GBZ80Core.v index 3e15ebf..75f9722 100644 --- a/GBZ80Core.v +++ b/GBZ80Core.v @@ -34,6 +34,7 @@ `define INSN_LDx_AHL 8'b001xx010 // LDD/LDI A,(HL) / (HL),A `define INSN_ALU8 8'b10xxxxxx // 10 xxx yyy `define INSN_NOP 8'b00000000 +`define INSN_RST 8'b11xxx111 `define INSN_reg_A 3'b111 `define INSN_reg_B 3'b000 @@ -338,6 +339,26 @@ module GBZ80Core( `EXEC_NEWCYCLE; `EXEC_INC_PC; end + `INSN_RST: begin + case (cycle) + 0: begin + wr <= 1; + address <= {registers[`REG_SPH],registers[`REG_SPL]}-1; + wdata <= registers[`REG_PCH]; + end + 1: begin + wr <= 1; + address <= {registers[`REG_SPH],registers[`REG_SPL]}-2; + wdata <= registers[`REG_PCL]; + end + 2: begin /* wee */ end + 3: begin + `EXEC_NEWCYCLE; + {registers[`REG_PCH],registers[`REG_PCL]} <= + {10'b0,opcode[5:3],3'b0}; + end + endcase + end default: $stop; endcase @@ -563,6 +584,18 @@ module GBZ80Core( end end `INSN_NOP: begin /* NOP! */ end + `INSN_RST: begin + case (cycle) + 0: cycle <= 1; + 1: cycle <= 2; + 2: cycle <= 3; + 3: begin + cycle <= 0; + {registers[`REG_SPH],registers[`REG_SPL]} <= + {registers[`REG_SPH],registers[`REG_SPL]}-2; + end + endcase + end endcase state <= `STATE_FETCH; end diff --git a/rom.hex b/rom.hex index a465631..b54409e 100644 --- a/rom.hex +++ b/rom.hex @@ -20,8 +20,8 @@ C1 A8 // LD (HL), A 77 -// HALT -76 +// RST 00h +C7 @100 02 -- 2.43.0