| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix incorrect/questionable assert() usage
Originally reported by https://lgtm.com/projects/g/Arisotura/melonDS/?mode=tree&ruleFocus=2159000700,
but also includes a bunch of other fixes.
* Fix some `printf` warnings
Rule https://lgtm.com/projects/g/Arisotura/melonDS/?mode=tree&ruleFocus=2160310550
* Remove useless check
It is never passed thanks to `if (num_in < 1) {...; return}` before
Rule https://lgtm.com/projects/g/Arisotura/melonDS/?mode=tree&ruleFocus=2154840804
* Add missing header guard, rename other to avoid conflicts
Rule https://lgtm.com/projects/g/Arisotura/melonDS/?mode=tree&ruleFocus=2163210746
* Make DSi_SDDevice destructor virtual
Rule https://lgtm.com/projects/g/Arisotura/melonDS/?mode=tree&ruleFocus=2158670642
* Use thread-safe localtime_r, assign `time` result directly
Rule https://lgtm.com/projects/g/Arisotura/melonDS/?mode=tree&ruleFocus=2154840805
* Fix MinGW build
It needs _POSIX_THREAD_SAFE_FUNCTIONS to export `localtime_r`
|
|
|
|
|
|
|
| |
- savestates used to read a four bytes from a single byte value
- a few unassigned variables
- some other things
- also make the ROR macro an inline function
|
|
|
|
| |
also switch back to adding to ARM::Cycles instead of subtracting from them
|
| |
|
|
|
|
| |
I thought I already fixed this?
|
| |
|
|
|
|
| |
and (hopefully) make SIGSEGV handler work for aarch64 linux
|
| |
|
| |
|
| |
|
|
|
|
| |
enable single register block load/store optimisations for x64 aswell
|
| |
|
| |
|
| |
|
|
|
|
| |
currently system-v only
|
| |
|
|
|
|
| |
also a small mistake with msr
|
|
|
|
| |
should fix linux build
|
| |
|
| |
|
| |
|
|
|
|
| |
currently only supported for x64
|
| |
|
|
|
|
| |
fixes dslinux
|
| |
|
|
|
|
| |
fixes spanish Pokemon HeartGold
|
|
|
|
|
|
|
|
|
| |
- better handle LDM/STM in reg alloc
- unify Halted and IRQ in anticipation for branch inlining
- literal optimisations can be disabled in gui
- jit blocks follow simple returns
- fix idle loop detection
- break jit blocks on IRQ (fixes saving in Pokemon White)
|
|
|
|
|
|
|
| |
fixes Dragon Quest IX
move code with side effects out of assert, fixes release build
(thanks to m4wx for this one)
also remove some leftovers of jit pipelining
|
| |
|
|
|
|
|
|
|
|
|
| |
- more reliable code invalidation detection
- blocks aren't stopped at any branch, but are being followed
if possible to get larger blocks
- idle loop recognition
- optimised literal loads, load/store cycle counting
and loads/stores from constant addresses
|
|
|
|
|
| |
- do thumb bl long merge in the first step
- preparations for better branch jitting
|
|
|
|
| |
+ small cycle counting optimisation
|
| |
|
| |
|
|
|
|
|
| |
- especially useful for thumb code and larger max block sizes
- can still be improved upon
|
|
|
|
|
| |
fixes Golden Sun Dawn
this makes the cpu state incompatible between interpreter and JIT. That's why switching cpu mode requires a restart(not requiring is stupid anyway) and the pipeline is manually filled when making a save state.
|
| |
|
| |
|
|
|
|
| |
+ mcr/mrc aren't always, msr_imm is never unk on ARM7
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|