mirror of
https://github.com/RaySollium99/libpicofe.git
synced 2025-09-05 14:57:46 -04:00
Gizmondo port updated to 1.51b
git-svn-id: file:///home/notaz/opt/svn/PicoDrive/platform@567 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
parent
7443ecd958
commit
5d239ae7a4
5 changed files with 52 additions and 8 deletions
|
@ -369,6 +369,10 @@ Well known way to improve the GP2X performance. You must restart the emulator
|
||||||
for the change of this option to take effect.
|
for the change of this option to take effect.
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@1. "Disable idle loop patching"
|
||||||
|
Idle loop patching is used to improve performance, but may cause compatibility
|
||||||
|
problems in some rare cases. Try disabling this if your game has problems.
|
||||||
|
|
||||||
|
|
||||||
Sega/Mega CD options
|
Sega/Mega CD options
|
||||||
--------------------
|
--------------------
|
||||||
|
@ -449,6 +453,9 @@ There are 3 options:
|
||||||
@@3. "Set to unscaled centered"
|
@@3. "Set to unscaled centered"
|
||||||
Adjust the resizing options to set game image to it's original size.
|
Adjust the resizing options to set game image to it's original size.
|
||||||
|
|
||||||
|
@@3. "Set to 4:3 scaled"
|
||||||
|
Scale the image up, but keep 4:3 aspect, by adding black borders.
|
||||||
|
|
||||||
@@3. "Set to fullscreen"
|
@@3. "Set to fullscreen"
|
||||||
Adjust the resizing options to make the game image fullscreen.
|
Adjust the resizing options to make the game image fullscreen.
|
||||||
|
|
||||||
|
@ -645,6 +652,11 @@ Additional thanks
|
||||||
|
|
||||||
Changelog
|
Changelog
|
||||||
---------
|
---------
|
||||||
|
1.51b
|
||||||
|
* Fixed a crash when uncompressed savestate is loaded.
|
||||||
|
* Fixed an idle loop detection related hanging problem.
|
||||||
|
* PSP: fixed another palette related regression.
|
||||||
|
|
||||||
1.51a
|
1.51a
|
||||||
* Fixed a sync problem between main and sub 68k. Should fix the hanging
|
* Fixed a sync problem between main and sub 68k. Should fix the hanging
|
||||||
problem for some games.
|
problem for some games.
|
||||||
|
|
|
@ -41,11 +41,33 @@ void menu_flip(void);
|
||||||
|
|
||||||
#elif defined(__GIZ__)
|
#elif defined(__GIZ__)
|
||||||
|
|
||||||
// TODO
|
#include "../gizmondo/giz.h"
|
||||||
//#include "../gizmondo/giz.h"
|
|
||||||
#define SCREEN_WIDTH 321
|
#define BTN_NORTH BTN_STOP
|
||||||
#define SCREEN_BUFFER menu_screen
|
#define BTN_SOUTH BTN_PLAY
|
||||||
extern unsigned char *menu_screen;
|
#define BTN_WEST BTN_REW
|
||||||
|
#define BTN_EAST BTN_FWD
|
||||||
|
|
||||||
|
unsigned long wait_for_input(unsigned int interesting);
|
||||||
|
void menu_draw_begin(int use_bgbuff);
|
||||||
|
void menu_darken_bg(void *dst, const void *src, int pixels, int darker);
|
||||||
|
void menu_draw_end(void);
|
||||||
|
|
||||||
|
#define SCREEN_WIDTH 321
|
||||||
|
#define SCREEN_HEIGHT 240
|
||||||
|
#define SCREEN_BUFFER ((giz_screen != NULL) ? giz_screen : menu_screen)
|
||||||
|
extern void *menu_screen;
|
||||||
|
extern void *giz_screen;
|
||||||
|
|
||||||
|
#define read_buttons(which) \
|
||||||
|
wait_for_input(which)
|
||||||
|
#define read_buttons_async(which) 0
|
||||||
|
#define menu_draw_begin() \
|
||||||
|
menu_draw_begin(1)
|
||||||
|
#define clear_screen() \
|
||||||
|
memset(SCREEN_BUFFER, 0, SCREEN_WIDTH*SCREEN_HEIGHT*2)
|
||||||
|
#define darken_screen() \
|
||||||
|
menu_darken_bg(menu_screen, menu_screen, SCREEN_WIDTH*SCREEN_HEIGHT, 0)
|
||||||
|
|
||||||
// ------------------------------------
|
// ------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -785,7 +785,7 @@ static void parse(const char *var, const char *val)
|
||||||
ret = custom_read(me, var, val);
|
ret = custom_read(me, var, val);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!ret) lprintf("config_readsect: unhandled var: %s\n", var);
|
if (!ret) lprintf("config_readsect: unhandled var: \"%s\"\n", var);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,14 @@
|
||||||
@ vim:filetype=armasm
|
@ vim:filetype=armasm
|
||||||
|
|
||||||
|
|
||||||
|
.global cache_flush_d_inval_i
|
||||||
|
|
||||||
|
cache_flush_d_inval_i:
|
||||||
|
mov r2, #0x0 @ must be 0 ???
|
||||||
|
swi 0x9f0002
|
||||||
|
bx lr
|
||||||
|
|
||||||
|
|
||||||
.global clut_line @ void *dest, void *src, unsigned short *pal, int pixels_mask
|
.global clut_line @ void *dest, void *src, unsigned short *pal, int pixels_mask
|
||||||
|
|
||||||
clut_line:
|
clut_line:
|
||||||
|
|
|
@ -135,12 +135,13 @@ void emu_Deinit(void)
|
||||||
void emu_prepareDefaultConfig(void)
|
void emu_prepareDefaultConfig(void)
|
||||||
{
|
{
|
||||||
memset(&defaultConfig, 0, sizeof(defaultConfig));
|
memset(&defaultConfig, 0, sizeof(defaultConfig));
|
||||||
defaultConfig.EmuOpt = 0x9f | 0x00700; // | <- ram_tmng, confirm_save, cd_leds
|
defaultConfig.EmuOpt = 0x8f | 0x00600; // | <- confirm_save, cd_leds
|
||||||
defaultConfig.s_PicoOpt = 0x0f | POPT_EXT_FM|POPT_EN_MCD_PCM|POPT_EN_MCD_CDDA|POPT_EN_SVP_DRC;
|
defaultConfig.s_PicoOpt = 0x0f | POPT_EXT_FM|POPT_EN_MCD_PCM|POPT_EN_MCD_CDDA|POPT_EN_SVP_DRC;
|
||||||
defaultConfig.s_PicoOpt |= POPT_ACC_SPRITES|POPT_EN_MCD_GFX;
|
defaultConfig.s_PicoOpt |= POPT_ACC_SPRITES|POPT_EN_MCD_GFX;
|
||||||
defaultConfig.s_PicoOpt &= ~POPT_EN_SVP_DRC; // crashes :(
|
defaultConfig.s_PicoOpt &= ~POPT_EN_SVP_DRC; // crashes :(
|
||||||
|
defaultConfig.EmuOpt &= ~8; // no save gzip
|
||||||
defaultConfig.s_PsndRate = 44100;
|
defaultConfig.s_PsndRate = 44100;
|
||||||
defaultConfig.s_PicoRegion = 0; // auto
|
defaultConfig.s_PicoRegion = 0;
|
||||||
defaultConfig.s_PicoAutoRgnOrder = 0x184; // US, EU, JP
|
defaultConfig.s_PicoAutoRgnOrder = 0x184; // US, EU, JP
|
||||||
defaultConfig.s_PicoCDBuffers = 0;
|
defaultConfig.s_PicoCDBuffers = 0;
|
||||||
defaultConfig.Frameskip = 0;
|
defaultConfig.Frameskip = 0;
|
||||||
|
@ -938,6 +939,7 @@ void emu_Loop(void)
|
||||||
}
|
}
|
||||||
bench_fps += frames_shown;
|
bench_fps += frames_shown;
|
||||||
sprintf(fpsbuff, "%3i/%3i/%3i", frames_shown, bench_fps_s, (bf[0]+bf[1]+bf[2]+bf[3])>>2);
|
sprintf(fpsbuff, "%3i/%3i/%3i", frames_shown, bench_fps_s, (bf[0]+bf[1]+bf[2]+bf[3])>>2);
|
||||||
|
printf("%s\n", fpsbuff);
|
||||||
#else
|
#else
|
||||||
if (currentConfig.EmuOpt & 2) {
|
if (currentConfig.EmuOpt & 2) {
|
||||||
sprintf(fpsbuff, "%3i/%3i", frames_shown, frames_done);
|
sprintf(fpsbuff, "%3i/%3i", frames_shown, frames_done);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue