Commit Graph

18965 Commits

Author SHA1 Message Date
YoshiRulz 2704003429
Dispose of newly-instantiated Forms when populating Tool Box
see #2741, fe6bf7ba1, #2763
2021-05-31 00:53:23 +10:00
YoshiRulz be575c96f0
Update support section of readme (resolves #2753) 2021-05-30 10:41:34 +10:00
CasualPokePlayer 7e06f71afb
add HLE CGB-DMG colors for No Bios option (#2756) 2021-05-29 20:32:20 -04:00
alyosha-tas c1c032a345 Trace Logger: filter out null cases 2021-05-29 17:53:53 -04:00
alyosha-tas 28fe921983 Debugger: prevent crashes when minimizing and other cases, fixes #2760 2021-05-29 11:25:15 -04:00
YoshiRulz 0b0484ee7c
Fix code style warning (by simplifying) 2021-05-28 16:29:21 +10:00
zeromus 17e3e28d06 Fix a bug in PathExtensions IsAbsolute. Fixes #2747
This code should not exist here, anyway. For reasons just like this. Need to find framework method for it.
2021-05-27 16:52:05 -04:00
zeromus d39fa5d3d1 decrypt PathExtensions IsAbsolute and MakeAbsolute 2021-05-27 16:51:31 -04:00
alyosha-tas 7c17f31cdc Gambatte; update trace header 2021-05-27 09:27:58 -04:00
CasualPokePlayer 6432d99feb
[Gambatte] Many Updates (#2742)
* don't put isCGBMode for movies where CgbDmg mode is being used

* various Gambatte accuracy improvements + proper no BIOS support + tracelogger fixes
2021-05-27 08:56:13 -04:00
nattthebear 2c0c6aa0bb rename a bunch of shit because someone has a fetish for RFCs
rust maintains its reputation as a less annoying language to write systems code in than C, but only just barely.

yeets #2750
2021-05-26 16:07:07 -04:00
adelikat c5e6aadb0e update version info 2021-05-25 19:46:27 -05:00
Morilli 38bc953e22 Add a designated payload controller based on the multitapcontroller in the new bsnes core
- also patched out the left/right and up/down handling in the core, where it didn't belong
- also fixed the existing payloadcontroller because it wasn't working at all lol
2021-05-26 02:27:54 +02:00
feos 3c94000d3e mame: bios selection works 2021-05-25 21:14:27 +03:00
alyosha-tas 0b3cd0ec0d GBHawk: Fix some tests 2021-05-25 10:56:28 -04:00
Morilli 359657c29a Add a payload controller for the new bsnes core 2021-05-25 04:27:06 +02:00
YoshiRulz 817701856c
Respect LogKey of loaded movie for playback 2021-05-25 08:50:58 +10:00
YoshiRulz 38a223ffbd
Fix execution order in Bk2Controller constructors 2021-05-25 08:50:58 +10:00
feos aedb7d3972 mame: figure out default bios properly 2021-05-24 23:15:49 +03:00
YoshiRulz cc29c5edc7
s/UDRL/UDLR/ in N64 ControllerDef 2021-05-24 08:39:46 +10:00
feos e6c6c417d5 mame: populate bios menu 2021-05-24 00:49:00 +03:00
feos ebff82b968 mame: dip switches work 2021-05-23 17:31:35 +03:00
Morilli 24c74c0e36 Implement IDebuggable for the new bsnes core 2021-05-23 05:02:05 +02:00
feos a43eaaeee9 mame: sent syncsettings to the core and reboot 2021-05-22 23:03:21 +03:00
feos 512ca30d7e mame: set up the hawk side of syncsettings (dip switches only) 2021-05-22 19:02:45 +03:00
YoshiRulz d71eca3b2d
Implement SerializationStabilityTests.TestRoundTripSerialization 2021-05-22 08:15:31 +10:00
YoshiRulz dd45a3e37c
Exclude get-only props on PathEntryCollection from serialisation 2021-05-22 08:08:04 +10:00
YoshiRulz da649a1bc0
Fix hash comparison in DearchivalTests.TestSharpCompress 2021-05-22 05:59:35 +10:00
YoshiRulz bfdecce195
Rewrite cores table in readme 2021-05-21 12:17:26 +10:00
alyosha-tas 4165b2893d Cores: All cores must update Frame counter post-emulation. NOTE: This is a sync breaking change for MGBA movies using RTC, as the time sent to the core was the pre-incremented time. 2021-05-20 09:24:49 -04:00
alyosha-tas 7c661b5520 Autofire Controller: Latch frame number with controller latch, avoids midframe conflicts when cores update frame pre-emulation. 2021-05-20 09:21:42 -04:00
alyosha-tas bf9c6d784d NESHawk: add missing mapper variable to state. Only for some pirate games so won't fix any reported issues, just something I noticed. 2021-05-17 20:45:36 -04:00
alyosha-tas 94a851ef9e O2Hawk: fix #2684 2021-05-17 18:29:00 -04:00
alyosha-tas 4f24c6ac70 GBHawk: fix #2709 , also fixes a test that previously passed for the wrong reason 2021-05-17 17:10:25 -04:00
alyosha-tas 9f71f9b424 GBHawk: #2715 , still needs vram open bus fix but that's seperate 2021-05-17 17:07:00 -04:00
alyosha-tas 12b5ea62eb C64: implement memory callbacks 2021-05-17 15:10:09 -04:00
YoshiRulz 270ee700fb
Fix unassigned field warning 2021-05-17 10:47:43 +10:00
YoshiRulz 1aa9481a2a
Flip expected/actual in PlayMovie 2021-05-17 10:43:19 +10:00
nattthebear bc21f296a0 Romloader: Add `DontTryOtherCores` config setting
If set, only the first preference core (whether it be through gamedb or preferredcore or priority or whatever) will be tried, and a failure for it will immediately fail the entire thing.  This is mostly a developer feature to aid in debugging.
2021-05-16 11:57:30 -04:00
nattthebear e0a357f68d Support `ref structType` in BizInvoker
Could be useful if you need a struct type on the C# side for perf reasons, maybe to avoid allocations.  Like with passing classes, this is just a pointer conversion:  BizInvoker's design philisophy explicitly leaves out any sort of recursive field conversion that would necessitate making new objects.
2021-05-16 11:38:08 -04:00
nattthebear a18ea12bc0 Bsnes new - delegate refactoring
Fix reliance on GetFields() ordering which, per MDN, is unspecified.
CallingConventionAdapters.MakeWaterbox(...) doesn't care what order they're in, but snes_set_callbacks(...) does.
2021-05-16 10:03:03 -04:00
YoshiRulz fe6bf7ba12
Disable Tool Box on Linux (fixes #2741)
Was going to Close() the instances made by ToolBox.SetTools, which is probably a
good idea still, but it didn't cause my overridden LogWindow.OnClosing to run so
I gave up. The Tool Box is dumb anyway.
2021-05-16 08:57:12 +10:00
Morilli e2b38732dd Fix bsnes memory domains and add bsnes.wbx.gz 2021-05-15 19:36:08 +02:00
Moritz Bender 5d20862f26
Implement bsnes version 115 as a new core (#2740)
* Slam all this shit in here i don't care

* no lzma pls

* un-hack things that i hacked earlier (closer to bsnes source now)

* remove more unused files

* remove more files

* get some stuff working on this weird ass branch

* do this to get actual video (holy shit it works) while palette is incorrect

* make video look correct and hopefully fix stack waterbox allocation size uh ?

* Move the new bsnes core to its own dir as a new core and get input working

* remove leftover files from old bsnes

* fix some shit for now

* make lag frame detection work

* Improve cartridge loading to hopefully make sgb work (haven't tested)

- also changes some audio buffer stuff, might be better or worse than before idk
- need to figure out the saveram stuff
- path requests might actually completely fail atm, no idea how to verify that

* refactor to use a switch instead of some weird array with function pointers

- and implement snes_get_mapper, might be helpful or smth idk

* implement entropy c++-side and delete all this useless code holy

* delete dumb unnecessary code

* implement snes_peek_logical_register c++-side

* normalize all indentation

* attempt to properly support sharprtc and epsonrtc data loading and writing

* Duplicate winforms code to add entropy support c#-side and implement layer_enable functionality

The duplicated code is just so i can have a proper window for the new bsnes core. I do not like duplicating code like this, so this should be improved if possible

* Checkpoint for the start of getting rid of the ugly api wrapper stuff

* Next checkpoint for a full api refactor

* bullshit denied

just no.
every file is either copied or manually edited or written from scratch etc.
do not. force. one indent_style on every single file.
It just does not work.

* remove the entire eMessage_CMD handling and convert to native function calls

* general improvements regarding functionality

- adds hotfixes and fast_ppu core options
- add back the alwaysDoubleSize setting
- use bsnes's own serialize function for savestating now
- generate and use the color palette only in c# cause it doesn't need to be on the c++-side
- and more cleanup like always

* somewhat implement IMemoryDomains

* Implement trace logger and cleanup more unused stuff

* Implement ISaveRam, fix controller mapping for TAStudio and remove the pwrap stuff

* Fix ISaveRam, add a controller configuration box for the new core, (hopefully) fix controller inputs

- also differentiates BG prio0 and prio1 now (with options for it)
- some minor irrelevant edits in bsnes source

* Cleanup some more and optimize a bit

* Support firmware loading and make sgb work (hopefully)

* Remove all unused files

* Add back CropSGBFrame option and cleanup snes_video_refresh logic

* Some hopefully sensible changes

* One more cleanup pass

* Change to new PortedCore attribute

necessary after the changes in 98b07c42d5

Co-authored-by: nattthebear <goyuken@gmail.com>
2021-05-14 20:06:13 -05:00
YoshiRulz 68ba190c2f
Fix text wrapping in SNESOptions
fixes 64d14a7f9
2021-05-14 15:28:47 +10:00
YoshiRulz fdb5dfb7e5
Silence flood of prints on startup (in Debug), obviously no-one cares 2021-05-14 13:41:28 +10:00
YoshiRulz a9facd895a
Fix accelerator on system menu 2021-05-14 13:26:18 +10:00
YoshiRulz f614e41834
Use mnemonic instead of long name for system menu
fixes 553319ec9
2021-05-14 12:44:48 +10:00
YoshiRulz a357da360e
When mGBA fails with missing firmware, throw MissingFirmwareException 2021-05-14 12:19:45 +10:00
YoshiRulz c57cd97f56
Make MainForm.RebootCore return bool, read in MainForm.StartNewMovie
resolves #2147
2021-05-14 12:16:53 +10:00