1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-02 01:04:54 +00:00
Commit Graph

849 Commits

Author SHA1 Message Date
Thomas Harte
5d26cd85a3 Wrote test case for what appears to be correct timer behaviour if those were acting in isolation. Ensured implementation matches test case. 2016-06-18 14:30:23 -04:00
Thomas Harte
394902f409 Switched to clocking the 6522 by the half-cycle. Very trivial test now passes. 2016-06-18 13:57:10 -04:00
Thomas Harte
595791cee0 Made the base 6522 class more abstract: you must now opt-in if you want the IRQ line to be sent to a delegate. 2016-06-18 08:51:18 -04:00
Thomas Harte
ce7488dd30 Added support for _invertedCells. Treading water a little before making real changes. 2016-06-14 21:06:29 -04:00
Thomas Harte
926f819e3b Added some documentation, made the speaker private. 2016-06-14 20:00:16 -04:00
Thomas Harte
a2a6e3c818 Fixed phase offsets. 2016-06-14 18:19:06 -04:00
Thomas Harte
f4884a3481 Added the noise channel, albeit not very creatively. 2016-06-14 17:50:32 -04:00
Thomas Harte
c18cc4c8f5 It appears the Vic's output is sine-ish, after all. Also adjusted centre of display, simultaneously adding some validation on that. 2016-06-14 07:29:35 -04:00
Thomas Harte
fdc854c0c2 Fixed tone channels; made an attempt at loading PRGs that are supposed to go into RAM. 2016-06-13 21:49:59 -04:00
Thomas Harte
efcb196ef7 Made a complete attempt at the tone channels. 2016-06-13 20:59:01 -04:00
Thomas Harte
f1a45c1011 Merge branch 'VicAudio' into Vic-20 2016-06-13 19:34:13 -04:00
Thomas Harte
2d23bc46f2 Whoops; fixed line count target test. 2016-06-13 19:34:01 -04:00
Thomas Harte
5fc36b956c Attempted most basic sketching of a container for Vic audio. 2016-06-13 19:30:52 -04:00
Thomas Harte
91c406e065 Made an attempt to honour interlaced-frame line counts. 2016-06-13 18:21:21 -04:00
Thomas Harte
2e946e785f Settled on half-intensity colour for now, appears likely not to be too incorrect(?) 2016-06-13 18:20:21 -04:00
Thomas Harte
e10535181d Made an attempt to implement interlaced video. 2016-06-12 22:27:58 -04:00
Thomas Harte
4ad55a7f5e Trimmed the visible area. 2016-06-12 18:01:38 -04:00
Thomas Harte
a5efa7543a Added vertical sync, switching fully to the normal NTSC colour space. 2016-06-12 17:57:52 -04:00
Thomas Harte
4c2b964cd4 Added NTSC-VIC's switching of phase every field. 2016-06-12 17:45:25 -04:00
Thomas Harte
6b5a322918 Fixed all colours, plus special case no-chroma for black and white. 2016-06-12 17:41:52 -04:00
Thomas Harte
580c8bdcbd Ported rest. 2016-06-12 17:29:44 -04:00
Thomas Harte
1a2b18f93b Steps towards CPU mapping; diagnostic. 2016-06-12 17:27:57 -04:00
Thomas Harte
8abf395202 Experimented with table-based GLSL lookups, and a sine curve. Now _exceedingly_ slow, but colours are correct if I pretend I'm in the YUV colour space. 2016-06-12 14:57:24 -04:00
Thomas Harte
2992183aae Switched to a lookup table for phase, temporarily in YUV colour space, probably. Working on it. 2016-06-12 14:39:17 -04:00
Thomas Harte
ed76e36b18 Made basic attempt at 16-line character mode. 2016-06-12 11:23:57 -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
7a241b5ef5 Added just enough hopefully to allow implementation of the keyboard-input VIA. 2016-06-11 11:34:39 -04:00
Thomas Harte
de84758862 This is how flags writes are supposed to work, it seems. 2016-06-11 07:58:32 -04:00
Thomas Harte
1054793fd7 Fixed interrupt enable register. This makes a lot more sense! 2016-06-11 07:57:04 -04:00
Thomas Harte
82a3c4964b Decided to keep the internal copy of the interrupt enable the other way around. Reduced delegate noise. 2016-06-11 07:49:07 -04:00
Thomas Harte
a71259dec3 Gave the 6522 a full and grouped register set. 2016-06-11 07:12:55 -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
6522530e1c Actually, I'm dithering over whether the 6522 should be an ordinary class or a curiously-recurring template. But it'll need a file, definitely. 2016-06-06 21:56:02 -04:00
Thomas Harte
ca23e2e10a This now proceeds to an ostensibly working basic prompt. Colours are wrong, 6560 is probably very wrong, 6522 is still absent. Hence no cursor. 2016-06-06 20:33:06 -04:00
Thomas Harte
c7c55528e2 Realised that registers appear also to be readable. 2016-06-06 20:29:39 -04:00
Thomas Harte
e8cb674073 Made some attempt at colours, at least. 2016-06-06 20:18:24 -04:00
Thomas Harte
89c87c3e81 Some major hackiness gives the first line of expected text repeating endlessly (as the end of columns is never reached, as that's back to thinking it's 0x7f); I also don't yet know which actor is supposed to do the '+0x8000' (which probably shouldn't be that but might be a pin on the 6560 indicating what sort of value is being fetched, that effects chip select for the various bits of memory?) 2016-06-06 07:47:30 -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
79e05a2413 Without yet figuring out what vertical sync is meant to do, moved just about far enough forwards to see _something_ that hopefully I can soon discern characters within. 2016-06-05 18:02:49 -04:00
Thomas Harte
444d3b69b6 Made some elementary attempt to hit something like the correct states within the VIC. 2016-06-05 17:06:10 -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
3be1ce457b Made some attempt at discerning fields. 2016-06-05 14:05:31 -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
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