Thomas Harte
|
da082673d7
|
Drives now have a finite number of heads.
The Amstrad volunteers itself to be single sided. Everything else stays as it was.
|
2017-09-15 21:18:36 -04:00 |
|
Thomas Harte
|
96bf133924
|
Withdraws requirement for DiskController users to specify a PLL multiplier or to provide rotation speed.
In the latter case because it's no longer of any interest to the controller, and in the former because I'd rather it be picked automatically.
|
2017-09-10 22:56:05 -04:00 |
|
Thomas Harte
|
0622187ddf
|
Strips Controller of all capabilities now housed on the Drive.
|
2017-09-10 19:23:23 -04:00 |
|
Thomas Harte
|
90c7056d12
|
Started devolving timed event loop logic down to the drives, moving them closer to modelling real life.
|
2017-09-10 14:43:20 -04:00 |
|
Thomas Harte
|
3544c0f014
|
Switches from testing size() != 0 to empty() != true.
Partly as size() is O(n) but empty is O(1), but primarily for style.
|
2017-09-04 20:54:38 -04:00 |
|
Thomas Harte
|
63ee8c9d58
|
Uses file containers' type distinguishers where available, and supplies potential insight to the ZX80/81 analyser as now required.
|
2017-08-27 15:20:58 -04:00 |
|
Thomas Harte
|
437023bff6
|
Expands to take an already-accrued list of potential platforms, as that may indicate that one or the other of the ZX80 and ZX81 is already out of contention and therefore save the need to attempt analysis.
|
2017-08-27 15:20:22 -04:00 |
|
Thomas Harte
|
9aa150c338
|
Abstracts the target platform type out from the static analyser's ownership.
|
2017-08-27 15:02:13 -04:00 |
|
Thomas Harte
|
c6e6c3fcfb
|
Resolves all current analyser warnings.
|
2017-08-24 22:18:44 -04:00 |
|
Thomas Harte
|
e6683e7f2d
|
Added the base skeletal stuff of HFE support.
|
2017-08-17 21:48:48 -04:00 |
|
Thomas Harte
|
5b3c707959
|
Generalised: an acceptable boot sector is acceptable even if no valid CP/M catalogue is found anywhere.
|
2017-08-17 14:28:16 -04:00 |
|
Thomas Harte
|
da3e8655e9
|
Withdrew some caveman debugging nonsense.
|
2017-08-17 13:25:19 -04:00 |
|
Thomas Harte
|
41e4386164
|
Added another "one thing is different" test: one thing has a different file name. Also decided to right-time the type (/extension) as well as the file name.
|
2017-08-17 13:21:48 -04:00 |
|
Thomas Harte
|
b0a98bd239
|
Added nuance: file names with unprintables are filtered, and then system files are considered if there are no remaining non-system files.
|
2017-08-17 12:48:15 -04:00 |
|
Thomas Harte
|
f68565a33f
|
Split the static analyser functionality so that it's possible just to ask for the set of media implied by a particular file. Extended ConfigurationTarget so that media alone can be pushed to a machine.
|
2017-08-17 10:48:29 -04:00 |
|
Thomas Harte
|
76c6b715a2
|
Adjusted rules so as not to type unnecessary spaces in the name, and to include the extension if AMSDOS won't imply it.
|
2017-08-16 22:24:37 -04:00 |
|
Thomas Harte
|
48290a8bbe
|
Added a prefilter to catalogues to remove system files. They're not listed when you CAT , so almost certainly aren't what a user would be expected to load.
|
2017-08-16 22:11:49 -04:00 |
|
Thomas Harte
|
9d9a1c341d
|
Added an extra test to try to avoid spurious |cpm launches.
|
2017-08-16 21:55:31 -04:00 |
|
Thomas Harte
|
0e083e9dc6
|
Factored composition of a run command out, as I think I need to worry about extensions, and can trim spaces.
|
2017-08-14 09:48:56 -04:00 |
|
Thomas Harte
|
bfe297052d
|
Picked up another subtlety: disk names may be outside of the ones a user could type, in which case they definitely don't affect the decision.
|
2017-08-11 18:59:38 -04:00 |
|
Thomas Harte
|
7e35e44934
|
Added an extra sanity check on treating system disks as system disks.
|
2017-08-11 18:46:39 -04:00 |
|
Thomas Harte
|
83c7d34df2
|
Switched to populating the sector cache with everything in a track the first time anything on that track is requested. That avoids the problem whereby each request of a non-existent sector costs two spins.
|
2017-08-11 18:40:16 -04:00 |
|
Thomas Harte
|
44dace2eef
|
Made an attempt not to interrogate files that definitely don't have the normal header.
|
2017-08-11 16:34:29 -04:00 |
|
Thomas Harte
|
23c149368b
|
Broadened CPC data disk analysis to spot when there is only one implicitly-runnable file, rather than only one without suffix.
|
2017-08-11 16:23:00 -04:00 |
|
Thomas Harte
|
4b7c504d22
|
Corrects analysis of system disks — they have a catalogue that is correct read, but can be launched without reference to it.
|
2017-08-11 15:55:33 -04:00 |
|
Thomas Harte
|
1f2bfc9581
|
Ensured tape loading really begins.
|
2017-08-11 12:30:36 -04:00 |
|
Thomas Harte
|
14ab03d1e0
|
Added a further fallback: if all files have an extension but one doesn't, take that one.
|
2017-08-11 12:27:50 -04:00 |
|
Thomas Harte
|
dea782cff9
|
Added a "yeah, I don't know" fallback.
|
2017-08-11 10:47:45 -04:00 |
|
Thomas Harte
|
388dd99762
|
Advanced this just enough to suggest a loading command for most things.
|
2017-08-11 10:47:12 -04:00 |
|
Thomas Harte
|
734099a956
|
Threw a sector cache into my MFM parser, in an attempt to cut down analysis costs. Also made it aware of multiple heads.
|
2017-08-11 10:29:13 -04:00 |
|
Thomas Harte
|
994179f188
|
Taking a whole bunch of guesses, this might be correct.
|
2017-08-10 22:33:08 -04:00 |
|
Thomas Harte
|
6a65c7a52a
|
Started working on a CPC-oriented analyser; for now I just want to be able to make a good guess at the appropriate file to load from a disk. As it turns out, the CPC simply adopts the CP/M format, so a generic parser is appropriate. This is its beginning.
|
2017-08-10 17:10:21 -04:00 |
|
Thomas Harte
|
484524d781
|
Implements RAM paging. The 6128 is now emulated.
|
2017-08-08 16:01:56 -04:00 |
|
Thomas Harte
|
caf3ac0645
|
Sought: (i) to instruct the CPC that it should be a 664, not a 464, if given a disk image (at least until I have RAM paging implemented for a 6128); (ii) to support ROM selection within the CPC and allow paging in of AMSDOS.
|
2017-08-05 19:20:38 -04:00 |
|
Thomas Harte
|
75c59fefab
|
Added an empty husk to begin support for Amstrad CPC disk image formats.
|
2017-08-05 10:02:10 -04:00 |
|
Thomas Harte
|
5b5720fac0
|
Added to the static analyser the most basic through-path for Amstrad CPC content.
|
2017-07-30 21:15:20 -04:00 |
|
Thomas Harte
|
d25d7d7d40
|
Added the Amstrad CPC as a named target and declared support for its CDT file format.
|
2017-07-29 21:56:33 -04:00 |
|
Thomas Harte
|
8a2bdb8d22
|
Converted the TimedEventLoop and the things that sit atop it into ClockReceiver s.
|
2017-07-24 21:19:05 -04:00 |
|
Thomas Harte
|
1bbb4cb478
|
Increased documentation.
|
2017-07-22 17:39:51 -04:00 |
|
Thomas Harte
|
6633537fb8
|
Discovering that there is such a thing as P81 — a ZX81 file without the name omitted — added support for it. Extended FileHolder while I was here to retain the file name and be able to supply its extension, as my quick-fix test-the-last-character approach to o/p/80/81 discrimination stops working with p81 thrown into the mix and this feels like the correct factoring.
|
2017-07-22 16:02:25 -04:00 |
|
Thomas Harte
|
807e1d36d5
|
Resolved signedness mismatch.
|
2017-07-21 20:57:48 -04:00 |
|
Thomas Harte
|
3c8bf52fb8
|
Believing my 64kb memory map not currently to work, temporarily disabled reference to it in the static analyser.
|
2017-07-21 20:43:56 -04:00 |
|
Thomas Harte
|
238348c885
|
Performed the initial wiring to announce that this application supports TZX files and to route them to the ZX80/81 static analyser. The TZX class itself does not yet do much beyond basic validation. I think it'll be easiest if it follows in UEF's footsteps in queuing up pulses ahead of time, so some factoring out is now required.
|
2017-07-16 21:33:11 -04:00 |
|
Thomas Harte
|
fc8313430a
|
Added an early exit if what was read as a header turns out pretty much certainly not to be a header.
|
2017-07-13 21:26:45 -04:00 |
|
Thomas Harte
|
33d16ae0cd
|
Fixes: individual static analysers reset tapes, for potential successors. The ZX81 file analyser no longer overruns its buffer upon receiving a file that is shorter than 11 bytes.
|
2017-07-12 21:34:08 -04:00 |
|
Thomas Harte
|
368bff1a82
|
Added a shell class that will one day be able to parse CSW files, plus the logic and metadata to instantiate it when a CSW presents itself.
|
2017-07-10 21:43:58 -04:00 |
|
Thomas Harte
|
ac59dd8b1d
|
Added enough typing to issue a load command. No thoughts as to running yet though.
|
2017-07-09 22:07:12 -04:00 |
|
Thomas Harte
|
77aa3c187e
|
Rebranded ZX80O as ZX80O81P, with an eye to making it accept ZX81 .p files. Adjusted the initial selection part of the static analyser appropriately.
|
2017-06-11 21:38:32 -04:00 |
|
Thomas Harte
|
8116f85479
|
Allowed the static analyser to specify a ZX80 or 81, and a memory model. Neither is respected yet in the machine.
|
2017-06-11 19:12:20 -04:00 |
|
Thomas Harte
|
7e10c7f9d8
|
Relocated the ZX80/81 concept of a 'file' out from Tape into Data, given that it's an exact duplicate of memory.
|
2017-06-08 19:09:51 -04:00 |
|