Commit Graph

3296 Commits

Author SHA1 Message Date
Tony Konzel 58513ea22f
Merge pull request #1607 from TASVideos/c64-refactor
C64: General improvements (disk writing, CIA/VIA timers, 6502X decimal mode fixes)
2019-07-22 09:29:22 -05:00
alyosha-tas fca98ffe34 Various code cleanup 2019-07-21 09:05:07 -04:00
alyosha-tas 6a773ac272 Atari 2600: more bug fixes 2019-07-20 14:47:36 -04:00
SaxxonPike 1e5fe55f30 C64: Don't reallocate the SID filter buffer every time (purely perf) 2019-07-19 19:09:08 -05:00
alyosha-tas cf6cdf4ecc A2600: Bug fixes and Improvements 2019-07-19 20:03:30 -04:00
SaxxonPike a119420c79 C64: VC count enable seems to need to be delayed by 1 cycle after badline
- which doesn't affect normal operation
- which DOES affect VSP
2019-07-14 20:22:07 -05:00
SaxxonPike 4d6ed8d6c8 C64: Savestate should include the new variables 2019-07-14 16:32:53 -05:00
SaxxonPike ad7cae8b71 Merge branch 'master' into c64-refactor 2019-07-14 10:45:44 -05:00
SaxxonPike 8e8d3a6a1b C64: Writes to some registers on the VIC in phase 2 by the CPU should only take effect on the following cycle 2019-07-14 10:44:56 -05:00
SaxxonPike e8902b829a C64: Apparently the 6502X core needs interrupts delayed by a cycle, do that with IRQ and NMI 2019-07-14 10:43:52 -05:00
SaxxonPike 3bbfb98fc2 C64: Split out VIC IRQ delays 2019-07-13 19:28:44 -05:00
alyosha-tas 7df8ed1f27 A2600: Add HMCLR delay 2019-07-13 18:33:54 -04:00
SaxxonPike 154eefd2ad C64: Give BA/IRQ counting another go, seems to resolve many issues 2019-07-13 16:51:30 -05:00
SaxxonPike db38d5e65b C64: Try counting IRQ and BA correctly 2019-07-13 15:28:57 -05:00
SaxxonPike f22c9b7abd C64: CPU reads open bus when !AEC is asserted 2019-07-13 15:25:40 -05:00
SaxxonPike 894adbb610 C64: Remove an unused variable 2019-07-13 15:02:18 -05:00
SaxxonPike 76679bc8bc C64: Use the correct background color in bitmapped modes for 0 2019-07-13 15:01:11 -05:00
SaxxonPike bd20b355f0 C64: Writing to CPU port writes open bus data to 00/01 2019-07-13 14:06:23 -05:00
SaxxonPike f18e7c8833 C64: Make the system debuggable for once 2019-07-13 13:15:50 -05:00
SaxxonPike cae3340946 C64: No need to expose these with the CPU link in place 2019-07-13 12:53:34 -05:00
SaxxonPike 3369dbf43f C64: IRQ is implemented as a delay line; no delay added (yet) 2019-07-13 12:51:39 -05:00
SaxxonPike d39f3e2e61 6502X: pending IRQs are not delayed when !RDY is asserted 2019-07-13 12:31:09 -05:00
SaxxonPike bf2cba0e23 6502X: remove a comment (this is indeed a dummy fetch) 2019-07-13 11:38:03 -05:00
SaxxonPike d62f2ac3fe C64: 0F7 is a badline eligible raster (fixes 26-line text demo in Frodo test suite) 2019-07-13 01:41:58 -05:00
SaxxonPike e6871b2cc3 C64: Move VIC raster IRQ to phase 1 2019-07-13 00:27:08 -05:00
SaxxonPike dbf6b39e7f C64: Split out VIC phase1/phase2 2019-07-12 23:51:55 -05:00
SaxxonPike 85bc92b688 Merge remote-tracking branch 'origin/c64-refactor' into c64-refactor
# Conflicts:
#	BizHawk.Emulation.Cores/Computers/Commodore64/MOS/Chip6510.cs
2019-07-12 22:10:08 -05:00
alyosha-tas 66cf00a917 Vectrex: Add frame buffer to state an set to released 2019-07-12 18:15:25 -04:00
alyosha-tas 5e2b097902 MC6809: fix DAA 2019-07-10 19:30:17 -04:00
alyosha-tas fd51934ea4 Vectrex: Fix some bugs 2019-07-10 15:42:01 -04:00
alyosha-tas 9fe277a3ff Vectrex: a bit more controller and frame cleanup 2019-07-10 06:58:41 -04:00
SaxxonPike 0a7dc52aa0 C64: BA and raster IRQ cleanup 2019-07-09 22:41:12 -05:00
SaxxonPike 3a135c7c26 C64: Raster interrupt bit can be set even if not enabled, just won't actually assert IRQ 2019-07-09 21:40:03 -05:00
SaxxonPike e63d10b608 C64: Interrupts generated in phase 2 by the VIC won't trigger for the CPU until next cycle, also buffer BA 2019-07-09 20:55:14 -05:00
SaxxonPike b471fdc692 C64: The CPU can trigger VIC badlines on its own (needed for VSP) 2019-07-09 20:53:54 -05:00
SaxxonPike 2abe832289 C64: AEC does not prohibit the CPU from functioning, only BA (RDY) does 2019-07-09 20:52:51 -05:00
SaxxonPike 9758efe604 6502X: CPU does a read or write regardless if the result is trashed, even during reset and dummy pushes 2019-07-09 19:46:33 -05:00
alyosha-tas 84b0917f65 Vectrex: Add schema and do some miscellanous clean up 2019-07-09 20:01:45 -04:00
SaxxonPike a8fd85157c VIC: Use correct color mapping for non-multicolor bitmap mode 2019-07-09 08:02:55 -05:00
SaxxonPike 83b6553749 VIC: Respect idle state background color registers, plus black in undocumented gfx mode 2019-07-09 06:58:13 -05:00
SaxxonPike 89fa153477 VIC: Resolve background color registers separately to color matrix memory 2019-07-09 06:55:55 -05:00
SaxxonPike 9f733d3e7a VIC: More accurate pixel pipeline 2019-07-09 05:26:26 -05:00
SaxxonPike 3efea15038 6502X: When !RDY is asserted, still do other operations. Plus, do dummy reads on stack ops 2019-07-09 05:24:47 -05:00
alyosha-tas f544c044bf NES MMC3: Mapper test indicates IRQ was happening one ppu tick too late. 2019-07-08 08:16:43 -04:00
alyosha-tas 5b2ed7e4ff MC6800: disassembler and cleanup 2019-07-07 17:32:14 -04:00
alyosha-tas 53dd500875 MC6800: More cleanup 2019-07-07 09:08:26 -04:00
alyosha-tas e2014ba3f5 MC6800 work and MC6809 bug fix 2019-07-07 08:22:01 -04:00
alyosha-tas a4b38aa7a5 MC6800: Initial commit 2019-07-06 20:16:48 -04:00
SaxxonPike d36e02045b C64: Optimize the RNG for 1541 flux transitions. (same output) 2019-07-06 16:32:21 -05:00
SaxxonPike 3bf37f1c17 C64: No need for LagCycles anymore. 2019-07-06 16:29:14 -05:00
alyosha-tas 475702c1e8 Vectrex: code cleanup 2019-07-06 16:44:46 -04:00
SaxxonPike 6ed11de85b C64: Soft/Hard reset: it's about time 2019-07-06 01:19:58 -05:00
SaxxonPike d48964b642 6502X: According to the datasheet, RDY must be high in order for interrupts to trigger
- this has implications for C64, as it may cause VIC interrupts to fire quite later than they currently do
2019-07-06 00:00:51 -05:00
SaxxonPike 400b04b690 C64: CIA was sometimes delaying too long to fire interrupts by 1 cycle.
- This could have implications for existing TASes (!)
2019-07-05 23:59:01 -05:00
SaxxonPike 69f8b143a3 C64: Foreground pixels are black when VIC is in idle state. 2019-07-05 21:05:38 -05:00
SaxxonPike 8698aa41be Merge branch 'master' into c64-refactor 2019-07-05 20:14:28 -05:00
alyosha-tas 9cbc78778f Vectrex: interrupt fixes 2019-07-05 20:25:03 -04:00
alyosha-tas 6a5fc8b47e Vectrex: Implement interrupts, fixes Bedlam 2019-07-05 19:57:55 -04:00
alyosha-tas b0123ea133 Vectrex: fix control stick in some cases 2019-07-05 17:16:11 -04:00
alyosha-tas 275ccb381a Vectrex: ramp overscan more accurate, fixes numerous display bugs 2019-07-04 21:26:13 -04:00
alyosha-tas 9b2d926bc0 Vectrex: working controllers 2019-07-04 20:00:59 -04:00
SaxxonPike 49b613962e C64: Fix a typo disabling voice 3 when high pass filter is set 2019-07-04 17:32:35 -05:00
SaxxonPike f45e934fec C64: Reset the SID filter on hard reset. 2019-07-04 17:24:22 -05:00
SaxxonPike 579ffe5c25 C64: Had the flag with the wrong polarity. Thanks, C64Anabalt. 2019-07-04 14:20:12 -05:00
SaxxonPike 691577499f C64: When a sprite is eligible for display, initialize it with the correct crunch state based on Y expansion 2019-07-04 14:12:46 -05:00
SaxxonPike 36ac592193 C64: Individual IRQ flags for S/S or S/D collisions are always set even if not eligible to assert IRQ externally 2019-07-04 13:59:41 -05:00
SaxxonPike 5c9445fb96 C64: Reuse some local memory in the sprite renderer. 2019-07-04 12:47:09 -05:00
SaxxonPike 55145ff7ba C64: The T64 format was never supported, but at least make the core aware of it 2019-07-04 12:46:28 -05:00
SaxxonPike 2c804cab34 C64: Fix a function ambiguity in the CIA class. 2019-07-04 00:51:19 -05:00
SaxxonPike 2dd80eb0f4 C64: Implement more CIA features and CIA/VIA defaults. 2019-07-04 00:31:48 -05:00
SaxxonPike 32d59e8514 C64: Implement more VIA features. 2019-07-04 00:23:11 -05:00
SaxxonPike 7fbccb7a46 C64: Use write protection on G64 images (which are often copy protected), and disable it on D64 images. 2019-07-04 00:14:21 -05:00
SaxxonPike 4e1892d094 C64: Allow writing to disk. 2019-07-04 00:11:03 -05:00
SaxxonPike 0cdb28fc8f C64: Format D64 sector headers with directory ID instead of A0/A0. 2019-07-04 00:03:50 -05:00
SaxxonPike ceb1338459 C64: Use proper sector gaps based on density when converting from D64. 2019-07-04 00:02:28 -05:00
SaxxonPike e74dfe15a8 C64: VIA PB7 output timing adjusted to match datasheet. 2019-07-04 00:00:05 -05:00
SaxxonPike cb48104d7a 6502X: Fix ADC with decimal mode enabled. 2019-07-03 23:49:55 -05:00
alyosha-tas 95db4f2159 Vectrex: add pcm sample playback 2019-07-03 20:49:27 -04:00
alyosha-tas 38772dcd89 Vectrex: fix dumb cpu copy paste, fixes scramble and probably others 2019-07-02 20:33:43 -04:00
alyosha-tas 565bafd25e vectrex: fix display bug and add some brightness 2019-06-30 08:07:54 -04:00
alyosha-tas 233825bbb7 Vectrexx: More bug fixes 2019-06-29 12:27:17 -04:00
alyosha-tas 00f766715e SubNESHawk: fix get and set regiesters 2019-06-28 16:13:25 -04:00
alyosha-tas 38d5fea8ee SubNESHawk: Fix memory domain callback i think 2019-06-28 16:03:11 -04:00
alyosha-tas c887f7ca15 Revert "SubNESHawk: Fix memorydomain callbacks i think"
This reverts commit c29c3f0391.
2019-06-28 16:00:45 -04:00
alyosha-tas c29c3f0391 SubNESHawk: Fix memorydomain callbacks i think 2019-06-28 15:59:21 -04:00
alyosha-tas 5188b7a2e7 Vectrex: another round of bug fixes 2019-06-25 18:46:16 -04:00
alyosha-tas 94db48b24f vectrex; more bug fixes 2019-06-23 17:46:30 -04:00
alyosha-tas d568a738b9 Vectrex: Start displaying things correctly. 2019-06-22 19:52:02 -04:00
alyosha-tas 84c0126f80 Vectrex: Start displaying stuff 2019-06-22 14:59:15 -04:00
alyosha-tas e8d64cdbbb Vectrex: Add minestorm and bug fixes 2019-06-17 09:06:37 -04:00
alyosha-tas 0c8646cfd4 Vectrex: Set release flag to false 2019-06-16 18:33:55 -04:00
alyosha-tas ff2e91722d Vectrex: Input fix 2019-06-16 18:18:21 -04:00
alyosha-tas fb9ac2f3af Vectrex: hook up controllers 2019-06-16 08:17:34 -04:00
alyosha-tas c063319816 Vectrex: Hook up audio and fix more bugs 2019-06-15 18:39:00 -04:00
YoshiRulz 9cedf68407 Inline waveform 2019-06-15 16:30:17 +00:00
YoshiRulz f6bd34c7ef Realign tables in comments w/ only spaces
*Without* moving them, that point was contentious
2019-06-15 13:02:10 +00:00
YoshiRulz 4dd40305bc
Merge branch 'master' into interp_cores 2019-06-15 02:11:24 +10:00
YoshiRulz 3dec9e2e01
Fix missing helper method 2019-06-15 02:01:10 +10:00
YoshiRulz 3fa0f71a24 Inline ToHexString extension where param numdigits is constant 2019-06-14 15:54:17 +00:00
James Groom 067477ce18
Merge branch 'master' into clean_docs 2019-06-14 13:28:39 +00:00