Commit Graph

249 Commits

Author SHA1 Message Date
2327de2423 Merge commit '4b57416552ec2fa95216e2b044559f215723bf70' into melonDSi 2020-05-30 03:12:42 +02:00
5eb01f1f15 begin renovating melonDSi 2020-05-30 02:40:51 +02:00
95f9698077 add back some hotkeys.
remove some legacy cruft from NDS.cpp.
2020-05-19 22:37:48 +02:00
c5c9434ac9 verify BIOS and firmware before booting games/firmware 2020-05-17 05:42:09 +02:00
17d30e91f0 actually hook this up 2020-05-17 04:37:44 +02:00
0f53a34551 rewrite JIT memory emulation 2020-05-09 00:45:05 +02:00
81f38c14be integrate changes from ARM64 backend and more
- 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)
2020-04-26 13:05:05 +02:00
a687be9879 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-04-26 13:05:03 +02:00
51b6b7a7d5 fix uninitialised memory mapping 2020-04-26 13:03:11 +02:00
9d180c7bbc jit: decrease blockcache AddrMapping size for ARM9 2020-04-26 13:03:09 +02:00
411fb57c07 jit: add compile option 2020-04-26 13:03:06 +02:00
9d76d63af5 jit: make everything configurable 2020-04-26 13:03:03 +02:00
2c44bf927c JIT: most mem instructions working
+ branching
2020-04-26 13:02:57 +02:00
c5c342c009 JIT: base
all instructions are interpreted
2020-04-26 13:02:53 +02:00
104b2a03aa properly handle ROMs with encrypted secure area 2020-03-30 11:04:50 +02:00
5f99a68151 detect whether we are running the game 2020-02-24 18:31:44 +01:00
83f8e11bc1 update copyright years 2020-02-14 20:18:08 +01:00
106b9a6f24 lay base for AR cheatzorz. baahahhhh 2020-02-14 19:26:52 +01:00
f257b007a2 Properly pass through GBA GPIO writes 2019-12-10 19:10:14 -05:00
5ad85f15c1 Add a framework to support non-SRAM GBA saves
The support is not yet there, but at least
we should not read or write bogus data.
2019-12-09 04:58:54 -05:00
62b9f51e23 Handle GBA cartridge SRAM writes 2019-12-08 21:20:01 -05:00
968768042e Properly init/deinit the GBA slot 2019-12-08 15:30:56 -05:00
d86ee1d5bf Add GBA cart model and allow reading from it 2019-12-08 15:30:07 -05:00
f21347c918 Fix GBA memory values on deselected CPU
Previously, the GBA memory was 0xFF-filled
on both CPUs. However, GBATEK reports that
the deselected CPU is 0x00-filled, and that
some titles depend on this behavior to
function properly.
2019-12-08 12:33:02 -05:00
e82364f010 * some fixes to SD controller support, make it clear that there is no SD inserted, makes Flipnote work somewhat better
* immediately clear AES busy flag when the block count is zero (occurs when loading DSi cart games)
* implement NDMA start modes that have an old-DMA equivalent (except for GXFIFO mode)

now it boots DSi carts!
2019-10-19 16:03:59 +02:00
6c7c037b20 Fix division edge case 2019-08-24 11:52:24 -04:00
4d3d8433cb * add old DS BIOSes and 04004000 BIOS-switch
fixes audio issues when running DS games
* attempt adding other fun shit like dynamic RAM size, but that mostly went nowhere for now
2019-08-05 19:52:03 +02:00
a9f36929e0 TSC: add backwards-compatibility 2019-08-04 14:34:33 +02:00
a6a9f74acc lay base for DSi-mode TSC 2019-08-04 11:44:36 +02:00
592e493a7a input: don't check modifiers for regular input 2019-07-09 18:39:50 +02:00
49b2f8d969 raise kMaxIterationCycles to 64 2019-06-25 02:05:48 +02:00
6d01677a57 add 32bit writes to some IO ports. fixes #313 2019-06-20 13:57:14 +02:00
d943a51b96 ayyy
getting there!
2019-06-20 03:19:51 +02:00
000aa1f327 add LCD init flag in DISPSTAT 2019-06-20 02:31:46 +02:00
81dde71eba add AES, fix a bunch of bugs
we're getting an error screen! wee
2019-06-19 14:24:49 +02:00
d6bbc6f0f1 tremble upon the NDMA implementation
that doesn't do much beyond getting stuck
2019-06-18 22:54:07 +02:00
d4dd97638d lay base for SD shit 2019-06-16 17:01:49 +02:00
566a8df6cd add IE2/IF2 2019-06-16 15:05:18 +02:00
7aa5131ec7 run teh binary. BAHAHAHAHAHAHAHAAHHHH
it doesn't do much for now tho
2019-06-15 14:05:31 +02:00
83d23939db melonDSi: skeleton in place 2019-06-15 13:09:11 +02:00
0e421ccebd add all sorts of shit 2019-06-13 14:41:54 +02:00
00a5576492 fasterer IRQ check. clean up code. 2019-06-08 22:16:51 +02:00
75f8cbf953 draft API for OpenGL shito in libui 2019-03-31 21:15:45 +02:00
b9703d2e8f fix CP15 control reg init during direct boot (fixes LMNTS demo regression) 2019-03-30 23:49:22 +01:00
f08b87b41f * move melon_fopen_local() to Platform.cpp
* make it require that the file already exist (hopefully fixing config saving bug)
* finally axe melon_fopen.cpp
2019-03-27 13:34:26 +01:00
93d51b0cbc start work on non-direct mode. reply to DHCP discover frame. 2019-02-23 13:41:51 +01: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
dd30b417b8 implement proper support for POWCNT1.
fixes #260
2018-12-18 17:04:42 +01:00
71bbb35bbf watch your debug code better, you derp 2018-12-18 02:00:50 +01:00