Commit Graph

36 Commits

Author SHA1 Message Date
adelikat 2b281116ed misc cleanups 2020-04-08 16:03:35 -05:00
SuuperW c59d8130bb
DS Hawk (#1884)
* Add MelonDS.cs, support opening (but not really) .nds files.

* init MelonDS

* MelonDS: Load selected ROM.

* MelonDS: FrameAdvance and frame counter.

* MelonDS: IVideoProvider

* MelonDS: Add DLL files.

* MelonDS: IInputPollable

* MelonDS: IStatable (and add forgotten file MelonDS_InputPollable.cs)

* update libmelonDS.dll

* MelonDS: ISoundProvider

* Add NDS to Global.SystemInfo, and convert screen coords when running NDS.

* set up default NDS controller

* MelonDS: ISaveRam

* MelonDS: remove romlist.bin

* MelonDS: ISettable

* Create firmware folder if it doesn't exist on Windows; otherwise, an exception is thrown.

* Add database entries for NDS bios/firmware files.

* MelonDS: Use the bios/firmware files selected in BizHawk's "Firmwares" dialog.

* MelonDS: Re-work sync settings a bit.

* NDS's firmware file contains user settings; these are over-written by sync settings, so we shouldn't allow them to impact the hash

* MelonDS: Add (currently unused) bootToFirmware sync setting, and NDSSettings dialog.

* Update NDS firmware hash; it seems I had somehow corrupted mine.

* MelonDS: Use boot to firmware sync setting.

* MelonDS: Allow user to set some firmware user settings via the NDS settings dialog.

* MelonDS: Add singleInstance attribute to core.

* MelonDS: IMemoryDomains

* update libmelonDS.dll

* MelonDS: Set up default sync settings if none are provided.

* MelonDS: Allow user to reset settings to default.

* MelonDS: bios+firmware files are recommended

* libmelonDS.dll

* MelonDS: Don't use real time.

* MelonDS: Update to reflect new way of handling RTC in MelonDS.

* MelonDS: Notify if savestate load failed.

* update MelonDS.dll

* MelonDS: Allow user to set startup date/time in settings dialog.

* MelonDS: Create melon directory if it doesn't already exist.

* Don't include Designer's "fixes" in PR (partially reverts 56b474c00)

* Don't show a broken console window; alert user of need to restart instead.
This fixes an error related to MelonDS trying to use the broken stdout stream.

* update default NDS controls to match other updated controls

* Implement a system bus, using ARM9 read/writes.

* MelonDS: Allow BizHawk to change the contents of the frame buffer.

* update libmelonDS.dll

* fix stuff that was merged incorrectly, or was broken by merge

* update libmelonDS.dll
(includes memory leak fix)

* update libmelonDS.dll
(fixes memory leak and an occasional savestate crash)

* fix stuff that broke with the merge

* cleanups, remove stuff that is no longer needed by service interaces

* simplify DS MemoryDomains

* DS - fix order of controller buttons to be consistent with other consoles.  This probably breaks any existing movies made on this core, but those would have been experiments, right?

* NDSSettings - make min value for day and month 0, whiel those aren't "valid" values they are the default values in the core for whatever reason, better to not crash on load and not show a value that isn't actually the setting.  This can easily be reverted if the core changes to default to 1

Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
Co-authored-by: adelikat <adelikat@tasvideos.org>
2020-03-21 10:53:30 -05:00
adelikat 80c36d8155 FirmwareManager - don't use Global, pass in actual dependencies 2020-03-15 16:31:37 -05:00
adelikat 965c7555ce FirmwareManager - replace query syntax with LINQ expressions. Query syntax is a pain unless you really need it 2020-03-15 16:27:32 -05:00
adelikat 348cbd18df
Remove PathManager code that had dependencies on Globals (#1881)
* move one usage of Firwmare method into Firmware config where it is better suited

* PathManager - remove unused code

* move some PathEntry specific logic out of PathManger and into PathEntryCollection extension methods

* PathManager - detangle some exe pathing logic from Global.Config usage, clarify what a completely broken method should actuall do

* move more logic from PathManager to PathEntryCollection extension method

* move absolute path creation to PathEntryCollection, lots of refactoring and simplifying of PathEntries usage

* simplify PathEntryColleciton usage more

* simplify PathEntryCollection more

* break PathEntry classes into separate files, a bit of cleanup

* move Rom path logic out of PathManager into PathEntryCollectionExtensions

* move config UseRecentForRoms and LastRomPath into PathEntries, note that this is a breaking change for previous configs, those values will revert back to default values

* move SaveRamPath logic from PathManager to PathEntryCollections

* move cheats path logic from PathManager to PathEntryCollection

* move another method out of PathManager

* move some Retro hacks to PathEntryCollections, exposes more implicit dependencies

* move savestate logic out of PathManager to PathEntryCollection

* move more logic out of PathManager

* move some savestate logic out of PathManager, move most to MainForm where it is used, detangle some implicit dependencies from SaveSlotManager

* rename method

* move more logic from PathManager to PathCollectionEntry

* movie final Global.Config.PathEntries logic out of PathManager and into PathEnties
2020-03-15 15:12:36 -05:00
adelikat 16781fa212 FirmwareManager - don't depend on Global.Config 2020-03-14 12:20:28 -05:00
adelikat d1623c32b7 Firmwares manager - depend on Global.Config less 2020-03-14 12:10:53 -05:00
adelikat 51539ebebd Simplify FirmwareManager 2020-03-14 11:59:14 -05:00
adelikat 5386b8b18c Client.Common cleanups - mostly using higher language features 2020-02-22 12:29:12 -06:00
J.D. Purcell fec63fb66a Spaces -> tabs, fix mixed newlines. 2019-11-03 20:58:36 -05:00
YoshiRulz 2642ef4049
Remove empty docs 2019-06-06 16:41:10 +10:00
Asnivor 163a370be0 Firmwares: some comment culling 2018-09-13 15:23:15 +01:00
Asnivor a04ad91b2c FirmwaresConfig: Stop indescriminate importing (and some other things) - #314 2018-09-13 15:07:52 +01:00
adelikat 43cb50d5c3 Misc cleanups in Client.Common 2017-05-19 13:17:07 -05:00
adelikat 2a54517b52 more misc Client.Common cleanups 2017-05-17 13:18:26 -05:00
adelikat cdb0802230 Misc Client.Common cleanups 2017-05-09 07:22:56 -05:00
adelikat ebe001b526 Cleanup FirmwareManager, and some other Emulation.Common nitpicks 2017-04-27 10:55:22 -05:00
adelikat b6f335e4c8 misc code cleanups in BizHawk.Client.Common 2017-04-14 14:59:01 -05:00
goyuken a782fdb315 take 2 2015-02-05 23:53:25 +00:00
goyuken 995f670d36 frontend tracks loaded firmware: proof of concept 2015-02-05 23:25:28 +00:00
zeromus a7432a1e52 firmwaremanager now tracks filesizes, and filesizes of known firmwares are used to restrict scope of scanning 2014-11-13 00:09:16 +00:00
zeromus ba0eca8a69 do firmware hash calculation differently without needing a buffer, for users with GBs of roms in their firmware folder 2014-11-12 01:27:11 +00:00
zeromus 4d5b25600e add a GC.Collect() call to workaround a .net slow-GC problem, and fix an old bug related to firmware scans occurring several times actually every time you think it should happen once, which probably wasn't helping things 2014-11-12 00:04:08 +00:00
zeromus d5c4787792 dont crash when organizing firmware 2014-08-03 22:38:27 +00:00
adelikat fd80c62cdb More Util methods -> extension methods 2014-07-03 19:20:34 +00:00
zeromus f43859f421 give firmware database and UI ability to track ok/notok/bad state of an option/firmwarefile. apply tons of research to study PSX bios files situation 2014-06-21 06:40:07 +00:00
zeromus f218d1da7c don't search for firmwares in nonexisting directory to avoid assert in FirmwareManager 2014-02-05 23:53:41 +00:00
adelikat 2f28317f92 A round of code cleanup 2014-01-08 03:53:53 +00:00
zeromus 483cf96853 rename PathEntries.WatchPath etc. to PathEntries.WatchPathFragment to better convey the idea that it isnt a fully-qualified path, so its less likely to get used on accident 2013-12-13 05:20:50 +00:00
goyuken 4b9b11c887 JAWMP LYSTS 2013-12-13 04:57:14 +00:00
adelikat 348171bdc5 start Emulation.Common project and move the Emulation/Database folder files to it 2013-11-04 01:06:36 +00:00
adelikat 7b03fc0bc0 Move Buffer.cs and Util.cs from BizHawk.Emulation to BizHawk.Common, and add 1234832983 usings 2013-11-04 00:36:15 +00:00
adelikat 9473f6840b Client.Common code refactoring and some misc things to do 2013-10-27 17:47:54 +00:00
zeromus 6616a75cfb etc 2013-10-25 00:59:34 +00:00
zeromus 249ddea268 revert to pre-refactor state. its a WIP, dont judge 2013-10-25 00:34:01 +00:00
adelikat f04efe0294 Move Firmware manager classes to Client.Common 2013-10-21 00:48:20 +00:00