notaz.gp2x.de
/
pcsx_rearmed.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
bd29877
)
drc: fix some wrong inv address calculations
author
notaz
<notasas@gmail.com>
Tue, 1 Mar 2022 22:49:11 +0000
(
00:49
+0200)
committer
notaz
<notasas@gmail.com>
Tue, 1 Mar 2022 22:52:16 +0000
(
00:52
+0200)
Fixes:
882a08fc49541450bc403b2e920e4bccc257dfdf
notaz/pcsx_rearmed#243
libpcsxcore/new_dynarec/new_dynarec.c
patch
|
blob
|
blame
|
history
diff --git
a/libpcsxcore/new_dynarec/new_dynarec.c
b/libpcsxcore/new_dynarec/new_dynarec.c
index
760d427
..
45c3bff
100644
(file)
--- a/
libpcsxcore/new_dynarec/new_dynarec.c
+++ b/
libpcsxcore/new_dynarec/new_dynarec.c
@@
-603,9
+603,9
@@
static void hash_table_remove(int vaddr)
static void mark_invalid_code(u_int vaddr, u_int len, char invalid)
{
static void mark_invalid_code(u_int vaddr, u_int len, char invalid)
{
+ u_int vaddr_m = vaddr & 0x1fffffff;
u_int i, j;
u_int i, j;
- vaddr &= 0x1fffffff;
- for (i = vaddr & ~0xfff; i < vaddr + len; i += 0x1000) {
+ for (i = vaddr_m & ~0xfff; i < vaddr_m + len; i += 0x1000) {
// ram mirrors, but should not hurt bios
for (j = 0; j < 0x800000; j += 0x200000) {
invalid_code[(i|j) >> 12] =
// ram mirrors, but should not hurt bios
for (j = 0; j < 0x800000; j += 0x200000) {
invalid_code[(i|j) >> 12] =
@@
-1352,7
+1352,7
@@
static int invalidate_range(u_int start, u_int end,
u_int start_page = get_page_prev(start);
u_int end_page = get_page(end - 1);
u_int start_m = pmmask(start);
u_int start_page = get_page_prev(start);
u_int end_page = get_page(end - 1);
u_int start_m = pmmask(start);
- u_int end_m = pmmask(end);
+ u_int end_m = pmmask(end
- 1
);
u_int inv_start, inv_end;
u_int blk_start_m, blk_end_m;
u_int page;
u_int inv_start, inv_end;
u_int blk_start_m, blk_end_m;
u_int page;