some minor adjustments

git-svn-id: file:///home/notaz/opt/svn/PicoDrive@304 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
notaz 2007-11-25 13:39:05 +00:00
parent 71de3cd9bb
commit 7d0143a2de
10 changed files with 45 additions and 9 deletions

View file

@ -484,10 +484,11 @@ PICO_INTERNAL void z80_exit(void);
#define EL_ANOMALY 0x8000 /* some unexpected conditions (during emulation) */
#if EL_LOGMASK
extern void lprintf(const char *fmt, ...);
#define elprintf(w,f,...) \
{ \
if ((w) & EL_LOGMASK) \
printf("%05i:%03i: " f "\n",Pico.m.frame_count,Pico.m.scanline,##__VA_ARGS__); \
lprintf("%05i:%03i: " f "\n",Pico.m.frame_count,Pico.m.scanline,##__VA_ARGS__); \
}
#else
#define elprintf(w,f,...)

View file

@ -636,10 +636,12 @@ Changelog
1.35b
* PSP: mp3 code should no longer fail on 1.5 firmware.
+ PSP: added gamma adjustment option.
+ Added .cso format support. Useful for non-FMV games.
+ Added .cso ISO format support. Useful for non-FMV games.
* It is now possile to force a region after the ROM is loaded.
* Fixed a sram bug in memhandlers (fixes Shining in the Darkness saves).
* PSP: fixed another bug in memhanlers, which crashed the emu for some games
(like NBA Jam).
(like NBA Jam and NHL 9x).
* Some other small tweaks I forgot about.
1.35a
* PSP: fixed a bug which prevented to load any ROMs after testing the BIOS.

View file

@ -2,8 +2,7 @@
#include <stdio.h>
#define lprintf printf
#elif defined(PSP)
extern void lprintf_f(const char *fmt, ...);
#define lprintf lprintf_f
extern void lprintf(const char *fmt, ...);
#else
#include "giz.h"
#endif

View file

@ -1211,6 +1211,10 @@ static void menu_options_save(void)
PicoOpt = currentConfig.PicoOpt;
PsndRate = currentConfig.PsndRate;
PicoRegionOverride = currentConfig.PicoRegion;
if (PicoRegionOverride) {
// force setting possibly changed..
Pico.m.pal = (PicoRegionOverride == 2 || PicoRegionOverride == 8) ? 1 : 0;
}
if (!(PicoOpt & 0x20)) {
// unbind XYZ MODE, just in case
unbind_action(0xf00);

View file

@ -1250,6 +1250,10 @@ static void menu_options_save(void)
PicoOpt = currentConfig.PicoOpt;
PsndRate = currentConfig.PsndRate;
PicoRegionOverride = currentConfig.PicoRegion;
if (PicoRegionOverride) {
// force setting possibly changed..
Pico.m.pal = (PicoRegionOverride == 2 || PicoRegionOverride == 8) ? 1 : 0;
}
if (!(PicoOpt & 0x20)) {
// unbind XYZ MODE, just in case
unbind_action(0xf00, -1, -1);

View file

@ -14,6 +14,7 @@ enum TPicoGameState {
PGS_ReloadRom,
PGS_Menu,
PGS_RestartRun,
PGS_Suspending,
};
extern char romFileName[];

View file

@ -65,6 +65,10 @@ int pico_main(void)
}
break;
case PGS_Suspending:
psp_wait_suspend();
break;
case PGS_RestartRun:
engineState = PGS_Running;

View file

@ -1394,6 +1394,10 @@ static void menu_options_save(void)
PicoOpt = currentConfig.PicoOpt;
PsndRate = currentConfig.PsndRate;
PicoRegionOverride = currentConfig.PicoRegion;
if (PicoRegionOverride) {
// force setting possibly changed..
Pico.m.pal = (PicoRegionOverride == 2 || PicoRegionOverride == 8) ? 1 : 0;
}
if (!(PicoOpt & 0x20)) {
// unbind XYZ MODE, just in case
unbind_action(0xf00);

View file

@ -70,12 +70,21 @@ static int exit_callback(int arg1, int arg2, void *common)
/* Power Callback */
static int power_callback(int unknown, int pwrflags, void *common)
{
static int old_state = PGS_Menu;
lprintf("power_callback: flags: 0x%08X\n", pwrflags);
/* check for power switch and suspending as one is manual and the other automatic */
if (pwrflags & PSP_POWER_CB_POWER_SWITCH || pwrflags & PSP_POWER_CB_SUSPENDING)
if (pwrflags & PSP_POWER_CB_POWER_SWITCH || pwrflags & PSP_POWER_CB_SUSPENDING || pwrflags & PSP_POWER_CB_STANDBY)
{
lprintf("power_callback: flags: 0x%08X: suspending\n", pwrflags);
engineState = PGS_Menu;
if (engineState != PGS_Suspending) {
old_state = engineState;
engineState = PGS_Suspending;
}
}
else if (pwrflags & PSP_POWER_CB_RESUME_COMPLETE)
engineState = old_state;
//sceDisplayWaitVblankStart();
return 0;
}
@ -238,6 +247,12 @@ char *psp_get_status_line(void)
return buff;
}
void psp_wait_suspend(void)
{
// probably should do something smarter here?
sceDisplayWaitVblankStart();
}
/* alt logging */
#define LOG_FILE "log.txt"
@ -251,7 +266,7 @@ typedef struct _log_entry
static log_entry *le_root = NULL;
#endif
void lprintf_f(const char *fmt, ...)
void lprintf(const char *fmt, ...)
{
va_list vl;

View file

@ -43,6 +43,8 @@ int psp_set_cpu_clock(int clock);
char *psp_get_status_line(void);
void psp_wait_suspend(void);
/* shorter btn names */
#define BTN_UP PSP_CTRL_UP
#define BTN_LEFT PSP_CTRL_LEFT