SDL build/configuration patches (martinultima, chrono):

http://vba-m.ngemu.com/forum/gbc-cheats-gameshark-compile-fixes-t-193.html
This commit is contained in:
xkiv 2008-08-03 21:02:37 +00:00
parent ac73d8ff85
commit 5b5f0078fe
3 changed files with 44 additions and 22 deletions

View File

@ -55,6 +55,8 @@ IF( NOT NO_SDL )
ENDIF( NOT NO_SDL )
IF( WITH_LIRC )
SET( WITHLIRC 1 )
ELSE( WITH_LIRC )
SET( WITHLIRC 0 )
ENDIF( WITH_LIRC )
# Check that the dependencies are met to build the GTK frontend
@ -105,8 +107,8 @@ IF ( WIN32 )
ELSE ( WIN32 )
SET( CMAKE_ASM_FLAGS "-Isrc/hq/asm/ -O1 -DELF -w-orphan-labels")
ENDIF ( WIN32 )
SET( CMAKE_C_FLAGS "-O3 -Wall")
SET( CMAKE_CXX_FLAGS "-O3 -Wall")
SET( CMAKE_C_FLAGS "-O3 -mtune=native -Wall")
SET( CMAKE_CXX_FLAGS "-O3 -mtune=native -Wall")
# Source files definition
SET(SRC_MAIN
@ -222,13 +224,17 @@ ELSE(CMAKE_ASM_COMPILER_LOADED AND USE_ASM_SCALERS)
SET(SRC_HQ ${SRC_HQ_C})
ENDIF(CMAKE_ASM_COMPILER_LOADED AND USE_ASM_SCALERS)
include_directories(
INCLUDE_DIRECTORIES(
${ZLIB_INCLUDE_DIR}
${SDL_INCLUDE_DIRS}
)
IF( CAN_BUILD_GVBAM )
INCLUDE_DIRECTORIES(
${GTKMM_INCLUDE_DIRS}
${GLADEMM_INCLUDE_DIRS}
${SDL_INCLUDE_DIRS}
${GTKGLMM_INCLUDE_DIRS}
)
ENDIF( CAN_BUILD_GVBAM )
ADD_LIBRARY (
vbamcore
@ -253,15 +259,19 @@ IF( CAN_BUILD_VBAM )
SET( WIN32_LIBRARIES wsock32 )
ENDIF( WIN32 )
IF( WITH_LIRC )
SET( LIRC_CLIENT_LIBRARY lirc_client )
ENDIF( WITH_LIRC )
TARGET_LINK_LIBRARIES (
vbam
vbamcore
lirc_client
${SDL_LIBRARY}
${ZLIB_LIBRARY}
${PNG_LIBRARY}
${OPENGL_LIBRARY}
${WIN32_LIBRARIES}
${LIRC_CLIENT_LIBRARY}
)
INSTALL(PROGRAMS vbam DESTINATION bin)

View File

@ -1288,6 +1288,14 @@ void CPUCleanUp()
emulating = 0;
}
/* allocation of memory segments + display where they are (for ptrace PEEK/POKE) */
void * pom_calloc(int elem, int kolik, const char * const co)
{
void * poi = calloc(elem, kolik);
fprintf(stderr,"%s allocated at 0x%08x - 0x%08x\n", co, (int)poi, (int)poi + kolik - 1);
return poi;
}
int CPULoadRom(const char *szFile)
{
romSize = 0x2000000;
@ -1297,13 +1305,13 @@ int CPULoadRom(const char *szFile)
systemSaveUpdateCounter = SYSTEM_SAVE_NOT_UPDATED;
rom = (u8 *)malloc(0x2000000);
rom = (u8 *)pom_calloc(1, romSize, "ROM");
if(rom == NULL) {
systemMessage(MSG_OUT_OF_MEMORY, N_("Failed to allocate memory for %s"),
"ROM");
return 0;
}
workRAM = (u8 *)calloc(1, 0x40000);
workRAM = (u8 *)pom_calloc(1, 0x40000, "RAM");
if(workRAM == NULL) {
systemMessage(MSG_OUT_OF_MEMORY, N_("Failed to allocate memory for %s"),
"WRAM");
@ -1353,49 +1361,49 @@ int CPULoadRom(const char *szFile)
temp++;
}
bios = (u8 *)calloc(1,0x4000);
bios = (u8 *)pom_calloc(1, 0x4000, "BIOS");
if(bios == NULL) {
systemMessage(MSG_OUT_OF_MEMORY, N_("Failed to allocate memory for %s"),
"BIOS");
CPUCleanUp();
return 0;
}
internalRAM = (u8 *)calloc(1,0x8000);
internalRAM = (u8 *)pom_calloc(1, 0x8000, "internal RAM");
if(internalRAM == NULL) {
systemMessage(MSG_OUT_OF_MEMORY, N_("Failed to allocate memory for %s"),
"IRAM");
CPUCleanUp();
return 0;
}
paletteRAM = (u8 *)calloc(1,0x400);
paletteRAM = (u8 *)pom_calloc(1, 0x400, "palette RAM");
if(paletteRAM == NULL) {
systemMessage(MSG_OUT_OF_MEMORY, N_("Failed to allocate memory for %s"),
"PRAM");
CPUCleanUp();
return 0;
}
vram = (u8 *)calloc(1, 0x20000);
vram = (u8 *)pom_calloc(1, 0x20000, "vRAM");
if(vram == NULL) {
systemMessage(MSG_OUT_OF_MEMORY, N_("Failed to allocate memory for %s"),
"VRAM");
CPUCleanUp();
return 0;
}
oam = (u8 *)calloc(1, 0x400);
oam = (u8 *)pom_calloc(1, 0x400, "oam");
if(oam == NULL) {
systemMessage(MSG_OUT_OF_MEMORY, N_("Failed to allocate memory for %s"),
"OAM");
CPUCleanUp();
return 0;
}
pix = (u8 *)calloc(1, 4 * 241 * 162);
pix = (u8 *)pom_calloc(1, 4 * 241 * 162, "PIX");
if(pix == NULL) {
systemMessage(MSG_OUT_OF_MEMORY, N_("Failed to allocate memory for %s"),
"PIX");
CPUCleanUp();
return 0;
}
ioMem = (u8 *)calloc(1, 0x400);
ioMem = (u8 *)pom_calloc(1, 0x400, "IO");
if(ioMem == NULL) {
systemMessage(MSG_OUT_OF_MEMORY, N_("Failed to allocate memory for %s"),
"IO");

View File

@ -45,6 +45,7 @@
#include "../Util.h"
#include "../dmg/gb.h"
#include "../dmg/gbGlobals.h"
#include "../dmg/gbCheats.h"
#include "../Cheats.h"
#include "debugger.h"
@ -68,7 +69,7 @@
# include <getopt.h>
#endif // ! __GNUC__
#ifdef WITH_LIRC
#if WITH_LIRC
#include <sys/poll.h>
#include <lirc/lirc_client.h>
#endif
@ -362,7 +363,7 @@ struct option sdlOptions[] = {
{ NULL, no_argument, NULL, 0 }
};
#ifdef WITH_LIRC
#if WITH_LIRC
//LIRC code
bool LIRCEnabled = false;
int LIRCfd = 0;
@ -419,7 +420,7 @@ u32 sdlFromHex(char *s)
return value;
}
#ifdef WITH_LIRC
#if WITH_LIRC
void lircCheckInput(void)
{
if(LIRCEnabled) {
@ -2469,7 +2470,7 @@ int main(int argc, char **argv)
systemMessage(0, "Failed to init joystick support: %s", SDL_GetError());
}
#ifdef WITH_LIRC
#if WITH_LIRC
StartLirc();
#endif
sdlCheckKeys();
@ -2552,6 +2553,9 @@ int main(int argc, char **argv)
} else if (l == 13 && p[8] == ' ') {
fprintf(stderr,"Adding CBA cheat code %s\n", p);
cheatsAddCBACode(p, p);
} else if (l == 8) {
fprintf(stderr,"Adding GB(GS) cheat code %s\n", p);
gbAddGsCheat(p, p);
} else {
fprintf(stderr,"Unknown format for cheat code %s\n", p);
}
@ -2575,7 +2579,7 @@ int main(int argc, char **argv)
SDL_Delay(500);
}
sdlPollEvents();
#ifdef WITH_LIRC
#if WITH_LIRC
lircCheckInput();
#endif
if(mouseCounter) {
@ -2605,7 +2609,7 @@ int main(int argc, char **argv)
filterPix = NULL;
}
#ifdef WITH_LIRC
#if WITH_LIRC
StopLirc();
#endif