1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-19 23:32:28 +00:00
Commit Graph

1400 Commits

Author SHA1 Message Date
Thomas Harte
79ed215254 Merge pull request #57 from TomHarte/Oric
Adds very provisional Oric emulation
2016-10-20 07:39:38 -04:00
Thomas Harte
5185927a43 Added formal admission of Oricness. 2016-10-20 07:38:48 -04:00
Thomas Harte
f13d7ed6f4 Added an extra safety rail. 2016-10-20 07:36:53 -04:00
Thomas Harte
21cfb39ed9 Added 60Hz output support. 2016-10-20 07:34:23 -04:00
Thomas Harte
73365e1877 Resolved sizing error. 2016-10-19 23:09:05 -04:00
Thomas Harte
cd59eb5f43 Implemented non-linear volume. 2016-10-19 23:07:51 -04:00
Thomas Harte
c24c1bf3b1 Created an options panel for the Oric. Which involved far too much copy and paste from the Electron. Time to figure out how to generalise this stuff, probably. 2016-10-19 22:56:14 -04:00
Thomas Harte
b59da7d4bc Added some documentation. 2016-10-19 22:47:44 -04:00
Thomas Harte
08275c6241 Fixed mixer IO bit usage. 2016-10-19 22:22:15 -04:00
Thomas Harte
59162228ef Reduced mask for clarity. 2016-10-19 22:14:05 -04:00
Thomas Harte
319d7c2b12 Fixed premature wrapping of the envelope, played about with whether that should be subject to a predivision by 256. It feels unlikely? 2016-10-19 22:12:51 -04:00
Thomas Harte
6073906c39 Commented and fixed mistake that would equate any noise divider > 32768 with 0. 2016-10-19 21:51:35 -04:00
Thomas Harte
101f168ea4 Made an attempt to tidy up. 2016-10-19 21:43:18 -04:00
Thomas Harte
5e2b0aa901 Quick project clean up. 2016-10-19 21:32:12 -04:00
Thomas Harte
5c69728625 Introduced a memory fuzzer, and ensured the Oric uses it. 2016-10-19 21:31:50 -04:00
Thomas Harte
734b575d30 Ensured no attempt to write to pixel storage if none was available. 2016-10-19 21:17:27 -04:00
Thomas Harte
4258401384 Implemented flush, added a call to it from the filter speaker's destructor, to ensure no race conditions on accessing the various bits of instance state there and below. 2016-10-19 21:15:04 -04:00
Thomas Harte
ada37abe23 Made an attempt to implement noise and envelopes. Not quite right yet. 2016-10-19 21:13:22 -04:00
Thomas Harte
5a808d789a Added an upper threshold that must be crossed before a lower threshold warning is communicated. 2016-10-18 22:21:34 -04:00
Thomas Harte
ca28e3c64e Ensured the AY is pumped linearly, not exponentially. 2016-10-18 22:21:06 -04:00
Thomas Harte
bd6e6674a0 Fixed signed shift assumption and noise-related register test. 2016-10-18 22:20:12 -04:00
Thomas Harte
b7609d2bb4 Fixed a potential race condition and simplified generally. 2016-10-18 19:32:38 -04:00
Thomas Harte
9669a5ec9b Switched to a more authentic interfacing to the AY. 2016-10-18 19:32:15 -04:00
Thomas Harte
f6b6ec7009 Cemented new meaningof the audio queue delegate callout. 2016-10-17 08:18:32 -04:00
Thomas Harte
988bbb5ab1 Ensured AY registers aren't rewritten just because of a synchronise event. A stall prior to figuring out proper bus logic, clearly. 2016-10-17 08:05:57 -04:00
Thomas Harte
c628b7c5c5 This is the real PAL frequency, I think. 2016-10-17 08:05:02 -04:00
Thomas Harte
c105f2acd9 Sought to reduce chattiness. 2016-10-17 08:04:36 -04:00
Thomas Harte
1a57e89ff0 Altered phase so that it now merely accounts for accumulated error across a frame. Can probably do better. 2016-10-17 08:04:15 -04:00
Thomas Harte
43612e1ca2 Made an attempt to eliminate conditionals (running before I can walk?) and started edging towards an envelope generator. 2016-10-17 08:03:38 -04:00
Thomas Harte
cc0b70828b Removed attempt at multiple-file logic, at least for the time being. Starting to wonder whether I actually need anything beyond a literal streaming of bytes? 2016-10-16 22:15:24 -04:00
Thomas Harte
b274d7008c Added precaution to make sure best-effort updaters aren't mid-update during document destruction. 2016-10-16 22:14:47 -04:00
Thomas Harte
61ad0f8bdc Fixed inverse characters, added an extra per-frame phase change, based on empirical observation, ensured header guard won't become ambiguous. 2016-10-16 22:14:01 -04:00
Thomas Harte
fae1bb0db9 First successful game loaded! It turns out exactly one '$' is correct. Probably. 2016-10-15 21:49:41 -04:00
Thomas Harte
a67afb7efa Switched to a tight crop on the pixel part of the display. 2016-10-15 21:43:46 -04:00
Thomas Harte
952a24f769 A quick hard-wiring of the OricTAP code to get the first file in a .tap correct, damn the rest, and I'm getting some on-screen feedback. Hooray! 2016-10-15 21:39:53 -04:00
Thomas Harte
a608bbebfb Performed enough wiring to put the onus back onto OricTAP to do appropriate things. 2016-10-15 21:32:59 -04:00
Thomas Harte
6d7c3f6ac2 Factored out the now-sampling binary-level tape player from the Vic and connected it up to the Oric. 2016-10-15 21:21:18 -04:00
Thomas Harte
9730e8247f Ensured propagation of synchronise messages, added enough to do plain tone. Probably. So: noise and envelopes missing. And it's all far too quiet. 2016-10-15 21:04:21 -04:00
Thomas Harte
51bdac27ae Made some AY advances; it's now being polled for samples and collecting more information on what it needs to output. 2016-10-15 17:45:39 -04:00
Thomas Harte
da9c9ad51a Added in the missing keys; added variable phase to the video. 2016-10-14 22:39:27 -04:00
Thomas Harte
288d10c253 Got some keyboard reaction. 2016-10-14 21:44:15 -04:00
Thomas Harte
3dbb602419 This seems to be a bit more likely. 2016-10-14 21:36:59 -04:00
Thomas Harte
138eabcff4 Continued in my effort to wire up a keyboard. Will need further to continue. 2016-10-14 21:35:15 -04:00
Thomas Harte
d8e4c488c2 Started iterating towards having an AY and a fully-working keyboard. 2016-10-14 21:18:03 -04:00
Thomas Harte
8867ad647c Made an attempt at implementing the loopbacks necessary for diagnostics. 2016-10-13 21:47:12 -04:00
Thomas Harte
41e7eff6c8 Added a VIA. Now it's time to find out how poor my 6522 emulation is. 2016-10-13 20:50:55 -04:00
Thomas Harte
c9962f6502 Made an almost complete implementation of video. Just one row of the diagnostics cartridge seems to be off, showing thw wrong character set. 2016-10-13 19:34:29 -04:00
Thomas Harte
0ca383ecd1 Set every single key to be NMI, in order to be able to progress with the diagnostics cartridge. 2016-10-13 18:56:55 -04:00
Thomas Harte
69920a4979 Made some basic first attempt at parsing video attributes; ensured lowest byte of ROM is readable. 2016-10-13 07:59:11 -04:00
Thomas Harte
ae48ad1bb4 Meaningful text! Albeit with the initial 'O' of 'Oric' missing. I guess control codes and NMIs next? 2016-10-12 22:03:54 -04:00