adelikat
1fd620a1f4
fix N64 memory callbacks
2020-04-13 13:29:22 -05:00
adelikat
b5c0bfa141
remove coreComm from N64 core
2020-03-15 09:32:29 -05:00
YoshiRulz
3afcf416e8
Follow attribute class best practices, cleanup docs on attributes
2020-02-19 03:54:50 +10: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
656f2b814e
Move IEmulator extensions to the Emulation.Common namespace, the intent is that these are used and serve as built in functionality, so it's overly tedious to when most situations require both Common and an additional extensions namespace
2020-02-15 12:33:15 -06: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
zeromus
1961d8b8d0
fix mupen dll not to have 100 frame hack crash; change c# side to more visibly hang (the frame counter stops, so the condition can be detected)
2018-11-07 19:59:03 -05:00
adelikat
c6e0e9fa57
Rename CoreAttributes to CoreAttribute as to not be a bad person
2017-07-12 14:10:55 -05:00
adelikat
46568bf1ec
N64 - disable cxd64 lle RSP pluging since we don't have one that works for 64bit, and no one was probably using it anyway
2017-06-19 18:00:19 -05:00
adelikat
e6d1850361
N64 - include a 64bit version of mupen64plus-rsp-cxd4.dll, rip out Rsp_Z64_hlevideo since it is giving us no value added, as it was intended to go with the z64 video plugin (that we don't support nor need to)
2017-06-12 19:37:45 -05:00
zeromus
eec9c54236
comment out all dynarec related things
2017-06-11 17:24:32 -05: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
J.D. Purcell
b53502eed8
Spaces -> tabs.
2017-04-15 16:37:30 -04:00
Wyst3r
4c0bfd4764
m64p: Use built-in debugger to avoid major slowdowns when breakpoints are set.
...
Conflicts:
BizHawk.Emulation.Cores/Consoles/Nintendo/N64/N64.IDebuggable.cs
2017-02-24 10:41:22 +03:00
feos
39c5aae61b
Revert "Merge pull request #731 from Wyst3r/master"
...
This reverts commit 318abf691a
, reversing
changes made to 5d4c8020c2
.
2017-02-23 16:56:38 +03:00
Wyst3r
d665bad4c5
Merge branch 'master' into master
2017-02-22 19:51:13 +01: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
Wyst3r
86b16a80d6
m64p: Use built-in debugger to avoid major slowdowns when breakpoints are set.
2016-11-19 12:02:39 +01:00
pjgat09
78942a8422
N64: Added cxd4 to the RSP options
2016-09-27 15:10:38 -04:00
feos
f08a0b3849
n64 tracer: disable for dynarec
2016-08-24 19:21:16 +03:00
feos
799afc6b0a
n64: switch to regular tracer method
...
todo: same for gpgx
2016-08-14 20:35:05 +03:00
feos
49176b28bd
m64p: setup CallbackBasedTraceBuffer
2016-08-13 20:36:26 +03:00
feos
dc68b90cd0
m64p: exec breakpoint occurs, but freezes in HackyPinvokeWaitOne()
2016-08-12 00:35:52 +03:00
adelikat
ba21484ddd
add IRegionable as an emulator service to indicate NTSC vs PAL, etc. Refactor cores that conveyed this information to use this service, fixed cheaty reflection to grab this info to use the service instead, marked some cores as region not applicable where it made sense to me (I'm sure I'm wrong in some cases)
2015-08-05 20:12:09 -04:00
pjgat09
c2dd59aa3a
N64: Move the dirty hack from LoadState to the constructor instead to avoid problems with states saved on frame 0.
2015-03-17 00:11:08 +00:00
goyuken
adc3e96ca8
iemulator single instance attribute. to find out about: PSX, Apple2
2015-03-03 00:23:50 +00:00
adelikat
8246de14aa
IMemoryCallbackSystem - add a flag to indicate whether execute callbacks are available, in lua and the debugger, take this flag into account, also improve some availability checking in Lua memory callbacks. Flag N64 as not having execute callbacks available
2015-01-25 22:14:58 +00:00
adelikat
29b056b972
N64 - wire of a disassembler, doesn't look like it works correctly, but at least the plumbing is done
2015-01-23 19:52:26 +00:00
goyuken
82fcd0bc5e
refactor IVideoProvider into a service. uses in mainform and friends are still hacky
2015-01-14 22:37:37 +00:00
adelikat
fbdb29b64c
refactor IMemorydomains to be a domain list instead of having a domain property, refactor cores to register an IMemoryDomains instead of being one
2015-01-14 21:55:48 +00:00
adelikat
9fc46f6764
mark cores that would not ever use IDriveLight, a bit silly, but it keeps the feature list clean and that's currently my only source of sanity with keeping up with what needs to be done
2014-12-12 01:58:12 +00:00
adelikat
3dfd57197d
N64 - cleanup after adding new services and such
2014-12-05 02:22:41 +00:00
adelikat
0b84beec88
Move MemoryCallbackSystem from CoreComm to IDebuggable and refactor accordingly, Lua - tell the user when memory callbacks are not available for a given core
2014-12-05 01:56:45 +00:00
adelikat
f5cc38c9cd
AsInputPollable()
2014-12-05 00:59:00 +00:00
adelikat
d8a204572d
Add an IServiceProvider interface and make it a property of IEmulator, the purpose of this provider is to provide IEmulatorServices upon request. Make BasicServiceProvider and have all cores use it for now. BasicServiceProvider will return the core itself if the core itself is the requested type. He will also be able to return nested types (code not finished). Wired this up to the HasSavestates extension method (a method that has minimal value now) as a proof of concept.
2014-12-04 03:38:30 +00:00
adelikat
a07263c04e
Move InputCallbackSystem from CoreComm to IInputPollable, and refactor all cores accordingly. Lua - OnInputPoll() - log to the user when attemping to add a callback of this type to a core that has not implemented input callbacks. Mark all unmanaged cores' implementations of the InputCallbackSystem as FeatureNotImpleented, won't have any effect on functionality, but will help us keep track of the fact that they still have a bit of work to do. Still todo: ActiveChanged event handler on the base implementation of IInputCallbackSystem
2014-12-04 00:43:12 +00:00
adelikat
a83d714c42
Break off IsLagFrame and LagCount from IEmulator and put into its own interface IInputPollable, and refactor cores as necessary. EmuHawk - account for the possibility that a core is not an IInputPollable, and do things like disable the lag counter menu item. Still some front end todos. Also still todo, move the InputCallbackSystem from CoreComm to IInputPollable
2014-11-30 20:29:30 +00:00
adelikat
76148ae111
Break off savestate functionality from IEmulator into IStatable and refactor things accordingly. Still todo (a big todo): EmuHawk should gracefully handle a core that is not an IStatable by disabling functionality dependent upon it (Savestates, Rewind, Tastudio, etc)
2014-11-30 16:42:58 +00:00
adelikat
5d512c4c5d
N64 - break off ICoreService implementations into separate files
2014-11-30 15:38:39 +00:00
adelikat
865795049b
Break off saveram methods from IEmulator into a separate ISaveRam interface. Remove the setter for SaveRamModified (every single core was throwing an error on this, and no client code was using it). Remove these methods from cores that don't actually implement this interface
2014-11-30 15:22:08 +00:00
adelikat
0e82fff3ff
Clean out ClearSaveRam() calls since they are no longer used
2014-11-24 15:00:54 +00:00
adelikat
9c285e3e3a
Put NotImplemented attribute on a bunch of things, and remove IMemoryDomains from a few cores that were implementing it but throwing a NotImplementedException
2014-11-24 01:17:05 +00:00
adelikat
1832894405
IDebuggable - GetCpuFlagsAndRegisters() - refactor to make it an IDictionary instead of Dictionary
2014-11-23 16:22:02 +00:00
goyuken
dc2ca1f010
remove the extra ISettable (non-generic argument) interface and corresponding crud from cores, and replace with a shim class
2014-10-31 15:46:13 +00:00