X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libpcsxcore%2Flightrec%2Fplugin.c;h=70d01bfedb0c5c06b54d9521956b94bd77fa3d48;hb=cfb8cb8553d47739bc54adbdf58b60acab53b1be;hp=d51fbc24f68b7873524c01591de5767117c242f3;hpb=403a6290ffad888ab6e3ca05ce4736f052e4147f;p=pcsx_rearmed.git diff --git a/libpcsxcore/lightrec/plugin.c b/libpcsxcore/lightrec/plugin.c index d51fbc24..70d01bfe 100644 --- a/libpcsxcore/lightrec/plugin.c +++ b/libpcsxcore/lightrec/plugin.c @@ -20,7 +20,7 @@ #include "../r3000a.h" #include "../psxinterpreter.h" #include "../psxhle.h" -#include "../new_dynarec/events.h" +#include "../psxevents.h" #include "../frontend/main.h" @@ -163,7 +163,7 @@ static void lightrec_tansition_from_pcsx(struct lightrec_state *state) } static void hw_write_byte(struct lightrec_state *state, - u32 op, void *host, u32 mem, u8 val) + u32 op, void *host, u32 mem, u32 val) { lightrec_tansition_to_pcsx(state); @@ -173,7 +173,7 @@ static void hw_write_byte(struct lightrec_state *state, } static void hw_write_half(struct lightrec_state *state, - u32 op, void *host, u32 mem, u16 val) + u32 op, void *host, u32 mem, u32 val) { lightrec_tansition_to_pcsx(state); @@ -335,6 +335,14 @@ static void lightrec_enable_ram(struct lightrec_state *state, bool enable) static bool lightrec_can_hw_direct(u32 kaddr, bool is_write, u8 size) { + if (is_write && size != 32) { + // force32 so must go through handlers + if (0x1f801000 <= kaddr && kaddr < 0x1f801024) + return false; + if ((kaddr & 0x1fffff80) == 0x1f801080) // dma + return false; + } + switch (size) { case 8: switch (kaddr) {