Thomas Harte
|
9541a2a5f0
|
Corrections: seek_to now takes the segment_start_time into account, correcting a windowing error where segments overlay other segments. Also added some asserts while bug hunting, and corrected the steps taken when inserting a longer-than-a-track segment so that each is correctly windowed.
|
2017-08-15 15:54:09 -04:00 |
|
Thomas Harte
|
944222eba4
|
Added: write_id_data_joiner can now be instructed not to write the first portion of gap. Which makes more sense as an option, to avoiding splicing errors.
|
2017-08-15 15:29:23 -04:00 |
|
Thomas Harte
|
9d77f33611
|
Dealt with another source of repeating magic constants: the command numbers.
|
2017-08-15 11:06:10 -04:00 |
|
Thomas Harte
|
7d132f81f7
|
Increased logging by quite a distance and made an attempt once again to allow the processor some time to supply the first byte when writing before declaring overrun.
|
2017-08-15 10:50:28 -04:00 |
|
Thomas Harte
|
0972f19fc5
|
Merge pull request #196 from TomHarte/Minor6845
Corrects 8272 multi-sector reads and deleted data reads, and ensures that a zero-height 6845 display shows nothing
|
2017-08-14 22:31:24 -04:00 |
|
Thomas Harte
|
6553bf05b4
|
Corrected multi-sector reads: ensured the incremented sector number isn't replaced by the original, and that the controller returns to scanning mode.
|
2017-08-14 22:27:31 -04:00 |
|
Thomas Harte
|
0816d3f5a9
|
Corrected 'read deleted data' command. It's 0xc , not 0xb .
|
2017-08-14 21:41:20 -04:00 |
|
Thomas Harte
|
55055c7847
|
Minor: ensured immediate line comparison works. But I think my problem might be trying to do this as straight line logic?
|
2017-08-14 19:08:20 -04:00 |
|
Thomas Harte
|
113da93796
|
Merge pull request #195 from TomHarte/8272Tidying
Brings the 1770 into usage of those parts factored out of it for the 8272
|
2017-08-14 16:34:15 -04:00 |
|
Thomas Harte
|
cddcd0fb79
|
Put my money where my mouth is and switched the superclass of WD1770 to MFMController , eliminating duplicated (/factored out) code.
|
2017-08-14 16:32:53 -04:00 |
|
Thomas Harte
|
a366298022
|
Factored out the standard [M]FM gap and mark groups, to increase 8272 readability and because it's pretty-much certain I'll need them again if ever I try to tackle e.g. the 8271.
|
2017-08-14 16:03:35 -04:00 |
|
Thomas Harte
|
4df9307d25
|
Factored out the dull and repetitious stuff of writing n bytes of the same value.
|
2017-08-14 15:50:36 -04:00 |
|
Thomas Harte
|
d7bed958b3
|
Merge pull request #194 from TomHarte/8272Write
Introduces initial implementations of the 8272's write data, write deleted data, read track and format track
|
2017-08-14 14:35:45 -04:00 |
|
Thomas Harte
|
9038ba622e
|
Added a quick version of read track.
|
2017-08-14 14:34:56 -04:00 |
|
Thomas Harte
|
7b8bb0297a
|
Implemented single density version of format track.
|
2017-08-14 13:03:17 -04:00 |
|
Thomas Harte
|
0da02d3902
|
Added read/write escape clauses if faced with a read-only disk.
|
2017-08-14 12:53:18 -04:00 |
|
Thomas Harte
|
334872d374
|
Clarified, slightly.
|
2017-08-14 12:47:11 -04:00 |
|
Thomas Harte
|
2e5ad19fe1
|
Minor tidying.
|
2017-08-14 12:42:48 -04:00 |
|
Thomas Harte
|
a10389a22c
|
Factored out the stuff of stuffing the bus.
|
2017-08-14 12:42:22 -04:00 |
|
Thomas Harte
|
cefec7a19f
|
Sought more robustly (i.e. less repetitively) to handle dispatch, including cancelling seeks where appropriate.
|
2017-08-14 10:37:39 -04:00 |
|
Thomas Harte
|
7264fbb3d2
|
read_id now clears status. I probably need to find a way to generalise this.
|
2017-08-14 09:58:55 -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
|
8a7b23dc9e
|
Ensured data-accessing commands cancel seeks on their drives. Also introduced a count of drives currently seeking in order to make for a slightly better broad-phase test in run_for.
|
2017-08-14 09:45:39 -04:00 |
|
Thomas Harte
|
b7065575f3
|
Added (empty) call-ins for DMA usage; switched to having the 'is seeking' bit in the status register stay high until sense interrupt status, but now it goes high even for seeks that don't actually go anywhere, and corrected interpretation of the specify command, with a positive result: the received step rate time, now that it's being interpreted correctly, is much shorter.
|
2017-08-14 09:04:22 -04:00 |
|
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 |
|