Common: Introduce the new Gekko disassembler to Common.

This moves the Gekko disassembler to Common where it should be. Having it in the Bochs disassembly Externals is incorrect.

Unlike the PowerPC disassembler prior however, this one is updated to have an API that is more fitting for C++. e.g. Not needing to specify a string buffer and size. It does all of this under the hood.

This modifies all the DebuggingInterfaces as necessary to handle this.
This commit is contained in:
Lioncash
2014-07-17 21:33:51 -04:00
parent 15920d0f10
commit 0718937237
21 changed files with 2553 additions and 2434 deletions

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
@ -48,12 +48,10 @@
<ClInclude Include="config.h" />
<ClInclude Include="disasm.h" />
<ClInclude Include="dis_tables.h" />
<ClInclude Include="PowerPCDisasm.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="dis_decode.cpp" />
<ClCompile Include="dis_groups.cpp" />
<ClCompile Include="PowerPCDisasm.cpp" />
<ClCompile Include="resolve.cpp" />
<ClCompile Include="syntax.cpp" />
</ItemGroup>

View File

@ -1,11 +1,10 @@
set(SRCS dis_decode.cpp
dis_groups.cpp
resolve.cpp
syntax.cpp
PowerPCDisasm.cpp)
set(SRCS dis_decode.cpp
dis_groups.cpp
resolve.cpp
syntax.cpp)
if(WIN32)
set(SRCS ${SRCS} stdafx.cpp)
set(SRCS ${SRCS} stdafx.cpp)
endif(WIN32)
add_library(bdisasm STATIC ${SRCS})

File diff suppressed because it is too large Load Diff

View File

@ -1,29 +0,0 @@
/* $VER: ppc_disasm V0.1 (23.05.1998)
*
* Disassembler module for the PowerPC microprocessor family
* Copyright (c) 1998-2000 Frank Wille
*
* ppc_disasm.c is freeware and may be freely redistributed as long as
* no modifications are made and nothing is charged for it.
* Non-commercial usage is allowed without any restrictions.
* EVERY PRODUCT OR PROGRAM DERIVED DIRECTLY FROM MY SOURCE MAY NOT BE
* SOLD COMMERCIALLY WITHOUT PERMISSION FROM THE AUTHOR.
*
*
* v0.1 (23.05.1998) phx
* First version, which implements all PowerPC instructions.
* v0.0 (09.05.1998) phx
* File created.
*/
// Yeah, this does not really belong in bochs_disasm, but hey, it's a disasm and it needed a common location...
#ifndef _POWERPC_DISASM
#define _POWERPC_DISASM
void DisassembleGekko(unsigned int opcode, unsigned int curInstAddr, char* dest, int max_size);
const char* GetGPRName(unsigned int index);
const char* GetFPRName(unsigned int index);
#endif