Thomas Harte
|
65413f078c
|
Factored out the 6532, eventually to make it testable.
|
2016-06-19 18:57:40 -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
|
f4915c5ad6
|
Fixed test and added basic implementation of data direction.
|
2016-06-18 17:17:03 -04:00 |
|
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 |
|