notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
psxbios: unbreak input
[pcsx_rearmed.git]
/
frontend
/
plugin_lib.c
diff --git
a/frontend/plugin_lib.c
b/frontend/plugin_lib.c
index
171296d
..
8a6b6ad
100644
(file)
--- a/
frontend/plugin_lib.c
+++ b/
frontend/plugin_lib.c
@@
-16,6
+16,7
@@
#include <fcntl.h>
#include <unistd.h>
#include <pthread.h>
#include <fcntl.h>
#include <unistd.h>
#include <pthread.h>
+#include <assert.h>
#include "libpicofe/fonts.h"
#include "libpicofe/input.h"
#include "libpicofe/fonts.h"
#include "libpicofe/input.h"
@@
-32,7
+33,6
@@
#include "psemu_plugin_defs.h"
#include "../libpcsxcore/new_dynarec/new_dynarec.h"
#include "../libpcsxcore/psxmem_map.h"
#include "psemu_plugin_defs.h"
#include "../libpcsxcore/new_dynarec/new_dynarec.h"
#include "../libpcsxcore/psxmem_map.h"
-#include "../plugins/dfinput/externals.h"
#define HUD_HEIGHT 10
#define HUD_HEIGHT 10
@@
-118,9
+118,9
@@
static void print_fps(int h, int border)
pl_rearmed_cbs.vsps_cur);
}
pl_rearmed_cbs.vsps_cur);
}
-static void print_cpu_usage(int
w, int h, int border
)
+static void print_cpu_usage(int
x, int h
)
{
{
- hud_printf(pl_vout_buf, pl_vout_w,
pl_vout_w - border
- 28,
+ hud_printf(pl_vout_buf, pl_vout_w,
x
- 28,
h - HUD_HEIGHT, "%3d", pl_rearmed_cbs.cpu_usage);
}
h - HUD_HEIGHT, "%3d", pl_rearmed_cbs.cpu_usage);
}
@@
-154,13
+154,11
@@
static __attribute__((noinline)) void draw_active_chans(int vout_w, int vout_h)
}
}
}
}
-static void print_hud(int
w, int h, int xborder
)
+static void print_hud(int
x, int w, int h
)
{
{
- if (h < 1
6
)
+ if (h < 1
92
)
return;
return;
- if (w < pl_vout_w)
- xborder += (pl_vout_w - w) / 2;
if (h > pl_vout_h)
h = pl_vout_h;
if (h > pl_vout_h)
h = pl_vout_h;
@@
-168,12
+166,12
@@
static void print_hud(int w, int h, int xborder)
draw_active_chans(w, h);
if (hud_msg[0] != 0)
draw_active_chans(w, h);
if (hud_msg[0] != 0)
- print_msg(h, x
border
);
+ print_msg(h, x);
else if (g_opts & OPT_SHOWFPS)
else if (g_opts & OPT_SHOWFPS)
- print_fps(h, x
border
);
+ print_fps(h, x);
if (g_opts & OPT_SHOWCPU)
if (g_opts & OPT_SHOWCPU)
- print_cpu_usage(
w, h, xborder
);
+ print_cpu_usage(
x + w, h
);
}
/* update scaler target size according to user settings */
}
/* update scaler target size according to user settings */
@@
-262,11
+260,7
@@
static void pl_vout_set_mode(int w, int h, int raw_w, int raw_h, int bpp)
if (pl_rearmed_cbs.only_16bpp)
vout_bpp = 16;
if (pl_rearmed_cbs.only_16bpp)
vout_bpp = 16;
- // don't use very low heights
- if (vout_h < 192) {
- buf_yoffset = (192 - vout_h) / 2;
- vout_h = 192;
- }
+ assert(vout_h >= 192);
pl_vout_scale_w = pl_vout_scale_h = 1;
#ifdef __ARM_NEON__
pl_vout_scale_w = pl_vout_scale_h = 1;
#ifdef __ARM_NEON__
@@
-307,14
+301,15
@@
static void pl_vout_set_mode(int w, int h, int raw_w, int raw_h, int bpp)
menu_notify_mode_change(pl_vout_w, pl_vout_h, pl_vout_bpp);
}
menu_notify_mode_change(pl_vout_w, pl_vout_h, pl_vout_bpp);
}
-static void pl_vout_flip(const void *vram, int stride, int bgr24, int w, int h)
+static void pl_vout_flip(const void *vram, int stride, int bgr24,
+ int x, int y, int w, int h, int dims_changed)
{
{
- static int
doffs_old,
clear_counter;
+ static int clear_counter;
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;
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;
+ int
xoffs = 0,
doffs;
pcnt_start(PCNT_BLIT);
pcnt_start(PCNT_BLIT);
@@
-328,12
+323,15
@@
static void pl_vout_flip(const void *vram, int stride, int bgr24, int w, int h)
goto out_hud;
}
goto out_hud;
}
- // borders
- doffs = (dstride - w * pl_vout_scale_w) / 2 & ~1;
+ assert(x + w <= pl_vout_w);
+ assert(y + h <= pl_vout_h);
+
+ // offset
+ xoffs = x * pl_vout_scale_w;
+ doffs = xoffs + y * dstride;
- if (d
offs > doffs_ol
d)
+ if (d
ims_change
d)
clear_counter = 2;
clear_counter = 2;
- doffs_old = doffs;
if (clear_counter > 0) {
if (pl_plat_clear)
if (clear_counter > 0) {
if (pl_plat_clear)
@@
-402,8
+400,6
@@
static void pl_vout_flip(const void *vram, int stride, int bgr24, int w, int h)
#endif
else
{
#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);
for (; h1-- > 0; dest += dstride * 2, src += stride)
{
bgr555_to_rgb565(dest, src, w * 2);
@@
-411,7
+407,7
@@
static void pl_vout_flip(const void *vram, int stride, int bgr24, int w, int h)
}
out_hud:
}
out_hud:
- print_hud(
w * pl_vout_scale_w, h * pl_vout_scale_h, 0
);
+ print_hud(
xoffs, w * pl_vout_scale_w, (y + h) * pl_vout_scale_h
);
out:
pcnt_end(PCNT_BLIT);
out:
pcnt_end(PCNT_BLIT);
@@
-623,18
+619,18
@@
static void update_input(void)
emu_set_action(emu_act);
in_keystate[0] = actions[IN_BINDTYPE_PLAYER12];
emu_set_action(emu_act);
in_keystate[0] = actions[IN_BINDTYPE_PLAYER12];
+
+ // fixme
+ //if (in_type[0] == PSE_PAD_TYPE_GUNCON && tsdev)
+ // pl_gun_ts_update(tsdev, xn, yn, in);
+ // in_analog_left[0][0] = xn
}
#else /* MAEMO */
extern void update_input(void);
#endif
}
#else /* MAEMO */
extern void update_input(void);
#endif
-void pl_
update_gun(int *xn, int *yn, int *xres, int *yres, int *in
)
+void pl_
gun_byte2(int port, unsigned char byte
)
{
{
- if (tsdev)
- pl_gun_ts_update(tsdev, xn, yn, in);
-
- *xres = psx_w;
- *yres = psx_h;
}
#define MAX_LAG_FRAMES 3
}
#define MAX_LAG_FRAMES 3