Commit Graph

64 Commits

Author SHA1 Message Date
adelikat ebcd237858 Merge branch 'master' into domainedmemoryhooks 2017-10-29 12:38:29 -05:00
alyosha-tas 30f1d61f7f Atari 2600
-Recast to run single cycle
-Remove frame buffer from state
-Always end frames on vsync boundary
2017-09-20 10:27:27 -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
alyosha-tas 82d03dc3e9 A2600: implement paddle support
Warning: Deadzone in float controls should be set to zero. I don't know where to look to do this by default though
2017-06-28 10:58:40 -04:00
adelikat 74dd25e831 Start Atari 2600 peripheral support - currently ability to pick joystick or unplugged for port 1 and port 2. Virtualpads are not addressed with this commit 2017-06-27 15:14:41 -05:00
alyosha-tas a2dfb639d4 Update Atari2600.Core.cs
Fix #838
2017-05-14 19:29:53 -04:00
adelikat 7b29970ef9 atari 2600 cleanup 2017-05-05 13:49:36 -05:00
adelikat d467a1427d Atari 2600 - cleanups, de-expose some fields 2017-05-05 12:26:15 -05:00
adelikat daf3b2539b Atari 2600 - add alyosha as an author, break up IEmulator code to its own file, some misc cleanup 2017-05-05 11:56:28 -05:00
adelikat 62a13d961d Move VsyncNum and VsyncDen out of CoreComm and into IVideoProvider 2017-05-05 11:21:37 -05:00
adelikat e5f82bf329 CoreComm - make vsync fields into properties 2017-05-02 07:56:34 -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
J.D. Purcell b53502eed8 Spaces -> tabs. 2017-04-15 16:37:30 -04: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 333e17a054 Atari 2600 - add console buttons for toggling Difficulty switches. Note that this commit may or may not break both movie and savestate backwards compatibility 2016-11-11 15:28:21 -06:00
alyosha-tas ae39f13d5a Update for new sound routines
Catches cases where sound is not processed.
2016-06-04 18:33:41 -04:00
alyosha-tas d0c7d81de5 Updates and Bug Fixes
Sets stack pointer to FD on initialization (see visual 6502)
Adds portA write state to 6532
2016-05-31 09:11:57 -04:00
alyosha-tas bd5616050a Add poke flag 2016-05-27 08:52:24 -04:00
alyosha-tas 5520627b7e Fix Peek_memory so it points to mapper Peek_memory 2016-05-25 12:37:23 -04:00
alyosha-tas 7a16d7c49a Add data bus state and track it
fixes AVGN KO boxing
2016-05-23 20:31:55 -04:00
alyosha-tas 9424f30243 pick the correct mapper for Tapper and Congo Bongo
Based off SHA1 hash
2016-05-20 09:06:56 -04: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
adelikat 85730524ef Atari 2600 - restrict the access level of a bunch of things, and some slight reorg 2014-12-24 15:24:25 +00:00
adelikat 2d1a43dc65 MemoryCallbackSystem - simplify by having a single Add method with a MemoryCallbackType parameter, and some simplifying of client code as a result 2014-12-07 18:53:56 +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 309088211c Move TraceBuffer from CoreComm to IDebugable and refactor accordingly 2014-12-05 00:05:40 +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 fd80c62cdb More Util methods -> extension methods 2014-07-03 19:20:34 +00:00
adelikat f546a8080c Move some extension methods from the generic extensions file to NumberExtensions and fix up namespaces 2014-07-03 15:35:50 +00:00
goyuken b31399f810 2600: internal stuff to be checked 2014-05-27 03:11:33 +00:00
adelikat 947470e1d9 Atari 2600 - break up frame advance with StartNewFrame() and EndFrame() and wire them up to Cycle and Scanline advance, all methods are now smart enough to roll over to the next frame at the right time 2014-05-27 02:45:05 +00:00
adelikat 90af0b4858 Atari 2600 - implement ScanlineAdvance(), still todo: cycle and scanline advancing don't know when to roll over a new frame 2014-05-27 02:16:47 +00:00
adelikat f207bfaec9 Atari 2600 - slight fix to the logic of FrameAdvance so that it will "finish a frame", so any sub-stepping is accounted for 2014-05-27 01:54:08 +00:00
goyuken 7fdceb6158 2600: support SECAM as an alternate colour mode when in PAL mode. SECAM has its own rather unique color modulation system, and the atari engineers were too lazy to make a proper color encoder for it, so..... 2014-05-26 20:16:44 +00:00
goyuken 4f744323cf 2600: fix hard reset sound crash caused by recent fuddlings 2014-05-26 01:21:31 +00:00
adelikat 33abd29aec Add PAL flag to pal games in atari gamedb, remove todo in atari core 2014-05-24 01:12:18 +00:00
adelikat 4c0f693e70 Atari 2600 - expose Display Type in order to have the PAL flag recorded into movies 2014-05-23 18:04:31 +00:00
goyuken 2f7ad6a676 2600: more stuff towards PAL support 2014-05-23 15:47:48 +00:00
adelikat 424f312afa Atari 2600 - from now on, practice safe poking. Also poking is now possible on the system bus. 2014-05-23 00:29:31 +00:00
goyuken a6c5a9cdb2 a2600: frame timing infrastructure. frame time is now a constant 262 lines per frame. if the video frames don't match that, the situation is handled similarly to GB 2014-05-19 17:54:00 +00:00
adelikat 81ca8479f5 Atari 2600 - a round of cleanup, nothing useful here 2014-05-03 01:51:56 +00:00
adelikat 1669fd7755 Start an Atari 2600 debugger dialog 2014-04-19 19:01:13 +00:00
adelikat dba0d25a5c Atari 2600 - some progress on the AR mapper (Super charger), but still doesn't work 2014-04-19 16:28:03 +00:00
adelikat d1e7ed9d91 Atari 2600 - start Supercharger emulation (and mapper AR) 2014-04-16 01:18:38 +00:00
adelikat ccae8ce914 Atari - failed attempt to implement mapper CM (Compumate) 2014-04-12 16:36:30 +00:00
adelikat a1cb4b151e Atari 2600 - implement mapper FE 2014-04-12 03:48:18 +00:00
beirich 860483934f 2600: 'cycle accurate' audio, fix pitfall2 music 2014-04-10 03:30:46 +00:00
adelikat 703f1a3355 Atari 2600 - Fix some warnings 2014-04-07 22:06:38 +00:00