Commit Graph

71 Commits

Author SHA1 Message Date
alyosha-tas f723abe478 Intellivision PSG bug fix and clean up 2016-12-13 19:56:45 -05:00
alyosha-tas eabd8dbf07 Intellivision simulate CPU halts
NOTE: This is accurate only to a good approximation. The STIC steals too many cycles to ignore (~1000) but the timing is only estimated, see: 
http://spatula-city.org/~im14u2c/intv/tech/master.html
2016-12-13 16:45:30 -05:00
alyosha-tas 16c1468903 Intellivision fix colored square mode 2016-12-13 16:42:12 -05:00
alyosha-tas c6d8666f23 Intellivion copy paste enough stuff to get the sound working
Sound now fully implemented including in savestates
2016-12-13 12:26:56 -05:00
alyosha-tas ed091083d2 Intellivision PSG clean up and bug fix
Things sound correct now.
2016-12-13 10:22:15 -05:00
alyosha-tas d8a2f51099 Implement Sound Envelope
Just needs to be re-wired up
2016-12-12 17:53:05 -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
alyosha-tas 5ac6746fb9 Intellivision fix MOB colors 2016-12-10 19:59:59 -05:00
alyosha-tas fc8ac3b190 Intellivision fix controller ports
They are apparently reversed. This fixes numerous games.
2016-12-10 18:56:35 -05:00
alyosha-tas 3f3828455c Intellivision more audio work
Still a ways to go
2016-12-10 13:48:02 -05:00
alyosha-tas 91f36bf638 Intellivision Partial audio
Still has some bugs and is missing envelope but its getting there
2016-12-09 23:00:40 -05:00
adelikat b697110098 Rename ISoundProvider to IAsyncSoundProvider to more accurately describe what the service does 2016-12-09 10:24:43 -06:00
adelikat 5b31b33713 Remove a now unused MaxVolume property from some sound provider classes 2016-12-08 20:06:25 -06:00
adelikat 538630f957 Intellivision - document a non-applicable emualtor service 2016-12-08 13:06:20 -06:00
alyosha-tas 89940b85af Intellivision wire up sound system 2016-12-07 20:49:47 -05:00
adelikat 2cf14db2ec Intellivision - add IStatable to Intellvision.cs, because it is nice to have all the interface implementations in one place 2016-12-07 12:35:46 -06:00
alyosha-tas eda1b44238 Intellivision fill out save states 2016-12-07 10:56:31 -05:00
alyosha-tas 790376496b oops fixed error 2016-12-05 22:00:47 -05:00
alyosha-tas eeba83be83 Intellivision fix frame and add sound clocking 2016-12-05 21:51:12 -05:00
alyosha-tas dc01d08210 Intellivision start on PSG 2016-12-05 21:47:36 -05:00
adelikat e9d1af2b0c Intellivision - stubs for savestate logic 2016-12-04 08:25:28 -06:00
nattthebear a75636121a Comments 2016-12-03 19:05:40 -05:00
adelikat 5665de1797 Intellivision - add a "Fake analog" controller as the default controller for easier binding for casual play, but also leave a boolean option as well for more precise (TAS) control. Add a controller config dialog to select them. 2016-12-03 17:44:25 -06:00
alyosha-tas 825d45966c Intellivision Fixes
-Pixel Priority
-Border Fixes
-Collisoin Fixes
2016-11-17 22:54:11 -05:00
alyosha-tas dd49981eb3 Intellivison fix color stack mode 2016-11-17 19:24:10 -05:00
alyosha-tas 379a4c6c96 Intellivision clean up border collision 2016-11-16 22:32:59 -05:00
alyosha-tas 9db357017a Intellivision: Implement y-scaling 2016-11-16 20:03:19 -05:00
alyosha-tas f539f011c5 Intellivision implement x-scaling 2016-11-16 12:52:55 -05:00
alyosha-tas 9e5ec5005f Intellivision fix y-flipping 2016-11-16 10:51:26 -05:00
alyosha-tas d53e9dd898 Intellivision fixes 2016-11-16 09:20:07 -05:00
alyosha-tas 2cc4e6bf58 Intellivision Timing Fix 2016-11-15 10:28:09 -05:00
alyosha-tas 1fcb1315d1 intellivision Scrolling Bug fix 2016-11-13 22:41:25 -05:00
alyosha-tas 44cbac540b Intellivision correct scrolling
This is getting pretty dense and ugly
2016-11-13 22:13:31 -05:00
alyosha-tas c00d68d93f Intellivision implement BG delays 2016-11-13 21:13:01 -05:00
alyosha-tas 3a41cc4531 Intellivision collision detection
Heavy calculating happening here.
Needs optimization but is functional.
2016-11-12 17:53:24 -05:00
alyosha-tas 61112a0027 Stop logging all the time 2016-11-12 16:10:41 -05:00
alyosha-tas 68028d9c1d Stop logging all the time 2016-11-12 16:09:51 -05:00
adelikat ae8caf4546 Intellivision - set up memory domains service, with a few domains that were easy to do 2016-11-12 14:08:05 -06:00
alyosha-tas 216b173389 Intellivision
Begin Collision Detection work

A long way to go
2016-11-12 12:59:20 -05:00
alyosha-tas 592764890b Intellivision Fix y-value resolution 2016-11-11 18:47:47 -05:00
alyosha-tas d3cfb37a56 Update Intellivision.IEmulator.cs
P2 controller fix
2016-11-11 18:46:31 -05:00
adelikat e44493d9fb Intellivision - wire up trace logger to the core. Currently does nothing since the TraceCallback in CP1610 needs to be wired up in the object in the right places 2016-11-11 16:17:35 -06:00
alyosha-tas 65e43ca1c4 Initial Intellivison commits
Test game: Armor Battle
2016-11-11 16:47:55 -05:00
adelikat 212f94814d Intellivision - misc reorg 2015-06-18 16:44:30 +00:00
goyuken 723a90fb30 intellivision - clean up corefileprovider usage 2015-02-05 23:07:48 +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 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 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 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