Thomas Harte
|
7ea703f150
|
Started making provisions for a DMA-compatible implementation. Re: the CPC, it sounds like DMA acknowledge might be permanently wired, causing DMA mode seemingly to work from the 8272's point of view.
|
2017-08-14 08:38:00 -04:00 |
|
Thomas Harte
|
ea64125124
|
Added an explicit nilling, to help with debugging.
|
2017-08-13 22:15:25 -04:00 |
|
Thomas Harte
|
1011143dbe
|
Sought to correct my interpretation of 'gap 3'.
|
2017-08-13 21:52:48 -04:00 |
|
Thomas Harte
|
9ace6e1f71
|
Applied minimum constraints for specified parameters.
|
2017-08-13 19:25:57 -04:00 |
|
Thomas Harte
|
750f2cb883
|
Flagged as not read-only, at least for now, to allow 8272 writing tests definitively to function.
|
2017-08-13 18:54:39 -04:00 |
|
Thomas Harte
|
5221837be8
|
Fixed Non-DMA flag for the format track execution phase. The emulated machine now provides sector details.
|
2017-08-13 18:51:06 -04:00 |
|
Thomas Harte
|
1576b4500b
|
Added documentation.
|
2017-08-13 18:27:00 -04:00 |
|
Thomas Harte
|
e1e9a06712
|
Made an attempt at format a track.
|
2017-08-13 18:05:19 -04:00 |
|
Thomas Harte
|
6e36f8ffa4
|
Removed index-hole announcement.
|
2017-08-13 12:50:24 -04:00 |
|
Thomas Harte
|
b0a7208cc7
|
Strung together a very basic version of 8272 write [/deleted] data. Lots of cases as-yet unhandled.
|
2017-08-13 12:50:07 -04:00 |
|
Thomas Harte
|
eec42aa7ae
|
Entrusted further status to drives; also adjusted them to report read only if diskless, which I now believe to be correct.
|
2017-08-13 11:50:49 -04:00 |
|
Thomas Harte
|
6d2e969e7d
|
Merge pull request #193 from TomHarte/8272Style
Improves 8272 implementation style
|
2017-08-12 18:05:27 -04:00 |
|
Thomas Harte
|
5f42022c1d
|
Added a tester for the control mark.
|
2017-08-12 17:35:14 -04:00 |
|
Thomas Harte
|
11d0c37506
|
Attempted to find a more expressive way for maintaining state — macros for all conditions, to bind both values and destinations.
|
2017-08-12 17:33:52 -04:00 |
|
Thomas Harte
|
58bad1e2a3
|
Merge branch 'PerDriveStatus'
|
2017-08-12 16:49:38 -04:00 |
|
Thomas Harte
|
27d1dc5c37
|
Removed some old printf s.
|
2017-08-12 16:49:20 -04:00 |
|
Thomas Harte
|
e7345c7a20
|
Merge pull request #192 from TomHarte/PerDriveStatus
Expands 8272 emulation further
|
2017-08-12 16:49:06 -04:00 |
|
Thomas Harte
|
186048a88e
|
Made an attempt to fix the condition for setting a broken header CRC.
|
2017-08-12 16:39:32 -04:00 |
|
Thomas Harte
|
7135259cc1
|
Sought to flesh out error conditions.
|
2017-08-12 16:36:37 -04:00 |
|
Thomas Harte
|
4909325e79
|
Implemented read deleted data.
|
2017-08-12 13:01:17 -04:00 |
|
Thomas Harte
|
a4ee697ed1
|
Quickie: head unload is scheduled only if the head is presently loaded.
|
2017-08-12 12:53:45 -04:00 |
|
Thomas Harte
|
0f15a2f97f
|
Relented: it actually looks like status bytes aren't per-drive. But each drive may fail at seeking individually. So that piece of state accumulates at the 8272 drive.
|
2017-08-12 12:52:36 -04:00 |
|
Thomas Harte
|
89ace671a4
|
Corrected unload time. Was 8000 times too short.
|
2017-08-12 09:44:01 -04:00 |
|
Thomas Harte
|
e7db2a2f6d
|
Sought to introduce head loading and unloading delays.
|
2017-08-12 09:36:21 -04:00 |
|
Thomas Harte
|
8c33ac71ee
|
Merge pull request #191 from TomHarte/Precache
Introduces more aggressive caching of sectors in the MFM decoder, improves CPC static analysis further
|
2017-08-12 09:10:29 -04:00 |
|
Thomas Harte
|
69914faf02
|
Fixed comments.
|
2017-08-11 20:22:14 -04:00 |
|
Thomas Harte
|
daafebe7ac
|
Moved curly bracket.
|
2017-08-11 19:19:04 -04:00 |
|
Thomas Harte
|
2d81acb82e
|
Upped C++ standard to C++14 and added an #if that's intended to use the built-in std::gcd when compiled on C++17 or better. Fixed for new signedness warnings resulting for taking the step to C++14.
|
2017-08-11 19:18:45 -04:00 |
|
Thomas Harte
|
82ca49c840
|
Adjusted to avoid calls to ::greatest_common_divisor(numerator % denominator, denominator) unless necessary.
|
2017-08-11 19:05:46 -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
|
ffb1a14ace
|
Minor: clear status registers before a read data.
|
2017-08-11 18:56:33 -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
|
0c8769e335
|
Just to be safe.
|
2017-08-11 18:41:08 -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
|
ad3c9842d7
|
Merge pull request #190 from TomHarte/SingleImplicit
Corrects a couple of CPC static analysis pitfalls
|
2017-08-11 16:41:03 -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
|
a12671010a
|
Sector size is now reported, and CRC failures are merely indicated, not cause for a sector to be thrown away.
|
2017-08-11 16:23:33 -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
|
09716d4716
|
Merge pull request #189 from TomHarte/CPCSystemDisks
Corrects analysis of CPC system disks
|
2017-08-11 15:56:35 -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
|
1e4f9d4eda
|
Merge pull request #188 from TomHarte/AYFidelity
Switches to guessing that the AY doesn't reset its dividers upon frequency changes
|
2017-08-11 14:50:11 -04:00 |
|
Thomas Harte
|
e4f04d0977
|
Merge branch 'master' into AYFidelity
|
2017-08-11 14:41:08 -04:00 |
|
Thomas Harte
|
0f75525640
|
Merge pull request #187 from TomHarte/CRCErrors
Extends the built-in [M]FM encoder to be able to produce incorrect CRC values, and adjusts the CPC .DSK handler to request them when appropriate
|
2017-08-11 14:34:31 -04:00 |
|
Thomas Harte
|
edb088526f
|
Simplified slightly, and updated TODO as to still-missing functionality.
|
2017-08-11 14:33:34 -04:00 |
|
Thomas Harte
|
80ebc63101
|
Updated the SSD file format container to specify sector sizes, now that it's no longer implicit.
|
2017-08-11 14:30:35 -04:00 |
|
Thomas Harte
|
cf1403bc79
|
Increased documentation.
|
2017-08-11 14:27:07 -04:00 |
|
Thomas Harte
|
fcf63a7547
|
Expands the [M]FM encoder to respect some new Sector flags: it will now wilfully make CRC errors, omit data, include data that is different than the ID's declared length, write deleted data, and can be commanded as to header/data gaps and what should be within them. All based around expanding towards the needs for reproduction of the CPC's .DSK file format.
|
2017-08-11 14:24:50 -04:00 |
|
Thomas Harte
|
9c0b75faba
|
Merge pull request #186 from TomHarte/CPCTyper
Introduces typer support for the Amstrad CPC.
|
2017-08-11 12:35:43 -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 |
|