Commit Graph

248 Commits

Author SHA1 Message Date
Henrik Rydgård 054acf768c Don't cache time in a variable.
A little weirdness in the code that has stuck around for a long, long
time. It's really not necessary and mostly just confusing.
2020-09-24 23:52:43 +02:00
Henrik Rydgård ccc0331279 Move timeutil to Common. (Experiment to see how much work it is to move these). 2020-08-15 20:53:08 +02:00
Henrik Rydgård 8ddd2b6104 ScanForFunctions: Drastically speed up by only trying to insert the newly found functions into the symbol map. 2020-02-29 01:00:57 +01:00
Unknown W. Brackets e36f894f66 HLE: Replace Motorstorm pixel read func.
Helps with some lighting, see #12363.
2019-10-05 08:37:18 -07:00
Unknown W. Brackets 8506da14f0 Debugger: Prevent invalid address on syscall. 2018-11-17 08:54:29 -08:00
Unknown W. Brackets 0f84c2e995 Debugger: Consistently handle invalid addresses. 2018-06-06 05:58:49 -07:00
Unknown W. Brackets da0173f40c Module: Fix function hashing typo.
May help #10895.
2018-04-09 19:12:23 -07:00
Unknown W. Brackets 892c439fcf Module: Clarify insertSymbols usage. 2018-03-17 13:58:56 -07:00
Unknown W. Brackets f14f2efa79 Module: Hash functions only once during loading.
This fixes the loading speed regression from #10501.
2018-03-17 13:36:37 -07:00
Unknown W. Brackets 463b2a90c7 irjit: Allow precompiling funcs at start.
This can take a second, but cuts down on jitc spikes throughout runtime.
Note: bits of the game will still be recompiled as games change code.

This is basically the same operation as loading from cache, without the
cache yet.
2018-01-06 17:06:53 -08:00
Unknown W. Brackets 6149ac584f jit: Add interface to precompile functions.
This doesn't actually do any preloading yet, it just adds an API.
2018-01-06 16:43:38 -08:00
Unknown W. Brackets 30b2d05bac Module: Correct detection of executable sections. 2018-01-02 21:53:13 -08:00
Unknown W. Brackets 28da05fa7a HLE: Replace starocean framebuf clear func.
This reduces the performance impact significantly, by skipping the memset
uploads for each line.

Fixes #10466.
2017-12-28 23:40:18 -08:00
Unknown W. Brackets 1cf5e30bd6 Add hooks for Marvel video copy func.
Not tested - but should make videos visible in Marvel Ultimate Alliance 1.

See #9852.
2017-08-19 11:47:42 -07:00
Henrik Rydgard 26a2d42731 Big mutex overhaul - remove our custom ones, make them non-recursive where possible 2017-02-28 11:40:29 +01:00
Florent Castelli 4145b60a0e symbian: Remove! 2016-10-11 18:49:08 +02:00
Unknown W. Brackets 3fe1a08cf5 Use unordered lookups for better speed.
These reduce the time spent on save states.
2016-09-24 14:23:17 -07:00
Unknown W. Brackets 0e43f1cdff Hook another VRAM modifying function.
Seems to be a copy.
2016-08-06 16:30:47 -07:00
Unknown W. Brackets 4578c3cb54 jit-ir: Implement memory breakpoints.
These generally work, but likely delay slots will make downcount slightly
off, and won't resume when you hit run again without manually stepping
through them.
2016-07-02 16:38:30 -07:00
Unknown W. Brackets f0cc975865 Hook some funcs in Me and My Katamari.
One is a very hardcoded screenshot download / vfpu convert to 565, and the
other is some very weird check to make sure render is clear or has
happened or something.

The screenshot func detects downloads for the "Royal Album".  The render
check detects downloads for post-rename (no idea why it checks here.)

Fixes #7695.
2016-05-20 22:30:25 -07:00
Henrik Rydgard a5be0976bd Remove preprocessor hacks to choose JIT implementation.
Opens up for having multiple JIT implementations available at runtime,
which could be use for experimenting with new JIT compiler types or for
unit testing one JIT on another architecture.

Very few of the newly virtual calls are on any sort of critical path so
hopefully there will not be a performance loss.
2016-05-01 11:39:53 +02:00
daniel229 d032c3895b Replace function in Omerta Chinmoku No Okite The Legacy 2016-01-24 11:58:20 +08:00
daniel229 0ab6c544b7 Replace function in unENDing Bloody Call 2016-01-24 11:55:56 +08:00
daniel229 80952d5e06 Replace function in ATV Offroad Fury Pro (US) demo 2016-01-24 11:53:46 +08:00
Unknown W. Brackets 67450f2625 Don't trust symbol map func defines.
Unfortunately, some games dynamically load modules that all have the same
name, but different content.  This tries to detect that situation better,
by at least not using the name if the address is different.

This will also track the right sizes for hashing, making incorrect
identification of functions much less likely.

Fixes #8420.
2016-01-22 00:39:31 -08:00
daniel229 1e984b48ef update functions 2016-01-04 09:08:52 +08:00
daniel229 de8503f83b Replace function in Shinigami to Shoujo 2016-01-03 22:35:46 +08:00
daniel229 05612bbc25 Replace function in Little Busters! Converted Edition 2016-01-03 22:28:38 +08:00
daniel229 3b461a00cc Replace function in ATV Offroad Fury Blazin' Trails 2016-01-03 22:20:50 +08:00
daniel229 107fa1c09a Replace function in ATV Offroad Fury Pro 2016-01-03 22:13:42 +08:00
daniel229 ed12bb9c89 Fix flickering in SD Gundam G Generation Portable 2016-01-03 09:56:40 +08:00
daniel229 678ca9301a Fix tutorial videoes in Tony Hawk P8 2016-01-02 13:33:22 +08:00
Unknown W. Brackets 3ec7404d2d Jit: Always link RA, even if branch not taken.
The ops don't write RA conditionally.
2015-12-27 20:47:15 -08:00
Henrik Rydgard b998131581 Move the symbol map to the heap, deallocate it when no game is running. 2015-10-31 23:01:19 +01:00
daniel229 af9e04dc97 Replace framebuffer download in Youkoso Hitsuji-Mura Portable 2015-04-20 16:36:07 +08:00
Unknown W. Brackets 8e8a18e9b5 Log read failures from hashmap too. 2015-04-08 12:10:45 -07:00
daniel229 a4d8be5023 Fixes saveicon in Gakuen Heaven. 2015-03-18 11:43:31 +08:00
Henrik Rydgard 1ecfd6cebc More replacement function accuracy improvements. Makes J&D happy, "fixing" #7502. 2015-02-20 00:17:47 +01:00
Henrik Rydgard 23492d8d90 Jak and Daxter relies on implementation details of memcpy (scary!), fix our replacement. Fixes #7502 2015-02-19 11:16:16 +01:00
daniel229 aec9e25be9 Another replace frame download in Photo Kano. 2015-02-12 20:36:17 +08:00
daniel229 4d304737d8 Replace frame download in Photo Kano. 2015-02-09 14:08:36 +08:00
daniel229 f1669a3077 Functions replace 2015-01-20 09:06:08 +08:00
Unknown W. Brackets 6326088498 Add another memmove() implementation. 2015-01-18 21:27:07 -08:00
Unknown W. Brackets 70563c3e7b Add another memset/memmove pair. 2015-01-18 21:27:07 -08:00
Unknown W. Brackets 70da5be5cc Add another memcmp() implementation. 2015-01-18 21:27:06 -08:00
Unknown W. Brackets 69ed727a21 Mark another memmove() implementation. 2015-01-18 21:27:06 -08:00
Unknown W. Brackets 94ba05eba1 Add another memset replacement. 2015-01-18 21:27:05 -08:00
Unknown W. Brackets 1383c0e200 Replace memmove() from Star Ocean 1 (US). 2015-01-18 21:26:39 -08:00
Unknown W. Brackets bc354f5564 Notate region on some replacements. 2015-01-18 21:26:38 -08:00
Unknown W. Brackets b5837564c6 Hook memmove() found in Final Fantasy Tactics.
Probably will be seen in other games too.
2015-01-18 21:26:38 -08:00