Commit Graph

37 Commits

Author SHA1 Message Date
79dfb8dc8f Introduce Platform::Log (#1640)
* Add Platform::Log and Platform::LogLevel

* Replace most printf calls with Platform::Log calls

* Move a brace down

* Move some log entries to one Log call

- Some implementations of Log may assume a full line

* Log the MAC address as LogLevel::Info
2023-03-23 18:04:38 +01:00
35cc79787d update copyright headers 2022-01-09 02:15:50 +01:00
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
1dbe69c6be remove some debug crap 2020-12-10 18:09:11 +01:00
842379c410 harmless DMA micro optimisation 2020-11-16 17:22:34 +01:00
9772201345 remove some UB
- 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
2020-09-04 20:37:14 +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
83f8e11bc1 update copyright years 2020-02-14 20:18:08 +01:00
d6bbc6f0f1 tremble upon the NDMA implementation
that doesn't do much beyond getting stuck
2019-06-18 22:54:07 +02:00
841122bc51 prevent old DMA from being a shitshow. 2019-06-18 21:12:39 +02:00
b0efde8bf7 also, update copyright name 2019-01-22 15:58:29 +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
3dd8c7b152 finish the work on the main loop. finally fix all cases of desync I could find. also add #ifdef'd debug code to check for desyncs. 2018-12-11 15:56:34 +01:00
78d384a754 temp commit
almost done killing ARM9/ARM7 desync, f
2018-12-11 03:08:46 +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
c6fb152d80 start devolving things.
also implement proper DMA timings.

will not build. don't try.
2018-12-08 22:33:41 +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
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
a9e7f8bc5b add proper support for GXFIFO stalls.
bad games that blast the GXFIFO and overflow it:
* Super Mario 64 DS
* Rayman RR2

latter seems to get its music streaming crapoed.
2018-11-23 22:21:41 +01:00
7ba32ea076 make the ARM clock shift configurable. nothing fancy there, just paving the way for DSi support later. 2018-11-07 18:38:54 +01:00
b5c39680a5 hax, finally making savestates usable
F1 to save, F2 to load. filename hardcoded for now.

shits itself:
* when the 3D engine is used
* when a debugger is used (heh)
2018-10-18 04:00:16 +02: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
7cbcc6c230 zlarg 2018-09-15 03:41:09 +02:00
60f24a7432 moar progress on it 2018-09-15 03:29:36 +02:00
fea7955675 fixor copyright years. 2018-09-15 02:32:13 +02:00
4afac28263 proper display FIFO emulation 2017-06-26 11:02:10 +02:00
bdac2467e7 oh well 2017-04-23 15:38:39 +02:00
1759672d14 a few attempts at optimization 2017-04-23 15:25:15 +02:00
96a3848d84 make ROM command handling accurate, remove gross DMA hack. 2017-04-11 20:21:31 +02:00
68eb4f6caf * implement missing graphics (affine BG, rotscaled bitmap sprite)
* fix potential crash upon exit
* more work on the input config UI
* misc fixes
2017-03-24 20:53:01 +01:00
08a634371a fix bug that happened when HDMA got interrupted (or any repeating DMA, for that matter) 2017-03-21 02:05:40 +01:00
2150240cbd implement some obscure DMA types 2017-03-20 22:18:35 +01:00
a56bf5c76c make timers not suck. fixes issues (Worms2 intro FMV plays at the right speed, aging cart tests get further...) 2017-03-20 17:39:42 +01:00
8a4ed8f41c reorganize repo, move shit around 2017-03-16 23:01:22 +01:00