Thomas Harte
|
ee050d71ec
|
Merge pull request #24 from TomHarte/RAMPRGs
Adds a check for whether PRGs should be loaded to RAM and, if so, installs them post-boot and performs a 'RUN'
|
2016-06-19 16:39:03 -04:00 |
|
Thomas Harte
|
ef3ed1f436
|
Implemented full paste ability for any machine that is a typer.
|
2016-06-19 16:35:04 -04:00 |
|
Thomas Harte
|
3fc472d5cb
|
Expanded typing to include phase for machines that need to go through multiple keypresses to reach a certain state, expanded Vic to be able to type most things (still bodged on lowercase though), and to schedule a 'run' if it's supposed to be loading into RAM, spotting that opportunity actually to do so.
|
2016-06-19 13:46:53 -04:00 |
|
Thomas Harte
|
e7aeed2f03
|
Established a general pattern for machines that can type things. Started working on the Vic typing itself.
|
2016-06-19 13:10:52 -04:00 |
|
Thomas Harte
|
960cae15b1
|
Merge pull request #22 from TomHarte/6522UnitTests
Starts adding unit tests for the 6522, correcting the implementation as required
|
2016-06-18 17:22:23 -04:00 |
|
Thomas Harte
|
f4915c5ad6
|
Fixed test and added basic implementation of data direction.
|
2016-06-18 17:17:03 -04:00 |
|
Thomas Harte
|
eea850cd12
|
Added a deliberately failing data direction test.
|
2016-06-18 16:40:01 -04:00 |
|
Thomas Harte
|
2282b59768
|
Added a quick latching test, and shortened test messages, albeit that they're still displeasingly boilerplate.
|
2016-06-18 16:10:46 -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
|
06fb2ff1c7
|
Started endeavouring to sketch out the boilerplate for writing a 6522 test harness. Added a default implementation of synchronise to the 6522 too, since not everybody is going to want one.
|
2016-06-18 09:28:46 -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
|
60d654e9f9
|
Whoops; they're all .bin. No .roms here.
|
2016-06-17 08:27:16 -04:00 |
|
Thomas Harte
|
d6cb4fe15c
|
Merge pull request #21 from TomHarte/LowLatencyAudio
Attempts to apply some sort of quality-of-service guarantee to audio
|
2016-06-16 21:44:16 -04:00 |
|
Thomas Harte
|
090e92ad26
|
Making this large has very limited side effects. So why not?
|
2016-06-16 21:41:17 -04:00 |
|
Thomas Harte
|
3b71d1a309
|
Switched to a variable-length buffer based on attempting to hit approximately a certain quality of service.
|
2016-06-16 21:35:22 -04:00 |
|
Thomas Harte
|
2ee78d42b9
|
Made an attempt also to trigger updates upon audio packets being returned, and significantly to reduce the size and quantity of those. This should get down to 11ms latency if the output wave is 44100; I might need to scale up the buffer size as the sampling rate increases or this is going to get crazy at 192Khz.
|
2016-06-16 20:51:35 -04:00 |
|
Thomas Harte
|
00a9f1bf24
|
Fixed best-effort updater actually to run, finally moved clock rate announcement into the C++ side of things, started working on a mechanism to allow clock rate to be updated.
|
2016-06-16 20:39:46 -04:00 |
|
Thomas Harte
|
1921a6c469
|
Rewired the existing cause-an-update route from the OpenGLView through the best-effort updater.
|
2016-06-16 18:19:23 -04:00 |
|
Thomas Harte
|
530cf3dcbb
|
Made an attempt to consolidate serialisation and clock rate adherence, allowing a floating-point clock rate.
|
2016-06-16 18:04:54 -04:00 |
|
Thomas Harte
|
ce59ad1911
|
Minor on-disk shuffle, to try to clarify ownership of responsibility.
|
2016-06-15 08:11:30 -04:00 |
|
Thomas Harte
|
45999f5b26
|
This should be strong.
|
2016-06-15 08:07:59 -04:00 |
|
Thomas Harte
|
e0baaf17f1
|
Added class prefix.
|
2016-06-15 08:07:25 -04:00 |
|
Thomas Harte
|
695dd2e9e3
|
Started upon a delegate protocol for the AudioQueue, resolving my use of a deprecated API while I'm at it.
|
2016-06-15 07:35:34 -04:00 |
|
Thomas Harte
|
dbdd05afb8
|
Merge pull request #20 from TomHarte/6560Accuracy
Adds some documentation and support for inverted cells in the 6560
|
2016-06-14 21:07:44 -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
|
3e1e5b163a
|
Update README.md
Added mention of the Vic-20.
|
2016-06-14 18:20:55 -04:00 |
|
Thomas Harte
|
8c82f6ae37
|
Merge pull request #18 from TomHarte/Vic-20
Adds basic NTSC VIC-20 emulation.
|
2016-06-14 18:20:06 -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
|
a9036e7aa4
|
Increased buffering range of audio as a quick fix for now. Basically means: increased latency as a short-term fix.
|
2016-06-14 07:31:47 -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
|
fcf4b14344
|
Extended to allow floating-point sampling rates. Which makes sense.
|
2016-06-13 19:30:41 -04:00 |
|
Thomas Harte
|
4190b42bbb
|
No need for these to live separately, I think.
|
2016-06-13 18:27:18 -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 |
|