Commit Graph

635 Commits

Author SHA1 Message Date
StapleButter
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
StapleButter
ef79cc06f3 proof-of-concept code for feeding a WAV to microphone input.
this eventually needs a proper UI.
2018-12-13 14:34:15 +01:00
StapleButter
4d71da04ec start work on NAND shito. 2018-12-12 20:59:08 +01:00
StapleButter
548432c364 add code to support GBA slot reads for later 2018-12-12 19:43:29 +01:00
StapleButter
2c8f674318 add ROM #3159 to romlist.bin 2018-12-12 17:23:54 +01:00
StapleButter
758bed93bc preliminary microphone code. requires an actual microphone. resulting audio is farty and blargy as fuck. 2018-12-12 16:33:40 +01:00
StapleButter
24d6bd2786 send console output to parent process's console.
this way Windows release builds can get console output if run from cmd.exe, just like under Linux
2018-12-12 15:18:43 +01:00
StapleButter
affe1c084f can't hurt to fix that, either, I guess 2018-12-12 03:18:14 +01:00
StapleButter
a8f2267a18 zarg 2018-12-12 03:09:48 +01:00
StapleButter
e7a4fe11ed add nocashPrint type shit 2018-12-12 02:48:37 +01:00
StapleButter
d92c7e79df re-blarg. linux doesn't take \ you idiot 2018-12-11 22:17:49 +01:00
StapleButter
1817c15cb0 blarg 2018-12-11 22:14:15 +01:00
StapleButter
e84d66dc64 use melon_fopen_local() for romlist.bin.
bump version number up.
2018-12-11 21:52:21 +01:00
StapleButter
3101bd595f add missing shit to savestates. bump the version up. 2018-12-11 21:50:28 +01:00
StapleButter
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
StapleButter
9a0bf912d9 (finally) axe trainwreck savetype-autodetect code.
pull that from ROM database.
for now, assume EEPROM 64k if not found, or null for homebrew.
2018-12-11 20:39:07 +01:00
StapleButter
f03828f7b9 add code that searches into romlist.bin 2018-12-11 19:47:03 +01:00
StapleButter
e2f3c29360 blarg.
also, calculate ROM CRC.
2018-12-11 19:16:19 +01:00
StapleButter
0579a1cd2e add CRC32 shit 2018-12-11 19:10:57 +01:00
StapleButter
4aafdee14d more sensible cache timings
(still a big fat hack)
2018-12-11 17:59:52 +01:00
StapleButter
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
StapleButter
91b2f64596 add back faster prefetch for ARM9 2018-12-11 16:41:18 +01:00
StapleButter
beb092f93e change where audio/joystick are inited, attempting to fix potential COM initialize issues 2018-12-11 16:24:55 +01:00
StapleButter
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
StapleButter
78d384a754 temp commit
almost done killing ARM9/ARM7 desync, f
2018-12-11 03:08:46 +01:00
StapleButter
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
StapleButter
b569c03884 make it fasterer 2018-12-09 01:26:51 +01:00
StapleButter
29bca33bc6 take it somewhere.
still need to speed it up a tad.
2018-12-09 01:17:05 +01:00
StapleButter
c6fb152d80 start devolving things.
also implement proper DMA timings.

will not build. don't try.
2018-12-08 22:33:41 +01:00
StapleButter
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
StapleButter
0b1c2f9691 begin PU work 2018-12-04 18:32:19 +01:00
StapleButter
9ebcb5f143 axe CP15.h, we don't need it anymore. 2018-12-04 17:55:03 +01:00
StapleButter
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
StapleButter
808bda9171 do not require dpad mappings for joystick axis to work 2018-12-02 15:11:56 +01:00
StapleButter
5b20f40fad oopsies 2018-11-28 02:45:20 +01:00
StapleButter
b1973014d3 add some missing shit to savestates 2018-11-25 22:40:08 +01:00
StapleButter
4b8cea3b38 revise windows to be even closer to hardware.
apparently hardware only ever updates its 'inside/outside window' status when reaching the coordinates. which becomes apparent if you, like, try to invert a window midframe.
2018-11-25 19:13:23 +01:00
StapleButter
2035784f9f on the DS, windows with backward coordinates end up inside-out. revise window code accordingly. fixes #287. 2018-11-25 18:36:47 +01:00
StapleButter
5f1f2a7b4a fix regression in Marvel Nemesis. keep GX cycle counter from drifting absurdly far in the negatives, and fix a few other issues. 2018-11-25 17:39:43 +01:00
StapleButter
3f8befaf4e add support for forced-blank. fixing spurious colors during screen transitions in Picross 3D.
I thought I had already fixed that, but it was stuck in the long-dead jit branch, so, here it is, back from the dead.
2018-11-24 21:10:26 +01:00
StapleButter
46d5a31275 well yeah that's what I thought
GXFIFO stalls don't stall the ARM7
2018-11-24 05:23:35 +01:00
StapleButter
391c8d43b0 drain GX pipelines when there's nothing else running. fixes some weird bugs, apparently. 2018-11-24 04:27:27 +01:00
StapleButter
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
StapleButter
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
Madhav Kanbur
78c767b693 Add option to limit framerate from UI
Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>
2018-11-21 11:11:02 +05:30
StapleButter
27e1ca4103 beginning timing renovation.
smarter Reschedule().

gotta start somewhere, I guess.
2018-11-09 14:10:06 +01:00
StapleButter
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
StapleButter
fa4fa164cb * store all 32 matrix stack entries in savestates instead of 31.
* bump savestate version up. will break compatibility, but the alternative would be guessing the missing matrix entries somehow, so blarg.
* avoid relocating the savefile if loading a savestate fails.
2018-11-05 16:14:48 +01:00
StapleButter
9b32418367 3D: fix0r matrix stack handling when stack pointers overflow (it fucking wraps around).
fixes #231 and probably others of the same vein.
2018-11-05 16:05:16 +01:00
Carles Pastor
49dd86ad3c Add manifest for building as a flatpak
It's a bit rough but it includes a desktop file and everything needed 
for the emulator to run.
It enables pulseaudio for sound, network for wifi emulation, device=all 
for gamepad support and filesystem=home to enable the emulator to write 
the save files to the same folder as the rom.

Because melonds uses sdl2 and gtk3, it should run on wayland, but I'm 
not including the socket because I haven't personally tested it to work.
2018-11-04 23:38:14 +01:00