From 7a79ba9eb1e7cbee6386d8c8e019fdc4738228a4 Mon Sep 17 00:00:00 2001 From: Ian C <ianc@noddybox.co.uk> Date: Mon, 5 Mar 2012 23:55:51 +0000 Subject: None compiling safe-keeping commit. Started on Z80 disassembler. --- src/Noddybox.Emulation.EightBit/IDisassembler.cs | 43 ++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/Noddybox.Emulation.EightBit/IDisassembler.cs (limited to 'src/Noddybox.Emulation.EightBit') diff --git a/src/Noddybox.Emulation.EightBit/IDisassembler.cs b/src/Noddybox.Emulation.EightBit/IDisassembler.cs new file mode 100644 index 0000000..fed7fee --- /dev/null +++ b/src/Noddybox.Emulation.EightBit/IDisassembler.cs @@ -0,0 +1,43 @@ +// This file is part of the Noddybox.Emulation C# suite. +// +// Noddybox.Emulation is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// Noddybox.Emulation is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Noddybox.Emulation. If not, see <http://www.gnu.org/licenses/>. +// +// Copyright (c) 2012 Ian Cowburn +// +using System; + +namespace Noddybox.Emulation.EightBit +{ + /// <summary> + /// Defines an 8-bit disassembler. + /// </summary> + public interface IDisassembler + { + /// <summary> + /// Initialise the disaasembler to give it access to memory. + /// </summary> + /// <param name="memory">The memory to access.</param> + void Initialise(IMemory memory); + + /// <summary> + /// Disassembles memory. + /// </summary> + /// <param name="startAddress">The address to start disassembling from.</param> + /// <param name="address">Contains a formated address.</param> + /// <param name="opcode">Contains the formatted opcode.</param> + /// <param name="hexdump">Contains a formatted string of the hex making up the opcode.</param> + /// <returns>The address after the last byte disassembled.</returns> + ushort Disassemble(ushort startAddress, out string address, out string opcode, out string hexdump); + } +} -- cgit v1.2.3