1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-07-25 04:29:09 +00:00
Commit Graph

309 Commits

Author SHA1 Message Date
Thomas Harte
4190b42bbb No need for these to live separately, I think. 2016-06-13 18:27:18 -04:00
Thomas Harte
19b2f46488 Fixed accesses to colour memory. 2016-06-12 11:06:19 -04:00
Thomas Harte
4fec625b19 Minor cleaning, implemented clearAllKeys. 2016-06-12 10:38:21 -04:00
Thomas Harte
167ed9b8bb Added enough to load a PRG as a ROM. 2016-06-11 14:00:12 -04:00
Thomas Harte
3e8d383615 Improved key map. Possibly enough to type some basic BASIC? 2016-06-11 13:19:59 -04:00
Thomas Harte
d1731b1d26 Hacked my 6522 to work. Mistake is in not returning output as input when appropriate — i.e. that I'm ignoring data direction. Also fixed K and L keys. 2016-06-11 13:06:01 -04:00
Thomas Harte
271de23ee6 Ran on in and introduced a bunch more keys, hopefully to help to diagnose. 2016-06-11 12:26:19 -04:00
Thomas Harte
d7c1f5b18a Made an attempt at hooking up the '2' and '4' keys. A mostly unsuccessful attempt. 2 does nothing, 4 clears the screen. 2016-06-11 11:50:37 -04:00
Thomas Harte
7a241b5ef5 Added just enough hopefully to allow implementation of the keyboard-input VIA. 2016-06-11 11:34:39 -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
1ed04fae1e Resolved 6560 addressing. 2016-06-10 18:12:21 -04:00
Thomas Harte
f3b1d7de82 ... and that's a flashing cursor. Keyboard input next! 2016-06-09 22:37:59 -04:00
Thomas Harte
30b7db3979 Attempted a square wave, made the Vic itself responsible for address manipulation re:the 6560. 2016-06-09 22:05:17 -04:00
Thomas Harte
e99055bedb Attempted switching back to a square wave for the composite video and otherwise implementing what's necessary to get to that flashing cursor — the 6560 returns its scan line and the timing bits of the 6522 are appearing. 2016-06-08 22:15:24 -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
26ab96868a Decided to turn the 6522 into a template, since it's a per-cycle thing with variable behaviour. Added appropriate memory map callouts to hit the two in the Vic. Though they don't yet do anything. 2016-06-07 19:15:18 -04:00
Thomas Harte
c7c55528e2 Realised that registers appear also to be readable. 2016-06-06 20:29:39 -04:00
Thomas Harte
64539a2b24 Advanced to having some characters displayed, even though they're obviously very much incorrect and the display is still rolling. 2016-06-06 07:35:35 -04:00
Thomas Harte
9e9e50edb1 Added guess on how colour memory and the 12-bit bus possibly works. 2016-06-05 16:28:06 -04:00
Thomas Harte
2ab21e7a3c Switched to a real (unexpanded) memory map, meaning that nonsense is no longer being supplied to the VIC. 2016-06-05 16:00:35 -04:00
Thomas Harte
9566c87532 Added enough to the machine that the 6560 can now produce output if it wishes. 2016-06-05 12:11:12 -04:00
Thomas Harte
b56482607e Added just enough that the 6502 should now be operating correctly. 2016-06-05 11:44:29 -04:00
Thomas Harte
0b221e773f Fixed ROM naming and sizes, ensured machines without sound outputs don't end up with an audio queue. 2016-06-05 11:20:05 -04:00
Thomas Harte
f922d38ed2 The Vic now captures the ROMs sent to it and has just enough infrastructure to get to a black screen. Progress! 2016-06-05 10:51:07 -04:00
Thomas Harte
12243c40ad Kicking the ball a little further down the road, ROMs and PRGs now reach the actual emulated machine. 2016-06-05 09:06:59 -04:00
Thomas Harte
b10a06e700 A CRT is still absent but this moves the ball back into the C++ side's court. 2016-06-04 22:00:50 -04:00
Thomas Harte
404873fe58 Started sketching out infrastructure for Vic-20 support. 2016-06-04 21:43:50 -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
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