diff --git a/Makefile b/Makefile index b4f94cbe..2060b51b 100644 --- a/Makefile +++ b/Makefile @@ -125,6 +125,7 @@ platform/libpicofe/linux/plat.o: CFLAGS += -DPANDORA OBJS += platform/pandora/plat.o OBJS += platform/pandora/asm_utils.o OBJS += platform/common/arm_utils.o +OBJS += platform/libpicofe/linux/in_evdev.o OBJS += platform/libpicofe/linux/fbdev.o OBJS += platform/libpicofe/linux/xenv.o OBJS += platform/libpicofe/pandora/plat.o @@ -132,6 +133,7 @@ USE_FRONTEND = 1 endif ifeq "$(PLATFORM)" "gp2x" OBJS += platform/common/arm_utils.o +OBJS += platform/libpicofe/linux/in_evdev.o OBJS += platform/libpicofe/gp2x/in_gp2x.o OBJS += platform/libpicofe/gp2x/soc.o OBJS += platform/libpicofe/gp2x/soc_mmsp2.o @@ -162,8 +164,7 @@ OBJS += platform/common/main.o platform/common/emu.o \ # libpicofe OBJS += platform/libpicofe/input.o platform/libpicofe/readpng.o \ - platform/libpicofe/fonts.o platform/libpicofe/linux/in_evdev.o \ - platform/libpicofe/linux/plat.o + platform/libpicofe/fonts.o platform/libpicofe/linux/plat.o # libpicofe - sound OBJS += platform/libpicofe/sndout.o diff --git a/pico/cd/cd_image.c b/pico/cd/cd_image.c index ae2ef0cd..5638c9be 100644 --- a/pico/cd/cd_image.c +++ b/pico/cd/cd_image.c @@ -11,6 +11,10 @@ #include "cdd.h" #include "cue.h" +#if defined(__GNUC__) && __GNUC__ >= 7 +#pragma GCC diagnostic ignored "-Wformat-truncation" +#endif + static int handle_mp3(const char *fname, int index) { track_t *track = &cdd.toc.tracks[index]; diff --git a/pico/memory.c b/pico/memory.c index aef3ee8e..65643cec 100644 --- a/pico/memory.c +++ b/pico/memory.c @@ -272,7 +272,12 @@ static NOINLINE u32 port_read(int i) u32 in, out; out = data_reg & ctrl_reg; - out |= 0x7f & ~ctrl_reg; // pull-ups + + // pull-ups: should be 0x7f, but Decap Attack has a bug where it temp. + // disables output before doing TH-low read, so don't emulate it for TH. + // Decap Attack reportedly doesn't work on Nomad but works on must + // other MD revisions (different pull-up strength?). + out |= 0x3f & ~ctrl_reg; in = port_readers[i](i, out); diff --git a/platform/common/emu.c b/platform/common/emu.c index e4928076..b46a9bf4 100644 --- a/platform/common/emu.c +++ b/platform/common/emu.c @@ -28,6 +28,10 @@ #include #include +#if defined(__GNUC__) && __GNUC__ >= 7 +#pragma GCC diagnostic ignored "-Wformat-truncation" +#endif + #ifndef _WIN32 #define PATH_SEP "/" #define PATH_SEP_C '/' diff --git a/platform/linux/in_evdev.h b/platform/linux/in_evdev.h deleted file mode 100644 index c5aef9bb..00000000 --- a/platform/linux/in_evdev.h +++ /dev/null @@ -1,5 +0,0 @@ - -struct in_default_bind; -extern int in_evdev_allow_abs_only; - -void in_evdev_init(const struct in_default_bind *defbinds);