From 9bb5d91c48b50da466aa553db65c9f9b2a0b1e8d Mon Sep 17 00:00:00 2001 From: notaz Date: Thu, 7 Jan 2010 20:16:22 +0000 Subject: [PATCH] sh2 drc comments and missing pandora file git-svn-id: file:///home/notaz/opt/svn/PicoDrive@854 be3aeb3a-fb24-0410-a615-afba39da0efa --- cpu/sh2/compiler.c | 18 ++++++++++++++++-- platform/pandora/menu.c | 9 +++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 platform/pandora/menu.c diff --git a/cpu/sh2/compiler.c b/cpu/sh2/compiler.c index f84aa3a..cb35c52 100644 --- a/cpu/sh2/compiler.c +++ b/cpu/sh2/compiler.c @@ -4,7 +4,20 @@ * notes: * - tcache, block descriptor, link buffer overflows result in sh2_translate() * failure, followed by full tcache invalidation for that region - * - jumps between blocks are tracked for SMC handling (in block_links[]) + * - jumps between blocks are tracked for SMC handling (in block_links[]), + * except jumps between different tcaches + * + * implemented: + * - static register allocation + * - remaining register caching and tracking in temporaries + * - block-local branch linking + * - block linking (except between tcaches) + * + * TODO: + * - proper SMC handling + * - constant propagation + * - stack caching? + * - bug fixing */ #include #include @@ -2521,10 +2534,11 @@ void sh2_execute(SH2 *sh2c, int cycles) } #if (DRC_DEBUG & 1) -static void block_stats(void) +void block_stats(void) { int c, b, i, total = 0; + printf("block stats:\n"); for (b = 0; b < ARRAY_SIZE(block_tables); b++) for (i = 0; i < block_counts[b]; i++) if (block_tables[b][i].addr != 0) diff --git a/platform/pandora/menu.c b/platform/pandora/menu.c new file mode 100644 index 0000000..fa33f3d --- /dev/null +++ b/platform/pandora/menu.c @@ -0,0 +1,9 @@ +#define MENU_OPTIONS_GFX \ + mee_onoff ("Vsync", MA_OPT2_VSYNC, currentConfig.EmuOpt, EOPT_VSYNC), + +#define MENU_OPTIONS_ADV \ + mee_onoff ("SVP dynarec", MA_OPT2_SVP_DYNAREC, PicoOpt, POPT_EN_SVP_DRC), \ + mee_onoff ("Status line in main menu", MA_OPT2_STATUS_LINE, currentConfig.EmuOpt, EOPT_SHOW_RTC), + +#define menu_main_plat_draw NULL +#define mgn_opt_renderer NULL -- 2.39.2