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
misc: accept a path without slash
[pcsx_rearmed.git]
/
deps
/
lightrec
/
lightrec.h
diff --git
a/deps/lightrec/lightrec.h
b/deps/lightrec/lightrec.h
index
3ea8e65
..
0798b58
100644
(file)
--- a/
deps/lightrec/lightrec.h
+++ b/
deps/lightrec/lightrec.h
@@
-28,6
+28,21
@@
extern "C" {
# define __api
#endif
# define __api
#endif
+#ifndef __cnst
+# ifdef __GNUC__
+# define __cnst __attribute__((const))
+# else
+# define __cnst
+# endif
+#endif
+#ifndef __pure
+# ifdef __GNUC__
+# define __pure __attribute__((pure))
+# else
+# define __pure
+# endif
+#endif
+
typedef uint64_t u64;
typedef uint32_t u32;
typedef uint16_t u16;
typedef uint64_t u64;
typedef uint32_t u32;
typedef uint16_t u16;
@@
-60,6
+75,7
@@
enum psx_map {
PSX_MAP_MIRROR2,
PSX_MAP_MIRROR3,
PSX_MAP_CODE_BUFFER,
PSX_MAP_MIRROR2,
PSX_MAP_MIRROR3,
PSX_MAP_CODE_BUFFER,
+ PSX_MAP_PPORT_MIRROR,
PSX_MAP_UNKNOWN,
};
PSX_MAP_UNKNOWN,
};
@@
-85,8
+101,11
@@
struct lightrec_mem_map {
};
struct lightrec_ops {
};
struct lightrec_ops {
+ void (*cop2_notify)(struct lightrec_state *state, u32 op, u32 data);
void (*cop2_op)(struct lightrec_state *state, u32 op);
void (*enable_ram)(struct lightrec_state *state, _Bool enable);
void (*cop2_op)(struct lightrec_state *state, u32 op);
void (*enable_ram)(struct lightrec_state *state, _Bool enable);
+ _Bool (*hw_direct)(u32 kaddr, _Bool is_write, u8 size);
+ void (*code_inv)(void *addr, u32 len);
};
struct lightrec_registers {
};
struct lightrec_registers {
@@
-105,8
+124,8
@@
__api void lightrec_destroy(struct lightrec_state *state);
__api u32 lightrec_execute(struct lightrec_state *state,
u32 pc, u32 target_cycle);
__api u32 lightrec_execute(struct lightrec_state *state,
u32 pc, u32 target_cycle);
-__api u32 lightrec_
execute_one(struct lightrec_state *state, u32 pc);
-
__api u32 lightrec_run_interpreter(struct lightrec_state *state, u32 pc
);
+__api u32 lightrec_
run_interpreter(struct lightrec_state *state,
+
u32 pc, u32 target_cycle
);
__api void lightrec_invalidate(struct lightrec_state *state, u32 addr, u32 len);
__api void lightrec_invalidate_all(struct lightrec_state *state);
__api void lightrec_invalidate(struct lightrec_state *state, u32 addr, u32 len);
__api void lightrec_invalidate_all(struct lightrec_state *state);
@@
-116,7
+135,8
@@
__api void lightrec_set_invalidate_mode(struct lightrec_state *state,
__api void lightrec_set_exit_flags(struct lightrec_state *state, u32 flags);
__api u32 lightrec_exit_flags(struct lightrec_state *state);
__api void lightrec_set_exit_flags(struct lightrec_state *state, u32 flags);
__api u32 lightrec_exit_flags(struct lightrec_state *state);
-__api struct lightrec_registers * lightrec_get_registers(struct lightrec_state *state);
+__api __cnst struct lightrec_registers *
+lightrec_get_registers(struct lightrec_state *state);
__api u32 lightrec_current_cycle_count(const struct lightrec_state *state);
__api void lightrec_reset_cycle_count(struct lightrec_state *state, u32 cycles);
__api u32 lightrec_current_cycle_count(const struct lightrec_state *state);
__api void lightrec_reset_cycle_count(struct lightrec_state *state, u32 cycles);