1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-12-27 01:31:42 +00:00
Commit Graph

368 Commits

Author SHA1 Message Date
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
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
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
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
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
572d5587d9 Made a first stab at enabling multi-disk machines and thereby obeying (some of) the Plus 3's status register. 2016-09-25 21:24:16 -04:00
Thomas Harte
9bbcbd1001 Renamed class, intending to turn a Disk::Drive into literally just that, and have a thing with a PLL that consumes events be a Controller. 2016-09-25 20:05:56 -04:00
Thomas Harte
de863719d0 Made a first attempt at Acorn ADFS support plus the start of a suitable analyser. 2016-09-25 17:46:11 -04:00
Thomas Harte
ce4100e5b9 Fixed slots for DFS and ADFS to sideways RAM; continued working on the 1770 to get as far as trying to get the body of a sector. 2016-09-24 22:04:54 -04:00
Thomas Harte
cd5939501f Treading water some more, ensured the DFS and ADFS ROMs get to the Electron. It now even inserts the DFS ROM if it has a DFS disk image. Might need to make it a sideways RAM though? Regardless, the next job surely — surely! — has to be to stop avoiding the 1770? 2016-09-20 07:36:57 -04:00
Thomas Harte
c9dd07cecd DFS disks are now delivered right up to the emulator's front door. So everything's in place to get started on that WD1770 nonsense. 2016-09-19 08:29:23 -04:00
Thomas Harte
fbcb59d47a A policy change trial: let the person above deal with any error. 2016-09-18 21:18:41 -04:00
Thomas Harte
0ce901bd48 Added necessary wiring to get as far as asking an arm of the analyser to check out an Acorn disk image. 2016-09-18 21:18:11 -04:00
Thomas Harte
91cd7e143b Started on the SSD/DSD support. Realised I had ommitted multiple head support from my disk class. Fixed that. 2016-09-18 19:21:02 -04:00
Thomas Harte
180c3df2d4 Calling it 'number theory' probably isn't accurate but extracted the CRC stuff and started using it for [M]FM encoding. 2016-09-18 18:33:26 -04:00
Thomas Harte
bcf91de7e9 Declared support for the Acorn disk files, started hammering out an encoder. 2016-09-18 13:35:54 -04:00
Thomas Harte
0e44cfa8a1 Merge branch 'master' into WD1770 2016-09-18 10:34:11 -04:00
Thomas Harte
6f0b9adc3d Factors.cpp is dead. 2016-09-18 10:23:34 -04:00
Thomas Harte
a98374995e Cleaned up pre-analysis code. 2016-09-17 18:19:32 -04:00
Thomas Harte
e3daf80564 Added a file for the 1770, at least. 2016-09-17 18:01:00 -04:00
Thomas Harte
7c65c69e0f Migrated to Swift 3. 2016-09-15 22:12:12 -04:00
Thomas Harte
ee8510984f Added just enough wiring to restore the 2600 to functionality. 2016-09-15 19:34:45 -04:00
Thomas Harte
92af19098c Improved file naming. 2016-09-15 19:24:59 -04:00
Thomas Harte
df7aed7e8b The Commodore analyser now at least hands off to somebody else a chance to parse disks. 2016-09-13 07:26:51 -04:00
Thomas Harte
c3a795328d Windows have titles again. Also I've owned up to not knowing how to edit UEFs right now. 2016-09-12 22:15:38 -04:00
Thomas Harte
40660fe680 Made yet another guess at Commodore analysis. Elevated fast tape-related unnatural speed up to the OS-side mechanisms. 2016-09-12 22:06:03 -04:00
Thomas Harte
eeec516fa6 Implemented seeking on tapes, mucked about a bit more with the Commodore analyser, at least temporarily removed cropping from the Vic emulator. 2016-09-11 17:09:00 -04:00
Thomas Harte
908dc40569 If loading automatically, assume that whatever was in the machine target set up the machine and don't override it. Too dodgy? More thought required. 2016-09-08 07:38:34 -04:00
Thomas Harte
8c84f3581a Attempted to bring some uniformity in application of configurations. 2016-09-08 05:32:17 -04:00
Thomas Harte
50175a9aed Added logic to try to spot when the first program is BASIC and, if so, what the correct memory model is, then to get that information to the Vic. Though it currently then gets overwritten by the view controller. Grrrr. 2016-09-07 22:17:19 -04:00
Thomas Harte
bdebc18e0a Added a header parser for Commodore tapes. No time to grab file bodies now; time to go to work. 2016-09-06 08:49:32 -04:00
Thomas Harte
8b933182af Added enough wiring (hopefully) that the Commodore tape's GetFiles should be called when appropriate. 2016-09-06 06:39:40 -04:00
Thomas Harte
963e307d0c Increased documentation. 2016-09-05 22:06:39 -04:00
Thomas Harte
05c24222d8 Liberated the tape parser template. 2016-09-05 20:02:35 -04:00
Thomas Harte
21e5f407d8 I need to get a bit more definitive on naming but this gets all the way to setting a configuration upon an Electron. 2016-08-31 22:03:42 -04:00
Thomas Harte
a9b67dfba0 Introduced an NSDocumentController subclass. 2016-08-31 21:21:07 -04:00
Thomas Harte
7bc2b6b161 Added the minor piece that will allow analysis results to be obtained from Objective-C, and exposed to Swift in sufficient detail for it to be able to pass on to the machine. 2016-08-31 20:43:29 -04:00
Thomas Harte
0032ad2634 Edging ever onwards; killed forced attempt at uniformity in targets, sketched out the interface for a next-file-from call to Acorn tapes. 2016-08-29 21:10:38 -04:00
Thomas Harte
d1abfc040c Addressed my dithering here: the file format containers themselves should do nothing but inspect the data to find out whether it is of the correct format. The machine steps are there for machine-specific validation. So it's probably easier to treat a binary ROM image just as a binary ROM image. Therefore, the Acorn-specific .rom detection is now in an Acorn-specific area. 2016-08-29 08:48:49 -04:00
Thomas Harte
29c972f4b8 Added hacky segue into analysis for all Electron formats. Added analyser to try to differentiate Acorn-format ROMs from other things called .rom, which are likely to be numerous. 2016-08-28 12:43:17 -04:00
Thomas Harte
d9f0065154 Sketched out just enough classes to get through the get-contents-into-memory step of static analysis. 2016-08-28 12:20:40 -04:00
Thomas Harte
24938326ac ROMs definitely have no behaviour other than responding to memory accesses. Cartridges might. So picked the more general term. Sketched out a class at least to parse PRG as though it were a cartridge. Hence the static analyser can guess at whether a PRG is a cartridge or an ordinary program. 2016-08-27 18:26:51 -04:00