Merge pull request #794 from pcercuei/update-lightrec-20231103
authornotaz <notasas@gmail.com>
Fri, 3 Nov 2023 22:09:39 +0000 (00:09 +0200)
committerGitHub <noreply@github.com>
Fri, 3 Nov 2023 22:09:39 +0000 (00:09 +0200)
lightrec: Update prototypes of memory write callbacks

deps/lightrec/.gitrepo
deps/lightrec/lightrec.c
deps/lightrec/lightrec.h
libpcsxcore/lightrec/plugin.c

index 8552a07..96c4fee 100644 (file)
@@ -6,7 +6,7 @@
 [subrepo]
        remote = https://github.com/pcercuei/lightrec.git
        branch = master
-       commit = 9d392272b26a4c9de71b0ccf8806c29fe4ced9ca
-       parent = 88e086706bbe2b1723072ad524bcf154c07eb9cb
+       commit = b9e4089b3b6121f2077dc85a8fe7f934e3ae1c20
+       parent = bbe0dac4b7062d5ead765329d9ddb1e1fe01eee2
        method = merge
        cmdver = 0.4.6
index 696a5dd..f589ce8 100644 (file)
@@ -36,18 +36,18 @@ static void lightrec_mtc2(struct lightrec_state *state, u8 reg, u32 data);
 static u32 lightrec_mfc2(struct lightrec_state *state, u8 reg);
 
 static void lightrec_default_sb(struct lightrec_state *state, u32 opcode,
-                               void *host, u32 addr, u8 data)
+                               void *host, u32 addr, u32 data)
 {
-       *(u8 *)host = data;
+       *(u8 *)host = (u8)data;
 
        if (!(state->opt_flags & LIGHTREC_OPT_INV_DMA_ONLY))
                lightrec_invalidate(state, addr, 1);
 }
 
 static void lightrec_default_sh(struct lightrec_state *state, u32 opcode,
-                               void *host, u32 addr, u16 data)
+                               void *host, u32 addr, u32 data)
 {
-       *(u16 *)host = HTOLE16(data);
+       *(u16 *)host = HTOLE16((u16)data);
 
        if (!(state->opt_flags & LIGHTREC_OPT_INV_DMA_ONLY))
                lightrec_invalidate(state, addr, 2);
@@ -322,10 +322,10 @@ u32 lightrec_rw(struct lightrec_state *state, union code op, u32 base,
 
        switch (op.i.op) {
        case OP_SB:
-               ops->sb(state, opcode, host, addr, (u8) data);
+               ops->sb(state, opcode, host, addr, data);
                return 0;
        case OP_SH:
-               ops->sh(state, opcode, host, addr, (u16) data);
+               ops->sh(state, opcode, host, addr, data);
                return 0;
        case OP_SWL:
                lightrec_swl(state, ops, opcode, host, addr, data);
index 4cda1a0..3be8e0a 100644 (file)
@@ -87,9 +87,9 @@ enum psx_map {
 
 struct lightrec_mem_map_ops {
        void (*sb)(struct lightrec_state *, u32 opcode,
-                  void *host, u32 addr, u8 data);
+                  void *host, u32 addr, u32 data);
        void (*sh)(struct lightrec_state *, u32 opcode,
-                  void *host, u32 addr, u16 data);
+                  void *host, u32 addr, u32 data);
        void (*sw)(struct lightrec_state *, u32 opcode,
                   void *host, u32 addr, u32 data);
        u8 (*lb)(struct lightrec_state *, u32 opcode, void *host, u32 addr);
index 703726e..22342fe 100644 (file)
@@ -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);