Commit Graph

116 Commits

Author SHA1 Message Date
adelikat 1061add64f Refactor MemoryDomains in IEmulator, make a MemoryDomainsList object rather than IList<MemoryDomain>, remove MainMemory from IEmulator and make it a property of this new collection object, also add indexing by name. Refactor cores and tools as needed 2013-11-06 02:15:29 +00:00
adelikat be547db4a1 Move MemoryDomain to its own file, and move the Endian enum into it, also clean up the class a bit, and refactor things as necessary 2013-11-04 02:11:40 +00:00
adelikat 9751fd5a1a Move interfaces and base implemenations from emulation to emulation.common 2013-11-04 01:39:19 +00:00
adelikat 348171bdc5 start Emulation.Common project and move the Emulation/Database folder files to it 2013-11-04 01:06:36 +00:00
adelikat 7b03fc0bc0 Move Buffer.cs and Util.cs from BizHawk.Emulation to BizHawk.Common, and add 1234832983 usings 2013-11-04 00:36:15 +00:00
adelikat bbc12256b2 Rename IEmulator.ResetFrameCounter() to ResetCounts() as that is a more precise term since it resets frame and lag counter variables (and theoretically any other similar counters that could get implemented) 2013-11-03 16:29:51 +00:00
goyuken 0803adc32a add a "BoardName" to IEmulator that an emulation core can use to return useful information about how the rom is being emulated. meant to be mostly for informative purposes; shouldn't rely on it for too much. implemented in GB and NES cores 2013-08-24 16:54:22 +00:00
goyuken 7b7b95e95d add a new field to IEmulator: bool BinarySaveStatesPreferred { get; }. a core should set it to true to indicate that it would prefer to save and load binary savestates (but both types must be supported). set to true on 7800, gb, dgb, gba, n64, snes, saturn cores, as they all create text savestates that are simply dumps of the binary savestate. for the moment, frontend does nothing with this new information. 2013-05-06 20:51:28 +00:00
adelikat c577eb4854 Atari 2600 - DPC Mapper - add in clock cycle counting and some fixes, but still doesn't work, don't know why at this point 2013-04-20 22:09:19 +00:00
adelikat 462e861072 last round of pointless code cleanup 2013-04-16 00:42:57 +00:00
adelikat be2937fdec Code refactoring of Tools files - no functional changes other than some very tiny speedups and null checks 2013-04-14 23:56:45 +00:00
adelikat cff1ff2940 Removing unused directives from a bunch of files because I was playing around with resharper, but that got boring so not every file 2013-04-14 20:39:19 +00:00
adelikat 3e639d65ab Atari 2600 - implement TIA, PIA, and System Bus domains (note that there is no poke ability on the system bus domain at this time) 2013-03-11 01:46:12 +00:00
adelikat 84bc032656 Some warning cleanup 2013-02-24 20:17:12 +00:00
goyuken 03f5b3ae96 serializer: add another duplicate check (this time on section names within a single section), and fix 2600 savestates 2012-12-18 20:37:31 +00:00
zeromus a4b442abda unify coreinputcomm and coreoutputcomm. there is a slight chance your console will be messed up until i fix a teeny tiny something, since i didnt test them all, since with more recent cores i dunno what roms are working anyway. let me know if i broke anything. 2012-12-10 00:43:43 +00:00
goyuken cb4288ada4 rearrange the api of DCFilter a bit to make it less dumb. nothing of real importance 2012-12-09 15:58:55 +00:00
goyuken b7c66cf3c2 Util.Serializer: Consume no data past the end of the last proper section. As a result, when using Util.Serializer in text mode, you MUST enclose your entire savestate in a single section (named to your liking). Fixes input log save\load issues. All old A2600 savestates broken. 2012-11-28 18:27:14 +00:00
goyuken 0094562d2a per previous discussion, IEmulator.ResetFrameCounter() should reset lag frame related stuff as well 2012-11-25 15:41:40 +00:00
goyuken 6ffd71973a 6502: improve tracelog to only disassemble actual opcodes, and also enable it on 2600 2012-11-02 22:27:22 +00:00
zeromus 24d3bb76e2 fix 2600 Peek support, as best I can tell how. 2012-11-02 19:35:13 +00:00
zeromus aa161d8910 proper Peek support in NES and 6502X 2012-11-02 19:28:00 +00:00
adelikat 6e214a6059 Atari 2600 - fix mapper E7 2012-11-01 03:26:24 +00:00
adelikat ae7bb1b590 Atari - progress on DPC mapper, still doesn't work 2012-11-01 01:54:33 +00:00
pjgat09 2d2e0c7e31 A2600: Resetting players before hsyncCnt 76 has apparently has strange results. I borrowed these changes from EMU7800. This seems to fix glitches with Frostbite. 2012-10-31 23:42:18 +00:00
pjgat09 a5d4cd155d A2600: Fixed problem with missile-to-player reset. Reset should only occur on the first drawing of the player. 2012-10-31 20:09:14 +00:00
adelikat 4ed68e0c9a oops 2012-10-30 23:42:42 +00:00
adelikat 1d4a8fd3ba Atari 2600 - add a Playfield toggle 2012-10-30 23:38:53 +00:00
adelikat a4a53342d1 Atari - Checkin DPC Mapper file 2012-10-30 23:13:49 +00:00
pjgat09 c1c85dba56 A2600: Implemented atari graphics toggles except for playfield 2012-10-30 23:12:09 +00:00
goyuken 27bcfcff55 oops 2012-10-30 22:41:56 +00:00
goyuken acc9806d55 2600: add fake mDPC.cs to fix compile. 2012-10-30 22:14:31 +00:00
adelikat ca86a8dff3 Atari - start DPC mapper (Pitfall 2) - only does the basic bankswitching right now, still needs the 2k display bank and DPC sound chip 2012-10-30 01:33:56 +00:00
pjgat09 dfb45aa99c A2600: Fixed graphics on games including Enduro and Activision Boxing 2012-10-26 03:44:13 +00:00
pjgat09 bff6ac53d7 A2600: Fixed issue with vsync which caused flashing in Pleaides and Enduro 2012-10-26 01:50:08 +00:00
pjgat09 ce930374de A2600: Added very basic paddle support. Changing a hard coded value while debugging the emulator allows you to move the paddle. 2012-10-24 03:30:02 +00:00
adelikat 9a1cbbb34c Atari - attempt the 3E mapper, seems broken 2012-10-20 01:51:38 +00:00
adelikat 4f045eb20d Atari - a stab at implementing mapper m4A50, don't work, oh well, the mapper is garbage and overly complicated, and can't really exist 2012-10-20 00:14:28 +00:00
adelikat 90a288afeb Implement X07 mapper 2012-10-19 23:31:42 +00:00
adelikat 162932797b Atari - make 4Pak use the F6 mapper (header wants 4IN1 which I couldn't find any info on). F6 makes it playable it seems. 2012-10-19 21:33:23 +00:00
adelikat 563065d054 AtariHawk - fixes to the E7 mapper, still broken, don't know why, tired of looking at it 2012-10-19 00:13:39 +00:00
adelikat 00934939b0 AtariHawk - implement mapper 3F (including support of 512kb for homebrew) 2012-10-18 22:22:09 +00:00
adelikat 826419a0a3 AtariHawk - don't flag a frame as lag if the control switches are being read 2012-10-18 19:45:44 +00:00
goyuken 556d428406 atari: fix mapper F0 (megaboy). game appears to be playable 2012-10-15 15:17:20 +00:00
goyuken 591857ad0f atari2600: show what mapper is in use in romstatusdetails 2012-10-15 15:13:32 +00:00
adelikat f7c6659b76 Atari - Mapper E7 - small fix, the games still don't work but it may or may not be this mapper, need to look into it more 2012-10-15 14:29:13 +00:00
adelikat 6fedb67949 Fix the Write callback for the MemoryCallBackSystem and refactor the object more appropriately 2012-10-14 14:08:25 +00:00
adelikat 98ae0abe28 Lua - Implement onmemoryread() and onmemorywrite() to the remaining C# cores except Genesis 2012-10-13 20:15:28 +00:00
goyuken b40897bb77 sound api changes. added a new ISyncSoundProvider, which works similarly to ISoundProvider except the source (not the sink) determines the number of samples to process. Added facilities to metaspu, dcfilter, speexresampler to work with ISyncSoundProvider. Add ISyncSoundProvider to IEmulator. All IEmulators must provide sync sound, but they need not provide async sound. When async is needed and an IEmulator doesn't provide it, the frontend will wrap it in a vecna metaspu. SNES, GB changed to provide sync sound only. All other emulator cores mostly unchanged; they just provide stub fakesync alongside async, for now. For the moment, the only use of the sync sound is for realtime audio throttling, where it works and sounds quite nice. In the future, sync sound will be supported for AV dumping as well. 2012-10-11 00:44:59 +00:00
goyuken 19e5325afa DCFilter: allow variable filterwidth. 2600 tia: use a rather aggressive (~172hz cutoff) dc filter. this coefficient is reasonably close to actual hardware behavior. 2012-10-10 00:56:48 +00:00