1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-22 12:33:29 +00:00
Commit Graph

153 Commits

Author SHA1 Message Date
Thomas Harte
3e65450a54 Converted the 6560 fully into a template; worked on allowing the typer to run at a much faster rate where hardware has some trigger by which it can request the next key. 2016-08-06 14:33:24 -04:00
Thomas Harte
c6e046253e Shunted code for the main part up into the header, in advance of turning it into a template so as to bring it inside the normal orthodoxy. 2016-08-05 19:13:49 -04:00
Thomas Harte
5d40d70c92 Fixed 6560 addressing error, added an autotyper for Vic disks (more work potentially needed), fixed semantics for testing whether a 6502 is about to reset. 2016-08-01 10:32:32 -04:00
Thomas Harte
88964ceac0 Eliminated plain pointer passing for object types. 2016-07-04 19:33:55 -04:00
Thomas Harte
5c85366de2 Made an attempt to prevent spurious border colour pushes. 2016-06-29 21:22:26 -04:00
Thomas Harte
ff53accca0 Demonstrated that issue is coloured borders, made a guess as to buffer exhaustion, upped limits as a temporary fix. 2016-06-29 21:16:34 -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
de5d2f1113 Ensured the line counter increments late on NTSC. 2016-06-27 22:12:55 -04:00
Thomas Harte
3c9183d034 Improved some commenting. 2016-06-23 20:43:29 -04:00
Thomas Harte
359ffb9aa7 Made some attempt to implement what appears to be the proper address generation logic. 2016-06-23 07:32:24 -04:00
Thomas Harte
b753690d5e Made an attempt to adjust the 6560 to a model compatible with that advocated by the available documentation. Exact decision timing may need further work. 2016-06-21 22:12:01 -04:00
Thomas Harte
106e56600d Added a DC offset for 6560 volume level, albeit one plucked from thin air. 2016-06-21 07:31:14 -04:00
Thomas Harte
ce2f5515c0 Made some minor documentation improvements, killed 6522.cpp as the 6522 is going to be a template only, attempting to promote good inlining behaviour. 2016-06-19 18:11:37 -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
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