Commit Graph

219 Commits

Author SHA1 Message Date
saxxonpike 842ead8c7e Commodore64: Fully implement the interaction between Cpu, Vic and PLA on BA/AEC lines. 2013-08-12 05:04:50 +00:00
saxxonpike c02f79e99c Commodore64: Rewrote PLA to fix chip select problems. 2013-08-11 02:46:27 +00:00
saxxonpike df8788c6e1 Commodore64: Core updated to use new Firmware system. 2013-08-11 02:43:18 +00:00
saxxonpike d6850afb44 Commodore64: Convert lambda functions in the mobo glue into methods for ease of debugging and performance. 2013-08-09 05:34:38 +00:00
saxxonpike 75f279a30b Commodore64: Writing to expansion memory space while banked in does not write through to underlying RAM. 2013-08-09 05:33:40 +00:00
saxxonpike 8695ce07a4 Commodore64: Disable disk emulation (for now.) 2013-08-09 04:15:33 +00:00
saxxonpike f504a9a4de Commodore 64: outputs set to read-only on the 6510 IO port are always high 2013-08-09 03:14:11 +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 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
saxxonpike 31fba1ec2b commodore64: change from uint to int, seems to speed things up a little with no side effects 2012-12-11 06:27:00 +00:00
saxxonpike 5a8ce4000b commodore64: clean up unneeded files since the Sid is hooked up to the Speex resampler now 2012-12-10 22:51:02 +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 1d3ff8524a commodore64: slight tweak 2012-12-07 21:02:02 +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 e4ff87e92a commodore64: implement more c64-disk communications, hook up drive LED 2012-12-07 17:06:07 +00:00
saxxonpike 38adb50a10 commodore64: via6522 - implement more registers 2012-12-07 11:45:50 +00:00
saxxonpike 28d0328a54 commodore64: work on 1541 VIA timer chips 2012-12-07 06:20:20 +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
saxxonpike 526ad358d1 commodore64: disk and tape framework added 2012-12-06 06:53:55 +00:00
saxxonpike cdd0e49726 commodore64: oops, forgot one file. 2012-12-06 06:26:32 +00:00
saxxonpike e1ff14e475 commodore64: change directory structure a little, rename namespaces for consistency 2012-12-06 06:25:30 +00:00
saxxonpike e449ab34fd commodore64: implement Serial and Datassette interfaces (there are no devices to connect them to yet) 2012-12-06 04:29:08 +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 7fa80cdcaf commodore64: add some cartridge docs 2012-12-03 21:11:48 +00:00
saxxonpike 2545bfbb4e commodore64: actually connect the cartridge state to the serializer 2012-12-03 08:42:50 +00:00
saxxonpike e60f308af0 commodore64: savestate support for all chips + cartridge 2012-12-03 08:38:12 +00:00
saxxonpike bb3061baf8 commodore64: SyncState for MOS 6526 2012-12-03 07:43:11 +00:00
saxxonpike 0191b1e507 commodore64: slightly better sound sampling routine for non-sync provider, placeholder until I can get the resampler to work 2012-12-03 06:47:14 +00:00
saxxonpike be37d1dc53 commodore64: crop screen, fix sound pulsewidth register writing (it was being processed as 16 bits instead of 12) 2012-12-03 06:08:12 +00:00
saxxonpike 58db36e311 commodore64: connect sound 2012-12-03 04:19:45 +00:00
saxxonpike 5fcf41ebbc commodore64: add sprites (no collision or priority yet) 2012-12-02 23:57:10 +00:00
saxxonpike 0907de61cc commodore64: fixed sprite DMA delay timing, should make very time-sensitive intros run better and some games as well 2012-12-02 22:15:08 +00:00
saxxonpike 046e3244ce commodore64: fix 6510 IO port input pin values 2012-12-02 15:10:37 +00:00
saxxonpike d734d0f44f commodore64: 6510 hard reset now loads startup vector AFTER banks are initialized, more carts start up now 2012-12-01 10:42:46 +00:00
saxxonpike d951094e6d commodore64: Add 6526 2-cycle timer delay, seems to pass more tests now. CPU Dataport inputs on lower 3 bits are always high now, may fix some paging issues. Fix joystick input so that only port A is affected on pure outputs. 2012-12-01 08:40:08 +00:00
saxxonpike 08c83a16fd commodore64: joystick input now works 100% accurately (tested with ciaports.prg from the VICE test suite) 2012-12-01 00:02:24 +00:00
saxxonpike 3049098afb commodore64: connect IRQ and NMI lines to cartridge port (no games seem to use them but it is in the schematic) 2012-11-30 23:20:35 +00:00
saxxonpike ae8566a0df commodore64: made some input changes (more fixes to come later), removed some duplication in pin information between PLA, CPU and cartridge port 2012-11-30 21:12:23 +00:00
saxxonpike 5069b24b2e commodore64: work begins on sound engine 2012-11-30 06:41:02 +00:00
saxxonpike f23e777032 commodore64: properly implement mirroring in cartridge mapper 0000 2012-11-30 01:56:14 +00:00
saxxonpike c1f9a131d5 commodore64: add mapper 000B (some educational titles) and mapper 0011 (a couple obscure games), increase PLA memory map efficiency 2012-11-29 20:15:02 +00:00
saxxonpike 0e5ef426d4 commodore64: added mapper 000F (System 3/C64GS games like Last Ninja Remix and Myth) 2012-11-29 18:34:44 +00:00
saxxonpike bb36cc5e62 commodore64: add Domark/HES mapper 0013 2012-11-29 18:11:59 +00:00
saxxonpike e4c760be83 commodore64: fixed Ultimax E000 mapping, updated mapper 0000, added EzFlash mapper 0020 (no official games use this but a lot of disk-to-cart and homebrew do) 2012-11-29 17:58:35 +00:00
saxxonpike 1eca7805cf commodore64: add cartridge mapper 0012 (Zaxxon, Super Zaxxon), fix mapper 0000 to support 4k roms 2012-11-29 16:33:04 +00:00
saxxonpike d05bd47ed0 commodore64: add cartridge mapper 0005 (Ocean), should cover a few high profile games 2012-11-29 06:29:42 +00:00
saxxonpike 1e6fdc2659 commodore64: VIC reads from proper bank, increased performance 2012-11-29 02:46:35 +00:00
saxxonpike 27217f119d commodore64: adjusted BA timing for PAL (it was taking one cycle too many), makes a lot of timing-sensitive games and demos run better 2012-11-28 21:09:45 +00:00
saxxonpike 798c355c7e commodore64: add 4 pixel background data delay, a quick hack until I can understand what's really happening 2012-11-28 19:35:48 +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 8e55810161 commodore64: more video function implemented in the new system, 12 pixel delay also applied to border 2012-11-28 06:21:52 +00:00
saxxonpike 49a847d8bc commodore64: VIC timing fix, implemented new cartridge I/O which handles writes into ROM addresses (apparently some carts use this) 2012-11-28 03:30:59 +00:00
saxxonpike 46e13a6a57 commodore64: only initialize RAM array on instantiation, memory already cleared in HardReset 2012-11-27 21:03:01 +00:00
saxxonpike e44c6cfa55 commodore64: RAM striping 00/FF 2012-11-27 20:47:03 +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 178e1a4518 commodore64: fill in fetch code 2012-11-27 06:21:46 +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 4ffce9e5f9 commodore64: slight performance gain, video rendering pipeline structure rebuilt for flexibility (for pending changes) 2012-11-24 06:20:49 +00:00
saxxonpike af355f6d5b commodore64: clean up video code, remove unused VIC emulation 2012-11-24 02:10:05 +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 710f8f07c9 commodore64: video is now more cycle accurate on NTSC 2012-11-22 15:48:48 +00:00
saxxonpike 155d185fe5 commodore64: further work on video code 2012-11-22 06:40:16 +00:00
saxxonpike 7114ecd914 commodore64: more work on new video code 2012-11-21 20:39:51 +00:00
saxxonpike 484545fef6 commodore64: restructuring of VIC code for video glitch fixes 2012-11-21 06:55:53 +00:00
saxxonpike 381b064d2a commodore64: fix sprite priority (no longer always in background) 2012-11-21 02:45:14 +00:00
saxxonpike bc06a1c59a commodore64: savestates implemented on all chips and connected 2012-11-21 01:30:54 +00:00
saxxonpike dab0a0dd38 commodore64: add VIC chip savestate code (not connected) 2012-11-20 03:45:58 +00:00
saxxonpike 6560900e6e commodore64: CIA chip savestate code added (not connected) 2012-11-20 02:37:42 +00:00
saxxonpike 6bf640c4bc commodore64: more savestate work, volume register in SID now actually affects volume level 2012-11-19 21:18:16 +00:00
saxxonpike fddbf1197b commodore64: fix build error in savestate code 2012-11-19 20:35:27 +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 c1556de4a4 commodore64: work begins on alternate VIC emulation 2012-11-17 06:03:44 +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 5b701a58e9 commodore64: VIA timer chip registers added. Also, writes to mirrored registers now work correctly on all chips 2012-11-16 06:14:32 +00:00
saxxonpike 8196caf731 commodore64: add serial cable interface for CIA/VIA communication, also DriveLED 2012-11-15 21:40:01 +00:00
saxxonpike bd3912939a commodore64: implement serial shift register in CIA chip to prepare for disk drive I/O 2012-11-15 20:49:54 +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 020dedb1a0 commodore64: updated directional dataport, keyboard input now works fully- commands can be executed in BASIC 2012-11-15 08:36:06 +00:00
saxxonpike c5d6fad0e1 commodore64: CIA timer underflow interrupts implemented (BASIC now works) 2012-11-15 07:41:59 +00:00
saxxonpike 94beebdbde commodore64: SID waveform data is now in a lookup table, increases performance and startup time 2012-11-15 06:56:19 +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 0223225388 commodore64: rewrote SID emulation, should be a lot more accurate 2012-11-15 00:22:57 +00:00
saxxonpike 5926918f8b commodore64: implement some of the waveform calculation algorithms documented in libsidplayfp 2012-11-14 18:15:52 +00:00
saxxonpike b84ec59bb4 commodore64: replaced directional data port class with a more efficient one 2012-11-14 07:12:04 +00:00
saxxonpike a8957f1916 commodore64: D64 loading fills gap bits to meet MNIB standard track lengths 2012-11-14 04:58:39 +00:00
saxxonpike a3db998a0d commodore64: Implemented conversion of D64 into GCR bitcode (both major disk formats can be loaded now) 2012-11-14 04:48:21 +00:00