mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 15:27:46 -04:00
some minor adjustments
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@304 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
parent
71de3cd9bb
commit
7d0143a2de
10 changed files with 45 additions and 9 deletions
|
@ -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,...)
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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[];
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue