Commit Graph

67 Commits

Author SHA1 Message Date
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 348171bdc5 start Emulation.Common project and move the Emulation/Database folder files to it 2013-11-04 01:06:36 +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
saxxonpike 1c18da52b3 Commodore64: Border unit implemented fully, timing is much better now and works for both PAL and NTSC. 2013-08-24 20:13:16 +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
saxxonpike b5fcb81727 Commodore64: Save states implemented. 2013-08-19 03:42:40 +00:00
saxxonpike 0b6bce0198 Commodore64: Fixed NMI not triggering on the CPU. Significant performance boost from PLA optimization and motherboard glue shortcuts. 2013-08-17 23:15:31 +00:00
saxxonpike a3b1fb3c36 Commodore64: Interrupt and timer chip tweaks. 2013-08-17 10:46:27 +00:00
saxxonpike 84a0179583 Commodore64: More progress on experimental framework plus a small speedup in the current framework. 2013-08-17 05:55:07 +00:00
saxxonpike af9bbd9ae4 Commodore64: Tweak Joystick 2 input. 2013-08-14 13:53:48 +00:00
saxxonpike 5c37b64eec Commodore64: Removed a lot of unnecessary function chains and converted unsigned types to int. 2013-08-14 05:05:17 +00:00
saxxonpike e075982a00 Commodore64: Rewrote cassette, serial, 6522, 6526 and 6510 port code. 2013-08-13 12:23:32 +00:00
saxxonpike 8695ce07a4 Commodore64: Disable disk emulation (for now.) 2013-08-09 04:15:33 +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 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
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 6f6ee16cf3 C64: fix unmanaged memory leak in most recent commit 2012-12-08 16:07:06 +00:00
goyuken 1b83110a37 C64: connect audio to speexresampler. consider this commit a demonstration on "how it could be done"... 2012-12-08 16:05:00 +00:00
saxxonpike 245ce3d72f commodore64: fix up some timer chip routines, and directional dataport should be more accurate 2012-12-07 21:01:22 +00:00
saxxonpike e3082b206b commodore64: connect the 1541 disk drive to the system, memory domains also available 2012-12-07 05:24:00 +00:00
adelikat 747115962b C64 - hook up Lock key to core, doesn't do anything yet though 2012-12-06 01:19:32 +00:00
adelikat be40574bad C64 - hook up Key Restore button 2012-12-06 00:41:31 +00:00
saxxonpike c64951fce8 commodore64: implement motherboard configuration, add sprite-sprite and sprite-data collision interrupts to VIC 2012-12-05 21:07:51 +00:00
saxxonpike b55d6526d1 commodore64: PRG loading uses a more robust method 2012-11-28 17:49:42 +00:00
saxxonpike e490d1be04 commodore64: input added back, this method is closer to the circuitry itself 2012-11-28 17:26:40 +00:00
saxxonpike ccc332f8e2 commodore64: unconnected pin values in the 6510 I/O port $01 register fade over time (Aurora90%), need to verify the TTL on that sometime 2012-11-27 20:23:27 +00:00
saxxonpike 95d228f413 commodore64: new core with focus on low-level comm between chips and activity on both phases of the clock 2012-11-27 05:11:40 +00:00
adelikat 5433bdacfd Use coreoutputcomm for led light feature 2012-11-26 01:43:34 +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
saxxonpike 557f2c8815 commodore64: Tie AEC between Vic and Cpu, tie BA from Vic to RDY on Cpu. Results in better emulation of CPU bus shutdown 2012-11-25 06:33:04 +00:00
saxxonpike 64fcb75723 commodore64: a little hack to emulate the 6502 RDY pin behavior 2012-11-23 14:39:09 +00:00
saxxonpike 24ee005be7 commodore64: badline timing fix 2012-11-23 12:02:26 +00:00
saxxonpike bc06a1c59a commodore64: savestates implemented on all chips and connected 2012-11-21 01:30:54 +00:00
saxxonpike a304b5666b commodore64: savestate code added (not connected yet, devices still need to report state) 2012-11-19 19:07:38 +00:00
saxxonpike 8d6e55e2a9 commodore64: implement proper lag frame counting 2012-11-19 16:38:39 +00:00
saxxonpike 41dbbcb8b7 commodore64: more accurate FPS calculation 2012-11-18 12:10:58 +00:00
saxxonpike 90c3ce03c0 commodore64: complete VIC rewrite. PAL timing corrected (should run at around 50fps now). Region left on PAL for further timing debugging. 2012-11-18 10:25:57 +00:00
saxxonpike 0a8355ce1a commodore64: full PAL support across all chips, better HardReset behavior 2012-11-17 03:58:06 +00:00
saxxonpike fff3b623e8 commodore64: more timer functionality added to VIA, memory domains added for VIA chips in 1541 drive 2012-11-16 09:23:34 +00:00
saxxonpike 46ff936d41 commodore64: 1541 disk drive CPU emulated when a D64 or G64 is loaded, not attached to serial bus and no mechanical emulation yet 2012-11-15 15:58:26 +00:00
saxxonpike c5d6fad0e1 commodore64: CIA timer underflow interrupts implemented (BASIC now works) 2012-11-15 07:41:59 +00:00
saxxonpike b4ed1fa822 commodore64: remove DCfilter until crashes can be isolated, functional changes to SID implementation for speed 2012-11-15 03:34:28 +00:00
saxxonpike b84ec59bb4 commodore64: replaced directional data port class with a more efficient one 2012-11-14 07:12:04 +00:00
saxxonpike 7bd469d514 commodore64: add SyncSoundProvider for SID, placeholder for 1541 disk drive and VIA I/O chip 2012-11-13 22:40:54 +00:00
saxxonpike e07919476c commodore64: basic sound support, still no envelope generator so sounds will sometimes carry 2012-11-12 23:54:46 +00:00
saxxonpike 2a5be0d42c commodore64: rewrote cycle processing code, VIC should be 100% cycle accurate now. Also added preparation for PAL support 2012-11-12 16:37:11 +00:00
saxxonpike 2c5f179da2 commodore64: VIC, SID, CIA0, CIA1, RAM have their own domains now, Memory is what is visible to the CPU 2012-11-12 15:52:31 +00:00
adelikat 5574e335bb C64 - wire up remaining keyboard key controls 2012-11-11 02:36:29 +00:00
saxxonpike a096b3f224 commodore64: properly emulate CPU lag when VIC is accessing sprite data 2012-11-10 08:48:36 +00:00
saxxonpike a54df87b02 commodore64: simplification and performance increase: VIC implements IVideoProvider, SID implements ISoundProvider 2012-11-10 05:57:46 +00:00