Thomas Harte
|
d6e8cd676a
|
Trimmed and reordered just a little.
|
2016-06-04 16:02:16 -04:00 |
|
Thomas Harte
|
4a507b375b
|
Merge pull request #17 from TomHarte/2600Accuracy
Made an attempt substantially to improve Atari 2600 emulation accuracy
|
2016-06-03 20:16:04 -04:00 |
|
Thomas Harte
|
604862b20b
|
Fixed playfield/missile and playfield/ball collisions.
|
2016-06-02 22:36:52 -04:00 |
|
Thomas Harte
|
68a8851c52
|
Increased parallelism, allowing a simplification in the GL view.
|
2016-06-02 22:29:09 -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
|
8623dc2833
|
Consolidated a little more within the common code, adding sampling rate selection based on querying the machine.
|
2016-06-01 19:04:07 -04:00 |
|
Thomas Harte
|
50543e9676
|
Minor factoring up: the audio queue is now pushed universally by MachineDocument .
|
2016-05-31 22:36:53 -04:00 |
|
Thomas Harte
|
c773c3a66c
|
Started trying to clean up and consolidate on the Swift side of things but time is up for the day.
|
2016-05-31 22:32:38 -04:00 |
|
Thomas Harte
|
8dc66167be
|
Made an attempt to consolidate the Objective-C++ side of things based on the incoming CRTMachine::Machine .
|
2016-05-31 22:16:20 -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 |
|
Thomas Harte
|
5e220562e4
|
Actually, the four-clock delay, with palette taking effect immediately, appears to be correct. So back to the drawing board on that.
|
2016-05-21 21:44:54 -04:00 |
|
Thomas Harte
|
4eded9b9d0
|
Re-enabled collisions.
|
2016-05-21 13:05:36 -04:00 |
|
Thomas Harte
|
b1c84f5402
|
Counters run every scan line regardless of blank and sync. Also played further with timing.
|
2016-05-21 12:54:39 -04:00 |
|
Thomas Harte
|
470c90428a
|
Switched to two-register implementation of VDELP, etc.
|
2016-05-21 10:26:27 -04:00 |
|
Thomas Harte
|
36d19cb6cf
|
Made an attempt at properly pumping timers during hmove.
|
2016-05-21 10:18:15 -04:00 |
|
Thomas Harte
|
a952813036
|
Fixed missile sizes, played about with ball placement.
|
2016-05-19 18:30:17 -04:00 |
|
Thomas Harte
|
cf5b8ab92e
|
This is now approximately back to where it was on Cosmic Ark.
|
2016-05-19 08:30:10 -04:00 |
|
Thomas Harte
|
40600b4bcb
|
Made sprite placement consistent at least. Not necessarily yet correct.
|
2016-05-18 22:07:24 -04:00 |
|
Thomas Harte
|
e61392d3fb
|
Fixed incorrect duplication.
|
2016-05-18 21:50:28 -04:00 |
|
Thomas Harte
|
3765c5fbb5
|
Fixed error that would prevent an interrupting frame from ever being drawn.
|
2016-05-18 21:45:35 -04:00 |
|
Thomas Harte
|
8c7ce1ec3f
|
Attempted to fix sprite sizing and, again, missile repetition.
|
2016-05-18 21:41:25 -04:00 |
|
Thomas Harte
|
d013d46337
|
Fixed object motion decoding and checking of the repeat mask for missile graphics.
|
2016-05-18 21:36:28 -04:00 |
|
Thomas Harte
|
83ed6a82cf
|
Fixed: asserting vertical blank doesn't affect underlying timing.
|
2016-05-18 18:49:40 -04:00 |
|
Thomas Harte
|
877c55b5c5
|
Threw in missiles. To 'complete' graphics output. Or, rather, to move me on to debugging.
|
2016-05-18 07:54:44 -04:00 |
|
Thomas Harte
|
354143a78c
|
Reintroduced an attempt to plot sprites.
|
2016-05-18 07:51:25 -04:00 |
|
Thomas Harte
|
0b99649b0f
|
Had a first shot at triggering player and missile resets.
|
2016-05-18 07:31:05 -04:00 |
|
Thomas Harte
|
b8708b805c
|
The vertical blank flag now works again.
|
2016-05-17 22:02:57 -04:00 |
|
Thomas Harte
|
a1e63e8320
|
Attempted to generalise on pixel counter storage, at least. Further adjusted background timing but I'm still not sure.
|
2016-05-17 21:41:32 -04:00 |
|
Thomas Harte
|
ad6f405483
|
Fixed: was off by one on pixels, allowing four extra pixel output cycles per line.
|
2016-05-17 19:02:32 -04:00 |
|
Thomas Harte
|
c96674b341
|
Made genuine first approximate attempt at hmove.
|
2016-05-17 18:35:40 -04:00 |
|
Thomas Harte
|
d170bb14e6
|
Extended scheduling plans, inserted initial events for hmove, albeit not yet implemented.
|
2016-05-17 18:21:49 -04:00 |
|
Thomas Harte
|
6a961c4d28
|
Added something of the ball counter, but without yet a working HMOVE it's prone to error.
|
2016-05-17 07:18:14 -04:00 |
|