#define HUD_HEIGHT 10
-int in_type1, in_type2;
-int in_a1[2] = { 127, 127 }, in_a2[2] = { 127, 127 };
+int in_type[8];
+int multitap1;
+int multitap2;
+int in_analog_left[8][2] = {{ 127, 127 },{ 127, 127 },{ 127, 127 },{ 127, 127 },{ 127, 127 },{ 127, 127 },{ 127, 127 },{ 127, 127 }};
+int in_analog_right[8][2] = {{ 127, 127 },{ 127, 127 },{ 127, 127 },{ 127, 127 },{ 127, 127 },{ 127, 127 },{ 127, 127 },{ 127, 127 }};
int in_adev[2] = { -1, -1 }, in_adev_axis[2][2] = {{ 0, 1 }, { 0, 1 }};
int in_adev_is_nublike[2];
-int in_keystate, in_state_gun;
+unsigned short in_keystate[8];
+int in_mouse[8][2];
+int in_state_gun;
int in_enable_vibration;
void *tsdev;
void *pl_vout_buf;
unsigned char *dest = pl_vout_buf;
const unsigned short *src = vram;
int dstride = pl_vout_w, h1 = h;
+ int h_full = pl_vout_h - pl_vout_yoffset;
int doffs;
pcnt_start(PCNT_BLIT);
pl_plat_clear();
else
memset(pl_vout_buf, 0,
- dstride * pl_vout_h * pl_vout_bpp / 8);
+ dstride * h_full * pl_vout_bpp / 8);
goto out_hud;
}
pl_plat_clear();
else
memset(pl_vout_buf, 0,
- dstride * pl_vout_h * pl_vout_bpp / 8);
+ dstride * h_full * pl_vout_bpp / 8);
clear_counter--;
}
#endif
else
{
- src = (void *)((uintptr_t)src & ~3); // align for the blitter
-
for (; h1-- > 0; dest += dstride * 2, src += stride)
{
bgr555_to_rgb565(dest, src, w * 2);
return 1;
}
-#ifdef __ARM_NEON__
+#ifdef BUILTIN_GPU_NEON
static int dispmode_doubleres(void)
{
if (!(pl_rearmed_cbs.gpu_caps & GPU_CAP_SUPPORTS_2X)
snprintf(hud_msg, sizeof(hud_msg), "double resolution");
return 1;
}
+#endif
+#ifdef __ARM_NEON__
static int dispmode_scale2x(void)
{
if (!resolution_ok(psx_w * 2, psx_h * 2) || psx_bpp != 16)
static int (*dispmode_switchers[])(void) = {
dispmode_default,
-#ifdef __ARM_NEON__
+#ifdef BUILTIN_GPU_NEON
dispmode_doubleres,
+#endif
+#ifdef __ARM_NEON__
dispmode_scale2x,
dispmode_eagle2x,
#endif
static void update_analogs(void)
{
- int *nubp[2] = { in_a1, in_a2 };
+ int *nubp[2] = { in_analog_left[0], in_analog_right[0] };
int vals[2];
int i, a, v, ret;
}
}
- //printf("%4d %4d %4d %4d\n", in_a1[0], in_a1[1], in_a2[0], in_a2[1]);
}
static void update_input(void)
unsigned int emu_act;
in_update(actions);
- if (in_type1 == PSE_PAD_TYPE_ANALOGPAD)
+ if (in_type[0] == PSE_PAD_TYPE_ANALOGJOY || in_type[0] == PSE_PAD_TYPE_ANALOGPAD)
update_analogs();
emu_act = actions[IN_BINDTYPE_EMU];
in_state_gun = (emu_act & SACTION_GUN_MASK) >> SACTION_GUN_TRIGGER;
}
emu_set_action(emu_act);
- in_keystate = actions[IN_BINDTYPE_PLAYER12];
+ in_keystate[0] = actions[IN_BINDTYPE_PLAYER12];
}
#else /* MAEMO */
extern void update_input(void);
hud_msg[0] = 0;
}
tv_old = now;
+ //new_dynarec_print_stats();
}
#ifdef PCNT
static int ya_vsync_count;