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

1208 Commits

Author SHA1 Message Date
Thomas Harte
55a7418cbf Parameterised to perform FM and MFM encodings, at least subject to CRCs still being missing. 2016-09-18 17:16:20 -04:00
Thomas Harte
22eed60d2b Started sketching out basic MFM track encoding. Which possibly even means that the shifters don't need to be public? 2016-09-18 16:53:21 -04:00
Thomas Harte
0089c830c6 This possibly correctly encapsultes the lowest level of FM and MFM rules. 2016-09-18 14:17:06 -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
656d0c7a69 Merge pull request #50 from TomHarte/FasterDisk
Introduces a slightly less expensive timed event loop
2016-09-18 10:33:16 -04:00
Thomas Harte
6454508db8 Added a quick bit of documentation. 2016-09-18 10:30:52 -04:00
Thomas Harte
65b568003d Clarified TODO. 2016-09-18 10:29:45 -04:00
Thomas Harte
8c2bf099ad Cut down to one GCD and clarified variable names, getting more explicit about what's going on. 2016-09-18 10:24:09 -04:00
Thomas Harte
6f0b9adc3d Factors.cpp is dead. 2016-09-18 10:23:34 -04:00
Thomas Harte
48317f3b77 Templated these two methods, so as no longer to put a constraint on precision. 2016-09-18 10:23:15 -04:00
Thomas Harte
79ef38b123 Attempted to use the new get_cycles_until_next_event method to take some repetition outside of the PLL and drive event loops. 2016-09-17 22:02:38 -04:00
Thomas Harte
bfed9585b8 Added a sector cache to avoid having to re-decode things five times over. 2016-09-17 22:01:54 -04:00
Thomas Harte
dbb758aaf1 Workaround for a weird bug that suddenly appears to manifest: gzgetc is returning the file name, not bytes from the file. Seems to be related to improper initialisation of the next field within the gzFile header. I can't immediately see where ZLib intends to do that so it's a bit mysterious. But the larger-than-8 readers could probably save time by reading in blocks anyway. 2016-09-17 22:01:25 -04:00
Thomas Harte
14a9edcf5d Made an attempt to do the time base conversion upfront, saving a lot of hassle and allowing greater prediction. 2016-09-17 19:52:27 -04:00
Thomas Harte
a98374995e Cleaned up pre-analysis code. 2016-09-17 18:19:32 -04:00
Thomas Harte
b7e353cad5 Merge branch 'master' of github.com:TomHarte/CLK 2016-09-17 18:13:06 -04:00
Thomas Harte
142254a478 Resolved failure to open disks that arrive through analysis. 2016-09-17 18:11:58 -04:00
Thomas Harte
788df09f71 Merge pull request #49 from TomHarte/Xcode8
Migrated to Swift 3.
2016-09-17 18:10:43 -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
cc66e1973f Merge pull request #48 from TomHarte/FasterLoading
Introduces an initial attempt at static analysis of emulator programs
2016-09-15 19:38:23 -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
1d8fbe9068 With minor cleaning, this should now do Commodore disks correctly (?) 2016-09-15 19:21:09 -04:00
Thomas Harte
9827466297 Minor post-haste cleaning. 2016-09-15 07:58:32 -04:00
Thomas Harte
8992feb8cd Completed a first parse at the GCR parser, proving how incredibly slow my drive is. 2016-09-15 07:54:42 -04:00
Thomas Harte
9d6dcb80a7 Started work on a GCR parser and the helper functions that lie behind that. 2016-09-13 21:53:36 -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
e3571e8b9e Added insurance against an infinite loop should the tape be exhausted. 2016-09-12 22:22:23 -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
e54a2326a3 Made attempt to run at zero cost while processing tape input. 2016-09-11 17:34:02 -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
1ca4a2a012 Sought to be more intelligent in handling cases where the two parts of a header or data field don't match — if either looks good then use it in isolation. 2016-09-10 17:01:17 -04:00
Thomas Harte
a5b17932ca Attempted further to improve memory model guesswork. With many further improvements to make... 2016-09-08 21:09:37 -04:00
Thomas Harte
27fedaf892 The error flag is no longer directly exposed. I also tweaked the Commodore import numbers just a touch. But I think I need proper calibration. 2016-09-08 21:09:05 -04:00
Thomas Harte
1de6097f06 Shuffled C stuff out on top. 2016-09-08 21:08:03 -04:00
Thomas Harte
24251a2768 Negligible indentation fix. 2016-09-08 07:49:43 -04:00
Thomas Harte
01e5dae512 Threw in 300-baud support. Why not? 2016-09-08 07:48:20 -04:00
Thomas Harte
3e925e80a3 Added a field-filling constructor for pulses. 2016-09-08 07:41:44 -04:00
Thomas Harte
1e7b5330f5 More or less rewrote, to use a filled-per-chunk buffer of upcoming pulses rather than working them out as requests come. Which is more straightforward — all the code for a particular chunk goes in exactly one place — and much easier to extend. So threw in a provisional 0104 implementation. 2016-09-08 07:41:26 -04:00
Thomas Harte
2b053436e5 Missed from previous commit; removed assumption that get_next_data always succeeds. 2016-09-08 07:39:43 -04:00
Thomas Harte
54557d7f13 Added reminder, ensured the couldn't-find-data case doesn't cause a crash. Though it should imply some manual investigation. 2016-09-08 07:39:17 -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
556b77f2fd Added some TODOs, re-enabled master Acorn decision. 2016-09-07 07:39:47 -04:00
Thomas Harte
6522a9a6c2 Pulled the strands together provisionally to complete Commodore ROM-format tape parsing. Things are going to get complicated if or when I need to tackle turbo loaders. 2016-09-07 07:34:48 -04:00
Thomas Harte
d66516fd62 Finished parser for data blocks. 2016-09-06 22:10:33 -04:00