Thomas Harte
|
9c72ce5bd2
|
Ensured a settling delay is permitted before an NTSC/PAL decision is made. To avoid false switches just due to startup.
|
2017-03-06 19:37:35 -05:00 |
|
Thomas Harte
|
ec2762509b
|
Merge pull request #104 from TomHarte/SyncDetection
Improves vertical sync recognition
|
2017-03-06 19:18:52 -05:00 |
|
Thomas Harte
|
e63229a5e5
|
Pulled vertical sync detection entirely outside the loop, and gave it greater perspective.
|
2017-03-06 19:15:33 -05:00 |
|
Thomas Harte
|
ad73379d1c
|
Took vertical sync detection logic entirely out of the loop.
|
2017-03-05 20:17:55 -05:00 |
|
Thomas Harte
|
abd4d2c42a
|
Extended has-RAM test to check all banks.
|
2017-03-05 11:58:52 -05:00 |
|
Thomas Harte
|
79784a8e57
|
Followed tip: missiles are locked to the position after four output pixels, not four input pixels.
|
2017-03-04 22:23:50 -05:00 |
|
Thomas Harte
|
61b8fc1e2f
|
Merge pull request #103 from TomHarte/CRTCounting
Fixes NTSC colour cycle count
|
2017-03-04 17:32:45 -05:00 |
|
Thomas Harte
|
4751615623
|
Fixed NTSC colour cycle count, and hence the 2600's reported line lengths and phase offset.
|
2017-03-04 17:31:39 -05:00 |
|
Thomas Harte
|
cccdc558e7
|
Merge pull request #102 from TomHarte/6532Accuracy
Improves 6532 counting accuracy
|
2017-03-04 17:04:43 -05:00 |
|
Thomas Harte
|
d3257c345a
|
Tested against public ROMs and corrected. Also moved the deferred adjustment into a more canonical place.
|
2017-03-04 17:00:28 -05:00 |
|
Thomas Harte
|
e09b76bf32
|
Fixed 'same value, then immediate increment, then proper counting increments' behaviour and ensured it takes one cycle to commit a value. Adjusted tests to match.
|
2017-03-04 15:57:54 -05:00 |
|
Thomas Harte
|
837cccdf83
|
Switched to deferred updates for the 6532.
|
2017-03-04 14:58:28 -05:00 |
|
Thomas Harte
|
a3fcd15980
|
Loosened sync charge level requirement.
|
2017-03-01 22:16:56 -05:00 |
|
Thomas Harte
|
93d1573481
|
Added a fix for certain homebrews.
|
2017-03-01 07:59:25 -05:00 |
|
Thomas Harte
|
893a5dd007
|
Added an artificial low pass filter, attempting to capture post-digital effects.
|
2017-02-28 21:29:55 -05:00 |
|
Thomas Harte
|
026b418b4a
|
Ensured filtered 1:1 audio resampling is applied.
|
2017-02-28 21:27:38 -05:00 |
|
Thomas Harte
|
06dd98b23c
|
Pulled the reset time for horizontal blank extend up to position 224.
|
2017-02-28 20:28:54 -05:00 |
|
Thomas Harte
|
2a81ae1dec
|
Now required: at least four stores for RAM to be detected.
|
2017-02-28 20:28:14 -05:00 |
|
Thomas Harte
|
1625b9c7f9
|
Merge pull request #101 from TomHarte/CommaVid
Adds detection and emulation of the CommaVid paging scheme
|
2017-02-27 20:53:19 -05:00 |
|
Thomas Harte
|
184c8ae707
|
Extended to emulate the CommaVid.
|
2017-02-27 20:50:59 -05:00 |
|
Thomas Harte
|
8f8b103224
|
Slightly tidier. Also in the interim: confirmed no remaining false positives or negatives from the existing published set.
|
2017-02-27 08:42:43 -05:00 |
|
Thomas Harte
|
1af415a88e
|
Okay, this is a bit desperate, but worth investigation.
|
2017-02-27 08:39:53 -05:00 |
|
Thomas Harte
|
fe07cd0248
|
Made another attempt to distinguish.
|
2017-02-27 08:06:57 -05:00 |
|
Thomas Harte
|
a3d339092e
|
Corrected callers of the 6502 disassembler.
|
2017-02-27 07:56:59 -05:00 |
|
Thomas Harte
|
837216ee9a
|
Adjusted semantics to allow for more complicated mappings, e.g. whereby supplied data repeats itself within a range.
|
2017-02-27 07:49:33 -05:00 |
|
Thomas Harte
|
dcd0c90283
|
Switched time of best-effort updater delegate setting, to avoid a callback before setupClockRate has happened, and therefore before it's clear what should be going on with audio.
|
2017-02-26 21:58:59 -05:00 |
|
Thomas Harte
|
b24cd00a39
|
Switched time of best-effort updater delegate setting, to avoid a callback before setupClockRate has happened, and therefore before it's clear what should be going on with audio.
|
2017-02-26 21:58:43 -05:00 |
|
Thomas Harte
|
0273860018
|
Sought to weed out further false positives on CommaVid, partly by introducing a record of internal calls, to pair with the now confusingly named outward_calls.
|
2017-02-26 21:58:09 -05:00 |
|
Thomas Harte
|
82c089cde4
|
Factored out paging type detection and, from that, took out 2k cartridge detection. Added an attempt at a CommaVid detector, which does not currently work.
|
2017-02-26 21:24:54 -05:00 |
|
Thomas Harte
|
997707a45b
|
Merge pull request #100 from TomHarte/SuperChipDetection
Adds detection and emulation of the Super Chip
|
2017-02-26 18:04:50 -05:00 |
|
Thomas Harte
|
9d7985c1e1
|
Added Super Chip emulation.
|
2017-02-26 17:47:29 -05:00 |
|
Thomas Harte
|
8b1ec827e0
|
Made an initial, very naive attempt to recognise two types of expanded cartridge: those with a superchip and those with a CBS RAM+, in both cases by looking for instructions that appear to write into cartridge space.
|
2017-02-26 17:11:57 -05:00 |
|
Thomas Harte
|
153525f23d
|
Extended quality of known address read/write/modify mapping, and started recording internal accesses in addition to external.
|
2017-02-26 17:10:33 -05:00 |
|
Thomas Harte
|
3101dc94a7
|
Merge pull request #98 from TomHarte/TIAImprovements
Reimplements the Atari TIA, as a discrete component
|
2017-02-26 15:14:59 -05:00 |
|
Thomas Harte
|
e6a84fd26b
|
Attempted a hardware-correct implementation of missile-to-player latching. This completes the last of the **knowing** inaccuracies. The rest are as-of-yet unwitting.
|
2017-02-26 15:12:31 -05:00 |
|
Thomas Harte
|
440467ea3e
|
Started communicating which copy is being requested.
|
2017-02-26 13:39:25 -05:00 |
|
Thomas Harte
|
98376de9ad
|
Started returning 'no effect' for pot ports, rather than doing nothing. Still very much TODO though.
|
2017-02-25 22:58:58 -05:00 |
|
Thomas Harte
|
e61e355251
|
Moved to the maximum possibly required queue length of 4. Though the emulated 2600 should never need more than 2 slots as per the current calling pattern, it's not a contractual guarantee.
|
2017-02-25 17:25:10 -05:00 |
|
Thomas Harte
|
c898c8a99e
|
Ensured the missiles and ball don't attempt to enqueue. Because I don't think they're supposed to.
|
2017-02-25 17:13:22 -05:00 |
|
Thomas Harte
|
8c9062857c
|
Added a single-slot queue for player objects to defer drawing, thereby deferring pixel lookup. Which I think is correct. Though more slots might be needed.
|
2017-02-25 17:10:24 -05:00 |
|
Thomas Harte
|
77ed4ddc05
|
Slightly simplified ready line release logic.
|
2017-02-23 21:08:32 -05:00 |
|
Thomas Harte
|
82f392fada
|
This should be the other way around. I want whichever is later.
|
2017-02-22 21:54:49 -05:00 |
|
Thomas Harte
|
2f0c923c29
|
Switched away from @synchronized as it appears possibly to be the lock used during -dealloc, creating deadlock with the CSAudioQueueDeallocLock.
|
2017-02-22 21:42:10 -05:00 |
|
Thomas Harte
|
8291a63d5f
|
Fixed loss of audio when switching to PAL.
|
2017-02-22 21:15:37 -05:00 |
|
Thomas Harte
|
4c947ad553
|
Attempted to resolve risk of an audio callback being in progress when -dealloc is received.
|
2017-02-22 21:12:59 -05:00 |
|
Thomas Harte
|
6120dae61a
|
While I'm using the hacky approach to player/missile synchronisation, I need to seed adder.
|
2017-02-22 07:39:11 -05:00 |
|
Thomas Harte
|
1d03793f22
|
Fixed potential race condition: ensure the queue is disposed of synchronously because otherwise there'll be a potential dangling reference to self.
|
2017-02-22 07:35:09 -05:00 |
|
Thomas Harte
|
4f5f191cd6
|
Fixed: will no longer attempt to output pixels from before the pixel part of a line on which sync was disabled abruptly.
|
2017-02-22 07:33:36 -05:00 |
|
Thomas Harte
|
21abf4e9fc
|
Enshrined a terminology switch, albeit without any flow change behind it.
|
2017-02-22 07:29:48 -05:00 |
|
Thomas Harte
|
144d6b70d9
|
Minor cleaning.
|
2017-02-22 07:14:30 -05:00 |
|