d20543c119
DMA timing renovation ( #1207 )
...
* make timers usable for measurement shito without being assfuckingly unreliable
* bürp
* Arisotura can you ever clean up your goddamn code
also regroup the timer code instead of having it split weirdly
* make the set-timing functions a tad less hacky
* congrats Arisotura you made an ass-enum
* add timing region tables, and separate timings for ARM9 DMA (exempt of 3c penalty)
* temp work on DMA timings, not finished
also, did you know? 'increment/reload' is also a thing for the source address
* begin work
* add some of the GBA slot/wifi timings
* complete it, I guess
* make some progress
* getting somewhere
* sdsdfs
* see, Arisotura, was it that hard? blarg.
2021-08-31 02:28:34 +02:00
436b3c4c1d
update copyright year and add missing GPL headers
2021-03-12 20:07:40 +01:00
ba373ca72a
DSi: make ARM9-clock-selector actually work
2020-08-17 19:15:45 +02:00
b4ad35948d
Merge remote-tracking branch 'upstream/slirp' into slirp-merge
2020-07-26 21:41:09 +02:00
8a96dfce18
fix build with JIT disabled
...
fixes #675 and #674
2020-07-25 20:59:53 +02:00
c5381d2911
reconcile DSi and JIT, fastmem for x64 and Windows
2020-06-30 23:50:41 +02:00
e335a8ca76
first steps in bringing over the JIT refactor/fastmem
2020-06-16 12:11:19 +02:00
052ff73672
rewrite JIT memory emulation
2020-06-16 12:01:08 +02:00
6d217e1010
fix build with JIT disabled and set default JIT maxblock size to 32
2020-06-16 11:59:09 +02:00
1ad90cb334
include more information in DataRegion
2020-06-16 11:58:46 +02:00
40b88ab05a
new block cache and much more...
...
- 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
2020-06-16 11:56:36 +02:00
0d786573ab
remove debug printf
2020-06-16 11:54:48 +02:00
00cd9af033
fix uninitialised memory mapping
2020-06-16 11:54:47 +02:00
86f2be7260
jit: add compile option
2020-06-16 11:54:03 +02:00
c692287eba
JIT: base
...
all instructions are interpreted
2020-06-16 11:53:05 +02:00
fc5eedc716
* take nwifi forward some
...
* shut up CP15 printf's for Fx0
* fix bugs
2020-06-15 13:39:33 +02:00
43e045357f
make it able to switch between DS and DSi modes
2020-06-01 20:36:30 +02:00
2327de2423
Merge commit '4b57416552ec2fa95216e2b044559f215723bf70' into melonDSi
2020-05-30 03:12:42 +02:00
b44570eba1
merge moar
2020-05-30 03:04:14 +02:00
83f8e11bc1
update copyright years
2020-02-14 20:18:08 +01:00
e117da235e
smarter CP15 PU region updates. disable some useless logging.
...
fixes #528
2019-10-21 23:14:34 +02:00
83d23939db
melonDSi: skeleton in place
2019-06-15 13:09:11 +02:00
fd28391160
fix ass-stupid bug in CP15 PU region setup
2019-06-10 15:29:40 +02:00
b0efde8bf7
also, update copyright name
2019-01-22 15:58:29 +01:00
47a3d2b49a
blarg. setting it to 4 breaks Millionaire
2019-01-22 15:47:32 +01:00
adc6da5f21
tweak cached memory timings.
...
fixes things, but needs watching closely for other things that could break.
2019-01-18 20:29:12 +01:00
669247e8c8
redesign main emu loop to use timestamps instead of being a trainwreck
...
* cleaner code
* faster in some cases
* more accurate (on-demand compensation for timers and GPU)
* less prone to desyncs
* overall betterer
2019-01-05 05:28:58 +01:00
90f2c0834e
add PoC ARM9 instruction cache logic. not actually in use, but it's there as a reference (and if we ever need it).
2019-01-04 21:47:06 +01:00
502d8c3fa0
avoid potential crash with EmuDirectory if we somehow got no argv or an empty path
2018-12-16 00:38:10 +01:00
3101bd595f
add missing shit to savestates. bump the version up.
2018-12-11 21:50:28 +01:00
4aafdee14d
more sensible cache timings
...
(still a big fat hack)
2018-12-11 17:59:52 +01:00
e4c6ac55d2
Mario&Sonic doesn't like it when its code is running too fast; dual-screen-3D shits itself big time
2018-12-11 17:28:59 +01:00
91b2f64596
add back faster prefetch for ARM9
2018-12-11 16:41:18 +01:00
beb092f93e
change where audio/joystick are inited, attempting to fix potential COM initialize issues
2018-12-11 16:24:55 +01:00
b569c03884
make it fasterer
2018-12-09 01:26:51 +01:00
29bca33bc6
take it somewhere.
...
still need to speed it up a tad.
2018-12-09 01:17:05 +01:00
86dae1a25c
make this other branch where we're going to actually make it usable
...
but it'll be a gross hack
2018-12-08 20:27:00 +01:00
0b1c2f9691
begin PU work
2018-12-04 18:32:19 +01:00
172fb4876a
begin work on general timing renovation. way shitty because it behaves as if caches were off, so everything will be slow as shit.
2018-12-04 17:54:10 +01:00
b4165cc0a9
3D: keep the rasterizer from accidentally going out of bounds when given very flat X-major edge slopes.
...
this, by a fucking shitshow of butterfly effect, ends up fixing #234 . technically, the rasterizer was going out of bounds, which, under certain circumstances, caused interpolation to shit itself and generate Z values that were out of range (but still ended up in the zbuffer). sometimes those values ended up negative, which caused these glitches when polygons had to be drawn over those.
about fucking time.
2018-11-04 23:21:58 +01:00
de91eabf71
savestate shito: fix compile errors.
...
still far from being finished, so avoid using unless you want to spawn blackholes or some pretty bad shit.
2018-10-18 00:27:55 +02:00
0bfd019dc0
start implementing actual shito
...
(also looks like the test bench in libui_sdl/main.cpp snuck in with the copyright update. shit)
2018-09-15 02:47:34 +02:00
fea7955675
fixor copyright years.
2018-09-15 02:32:13 +02:00
529039f766
* delay 3D rendering a bit (fixes Monster Trucks flickering)
...
* remove logging for ITCM/DTCM
2017-05-27 23:47:20 +02:00
8a4ed8f41c
reorganize repo, move shit around
2017-03-16 23:01:22 +01:00