DSP: add a crazy little shell script that will build DSPCore into DSPSpy. make DSPCore build in gekko mode. re-add GC-pad controls to DSPSpy (now it can run inside Dolphin, kind of neat but not super useful for the obvious reasons).

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3141 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
hrydgard
2009-05-03 11:15:17 +00:00
parent 90ae2a8e55
commit 0772db6af6
21 changed files with 161 additions and 22 deletions

99
Source/DSPSpy/Stubs.cpp Normal file
View File

@ -0,0 +1,99 @@
// Stubs to make DSPCore compile as part of DSPSpy.
#include <stdlib.h>
#include <stdio.h>
#include <string>
#include "Thread.h"
void *AllocateMemoryPages(size_t size)
{
return malloc(size);
}
void FreeMemoryPages(void *pages, size_t size)
{
free(pages);
}
void WriteProtectMemory(void* ptr, size_t size, bool allowExecute)
{
}
void UnWriteProtectMemory(void* ptr, size_t size, bool allowExecute)
{
}
bool DSPHost_OnThread()
{
return false;
}
// Well, it's just RAM right? :)
u8 DSPHost_ReadHostMemory(u32 address)
{
u8 *ptr = (u8*)address;
return *ptr;
}
void DSPHost_CodeLoaded(const u8 *code, int size)
{
}
namespace Common
{
CriticalSection::CriticalSection(int)
{
}
CriticalSection::~CriticalSection()
{
}
void CriticalSection::Enter()
{
}
void CriticalSection::Leave()
{
}
} // namespace
namespace File
{
bool WriteStringToFile(bool text_file, const std::string &str, const char *filename)
{
FILE *f = fopen(filename, text_file ? "w" : "wb");
if (!f)
return false;
size_t len = str.size();
if (len != fwrite(str.data(), 1, str.size(), f))
{
fclose(f);
return false;
}
fclose(f);
return true;
}
bool ReadFileToString(bool text_file, const char *filename, std::string &str)
{
FILE *f = fopen(filename, text_file ? "r" : "rb");
if (!f)
return false;
fseek(f, 0, SEEK_END);
size_t len = ftell(f);
fseek(f, 0, SEEK_SET);
char *buf = new char[len + 1];
buf[fread(buf, 1, len, f)] = 0;
str = std::string(buf, len);
fclose(f);
delete [] buf;
return true;
}
}