Commit Graph

123 Commits

Author SHA1 Message Date
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
6c7c037b20 Fix division edge case 2019-08-24 11:52:24 -04: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
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
694d6cafa2 fix STRD_POST (dumbest copypaste bug of the year)
fixes #276
2018-12-18 01:56:21 +01:00
cb1e6ce750 proof-of-concept code for closing/opening lid. 2018-12-14 02:36:57 +01:00
aa8c84f040 * correct romlist.bin (Club Penguin Herbert's Revenge EUR uses 4K EEPROM, not 64K)
* support 32bit reads to POWCNT1 (and also POSTFLG)

fixes #300

(insert sparta meme)
2018-12-13 15:03:06 +01:00
548432c364 add code to support GBA slot reads for later 2018-12-12 19:43:29 +01:00
758bed93bc preliminary microphone code. requires an actual microphone. resulting audio is farty and blargy as fuck. 2018-12-12 16:33:40 +01:00
a8f2267a18 zarg 2018-12-12 03:09:48 +01:00
e7a4fe11ed add nocashPrint type shit 2018-12-12 02:48:37 +01:00
3101bd595f add missing shit to savestates. bump the version up. 2018-12-11 21:50:28 +01:00
40f3f91368 move config-file seeking code to its own thing.
look also into the same directory as melonDS. make it the preferred place for storing melonDS.ini.
rewrite WinMain() wrapper.
2018-12-11 21:34:05 +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
aba4610d45 fix bugs
still kinda shitty tho. like, we lost enough timer accuracy to have visible effects (aging cart tests that fail, FMVs that play too slow, etc)
2018-12-09 01:46:10 +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
46d5a31275 well yeah that's what I thought
GXFIFO stalls don't stall the ARM7
2018-11-24 05:23:35 +01:00
7b48ce5b75 * fix possible issues with GXFIFO stalling
* rework GPU timings, now almost same as hardware. display lists generally execute faster. not finished. not bad for a start tho.
* Rayman RR2 is still getting sound streaming issues. I don't think GXFIFO stalls are supposed to halt the ARM7. that doesn't make sense and would mess badly with sound since it's also using the ARM7 bus.
2018-11-24 02:29:25 +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
27e1ca4103 beginning timing renovation.
smarter Reschedule().

gotta start somewhere, I guess.
2018-11-09 14:10:06 +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
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
307c26de93 Merge pull request #248 from Dirbaio/master
Two fixes
2018-10-27 14:16:46 +02:00
8b4ba2d8b9 separate SRAM setting coded, I guess 2018-10-24 00:24:36 +02:00
f60ac42466 pass savefile name to NDS::LoadROM() instead of having the core generate it. 2018-10-23 21:52:41 +02:00