Commit Graph

64 Commits

Author SHA1 Message Date
SaxxonPike 3bf37f1c17 C64: No need for LagCycles anymore. 2019-07-06 16:29:14 -05:00
SaxxonPike 6ed11de85b C64: Soft/Hard reset: it's about time 2019-07-06 01:19:58 -05:00
adelikat 04ce66c397 phase 1 of changing memory callback api to specify domain - require cores to specify which domains are available and have the domain passed in when creating callbacks. Still todo - cores need to pass in domain name on CallReads/Writes/Executes methods 2017-08-01 22:05:17 -05:00
adelikat c6e0e9fa57 Rename CoreAttributes to CoreAttribute as to not be a bad person 2017-07-12 14:10:55 -05:00
adelikat 1877cce021 C64 - misc cleanups 2017-05-30 13:10:01 -04:00
adelikat 3cc74932a7 Set C64 to released, and remove some hacks that hid C64 in some places 2017-05-30 12:12:10 -04:00
adelikat 3a852707c4 C64 - expose tape data as a memory domain, because why not 2017-05-28 08:52:16 -05:00
adelikat be39513b9e C64 - show mapper info in rom annotation, if rom is a cart 2017-05-27 11:57:38 -05:00
adelikat 001091f9a1 C64 - wire up the trace logger, to the 6502 parts of the 6510 at least. THere might be more things to wire up 2017-05-16 18:40:17 -05:00
adelikat f093ad8606 C64 - multi-disk support 2017-05-15 19:52:05 -05:00
adelikat caf9802412 C64 - remove the SaveState.DoNotSave attribute 2017-05-13 13:04:02 -05:00
adelikat 8ae05f2d01 C64 - remove the SaveState.SaveWithName attribute 2017-05-13 12:46:19 -05:00
adelikat ee183d3505 oops, remove some debugging code that shouoldnt' be checked in 2017-05-13 08:01:04 -05:00
adelikat 1443e39ed0 convert Motherboard, Cia SyncStates to explicit stating 2017-05-12 19:44:20 -05:00
adelikat 383baa6d1e c64 - savestate refactor round 1 - do explicit savestating for the root C64 object 2017-05-12 16:26:04 -05:00
adelikat 1222b4d5b5 C64 - implement IBoardInfo 2017-05-12 15:36:15 -05:00
adelikat 48080c838f do not mark C64 as not having ISettable..since it implements it. Group C64.ISettable.cs with C64.cs 2017-05-12 14:32:56 -05:00
adelikat 9cbe1e3112 C64 - some cleanups - remove unused stuff, make unnecessarily public things private 2017-05-12 14:22:37 -05:00
adelikat 59ac3897da C64 - break up services more 2017-05-12 14:06:34 -05:00
adelikat 7b2b1c325b C64 - fix framecount getting reset to 0 on savestate, not sure why it was broken teh way it was and why this is necessary but meh, it is fixed and more like how other cores handle Frame anyways 2017-05-10 16:28:27 -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 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
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
adelikat 3dd5478efd spaces to tabs in C64 files 2017-04-24 10:09:31 -05: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
Tony Konzel 93fcb293d8 C64: Fix the build post-merge (derp.) 2016-03-15 11:38:55 -05:00
Anthony Konzel 9557a25301 C64: Improved disk support. 2016-03-09 19:53:02 -06:00
Anthony Konzel 178457309a C64: Drive light reflects both cartridge LED and disk drive now. 2016-03-05 16:00:19 -06:00
Anthony Konzel 8fd552274e C64: Discover file formats heuristically instead of by filename. 2016-03-05 15:23:22 -06:00
Anthony Konzel 57676608d0 C64: Fix ROM load order. 2016-03-04 17:29:47 -06:00
Anthony Konzel f4f45f73a8 C64: Better lifecycle management and 1541-II support. 2016-03-04 16:06:25 -06:00
Anthony Konzel 87200593b6 C64: Internal support for multiple files and Epyx Fastload support. 2016-03-03 21:14:19 -06:00
Anthony Konzel ac9a4ef777 Apply C64 core update patch. 2016-02-22 17:50:11 -06:00
adelikat c57519c54f C64 - add a c64 menu with a settings menu and dialog 2015-10-10 12:20:59 -04:00
Kabuto 004c8294fb c64 core uses ISettable now and supports 2 more video standards 2015-09-28 23:52:23 +02:00
Kabuto f7c15bfd0f Fixed indentation and TODOs 2015-09-28 20:53:19 +02:00
Kabuto 1e9564a337 C64 core: tape loading added, lots of bugfixes and improvements 2015-09-28 01:30:58 +02: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
adelikat 5bcdfb5991 IInputPollable - remove the set on LagCount as it is not needed 2015-06-11 01:23:14 +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 b416645768 C64 - reorg some core code 2014-12-18 18:39:55 +00:00
adelikat 08fb509a1a Add an IDriveLight Emulator service, and remove the CoreComm properties, and refactor accordingly 2014-12-12 01:49:54 +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 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