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 |
|
Thomas Harte
|
350b36df25
|
Wired in an attempted usage of the new tape parser.
|
2017-06-07 17:30:53 -04:00 |
|
Thomas Harte
|
d2637123c4
|
Added necessary support to get as far as an empty window when attempting to load a piece of ZX80 software.
|
2017-06-04 17:55:19 -04:00 |
|
Thomas Harte
|
02b7c3d1b0
|
Added the necessary wiring to get into a ZX80/81-oriented part of the static analyser, which could in principle post a ZX80 target.
|
2017-06-04 17:04:06 -04:00 |
|
Thomas Harte
|
655809517c
|
Ensured that there is a subclass of file that is entrusted to load .O/.80 files, and that the code routes such files to it, noting that it should consider whether a ZX80 is required.
|
2017-06-04 16:37:03 -04:00 |
|
Thomas Harte
|
df4d4467b3
|
Ensured GCR parser spins the disk.
|
2017-05-16 20:53:06 -04:00 |
|
Thomas Harte
|
1f56e85f6d
|
Centralised resetting of tape files within the static analyser, having implemented it patchily.
|
2017-05-06 22:19:08 -04:00 |
|
Thomas Harte
|
6a37a02eee
|
Switched to std::ostringstream to avoid the need to make a string length count (and I was one off when loading a disk).
|
2017-05-06 19:55:42 -04:00 |
|
Thomas Harte
|
e01f3f06c8
|
Completed curly bracket movement.
|
2017-03-26 14:34:47 -04:00 |
|
Thomas Harte
|
a6897ebde0
|
Added an attempt to distinguish the MegaBoy (now with proper capitalisation) and a test for it.
|
2017-03-13 20:43:12 -04:00 |
|
Thomas Harte
|
582da14a14
|
Added an enumerated type and detection of Pitfall 2.
|
2017-03-13 08:15:36 -04:00 |
|