notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
frontend: logging updates
[pcsx_rearmed.git]
/
frontend
/
main.c
diff --git
a/frontend/main.c
b/frontend/main.c
index
29d2c25
..
8b35b09
100644
(file)
--- a/
frontend/main.c
+++ b/
frontend/main.c
@@
-31,6
+31,8
@@
#include "libpicofe/input.h"
#include "libpicofe/plat.h"
#include "libpicofe/readpng.h"
#include "libpicofe/input.h"
#include "libpicofe/plat.h"
#include "libpicofe/readpng.h"
+
+static void toggle_fast_forward(int force_off);
#endif
#ifndef BOOT_MSG
#define BOOT_MSG "Booting up..."
#endif
#ifndef BOOT_MSG
#define BOOT_MSG "Booting up..."
@@
-46,7
+48,7
@@
extern int iUseInterpolation;
extern int iXAPitch;
extern int iVolume;
extern int iXAPitch;
extern int iVolume;
-int ready_to_go;
+int ready_to_go
, g_resetting
;
unsigned long gpuDisp;
char cfgfile_basename[MAXPATHLEN];
int state_slot;
unsigned long gpuDisp;
char cfgfile_basename[MAXPATHLEN];
int state_slot;
@@
-54,8
+56,6
@@
enum sched_action emu_action, emu_action_old;
char hud_msg[64];
int hud_new_msg;
char hud_msg[64];
int hud_new_msg;
-static void toggle_fast_forward(int force_off);
-
static void make_path(char *buf, size_t size, const char *dir, const char *fname)
{
if (fname)
static void make_path(char *buf, size_t size, const char *dir, const char *fname)
{
if (fname)
@@
-146,7
+146,6
@@
void emu_set_default_config(void)
// try to set sane config on which most games work
Config.Xa = Config.Cdda = Config.Sio =
Config.SpuIrq = Config.RCntFix = Config.VSyncWA = 0;
// try to set sane config on which most games work
Config.Xa = Config.Cdda = Config.Sio =
Config.SpuIrq = Config.RCntFix = Config.VSyncWA = 0;
- Config.CdrReschedule = 0;
Config.PsxAuto = 1;
pl_rearmed_cbs.gpu_neon.allow_interlace = 2; // auto
Config.PsxAuto = 1;
pl_rearmed_cbs.gpu_neon.allow_interlace = 2; // auto
@@
-187,7
+186,7
@@
static void check_memcards(void)
f = fopen(buf, "rb");
if (f == NULL) {
f = fopen(buf, "rb");
if (f == NULL) {
-
p
rintf("Creating memcard: %s\n", buf);
+
SysP
rintf("Creating memcard: %s\n", buf);
CreateMcd(buf);
}
else
CreateMcd(buf);
}
else
@@
-228,7
+227,7
@@
do_state_slot:
snprintf(hud_msg, sizeof(hud_msg), "STATE SLOT %d [%s]", state_slot,
emu_check_state(state_slot) == 0 ? "USED" : "FREE");
hud_new_msg = 3;
snprintf(hud_msg, sizeof(hud_msg), "STATE SLOT %d [%s]", state_slot,
emu_check_state(state_slot) == 0 ? "USED" : "FREE");
hud_new_msg = 3;
-
p
rintf("* %s\n", hud_msg);
+
SysP
rintf("* %s\n", hud_msg);
break;
case SACTION_TOGGLE_FSKIP:
pl_rearmed_cbs.fskip_advice = 0;
break;
case SACTION_TOGGLE_FSKIP:
pl_rearmed_cbs.fskip_advice = 0;
@@
-262,7
+261,7
@@
do_state_slot:
g_opts |= OPT_SHOWFPS;
break;
case SACTION_TOGGLE_FULLSCREEN:
g_opts |= OPT_SHOWFPS;
break;
case SACTION_TOGGLE_FULLSCREEN:
-
g_fullscreen = !g
_fullscreen;
+
plat_target.vout_fullscreen = !plat_target.vout
_fullscreen;
if (GPU_open != NULL && GPU_close != NULL) {
GPU_close();
GPU_open(&gpuDisp, "PCSX", NULL);
if (GPU_open != NULL && GPU_close != NULL) {
GPU_close();
GPU_open(&gpuDisp, "PCSX", NULL);
@@
-301,7
+300,7
@@
do_state_slot:
if (GPU_open != NULL) {
ret = GPU_open(&gpuDisp, "PCSX", NULL);
if (ret)
if (GPU_open != NULL) {
ret = GPU_open(&gpuDisp, "PCSX", NULL);
if (ret)
-
fprintf(stderr, "GPU_open returned %d\n
", ret);
+
SysMessage("GPU_open returned %d
", ret);
}
return;
#endif
}
return;
#endif
@@
-312,12
+311,19
@@
do_state_slot:
hud_new_msg = 3;
}
hud_new_msg = 3;
}
+static char basic_lcase(char c)
+{
+ if ('A' <= c && c <= 'Z')
+ return c - 'A' + 'a';
+ return c;
+}
+
static int cdidcmp(const char *id1, const char *id2)
{
while (*id1 != 0 && *id2 != 0) {
if (*id1 == '_') { id1++; continue; }
if (*id2 == '_') { id2++; continue; }
static int cdidcmp(const char *id1, const char *id2)
{
while (*id1 != 0 && *id2 != 0) {
if (*id1 == '_') { id1++; continue; }
if (*id2 == '_') { id2++; continue; }
- if (
*id1 != *id2
)
+ if (
basic_lcase(*id1) != basic_lcase(*id2)
)
break;
id1++;
id2++;
break;
id1++;
id2++;
@@
-348,7
+354,7
@@
static void parse_cwcheat(void)
if (feof(f))
goto out;
if (feof(f))
goto out;
-
p
rintf("cwcheat section found for %s\n", CdromId);
+
SysP
rintf("cwcheat section found for %s\n", CdromId);
while (fgets(line, sizeof(line), f))
{
p = line + strlen(line);
while (fgets(line, sizeof(line), f))
{
p = line + strlen(line);
@@
-360,12
+366,12
@@
static void parse_cwcheat(void)
if (strncmp(line, "_S", 2) == 0)
break;
if (strncmp(line, "_G", 2) == 0) {
if (strncmp(line, "_S", 2) == 0)
break;
if (strncmp(line, "_G", 2) == 0) {
-
p
rintf(" cwcheat game name: '%s'\n", line + 3);
+
SysP
rintf(" cwcheat game name: '%s'\n", line + 3);
continue;
}
if (strncmp(line, "_C0", 3) == 0) {
if (!newcheat && Cheats[NumCheats - 1].n == 0) {
continue;
}
if (strncmp(line, "_C0", 3) == 0) {
if (!newcheat && Cheats[NumCheats - 1].n == 0) {
-
p
rintf("cheat '%s' failed to parse\n", name);
+
SysP
rintf("cheat '%s' failed to parse\n", name);
free(Cheats[NumCheats - 1].Descr);
NumCheats--;
}
free(Cheats[NumCheats - 1].Descr);
NumCheats--;
}
@@
-374,7
+380,7
@@
static void parse_cwcheat(void)
continue;
}
if (sscanf(line, "_L %x %x", &a, &v) != 2) {
continue;
}
if (sscanf(line, "_L %x %x", &a, &v) != 2) {
-
p
rintf("line failed to parse: '%s'\n", line);
+
SysP
rintf("line failed to parse: '%s'\n", line);
continue;
}
continue;
}
@@
-418,8
+424,8
@@
void emu_on_new_cd(int show_hud_msg)
parse_cwcheat();
if (Config.HLE) {
parse_cwcheat();
if (Config.HLE) {
-
p
rintf("note: running with HLE BIOS, expect compatibility problems\n");
-
p
rintf("----------------------------------------------------------\n");
+
SysP
rintf("note: running with HLE BIOS, expect compatibility problems\n");
+
SysP
rintf("----------------------------------------------------------\n");
}
if (show_hud_msg) {
}
if (show_hud_msg) {
@@
-448,11
+454,13
@@
int emu_core_preinit(void)
int emu_core_init(void)
{
int emu_core_init(void)
{
+ SysPrintf("Starting PCSX-ReARMed " REV "\n");
+
CheckSubDir();
check_memcards();
if (EmuInit() == -1) {
CheckSubDir();
check_memcards();
if (EmuInit() == -1) {
-
p
rintf("PSX emulator couldn't be initialized.\n");
+
SysP
rintf("PSX emulator couldn't be initialized.\n");
return -1;
}
return -1;
}
@@
-485,7
+493,7
@@
int main(int argc, char *argv[])
else if (!strcmp(argv[i], "-cfg")) {
if (i+1 >= argc) break;
strncpy(cfgfile_basename, argv[++i], MAXPATHLEN-100); /* TODO buffer overruns */
else if (!strcmp(argv[i], "-cfg")) {
if (i+1 >= argc) break;
strncpy(cfgfile_basename, argv[++i], MAXPATHLEN-100); /* TODO buffer overruns */
-
p
rintf("Using config file %s.\n", cfgfile_basename);
+
SysP
rintf("Using config file %s.\n", cfgfile_basename);
}
else if (!strcmp(argv[i], "-cdfile")) {
char isofilename[MAXPATHLEN];
}
else if (!strcmp(argv[i], "-cdfile")) {
char isofilename[MAXPATHLEN];
@@
-547,7
+555,8
@@
int main(int argc, char *argv[])
plat_init();
menu_init(); // loads config
plat_init();
menu_init(); // loads config
- emu_core_init();
+ if (emu_core_init() != 0)
+ return 1;
if (psxout)
Config.PsxOut = 1;
if (psxout)
Config.PsxOut = 1;
@@
-578,7
+587,7
@@
int main(int argc, char *argv[])
if (cdfile) {
if (LoadCdrom() == -1) {
ClosePlugins();
if (cdfile) {
if (LoadCdrom() == -1) {
ClosePlugins();
-
p
rintf(_("Could not load CD-ROM!\n"));
+
SysP
rintf(_("Could not load CD-ROM!\n"));
return -1;
}
emu_on_new_cd(!loadst);
return -1;
}
emu_on_new_cd(!loadst);
@@
-588,7
+597,8
@@
int main(int argc, char *argv[])
if (loadst_f) {
int ret = LoadState(loadst_f);
if (loadst_f) {
int ret = LoadState(loadst_f);
- printf("%s state file: %s\n", ret ? "failed to load" : "loaded", loadst_f);
+ SysPrintf("%s state file: %s\n",
+ ret ? "failed to load" : "loaded", loadst_f);
ready_to_go |= ret == 0;
}
ready_to_go |= ret == 0;
}
@@
-598,7
+608,8
@@
int main(int argc, char *argv[])
// If a state has been specified, then load that
if (loadst) {
int ret = emu_load_state(loadst - 1);
// If a state has been specified, then load that
if (loadst) {
int ret = emu_load_state(loadst - 1);
- printf("%s state %d\n", ret ? "failed to load" : "loaded", loadst);
+ SysPrintf("%s state %d\n",
+ ret ? "failed to load" : "loaded", loadst);
}
}
else
}
}
else
@@
-668,6
+679,7
@@
void SysReset() {
// so we need to prevent updateLace() call..
void *real_lace = GPU_updateLace;
GPU_updateLace = dummy_lace;
// so we need to prevent updateLace() call..
void *real_lace = GPU_updateLace;
GPU_updateLace = dummy_lace;
+ g_resetting = 1;
// reset can run code, timing must be set
pl_timing_prepare(Config.PsxType);
// reset can run code, timing must be set
pl_timing_prepare(Config.PsxType);
@@
-678,6
+690,7
@@
void SysReset() {
CDR_stop();
GPU_updateLace = real_lace;
CDR_stop();
GPU_updateLace = real_lace;
+ g_resetting = 0;
}
void SysClose() {
}
void SysClose() {
@@
-732,7
+745,8
@@
int emu_save_state(int slot)
#ifndef __ARM_ARCH_7A__ /* XXX */
sync();
#endif
#ifndef __ARM_ARCH_7A__ /* XXX */
sync();
#endif
- printf("* %s \"%s\" [%d]\n", ret == 0 ? "saved" : "failed to save", fname, slot);
+ SysPrintf("* %s \"%s\" [%d]\n",
+ ret == 0 ? "saved" : "failed to save", fname, slot);
return ret;
}
return ret;
}
@@
-750,29
+764,43
@@
int emu_load_state(int slot)
return LoadState(fname);
}
return LoadState(fname);
}
+#ifndef ANDROID
+
void SysPrintf(const char *fmt, ...) {
va_list list;
void SysPrintf(const char *fmt, ...) {
va_list list;
- char msg[512];
va_start(list, fmt);
va_start(list, fmt);
- v
sprintf(ms
g, fmt, list);
+ v
fprintf(emuLo
g, fmt, list);
va_end(list);
va_end(list);
+}
+
+#else
- fprintf(emuLog, "%s", msg);
+#include <android/log.h>
+
+void SysPrintf(const char *fmt, ...) {
+ va_list list;
+
+ va_start(list, fmt);
+ __android_log_vprint(ANDROID_LOG_INFO, "PCSX", fmt, list);
+ va_end(list);
}
}
+#endif
+
void SysMessage(const char *fmt, ...) {
void SysMessage(const char *fmt, ...) {
- va_list list;
- char msg[512];
+ va_list list;
+ char msg[512];
+ int ret;
-
va_start(list, fmt);
-
vsprintf(msg
, fmt, list);
-
va_end(list);
+ va_start(list, fmt);
+
ret = vsnprintf(msg, sizeof(msg)
, fmt, list);
+ va_end(list);
-
if (msg[strlen(msg)
- 1] == '\n')
-
msg[strlen(msg)
- 1] = 0;
+
if (ret < sizeof(msg) && msg[ret
- 1] == '\n')
+
msg[ret
- 1] = 0;
-
fprintf(stderr,
"%s\n", msg);
+
SysPrintf(
"%s\n", msg);
}
static void SignalExit(int sig) {
}
static void SignalExit(int sig) {
@@
-917,7
+945,7
@@
void *SysLoadLibrary(const char *lib) {
void *ret;
int i;
void *ret;
int i;
-
p
rintf("plugin: %s\n", lib);
+
SysP
rintf("plugin: %s\n", lib);
if (tmp != NULL) {
tmp++;
if (tmp != NULL) {
tmp++;
@@
-928,7
+956,7
@@
void *SysLoadLibrary(const char *lib) {
ret = dlopen(lib, RTLD_NOW);
if (ret == NULL)
ret = dlopen(lib, RTLD_NOW);
if (ret == NULL)
-
fprintf(stderr, "dlopen: %s\n
", dlerror());
+
SysMessage("dlopen: %s
", dlerror());
return ret;
}
return ret;
}