Jaklyy
|
541e1e6388
|
proper timings for ldr/str
|
2024-06-25 09:08:11 -04:00 |
Jaklyy
|
dbe00e72dd
|
improve stm timings
need to verify if they apply to all store instructions
|
2024-06-24 22:50:04 -04:00 |
Jaklyy
|
109bbed3d0
|
improve ldm timings
I believe this also applies to other loads as well, but currently untested.
|
2024-06-24 20:22:38 -04:00 |
Jaklyy
|
3583d8222f
|
disable interlock emulation, needs more research
|
2024-06-24 16:17:04 -04:00 |
Jaklyy
|
f1b71fe5a9
|
implement configurable vram bus width
not implemented for direct boot
|
2024-06-24 16:15:04 -04:00 |
Jaklyy
|
e6ba4075b9
|
correct interlocked reg for umlal
|
2024-06-18 11:12:05 -04:00 |
Jaklyy
|
c5258d6377
|
verify interlocks for alu and load/store
remove some checks for interlock that im pretty sure can't trigger
|
2024-06-17 18:07:53 -04:00 |
Jaklyy
|
a9e2c7e047
|
implement two regs i missed
|
2024-06-16 23:24:20 -04:00 |
Jaklyy
|
f00f1f6ca4
|
im smart
|
2024-06-16 20:50:42 -04:00 |
Jaklyy
|
5b37ca70d1
|
implement correct/guess interlocks for remaining instructions
|
2024-06-16 20:47:01 -04:00 |
Jaklyy
|
debaaa0425
|
fix performance regression for disabling interlock emulation path
|
2024-06-15 21:16:12 -04:00 |
Jaklyy
|
449557624d
|
don't do interlocks for the arm7
|
2024-06-15 18:37:31 -04:00 |
Jaklyy
|
a973c0bf5b
|
initial implementation of interlock cycles
|
2024-06-15 16:07:36 -04:00 |
Jaklyy
|
aa1217af0a
|
track interlock cycles for the ALU
|
2024-06-14 11:47:42 -04:00 |
Jaklyy
|
5a174a2ce3
|
track interlock cycles for load instructions
|
2024-06-14 00:51:55 -04:00 |
Jaklyy
|
42218106b0
|
verify writable msr bits
|
2024-06-11 10:30:30 -04:00 |
Jaklyy
|
048b0b8878
|
swp/swpb jumps work on the arm 7?
|
2024-06-10 18:03:56 -04:00 |
Jaklyy
|
3ddccde5b9
|
verified
also remove no longer needed variable
|
2024-06-10 13:23:18 -04:00 |
Jaklyy
|
ca04710deb
|
ldrd is just ldm
|
2024-06-09 22:31:10 -04:00 |
Jaklyy
|
ae0824fdd3
|
it all makes sense now...
|
2024-06-09 19:10:43 -04:00 |
Jaklyy
|
b90d5c2320
|
what the actual F*** is going on
|
2024-06-09 12:18:31 -04:00 |
Jaklyy
|
be60c68aeb
|
more weirdness
|
2024-06-09 07:25:42 -04:00 |
Jaklyy
|
b846c6f100
|
remove out of date comments
|
2024-06-08 22:17:07 -04:00 |
Jaklyy
|
849d4e51ac
|
imma be real, i have no idea what is going on here
|
2024-06-08 22:12:44 -04:00 |
Jaklyy
|
659763f903
|
clarification
|
2024-06-08 16:15:02 -04:00 |
Jaklyy
|
3699768ac9
|
most cpsr bits can't actually be updated (or at least can't be read?)
|
2024-06-08 14:01:54 -04:00 |
Jaklyy
|
5f97dfc1ab
|
fix bits fixed to 0 for pu region sizing being set
|
2024-06-08 10:53:22 -04:00 |
Jaklyy
|
8191f92bb6
|
mcr is also affected
|
2024-06-08 10:42:19 -04:00 |
Jaklyy
|
0c887202e7
|
fix some more instructions?
|
2024-06-08 10:40:23 -04:00 |
Jaklyy
|
73507621f5
|
idk why it took me two tries to get these instructions to work properly
|
2024-06-07 23:50:31 -04:00 |
Jaklyy
|
2b0ed459e1
|
fully implement r15 stores being +12 of addr
|
2024-06-07 23:46:49 -04:00 |
Jaklyy
|
bd3611b51d
|
unaligned registers with strd/ldrd raise an exception
|
2024-06-07 20:43:02 -04:00 |
Jaklyy
|
8bc7e4591c
|
thumb ldmia/pop data aborts
|
2024-06-06 19:05:28 -04:00 |
Jaklyy
|
d6cd189455
|
rework data abort handling for ldm/stm; implement thumb stmia+push
|
2024-06-06 18:58:43 -04:00 |
Jaklyy
|
13ae96b4e3
|
simple thumb instructions (untested but probably right)
|
2024-06-05 14:32:12 -04:00 |
Jaklyy
|
7c3108e20f
|
handle swp instruction aborts
|
2024-06-05 14:31:44 -04:00 |
Jaklyy
|
1871c48849
|
fix double data aborts with strd
|
2024-06-05 10:28:51 -04:00 |
Jaklyy
|
317a8c61e5
|
data abort handling for (almost) all (arm) instructions
full list: strb, ldrb, strh, ldrd, strd, ldrh, ldrsb, ldrsh
|
2024-06-05 00:14:14 -04:00 |
Jaklyy
|
1e8194e367
|
fix ldr and str
|
2024-06-04 19:06:54 -04:00 |
Jaklyy
|
c2a57b79a0
|
fix stmd(a/b) writeback
|
2024-06-02 22:41:01 -04:00 |
Jaklyy
|
5e760a1536
|
slightly cleaner code
|
2024-06-02 19:34:29 -04:00 |
Jaklyy
|
b5c1ee33fb
|
implement stm
|
2024-06-02 10:33:29 -04:00 |
Jaklyy
|
63d4b78733
|
improve implementation
|
2024-06-02 10:13:50 -04:00 |
Jaklyy
|
960f063eaa
|
improve data aborts for ldm
|
2024-06-02 00:11:01 -04:00 |
Jaklyy
|
065573f316
|
fix writebacks overwriting registers swapped with spsr
fixes gbarunner3
|
2024-05-31 18:09:45 -04:00 |
Nadia Holmquist Pedersen
|
a72b79a55a
|
that needs to be public actually
|
2024-05-15 19:43:34 +02:00 |
Nadia Holmquist Pedersen
|
cfc49eb286
|
Revert slirp dynamic/static check, and make it not use dllimport/export
when building statically
|
2024-05-15 19:37:14 +02:00 |
Nadia Holmquist Pedersen
|
d21bc64cb3
|
MinGW build portability fixes
AKA you can build melonDS for Windows on Fedora now
|
2024-05-15 18:57:49 +02:00 |
Nadia Holmquist Pedersen
|
a2406e3c0e
|
Vendored libslirp (#2045)
Add vendored libslirp into the repo with a shim to remove its dependency on glib.
|
2024-05-15 18:00:55 +02:00 |
Nadia Holmquist Pedersen
|
747f50de98
|
Refactor how CCache is set up
* Use RULE_LAUNCH_COMPILE property as you're apparently supposed to
* Detect if compiler is already ccache to prevent build failure
|
2024-05-15 10:55:10 +02:00 |