Commit Graph

232 Commits

Author SHA1 Message Date
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
d191af8690 rewrite how structures are stored to savestates (store individual fields, to avoid compatibility issues)
also fixes stability issues when 3D is involved. turns out we were storing raw pointers to vertices. figures

more crapo code to get around that, but atleast it works without asploding now.
2018-10-21 03:16:41 +02:00
cbcecc8cdb don't store BIOS in savestates. no point doing so. 2018-10-19 01:05:19 +02:00
20862b7daf aight, wifi done 2018-10-18 03:22:53 +02:00
f51e1ec805 I guess that might have malfunctioned 2018-10-18 03:10:17 +02:00
86f5155f72 more procrastinating before actually starting savestatez0ring wifi.
I need to pee
2018-10-18 03:09:03 +02:00
3a54b9178b RTC done. misc shito. 2018-10-18 03:04:39 +02:00
cbe5780837 SPI done 2018-10-18 02:54:48 +02:00
7bf62918cd SPU done 2018-10-18 02:45:38 +02:00
a2cc7087f7 GPU done 2018-10-18 02:31:01 +02:00
148f4032f1 fix code that would have fucking asploded 2018-10-18 01:38:33 +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
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
d721e098eb Make "unknown IO" messages consistent, all including value and PC. 2018-05-24 01:09:40 +02:00
cb79a5dc14 Make Main RAM size configurable in a single place. 2018-05-24 01:09:23 +02:00
81e98b5e12 direct boot: init cart ID from NDSCart::CartID instead of hardcoding it 2018-04-27 19:26:46 +02:00
f0bc364210 init AUXSPICNT to 0x8000.
(guess sloppy DLDI drivers expect that)
2018-04-27 00:20:18 +02:00
a2c95f2dc3 Add 32bit IPCSYNC reads and writes. 2018-04-24 22:31:52 +02:00
52df6be5f8 Load bios, firmware and melonDS.ini from executable or ~/.config/melonds or AppData 2018-01-11 14:38:57 -08:00
981661a36d wifi: implement increment for txheader[4] 2018-01-04 00:10:35 +01:00
b5046b9766 comment out some unwanted printf's 2017-12-07 01:04:00 +01:00
b96ac8e000 (finally) fix sound
* reset capture position when starting capture
* reorder channel/capture handling
* implement FIFO for channel and capture
2017-11-11 18:46:42 +01:00
c3675af538 properly reset IE/IF, fixes some reset issues. 2017-11-09 16:02:37 +01:00
ee1da52d77 fail gracefully when ROM loading fails 2017-10-11 00:01:05 +02:00
4781bd5671 fix ARM7 BIOSPROT. not that it matters. 2017-10-02 04:57:23 +02:00
dbb174c531 implement 8bit reads to div/sqrt registers.
RaymanDS showed some interest for that, so there we go.
RaymanDS still fucks up.
RaymanDS is a pile of shit.
melonDS is bad at timings.
2017-10-02 04:27:50 +02:00
1975efaeea fix bugs with SPI shutdown 2017-10-01 03:19:39 +02:00
ab9800fbac actual joystick input
also sync keyboard input nicely
2017-09-30 20:05:56 +02:00
48cf9eb805 make it a menu option while we're at it 2017-09-21 04:08:03 +02:00
495d0ba12d add support for SPI shutdown, btw 2017-09-21 03:59:12 +02:00
e6f5507c9e add some more GPU IO 2017-07-23 15:31:09 +02:00
0df3a29374 * FPS counter displays target framerate
* fix potential hang and out-of-bounds drawing when VCount is modified during drawing
2017-07-21 10:19:56 +02:00
bb963c35a4 while we're at it: emulate div/sqrt timings 2017-07-15 19:46:27 +02:00
678ae00e0a support 16-bit reads to the div/sqrt registers 2017-07-05 18:46:19 +02:00
4afac28263 proper display FIFO emulation 2017-06-26 11:02:10 +02:00
39fbc415f6 new save heuristic. atleast Scribblenauts doesn't lose its shit now.
shut up shibs
2017-06-25 17:35:45 +02:00
4ffb217791 add support for 16bit IE reads/writes (fixes #66) 2017-06-24 01:21:09 +02:00
c5dbb01aa3 wifi: fix for MP replies.
clean up code.
make packet logging conditional.
2017-06-18 16:26:59 +02:00
581a0954ad wifi: fix IRQ14 emulation. other fixes and attempts. 2017-06-13 01:01:46 +02:00