Commit Graph

157 Commits

Author SHA1 Message Date
adelikat d4c8615e95 remove unused usings and other redundancies 2020-04-23 20:33:18 -05:00
zeromus 10bceeb0dc Nope, I think it's a good idea now.
Revert "This reverts commit c878c85daeaaf0cae3e28f24bc1a8b511293d7b6."
This reverts commit 1d1f2a18c6.
2020-04-23 21:20:59 -04:00
zeromus 1d1f2a18c6 This reverts commit c878c85dae. 2020-04-23 21:06:12 -04:00
zeromus c878c85dae for your consideration: sync settings return flags instead of a bool, so we can have more granularity in what needs resetting than just "reboot core". for instance, we would like to minimize the number of times the window layout is redone by not doing it when the screen settings havent changed. HOWEVER, while I was writing this commit message, I realized, I should probably do it just by being more cautious in kicking off the layout (unless the data coming from the core has changed, a layout shouldnt happen). So I am going to make this commit, in case it inspires anyone, and then revert it. 2020-04-23 21:05:56 -04:00
adelikat 325551ecd0 consistently check if callbacks exist before calling memory callbacks, across all cores 2020-04-21 16:42:57 -05:00
YoshiRulz 0ba7a5a7df
Rename axis-related types, members, and locals
I left a few methods where they had an equivalent *Bool*() for buttons, and also
left some in TAStudio that get serialised.
2020-03-31 17:29:55 +10:00
adelikat 3c638f018f refactor CoreComm usage in remaining cores 2020-03-15 09:44:47 -05:00
adelikat da95c1f56f remove RomAnnotation fields on CoreComm and use the service instead 2020-03-14 22:10:57 -05:00
adelikat 42dc7edd23 pass in rom annotation details to Octoshock so it can set coreComm, ideally the core should figure all this out but this works okay 2020-03-14 21:36:51 -05:00
adelikat 3cacb88e48 a few cleanups in octoshock 2020-03-14 21:27:05 -05:00
YoshiRulz e12b5d8137
Refactor FloatRange creation and usage
effectively resolves #1200
* Replaced floats in FloatRange with ints (would have used shorts but
SubGBHawk/SubNesHawk use an axis to hack in cycle count or something), added
both Range<int> and Range<float> auto-properties
* Added bool field IsReversed to FloatRange
* Added enum AxisPairOrientation and factory method using it
* Cleaned up usages of FloatRange fields and properties
* Added new properties to PadSchema.ButtonSchema for type
PadInputType.AnalogStick (to hold the two FloatRanges) and used
ControllerDefinitions from cores to dedup these ranges in the schemata
* Made VirtualPadAnalogStick work properly: both the direction and bounds are
correctly set from the controller schemata, the polar conversion measures angles
consistently (though I think it might not work outside -128..127 e.g. for PSX),
and I didn't break the sensitivity override, plus negative percentages might
work now but I didn't allow those
* Renamed FloatRange to AxisRange, but did not rename related symbols
2020-03-14 20:47:45 +10:00
adelikat 46d05de51f nothing to see here 2020-02-28 12:52:48 -06:00
adelikat cdcc1eabde use inline out variables in Emulation.Cores 2020-02-18 15:10:29 -06:00
adelikat 606c3bf1c2
use more advanced language features in Emulation.Cores (#1852)
* Use expression bodies in Emulation.Cores, and a few other misc cleanups

* remove unused usings in Emulation.Common

* cleanups in Tables_Direct.cs

* some cleanups in nes boards - redundant code

* remove some redundant array initializers in Emulation.Cores

* cleanup AmstradCPC.Controllers

* use object initializers in a lot of places

* nes mappers - remove disch's notes comments in favor of the nesdev wiki link

* cleanup CdtConverter.cs, mostly use of object initializers

* remove redundant .ToString() calls in Emulation.Cores

* using var in Emulation.Cores

* AmstradCPC/ZXSpectrum - simplify some linq, tabs instead of spaces, a few other misc cleanups

* Use null-propagation in Emulation.Cores
2020-02-17 16:54:51 -06:00
adelikat 4b7a7dd293
Make Binary states default and Textstates opt-in for cores (#1848)
* Rewind & State config - remove the default option

* remove the savestate type of default, not that this is a breaking config change for anyone that had specifically set savestates to text

* remove BinaryStatesPreferred from IStatable and use config setting when starting movies from "Now" in record movie dialog

* remove BinaryStatesPreferred from cores

* make text savestates an extension method off of IStatable and an inteface ITextStatable it uses if the core implements it. This will allow cores to opt in to text states if desired

* make cores with actual text savestate impleemntations get ITextStatable, remove text state logic from cores that just have a binary as as text implementation
2020-02-15 10:22:26 -06:00
adelikat 3287a0c465 account for new name of PSX controller in controller config, delete standard controller image since we no longer have variable name controllers anyway, fixes #1814 2020-01-26 13:27:57 -06:00
YoshiRulz df5a382b76
Move disc hashing to PSX class, remove unused project dependency 2020-01-22 05:56:59 +10:00
YoshiRulz c3a359a58c
Rename PSX front panel name in def (from #971) 2020-01-13 00:22:11 +10:00
adelikat fef746dffa properly dispose of IDisposables in core savestate code, and a few other places 2019-12-06 17:33:17 -06:00
Brian Armstrong 2c6ecb68bd Merge branch 'master' into brian/mem_callback_addr_value 2019-06-06 02:11:04 -07:00
Brian Armstrong d41bd867b8 flags 2019-06-06 02:04:47 -07:00
James Groom 4e91f88af3
Use nameof in cores 2019-03-28 14:18:58 +11:00
Brian Armstrong a8f293eec8 Call mem callbacks with addr, value 2019-01-24 03:23:21 -08:00
alyosha-tas c19c7cd5c3 SubNESHawk
also Input register shift fix

# Conflicts:
#	BizHawk.Client.EmuHawk/MainForm.Designer.cs
#	BizHawk.Client.EmuHawk/MainForm.Events.cs
#	BizHawk.Emulation.Cores/Computers/AmstradCPC/AmstradCPC.IEmulator.cs
#	BizHawk.Emulation.Cores/Computers/SinclairSpectrum/ZXSpectrum.IEmulator.cs
#	BizHawk.Emulation.Cores/Consoles/Nintendo/NES/PPU.run.cs
2019-01-10 18:25:59 +03:00
adelikat ebcd237858 Merge branch 'master' into domainedmemoryhooks 2017-10-29 12:38:29 -05:00
nattthebear 5e3cdba869 Finally dump some old movie 1.0 cruft 2017-08-11 19:45:45 -04:00
adelikat cd289c474e memorycallbacks with domains - Phase 2 - change api to Call methods and refactor accordingly, everything should behave as it was before the refactor at this point. No cores have yet to be implemented with domains other than the default bus they already had 2017-08-03 18:08:07 -05:00
adelikat c6e0e9fa57 Rename CoreAttributes to CoreAttribute as to not be a bad person 2017-07-12 14:10:55 -05:00
nattthebear 2dd10ea951 Update some author meat-a deet-a 2017-07-09 12:18:33 -04:00
adelikat 1dae91e6a8 clean up core constructors - consistent parameter casing, and put them at the top of the class 2017-05-05 19:05:36 -05:00
adelikat 59139ab266 Spell out Numerator and Denominator 2017-05-05 11:25:38 -05:00
adelikat 62a13d961d Move VsyncNum and VsyncDen out of CoreComm and into IVideoProvider 2017-05-05 11:21:37 -05:00
adelikat 698c6741ae Refactor IEmulator and remove the IController property, instead pass it as a paramter to the FrameAdvance() method 2017-05-01 20:09:11 -05:00
adelikat ded1c2d7b7 Break off BoardName from IEmulator into a separate IBoardInfo service 2017-04-30 21:01:54 -05:00
zeromus 10dc2abdef psx: fix non-multitap input 2017-04-30 13:36:18 -05:00
zeromus d3a1ec64dd psx: multitap support. tested for 20 seconds, but worth someone else testing. 2017-04-29 04:11:09 -05:00
adelikat 3192cc70ae slight refactor to IEmulator - make the IController property set only to more clearly express the client -> core relationship 2017-04-26 19:09:00 -05:00
zeromus 507ca1db27 psx: support negcon (c# side) 2017-04-25 22:59:46 -05:00
adelikat 54ebe75d2b remove the obsolete MemoryDomain.FromIntPtr method 2017-04-24 13:47:40 -05:00
adelikat 72a59087b5 Use the IController indexing property less in preparation for removing it from the interface. Replaced with its more explicity counter-part .IsPressed() 2016-12-14 12:42:15 -06:00
adelikat b73a500d6b Major sound provider refactor. Create a unified interface ISoundProvider, that is an IEmulator service and break it off of IEmulator. IAsyncSoundProvider was kept as a shim for now, for legacy cores that were inherintly async. 2016-12-11 11:15:00 -06:00
adelikat b697110098 Rename ISoundProvider to IAsyncSoundProvider to more accurately describe what the service does 2016-12-09 10:24:43 -06:00
feos 6e0b8e2784 yabause tracer 2016-08-24 00:05:17 +03:00
zeromus e7e4904c79 more complete fix to psx tracelogger delegate GC bug 2016-08-21 15:36:56 -05:00
zeromus 3435e5f70e psx tracer - probably fix crash due to disposed delegate (didnt test) 2016-08-21 15:27:31 -05:00
feos 00d77a4253 psx tracer: tiny cleanup 2016-08-21 22:37:35 +03:00
feos 91fd016868 setup psx tracer because why not
arguments string doesn't arrive for some reason, otherwise all looks good

move psx disasm functionality to separate files (disassembler doesn't do anything yet)
2016-08-21 21:19:48 +03:00
adelikat f5e679fa0d Refactor ITraceable to work on TraceInfo objects that separate Disassembly and Register information. Make Tracelogger two columns. 2016-02-21 17:34:42 -05:00
zeromus e855cb39cd psx - add "determine lag from GPU frames" option 2016-01-28 13:53:22 -06:00
scrimpeh ef1bc65ce6 IInputPollable - Make IsLagFrame settable 2016-01-26 11:34:42 +01:00