Commit Graph

33 Commits

Author SHA1 Message Date
adelikat 3541c9e975 Make the lag counter settable, and expose this functionality in lua 2015-07-09 13:05:30 -04:00
adelikat 5bcdfb5991 IInputPollable - remove the set on LagCount as it is not needed 2015-06-11 01:23:14 +00:00
adelikat 36f4eff0f6 add ByteSize to MemoryDomain with a default of 1, set it to not 1 on appropriate domains (I probably missed some, or got some wrong). Have RamSearch use that instead of SystemInfo, remove ByteSize from SystemInfo since it is no longer needed 2015-02-22 15:19:38 +00:00
adelikat ac442130ae Refactor IMemoryDomains and MemoryDomains to have setters for MainMemory and SystemBus, so a core can customize instead of using a one size fits all assumption. Remove constructor that sets main memory and refactor accordingly 2015-01-24 16:02:28 +00:00
adelikat dfe7b23fe6 Lynx - break stuff up into separate files 2015-01-15 14:04:18 +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 d62ba4e2b4 Change IMemoryDomains to have an IMemoryDomainList instead of a MemoryDomainList, this is an incremental step into eventually having IMemoryDomains take over the properties of IMemoryDomainList, still todo: reduce the amount of needed functionality in IMemoryDomainList from old and not good code 2015-01-13 22:18:07 +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 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
goyuken 5f770e4696 update pad callback infrastructure in vbanext core, remove unused stub in lynx core, disable in dual gb core until i get around to it, better comment in gb core 2014-12-04 01:46:59 +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 9adc45f4d1 Add a ServiceNotApplicable attribute for cores to mark things like SaveRam and ISettable as not applicable for the given core, update the CoreFeatureAnalysis dialog to not show these interfaces for the given core (and not mark them as incomplete). Set various cores accordingly 2014-11-30 23:41:54 +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 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
goyuken b50ebf8032 fix 2014-11-21 01:35:54 +00:00
adelikat d64be5ed76 SystemID is Lynx not LYNX, cuz I said so 2014-11-21 01:32:15 +00:00
adelikat ec3e4151eb set release flag on lynx core to true 2014-11-17 21:58:13 +00:00
goyuken fa8934b1d4 lynx: memory domains. R/W: RAM, Save Ram. R: Cart A, Cart B. 2014-11-02 19:11:19 +00:00
jlennox a64017366c Create ISettable<T,T2>/ISettable interfaces. This checkin has not been extensively tested. 2014-10-19 01:22:47 +00:00
jlennox 10b6bed056 Add IDebuggable to relevant cores and remove non-implementations of GetCpuFlagsAndRegisters/SetCpuRegister 2014-10-18 22:30:06 +00:00
goyuken ea6a61b4fb lynx: automatically rotate the 7 games that used it, yay 2014-10-15 04:58:27 +00:00
goyuken 74358cbd09 lynx: incorporate info from no-intro into game_db 2014-10-14 00:53:13 +00:00
goyuken 9897e9016b disable debugging output from previous commit 2014-09-29 20:14:21 +00:00
goyuken ee1f84bb4a lynx: savestates. should work pretty well, but format is subject to change 2014-09-29 20:13:26 +00:00
goyuken 6e1932c8bd lynx: lag indicator 2014-09-29 18:53:53 +00:00
goyuken d9258cc4b9 lynx: saveram. unfortunately, handy gives every cart with only a single ROM bank a saveram, whether or not it's needed or used. perhaps a future gamedb project, perhaps not... 2014-09-29 18:46:55 +00:00
goyuken ec659a418a compensate for australia 2014-09-16 03:04:11 +00:00
goyuken bacbaa2bec lynx: controllers and frame timing fix 2014-09-16 00:40:15 +00:00
goyuken 28a37a57da lynx mah boi https://www.youtube.com/watch?v=bNpLXo55yfw 2014-09-15 20:12:11 +00:00