psp late-night fixes

git-svn-id: file:///home/notaz/opt/svn/PicoDrive/platform@299 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
notaz 2007-11-18 00:26:41 +00:00
parent 63b796cabb
commit 117f236a4d
4 changed files with 22 additions and 6 deletions

View file

@ -166,12 +166,14 @@ mid-frame image changes (raster effects), so it is useful only with some games.
Other two are accurate line-based renderers. The 8bit is faster but does not Other two are accurate line-based renderers. The 8bit is faster but does not
run well with some games like Street Racer. run well with some games like Street Racer.
#endif #endif
#ifdef GIZ #ifdef GIZ
This option allows to switch between 16bit and 8bit renderers. The 8bit one is This option allows to switch between 16bit and 8bit renderers. The 8bit one is
a bit faster for some games, but not much, because colors still need to be a bit faster for some games, but not much, because colors still need to be
converted to 16bit, as this is what Gizmondo requires. It also introduces converted to 16bit, as this is what Gizmondo requires. It also introduces
graphics problems for some games, so it's best to use 16bit one. graphics problems for some games, so it's best to use 16bit one.
#endif #endif
#ifdef PSP #ifdef PSP
This option allows to switch between fast and accurate renderers. The fast one This option allows to switch between fast and accurate renderers. The fast one
@ -179,8 +181,8 @@ is much faster, because it draws the whole frame at a time, instead of doing it
line by line, like the accurate one does. But because of the way it works it line by line, like the accurate one does. But because of the way it works it
can't render any mid-frame image changes (raster effects), so it is useful only can't render any mid-frame image changes (raster effects), so it is useful only
for some games. for some games.
#endif
#endif
#ifdef GIZ #ifdef GIZ
@@0. "Scanline mode" @@0. "Scanline mode"
This option was designed to work around slow framebuffer access (the Gizmondo's This option was designed to work around slow framebuffer access (the Gizmondo's
@ -196,14 +198,15 @@ averaging and may look a bit nicer, but blurry. Horizontal scaling is only for
games which use so called "32 column mode" (256x224 or 256x240), and scales games which use so called "32 column mode" (256x224 or 256x240), and scales
image width to 320 pixels. Vertical scales height to 240 for games which use image width to 320 pixels. Vertical scales height to 240 for games which use
height 224 (most of them). height 224 (most of them).
#endif #endif
#ifdef GIZ #ifdef GIZ
@@0. "Scale low res mode" @@0. "Scale low res mode"
The Genesis/Megadrive had several graphics modes, some of which were only 256 The Genesis/Megadrive had several graphics modes, some of which were only 256
pixels wide. This option scales their width to 320 by using simple pixels wide. This option scales their width to 320 by using simple
pixel averaging scaling. Works only when 16bit renderer is enabled. pixel averaging scaling. Works only when 16bit renderer is enabled.
#endif
#endif
@@0. "Accurate timing" @@0. "Accurate timing"
This adds some more emulation precision, but slows the emulation down. Without This adds some more emulation precision, but slows the emulation down. Without
this option some games do not boot (Red Zone for example), others have sound this option some games do not boot (Red Zone for example), others have sound

View file

@ -70,7 +70,7 @@ endif
OBJS += data/bg32.o data/bg40.o OBJS += data/bg32.o data/bg40.o
LIBS += -lpng -lm -lpspgu -lpsppower -lpspaudio -lpsprtc -lpspaudiocodec LIBS += -lpng -lm -lpspgu -lpsppower -lpspaudio -lpsprtc -lpspaudiocodec -lpspkubridge
#LIBS += -lpspprof #LIBS += -lpspprof
LDFLAGS += -Wl,-Map=PicoDrive.map LDFLAGS += -Wl,-Map=PicoDrive.map

View file

@ -9,6 +9,7 @@
#include <pspkernel.h> #include <pspkernel.h>
#include <pspsdk.h> #include <pspsdk.h>
#include <pspaudiocodec.h> #include <pspaudiocodec.h>
#include <kubridge.h>
#include "../../Pico/PicoInt.h" #include "../../Pico/PicoInt.h"
#include "../../Pico/sound/mix.h" #include "../../Pico/sound/mix.h"
@ -132,9 +133,20 @@ static int read_next_frame(int which_buffer)
static SceUID load_start_module(const char *prxname) static SceUID load_start_module(const char *prxname)
{ {
SceUID mod = pspSdkLoadStartModule(prxname, PSP_MEMORY_PARTITION_KERNEL); SceUID mod, mod1;
if (mod < 0) int status, ret;
lprintf("failed to load %s: %08x\n", prxname, mod);
mod = pspSdkLoadStartModule(prxname, PSP_MEMORY_PARTITION_KERNEL);
if (mod < 0) {
lprintf("failed to load %s (%08x), trying kuKernelLoadModule\n", prxname, mod);
mod1 = kuKernelLoadModule(prxname, 0, NULL);
if (mod1 < 0) lprintf("kuKernelLoadModule failed with %08x\n", mod1);
else {
ret = sceKernelStartModule(mod1, 0, NULL, &status, 0);
if (ret < 0) lprintf("sceKernelStartModule failed with %08x\n", ret);
else mod = mod1;
}
}
return mod; return mod;
} }

View file

@ -127,6 +127,7 @@ void psp_init(void)
void psp_finish(void) void psp_finish(void)
{ {
lprintf("psp_finish..\n");
sceGuTerm(); sceGuTerm();
//sceKernelSleepThread(); //sceKernelSleepThread();