Commit Graph

75 Commits

Author SHA1 Message Date
WaluigiWare64 ac49d8e25c Update copyright year and add missing GPL headers part 2
Looks like a lot of files were missed...
Closes #1036
2021-03-21 21:32:26 +00:00
SuuperW 94dcc9523e
SRAM things (#970)
* Allow SRAMManager to save to/load from a buffer.

* Don't delete what doesn't exist. Don't create a thread that will do absolutely nothing.

* Update SRAMManager's SecondaryBuffer when loading a savestate.
2021-02-23 02:46:02 +01:00
Madhav Kanbur 1e4c0c9d72
Polish up archive support (#930)
* Fix directory path when extracting from archive

* Don't create new dir in execution dir of melonds
* Create it beside the archive instead

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* ArchiveUtil : Use QT functions for I/O

* Make it more platform independent, cleaner

* Fixes permission related crash on linux

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* NDSCart : Abstract out common code in LoadROM()

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Extract nds roms to memory

* Some stuff is still broken in the frontend

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* GBACart : Abstract out common code in LoadROM()

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Extract gba roms to memory

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Integrate archive support with recent files

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* onClickRecentFile : Pause emu thread conditionally

* Don't pause at start of the function
* If user opens an archive and hits cancel, it won't pause

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Handle Resets when loading from archives

* Ask user to pick the rom(s) again (i.e. GBA & NDS)
when there are multiple files in the archive(s)

* Directly load if only 1 file

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Archive support for drag-n-drop

* Also recent files support for drag-n-drop

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* main : Allocate rombuffer objects on stack

* Less messy, decreases chances of memory leaks

* Underlying implementation of qbytearray uses heap (hopefully?)

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* GetSavestateName : Archive support

* Construct ssname from srampath (since rompath has archive name)

NOTE: In general, archive name != rom file name !!!!!!!!!!

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Add srl and dsi as "direct-load" formats

* Direct-load = anything not in an archive

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Don't use static functions

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Remove QT stuff from Util_ROM

* Also, during reset, directly load file from archive (no rom picker)

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Remove QT includes from FrontendUtil.h

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Util_ROM/LoadROM() : Use SetupDSiNAND()

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Util_ROM/Reset() : Use strrchr()

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Util_ROM : Put Archive stuff behind ifdefs

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* main: Set parent widget for archive dialog boxes

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>

* Revert "Util_ROM/Reset() : Use strrchr()"

This reverts commit c8af6f066f.
2021-01-22 11:22:32 +01:00
Kimmy Andersson bf97387f26
Improved SRAM performance (#925)
* Offload NDS SRAM writing to separate thread, debounce writes to two seconds after last flush or DeInit.

* Fixed printf messages.

* Fixes after CR.

* Fixed potential portability issue with time_t
2021-01-09 22:18:57 +01:00
RSDuck 1649c0e089 don't calculate the CRC checksum of ROMs on load
the value isn't used anywhere anyway
2020-12-30 01:59:35 +01:00
RSDuck 62e3f41f20 delay savefile flush to the end of the frame 2020-11-11 13:38:05 +01:00
RSDuck ef4215e172 flush to file after importing SRAM 2020-10-06 00:49:16 +02:00
RSDuck f2fa52f26c add functionality to import savefiles 2020-09-11 03:08:06 +02:00
Arisotura 5431c469c3 actually add DLDI. bahahahhh 2020-09-03 20:28:07 +02:00
Arisotura d0af89924e remove requirement for initmem7/9.bin (but this requires augmented BIOS dumps, we'll get there) 2020-06-02 00:25:29 +02:00
Arisotura 43e045357f make it able to switch between DS and DSi modes 2020-06-01 20:36:30 +02:00
Arisotura b62d90cbe4 Merge remote-tracking branch 'remotes/origin/master' into melonDSi 2020-05-30 03:19:20 +02:00
Arisotura 82302c9bf4 fix shito. 2020-05-30 03:15:05 +02:00
Arisotura 2327de2423 Merge commit '4b57416552ec2fa95216e2b044559f215723bf70' into melonDSi 2020-05-30 03:12:42 +02:00
Arisotura c45068da0e embed romlist.bin 2020-05-30 00:28:21 +02:00
Arisotura 34133ef75c make it able to map the Tab key 2020-05-20 01:09:58 +02:00
Arisotura 0566c9e34c minor fix 2020-05-17 13:04:02 +02:00
Arisotura d412630a49 should probably be a strncmp() and not strncasecmp() 2020-03-30 13:28:51 +02:00
Arisotura 104b2a03aa properly handle ROMs with encrypted secure area 2020-03-30 11:04:50 +02:00
Arisotura 2c51a49527
Merge pull request #546 from nadiaholmquist/feature/unix-xdg
Make melonDS properly installable systemwide on UNIX systems
2020-01-28 21:37:36 +01:00
Raphaël Zumer 5a7600dc79 Fix "é" character encoding in NDS.cpp 2019-12-09 06:09:52 -05:00
Raphaël Zumer 86b746dd1c Remove unused Write function in NDSCart 2019-12-09 04:51:59 -05:00
Nadia Holmquist Pedersen 7af658f089 Add a UNIX_PORTABLE build option, turning it off makes a build of melonDS suitable for systemwide installation. 2019-12-04 22:46:33 +01:00
Arisotura 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
Arisotura dcda848cdf * base for potentially re-encrypting modcrypt, doesn't seem to be required? but can also serve to decrypt it
* revise SD IRQ behavior (fixing potential hang when loading DS games)
2019-08-07 12:57:12 +02:00
Arisotura 36c741241a support DSi-mode carts
except they need to have the DSi-mode shit encrypted
2019-08-04 16:46:02 +02:00
Arisotura c5e14074c3 * add SCFG_EXT
* quick hack to detect cartridges
2019-07-03 12:37:34 +02:00
Arisotura 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
Arisotura 6d7e80b677 move melon_fopen() to Platform.cpp
melon_fopen_local() will need fixoring
2019-03-27 04:23:03 +01:00
Arisotura 5d127f9e55 woops 2019-03-26 18:39:52 +01:00
Arisotura 633fb0f555 NDSCart: KEY1-gap delays don't apply when the WR bit is set. fixes #377 2019-03-26 18:34:01 +01:00
Arisotura b0efde8bf7 also, update copyright name 2019-01-22 15:58:29 +01:00
StapleButter 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
StapleButter b6481a28ac make nocashprint work from ARM code too.
fixes #315
2018-12-31 20:58:58 +01:00
StapleButter eec27ebf69 oops 2018-12-31 14:19:02 +01:00
StapleButter 786abe63cb add support for 128K EEPROM (Pokémon Mystery Dungeon - Explorers of Sky)
fixes #344

also, fix save type for Puzzler World (plain old 8K EEPROM. not sure why the Wood entry was different)
2018-12-31 14:17:58 +01:00
StapleButter f6b979357f ROM list by game code rather than CRC 2018-12-31 04:35:58 +01:00
StapleButter 0f0e04bfa3 init savemem to 0xFF instead of 0x00. 2018-12-30 20:57:20 +01:00
StapleButter 4d71da04ec start work on NAND shito. 2018-12-12 20:59:08 +01:00
StapleButter affe1c084f can't hurt to fix that, either, I guess 2018-12-12 03:18:14 +01:00
StapleButter e84d66dc64 use melon_fopen_local() for romlist.bin.
bump version number up.
2018-12-11 21:52:21 +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 8b4ba2d8b9 separate SRAM setting coded, I guess 2018-10-24 00:24:36 +02:00
StapleButter 1edf2aed3b * code function for relocating the savefile.
* don't bitch at the user when trying to load a savestate file that doesn't exist.
* grey out 'load state' items if there is no file.
2018-10-23 22:54:09 +02:00
StapleButter f60ac42466 pass savefile name to NDS::LoadROM() instead of having the core generate it. 2018-10-23 21:52:41 +02:00
StapleButter f4cf54829e a bit moar of it
brick by brick, file by file, we will destroy capitalism

and make savestates work, maybe
2018-10-18 00:54:21 +02:00
StapleButter fea7955675 fixor copyright years. 2018-09-15 02:32:13 +02:00
StapleButter 20050fb668 quick attempt at supercard emulation. really ugly 2018-04-27 20:00:53 +02:00