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 (from parent 1:
a5539d9
)
psxbios: unbreak bcopy
author
notaz
<notasas@gmail.com>
Sun, 27 Aug 2023 14:39:54 +0000
(17:39 +0300)
committer
notaz
<notasas@gmail.com>
Sun, 27 Aug 2023 16:19:50 +0000
(19:19 +0300)
wasn't paying attention
libpcsxcore/psxbios.c
patch
|
blob
|
blame
|
history
diff --git
a/libpcsxcore/psxbios.c
b/libpcsxcore/psxbios.c
index
5b7633e
..
17d5044
100644
(file)
--- a/
libpcsxcore/psxbios.c
+++ b/
libpcsxcore/psxbios.c
@@
-935,8
+935,23
@@
static void do_memcpy(u32 dst, u32 src, s32 len)
static void psxBios_memcpy();
static void psxBios_memcpy();
-static void psxBios_bcopy() { // 0x27
- psxBios_memcpy(); // identical
+static void psxBios_bcopy() { // 0x27 - memcpy with args swapped
+ //PSXBIOS_LOG("psxBios_%s %x %x %x\n", biosA0n[0x27], a0, a1, a2);
+ u32 ret = a0, cycles = 0;
+ if (a0 == 0) // ...but it checks src this time
+ {
+ mips_return_c(0, 4);
+ return;
+ }
+ v1 = a0;
+ if ((s32)a2 > 0) {
+ do_memcpy(a1, a0, a2);
+ cycles = a2 * 6;
+ a0 += a2;
+ a1 += a2;
+ a2 = 0;
+ }
+ mips_return_c(ret, cycles + 5);
}
static void psxBios_bzero() { // 0x28
}
static void psxBios_bzero() { // 0x28