Thomas Harte
|
77ed4ddc05
|
Slightly simplified ready line release logic.
|
2017-02-23 21:08:32 -05:00 |
|
Thomas Harte
|
8291a63d5f
|
Fixed loss of audio when switching to PAL.
|
2017-02-22 21:15:37 -05:00 |
|
Thomas Harte
|
7019d396d0
|
Threw in some asserts, discovering a bug in missile positioning.
|
2017-02-21 22:04:27 -05:00 |
|
Thomas Harte
|
d1dbf8c21f
|
Missile to player lock is supposed to be a toggle; also factored out the commonalities of missile and ball drawing.
|
2017-02-21 07:58:37 -05:00 |
|
Thomas Harte
|
99a35266e1
|
Attempted to bring frequency-switching logic into the cross-platform realm. Which for now creates an issue with the OpenGL context.
|
2017-02-19 21:20:37 -05:00 |
|
Thomas Harte
|
600bdc9af7
|
In C++, I think the implicit cast to bool negates the need for any manual collapsing?
|
2017-02-12 18:18:35 -05:00 |
|
Thomas Harte
|
a477499724
|
Got a bit more explicit with range returned by get_cycles_until_horizontal_blank and hence attempted a more thorough (/correct) version of WSYNC.
|
2017-02-07 22:14:45 -05:00 |
|
Thomas Harte
|
92754ace7a
|
Some mild fixes get me up to having a rolling screen of vertical lines. Which is what I was hoping for right now!
|
2017-01-29 22:16:23 -05:00 |
|
Thomas Harte
|
2390358c24
|
Prevented unbounded CPU usage, albeit without yet deciding who has authority for the clock rate.
|
2017-01-29 14:19:26 -05:00 |
|
Thomas Harte
|
a246530953
|
Supposing the TIA were implemented, this is (more or less) what the Atari 2600 would now look like.
|
2017-01-28 21:46:40 -05:00 |
|
Thomas Harte
|
6d087ca054
|
Restored 2600 audio.
|
2017-01-25 21:29:19 -05:00 |
|
Thomas Harte
|
be1cb2a551
|
Fixed NTSC phase.
|
2017-01-11 21:31:24 -05:00 |
|
Thomas Harte
|
a549fd1ecc
|
Introduced the ability simply to piggy-back off the CRT's natural phase for the colour burst, thereby eliminating a couple of redundant independent attempts in the Oric and Electron.
|
2016-12-10 13:42:34 -05:00 |
|
Thomas Harte
|
ebb62a2d78
|
Switched the 2600 to postfix and non-camel-case instance variable names.
|
2016-12-03 14:07:38 -05:00 |
|
Thomas Harte
|
3361d6b93a
|
Factored out the Atari 2600 speaker and adjusted it to postfix underscores.
|
2016-12-03 13:39:46 -05:00 |
|
Thomas Harte
|
922dd6a586
|
Hit up the other two kinds of audio generator.
|
2016-10-07 17:10:00 -04:00 |
|
Thomas Harte
|
ee8510984f
|
Added just enough wiring to restore the 2600 to functionality.
|
2016-09-15 19:34:45 -04:00 |
|
Thomas Harte
|
d9016909ed
|
Added some wiring for PAL/NTSC mode switching on the Vic, making an attempt to simplify the whole loop of having different clock rates.
|
2016-08-14 13:33:20 -04:00 |
|
Thomas Harte
|
8db44eed3e
|
Added a default implementation of Speaker::skip_samples .
|
2016-07-04 20:48:27 -04:00 |
|
Thomas Harte
|
bfa237397d
|
Settled on assigning to nullptr as the appropriate style for emptying shared_ptrs; fixed the Vic properly to release its output resources.
|
2016-07-04 20:34:11 -04:00 |
|
Thomas Harte
|
88964ceac0
|
Eliminated plain pointer passing for object types.
|
2016-07-04 19:33:55 -04:00 |
|
Thomas Harte
|
0182b0483a
|
Added a 'power on' flag that is set automatically at construction but can be declined. Saves all that stuff of every machine having to set and then unset the RST line, and fixes an Electron bug related to that.
|
2016-06-29 19:13:24 -04:00 |
|
Thomas Harte
|
454e98302d
|
Slight rearrangement plus a setting of the CSMachine delegate corrects audio after a clock rate change.
|
2016-06-20 22:18:41 -04:00 |
|
Thomas Harte
|
31b26b8118
|
Made a first attempt to implement the full top-to-bottom change of clock rates, giving the Atari the ability to change rate when it switches to PAL mode, as it should always have been.
|
2016-06-20 21:47:27 -04:00 |
|
Thomas Harte
|
065ec618c4
|
Factored out and templated the 6532, finally taking the opportunity to add a means to control the on-console switches of an Atari 2600.
|
2016-06-19 19:36:34 -04:00 |
|
Thomas Harte
|
65413f078c
|
Factored out the 6532, eventually to make it testable.
|
2016-06-19 18:57:40 -04:00 |
|
Thomas Harte
|
12d1cac751
|
Merge branch 'master' into Vic-20
|
2016-06-10 18:23:55 -04:00 |
|
Thomas Harte
|
805e2d15c6
|
Fixed timing when clock is divided.
|
2016-06-10 18:20:16 -04:00 |
|
Thomas Harte
|
581eace478
|
Increased logging slightly, ensured all of colour RAM can be read, slightly improved the 2600 pixel decoder.
|
2016-06-07 22:01:14 -04:00 |
|
Thomas Harte
|
604862b20b
|
Fixed playfield/missile and playfield/ball collisions.
|
2016-06-02 22:36:52 -04:00 |
|
Thomas Harte
|
e3b95b8d2b
|
Back to asynchronous updates and drawing, to try to improve guarantees on audio latency; experimenting with whether other parts of the approach are fundamentally flawed; added a broad-phase for scheduled updates on the 2600.
|
2016-06-02 21:22:55 -04:00 |
|
Thomas Harte
|
11073daee1
|
Issues appear to be around timing generally. Working on it.
|
2016-06-02 20:15:48 -04:00 |
|
Thomas Harte
|
7aac306a12
|
Quick fix to the polynomials.
|
2016-06-02 19:56:02 -04:00 |
|
Thomas Harte
|
253e5a4203
|
With no regard to performance whatsoever, endeavoured to bring sound to the 2600. It's very scratchy, so something is wrong.
|
2016-06-02 19:50:16 -04:00 |
|
Thomas Harte
|
1e0fcbbee8
|
Made a very basic stab at a couple of the tone generators, added straight-through path for the speaker when input rate exactly equals output rate.
|
2016-06-01 19:53:16 -04:00 |
|
Thomas Harte
|
40c4544fb7
|
Got the basic sound pipeline pumping, just enough for static-level audio seemingly to work. Berzerk VE says "intruder alert, intruder alert", anyway.
|
2016-06-01 19:27:04 -04:00 |
|
Thomas Harte
|
5c4f35e13f
|
Finally started on generalising the C++ stuff so as to be able to be able to get a working audio binding on the OS-specific side without further repetition by factoring an appropriate protocol out from the Electron and sketching out the correct speaker class for the Atari. Added a method to ask it what a good output frequency would be.
|
2016-05-31 21:23:44 -04:00 |
|
Thomas Harte
|
3fc80ea01f
|
Rethought, hopefully perfecting, sprite timing.
|
2016-05-30 19:56:36 -04:00 |
|
Thomas Harte
|
8b342f77a9
|
Made an attempt further to rationalise timing.
|
2016-05-27 21:51:27 -04:00 |
|
Thomas Harte
|
91d3453cc1
|
Switched to looking backwards rather than forwards.
|
2016-05-27 14:33:08 -04:00 |
|
Thomas Harte
|
106ddae907
|
Sprites are still a pixel off but better; made some attempt to move things outside of the loop.
|
2016-05-25 21:43:19 -04:00 |
|
Thomas Harte
|
40c2c0bd2d
|
Minor simplifications and improvements. Still trying to figure out what's causing the non-linear edge addressing.
|
2016-05-25 21:12:25 -04:00 |
|
Thomas Harte
|
b01b474e36
|
I'm back to thinking that resets are deferred but pixel counts are live.
|
2016-05-25 07:32:25 -04:00 |
|
Thomas Harte
|
758806f924
|
Introduced a separate queue for pixels, which may or may not be correct.
|
2016-05-24 21:39:57 -04:00 |
|
Thomas Harte
|
0b081831a9
|
Set up a pipeline for all pixels that attempts to allow for appropriate delays.
|
2016-05-24 07:58:26 -04:00 |
|
Thomas Harte
|
5c1e594937
|
Realised there's a clocking delay on starting horizontal move. Which fixes Coke Zero.
|
2016-05-22 21:45:40 -04:00 |
|
Thomas Harte
|
c3e719c4ab
|
Added missile-to-player offsetting. Completing the list of graphics-related TODOs.
|
2016-05-22 17:01:56 -04:00 |
|
Thomas Harte
|
4c6d4d899d
|
Ensured that resetting the horizontal timer affects phase.
|
2016-05-22 16:29:53 -04:00 |
|
Thomas Harte
|
df93d7849d
|
Re-enabled the ball.
|
2016-05-22 14:38:14 -04:00 |
|
Thomas Harte
|
0242924fb4
|
Various bits of caveman debugging appearing and disappearing, switched to latching ball behaviour.
|
2016-05-22 14:26:02 -04:00 |
|