1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-07-06 01:28:57 +00:00
Commit Graph

1155 Commits

Author SHA1 Message Date
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
Thomas Harte
120b2d9e33 Switched to using a diagnostic ROM for now, as it'll definitely boot without initially requiring either a 6522 or AY. Have some forms appearing which imply I'm not doing badly, at least up to not knowing where I'm supposed to get character pixels from. 2016-10-12 21:52:47 -04:00
Thomas Harte
1f857c619b Fixed timing issues. Static box of frame achieved! 2016-10-12 21:42:36 -04:00
Thomas Harte
304f0999cd Made a faulty but hopefully creditable attempt to demarcate an Oric frame. 2016-10-12 21:29:21 -04:00
Thomas Harte
8c8a71107e Added just enough wiring to add something that will generate the video, one day. 2016-10-12 19:20:23 -04:00
Thomas Harte
e6937d8003 Ensured that the ROM gets installed. So next for some video action? 2016-10-12 18:51:02 -04:00
Thomas Harte
f7d2e988b6 Mildly enhanced unit test, while I'm curious. 2016-10-11 22:22:53 -04:00
Thomas Harte
4a062c616f Added enough wiring to get Oric TAPs through to a completely unimplemented Oric emulation. 2016-10-11 22:20:13 -04:00
Thomas Harte
cbc3d28217 Ensured an exception is thrown if no machine to run a file is found. E.g. right now if you tried to open a ZX Spectrum .tap. 2016-10-11 21:03:01 -04:00
Thomas Harte
4f78d693e9 Reintroduced gap as a string of 1s, made an attempt to look up bit ordering. Still unclear on high/low versus low/high. 2016-10-11 08:07:51 -04:00
Thomas Harte
70f004efbb This may be feeding bits in the wrong direction or calculting the wrong parity or doing something else amiss but should now be correct as to bytes. 2016-10-11 07:57:10 -04:00
Thomas Harte
df01c78039 It's a bit of a mess but this is probably close to appropriate for Oric TAP files. 2016-10-11 07:39:48 -04:00
Thomas Harte
00e3ad9b04 Added a bit more ceiling for lowpass filtering on constrained machines. 2016-10-10 07:51:01 -04:00
Thomas Harte
95afdbe966 Merge pull request #56 from TomHarte/NoBuffer
Removes the locking attempt at enforcing a circular audio buffer on the Mac
2016-10-10 07:49:13 -04:00
Thomas Harte
02bfa8b8de This should just trust. 2016-10-10 07:45:09 -04:00
Thomas Harte
f4b39c4435 Added documentation and experimentally reduced packet size. We'll see. 2016-10-10 07:42:24 -04:00
Thomas Harte
de397799ed Pulled away my crazy rationalisation of an audio queue into a circular buffer and decided just to trust the OS. This should reduce latency. 2016-10-10 07:30:00 -04:00
Thomas Harte
c284818af5 Fixed alphabetisation of project. 2016-10-07 17:21:02 -04:00
Thomas Harte
cffdbc7c00 Merge pull request #55 from TomHarte/AsyncQueue
Introduces an asynchronous task queue
2016-10-07 17:20:35 -04:00
Thomas Harte
4829b896f7 Documented the async task queue. 2016-10-07 17:18:46 -04:00
Thomas Harte
922dd6a586 Hit up the other two kinds of audio generator. 2016-10-07 17:10:00 -04:00
Thomas Harte
002e923cf1 Added shutdown logic. 2016-10-07 17:08:29 -04:00
Thomas Harte
de658b70d7 That's thread safety, subject to the async task queue being made to work... 2016-10-07 17:02:36 -04:00
Thomas Harte
e53455a936 Not having read the C++ synchronisation primitives before, this async task queue is probably incorrect. But nevertheless, let's have a quick go at employing it — in a hideously thread unsafe fashion — for audio generation. What can possibly go wrong? 2016-10-07 16:56:34 -04:00
Thomas Harte
2d26feb073 Added mappings for the previously-missing characters @, [ and ]. 2016-10-04 22:03:53 -04:00
Thomas Harte
ebef5ccdba Merge pull request #54 from TomHarte/BCDTest
Installs hoglet's BCDTest as a formal part of the test suite
2016-10-04 07:53:39 -04:00
Thomas Harte
c097886d00 Installed hoglet's BCDTest as a formal part of the test suite; removed some redundant semicolons in the Wolfgang Lorenz tests while I was here. 2016-10-04 07:52:44 -04:00
Thomas Harte
f9ee6803df It's likely this should be set at startup too, based on latest info. 2016-10-03 22:16:10 -04:00
Thomas Harte
f1af6ef8b6 Merge pull request #53 from TomHarte/BCDTest
Resolves failure of the jsbeeb BCDTest.ssd
2016-10-03 22:07:20 -04:00
Thomas Harte
fa7c64bb5d Eventually reached an implementation of ADC that continues to satisfy all the formalised unit tests while also satisfying the manual BCDTest, that I need to find a way to formalise. I fixed the unit tests for Swift 3 while here, and attempted to do some unrelated NIB stuff with no real success. 2016-10-03 22:03:39 -04:00
Thomas Harte
97304e22f0 Adjusted per tests on StarDot; it appears the tape interrupts may fire during audio output, as if in tape output mode. 2016-10-03 20:03:14 -04:00
Thomas Harte
dae6b45464 Ensured the always-on bit of the interrupt status register is indeed on. 2016-10-03 19:15:31 -04:00
Thomas Harte
6ecd8aac61 Merge pull request #52 from TomHarte/SingleDocument
Collapses Mac binding down to a single NSDocument
2016-10-03 08:02:30 -04:00
Thomas Harte
cfdd5fb686 By removing its status as a special case, eliminated the Atari 2600 document. It's fairly clear that my date with doing joysticks properly can be deferred only so much longer but this is no worse than previously things were. 2016-10-03 08:01:04 -04:00
Thomas Harte
bf468db73d Migrated the Vic document to a mere options panel. 2016-10-03 07:42:05 -04:00
Thomas Harte
9e6e84647e Quick formatting fix. 2016-10-02 22:06:28 -04:00
Thomas Harte
f28881ec6b ... and with the return of stored options and the shift of the aspect ratio to somewhere else (to sit, temporarily), the Electron document is the first of the gang to die. 2016-10-02 22:04:47 -04:00
Thomas Harte
19457621d8 Redistributed ownership of the user defaults key prefix, the Electron now works other than that settings aren't retained. 2016-10-02 21:56:50 -04:00
Thomas Harte
f1b99263e0 Relocated responsibility for loading ROMs, giving an Electron that 'works' (i.e. options aside) again. 2016-10-02 20:39:06 -04:00
Thomas Harte
989a1581da Migrated analysis logic from the document controller to the document. 2016-10-02 17:04:14 -04:00
Thomas Harte
0c75c2fc41 Disabled all machine-specific document code, to force the migration of functionality. The 2600 works other than the little matter of input. 2016-10-02 16:57:57 -04:00
Thomas Harte
6c6e9830dd Started factoring the options panels out, in the hope that they'll become the only machine-specific thing. At least in the short term. 2016-10-02 16:31:50 -04:00
Thomas Harte
2411f192f7 Switched back to full typing, even for DFS loading. It saves having to worry about sideways RAM filing systems and shift (if that's even the issue). 2016-10-01 21:09:28 -04:00
Thomas Harte
cd1ab09701 The Vic-20 now inserts ROMs again. 2016-09-29 20:15:25 -04:00
Thomas Harte
abf47efd40 Factored out Commodore is-a-ROM test, allowing it to be used from the Commodore analyser and thereby allowing ROMs to get as far as the machine again. 2016-09-29 19:39:13 -04:00
Thomas Harte
4010f36238 Ensured tape-formatted PRGs reach a conclusion. 2016-09-29 19:12:26 -04:00