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) */ #define EL_ANOMALY 0x8000 /* some unexpected conditions (during emulation) */
#if EL_LOGMASK #if EL_LOGMASK
extern void lprintf(const char *fmt, ...);
#define elprintf(w,f,...) \ #define elprintf(w,f,...) \
{ \ { \
if ((w) & EL_LOGMASK) \ 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 #else
#define elprintf(w,f,...) #define elprintf(w,f,...)

View file

@ -636,10 +636,12 @@ Changelog
1.35b 1.35b
* PSP: mp3 code should no longer fail on 1.5 firmware. * PSP: mp3 code should no longer fail on 1.5 firmware.
+ PSP: added gamma adjustment option. + 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). * 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 * 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 1.35a
* PSP: fixed a bug which prevented to load any ROMs after testing the BIOS. * PSP: fixed a bug which prevented to load any ROMs after testing the BIOS.

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -70,12 +70,21 @@ static int exit_callback(int arg1, int arg2, void *common)
/* Power Callback */ /* Power Callback */
static int power_callback(int unknown, int pwrflags, void *common) 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 */ /* 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); if (engineState != PGS_Suspending) {
engineState = PGS_Menu; old_state = engineState;
engineState = PGS_Suspending;
}
} }
else if (pwrflags & PSP_POWER_CB_RESUME_COMPLETE)
engineState = old_state;
//sceDisplayWaitVblankStart(); //sceDisplayWaitVblankStart();
return 0; return 0;
} }
@ -238,6 +247,12 @@ char *psp_get_status_line(void)
return buff; return buff;
} }
void psp_wait_suspend(void)
{
// probably should do something smarter here?
sceDisplayWaitVblankStart();
}
/* alt logging */ /* alt logging */
#define LOG_FILE "log.txt" #define LOG_FILE "log.txt"
@ -251,7 +266,7 @@ typedef struct _log_entry
static log_entry *le_root = NULL; static log_entry *le_root = NULL;
#endif #endif
void lprintf_f(const char *fmt, ...) void lprintf(const char *fmt, ...)
{ {
va_list vl; va_list vl;

View file

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