PART 1: Formatting a new soft-sector floppy with firm-sector marks.
======
Given:
(1) A hardware modification can intercept the HOLE signal and monitor READ_DATA.
(2) The modification is independent and cannot be directly controlled by the host.
(3) Timed synthetic-sector-holes eventually lead to sector-migration failure over time.
(4) Hard-sector controllers typically require a sector pulse before allowing track writes.
Objective:
(1) Format a new soft-sector floppy with firm-sector marks to replace the physical sector holes.
(2) Describe a process to format the tracks with firm-sector marks and thereafter with sector data.
(3) Describe the function of the modification to support this process without direct host control.
Process: This excludes soft-sector tracks with firm-sector marks already written.
This process describes the method of performing a low-level format on a soft-sector floppy so it can be used with the chip replacing modification to run with hard-sector floppy controllers. it writes firm-sector marks on all the floppy tracks consistent with the positions of a normal hard-sector holes.
This low-level format process is described below:
Let "mod" refer in all cases to the chip replacement modification board discussed in this thread.
(1) When a new soft-sector floppy is inserted into the drive and selected, with the motor is spinning up, the "mod" can already identify that a soft-sector floppy is in the drive by the missing pattern of index+hard sector holes.
(2) When the drive is up to speed based upon index-to-index period, the mod first operates in the normal mode of reading firm-sector marks in the Read_Data signal and creating sector pulses on each such event. For a formatted soft-sector floppy, it would operate normally as a hard-sector floppy. Note the firm-sector marks written to the track during format, avoid eventual sector-migration caused by timed-sector-pulses.
(3) When the mod discovers the lack of firm-sector marks, it flips to low-level-format mode by providing timed-synthetic-sector-pulses based upon the previous two factors: 1) The Index-to-index period, and 2) The timing from the last index pulse. In this mode, it also looks for firm-sector-marks and if found, switches back to normal on the next index pulse.
Unlike previous timed-synthetic-sector-pulse descriptions, these low-level-format mode pulses are early so that a firm-sector-mark can be written onto the track such that the mark completes at a position coincident to the normal placement of a hard sector hole. This firm-sector-mark is to be read by the mod to immediately issue its synthetic-sector-pulse to emulate a normal hard-sector hole. The firm-sector-mark is never rewritten and thus its position on the track is constant and thereby solves the timed-sector migration problem.
(4) The host's low-level format program writes each track in turn with firm-sector marks substituting for hard-sector holes, making appropriate steps and head selections until all tracks are those low-level formatted.
(5) After this low-level format has been completed, the floppy is formatted with the normal program or command that formats the hard-sector floppies in the host system, with the mod present.
Notes:
(1) This won't work for formats where the end of normal data sectors run under sector holes. There will possibly be some formats that thus will not work with this solution.
(2) The position of the low-level format sector pulses will be unique to various floppy configurations.
(3) Re-Low-level formatting is discussed in part 2. It requires a method to make the mod revert to low-level format mode even though it would detect firm-sector-marks on the track.
Update:
I confirmed as an example MOD board that a Texas Instruments MSP430F20xx micro in a 16pin surface mount quad flat pack at 200mils squared fits easily within the 200mil body profile width of the 74LS14. The micro is best positioned rotated 45 degrees and takes up the body space of a 6pin DIP with room to run traces.
A TSSOP-14 version of the 74LS14 is 200mils in length and around 250mils in width and is best positioned rotated 90 degrees to stay within the 74LS14 DIP's body profile of 200mils. Both of these components have clearance to support a 14pin DIP packaging to replace the original 74LS14 in the hard-sector controller.
Update: The Texas Instruments 74LS14 is offered in a SSOP-14 that is a littler too large for comfort. I try it out to evaluate the clearances, while looking for other vendors and potential "little gates" substitutions.
Note that putting the MSP430 series micro in the MOD, doesn't yet mean that its a good choice. That micro selection is still required. I'll try to attach an image later showing the fit over a 74LS14 DIP.
PCB Layout:
I'll do a quick little PCB layout of the board with the READ_DATA signal also tied to the above mentioned micro. I plan to make a synthetic-soft-sector version of firmware first to assess how well that will work on a North Star MDS hard sector controller. The same board should thus also be able to run firmware developed for firm-sector-marks if that is deemed worth pursuing.
Note that this PCB Layout will be placed on the edge of a prototype layout and thus piggy-back the prototype's delivery, so these snap-off MOD boards won't be available quickly. I can put several pinout versions of the MOD on the edge of the board so if you want to assure your type of hard-sector controller is represented, submit the name of the system and controller along with the pin number of the 74xx14 into which the floppy disk drives cable's "Hole" or "Index" or "Sector" signals enter the 74LS14.
For best advantage, also supply the pin number of the 74LS14 to which the FDD's READ_SIGNAL is connected. It helps too if you include the format information like Floppy size, single or double sided, how many hard sector holes, and the size of the data in each sector if you know it.