<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.ninerpedia.org/index.php?action=history&amp;feed=atom&amp;title=SSSD_Format_Log</id>
	<title>SSSD Format Log - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://www.ninerpedia.org/index.php?action=history&amp;feed=atom&amp;title=SSSD_Format_Log"/>
	<link rel="alternate" type="text/html" href="http://www.ninerpedia.org/index.php?title=SSSD_Format_Log&amp;action=history"/>
	<updated>2026-04-04T17:36:41Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>http://www.ninerpedia.org/index.php?title=SSSD_Format_Log&amp;diff=48352&amp;oldid=prev</id>
		<title>Mizapf at 21:19, 13 June 2014</title>
		<link rel="alternate" type="text/html" href="http://www.ninerpedia.org/index.php?title=SSSD_Format_Log&amp;diff=48352&amp;oldid=prev"/>
		<updated>2014-06-13T21:19:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:19, 13 June 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is a transcript of a formatting procedure with Disk Manager 2 and a single-sided, single-density diskette. We can find the commands written to the command register of the controller chip (&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;WD1771&lt;/del&gt;), the data written to the other registers, and data read from the registers.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is a transcript of a formatting procedure with Disk Manager 2 and a single-sided, single-density diskette. We can find the commands written to the command register of the controller chip (&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;FD1771&lt;/ins&gt;), the data written to the other registers, and data read from the registers.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;There are several phases in this format procedure:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;There are several phases in this format procedure:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l9&quot;&gt;Line 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The headers are written and shown on the screen.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The headers are written and shown on the screen.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This log especially shows how a track looks like that is written to the disk in FM mode. There are a lot of additional bytes outside of the sectors which are used to define the track structure. Due to the architecture of the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;WD1771&lt;/del&gt;, the bytes as shown here are not always the bytes as they will be found on the medium. For instance, writing an 0xf7 byte causes the controller to write a 16-bit CRC word onto the disk.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This log especially shows how a track looks like that is written to the disk in FM mode. There are a lot of additional bytes outside of the sectors which are used to define the track structure. Due to the architecture of the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;FD1771&lt;/ins&gt;, the bytes as shown here are not always the bytes as they will be found on the medium. For instance, writing an 0xf7 byte causes the controller to write a 16-bit CRC word onto the disk.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  /* Formatting log.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  /* Formatting log.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mizapf</name></author>
	</entry>
	<entry>
		<id>http://www.ninerpedia.org/index.php?title=SSSD_Format_Log&amp;diff=46731&amp;oldid=prev</id>
		<title>Mizapf at 01:01, 5 December 2009</title>
		<link rel="alternate" type="text/html" href="http://www.ninerpedia.org/index.php?title=SSSD_Format_Log&amp;diff=46731&amp;oldid=prev"/>
		<updated>2009-12-05T01:01:46Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This is a transcript of a formatting procedure with Disk Manager 2 and a single-sided, single-density diskette. We can find the commands written to the command register of the controller chip (WD1771), the data written to the other registers, and data read from the registers.&lt;br /&gt;
&lt;br /&gt;
There are several phases in this format procedure:&lt;br /&gt;
&lt;br /&gt;
* Attempt to read the inserted disk&lt;br /&gt;
* The user provides some parameters using a screen input mask&lt;br /&gt;
* Formatting starts by writing 40 tracks&lt;br /&gt;
* Then a verify phase is performed, reading all sectors on the disk&lt;br /&gt;
* The headers are written and shown on the screen.&lt;br /&gt;
&lt;br /&gt;
This log especially shows how a track looks like that is written to the disk in FM mode. There are a lot of additional bytes outside of the sectors which are used to define the track structure. Due to the architecture of the WD1771, the bytes as shown here are not always the bytes as they will be found on the medium. For instance, writing an 0xf7 byte causes the controller to write a 16-bit CRC word onto the disk. &lt;br /&gt;
&lt;br /&gt;
 /* Formatting log.&lt;br /&gt;
 &lt;br /&gt;
    c = command register&lt;br /&gt;
    s = sector register&lt;br /&gt;
    t = track register&lt;br /&gt;
    d or plain number = data register &lt;br /&gt;
 &lt;br /&gt;
    st? = get status register&lt;br /&gt;
    s? = get sector register&lt;br /&gt;
    t? = get track register&lt;br /&gt;
    ? = get data register&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 c=d0 (FORCE INTERRUPT, TERMINATE WITH NO INTERRUPT)&lt;br /&gt;
 st?=02&lt;br /&gt;
 st?=00&lt;br /&gt;
 &lt;br /&gt;
 c=0a (RESTORE, LOAD HEAD, NO VERIFY, 20ms@1Mhz)&lt;br /&gt;
 st?=05 (TRACK 0, BUSY)&lt;br /&gt;
 st?=05 &lt;br /&gt;
 st?=04 (TRACK 0)&lt;br /&gt;
 st?=04 &lt;br /&gt;
 &lt;br /&gt;
 /* Try to read the VIB */&lt;br /&gt;
 t=00 (track 0)&lt;br /&gt;
 st?=04&lt;br /&gt;
 c=0a (RESTORE, LOAD HEAD, NO VERIFY, 20ms@1Mhz)&lt;br /&gt;
 st?=05&lt;br /&gt;
 st?=05&lt;br /&gt;
 st?=04&lt;br /&gt;
 st?=04&lt;br /&gt;
 &lt;br /&gt;
 d=00 &lt;br /&gt;
 s=00 (sector 0)&lt;br /&gt;
 t?=00&lt;br /&gt;
 st?=04&lt;br /&gt;
 &lt;br /&gt;
 c=c0 (READ ADDRESS, NO DELAY)&lt;br /&gt;
 ? 00 00 00 01 5b d5 (TRACK 0, SIDE 0, SECTOR 0, LENGTH 256, CRC 5bd5)&lt;br /&gt;
 st?=00&lt;br /&gt;
 &lt;br /&gt;
 s=00 (sector 0)&lt;br /&gt;
 st?=00&lt;br /&gt;
 c=88 (READ SECTOR, SINGLE, DONT CHECK FOR SIDE, NO DELAY)&lt;br /&gt;
 ?4c 45 45 52 34 20 20 20 20 20 01 68 09 44 53 4b&lt;br /&gt;
 20 28 01 01 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &lt;br /&gt;
 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 &lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &lt;br /&gt;
 00 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff &lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 st?=00&lt;br /&gt;
 st?=00&lt;br /&gt;
&lt;br /&gt;
Next: Format all 40 tracks. &amp;#039;&amp;#039;&amp;#039;Important:&amp;#039;&amp;#039;&amp;#039; The TI Floppy Disk Controller has a bug in the format routine at address &amp;gt;442C where it uses a MOVB command instead of a MOV. This causes an offset of the pointer into VDP RAM which does not precisely point to the beginning of the track anymore, but 9 bytes before. These bytes are written by previous operations and are actually violating the standard track format. You can find the bytes as &amp;quot;7f 3f ... 01&amp;quot;. Accordingly, the track ends early, but the ending bytes are only put there to make the controller time out which obviously succeeds with less bytes as well.&lt;br /&gt;
&lt;br /&gt;
So the correct format would start with 16+6 times &amp;gt;00 and ends with 45+231 times &amp;gt;ff. And there is another issue: The track length should be &amp;gt;0CA3 bytes long, but in the loop the controller writes two bytes and decrements by two, so we get one additional byte at the end.&lt;br /&gt;
&lt;br /&gt;
 c=0a (RESTORE, LOAD HEAD, NO VERIFY, 20ms@1Mhz)&lt;br /&gt;
 st?=05&lt;br /&gt;
 st?=05&lt;br /&gt;
 st?=04&lt;br /&gt;
 st?=04&lt;br /&gt;
 st?=04&lt;br /&gt;
 &lt;br /&gt;
 c=f4 (WRITE TRACK, DELAY 15ms)&lt;br /&gt;
 st?=02&lt;br /&gt;
 st?=02&lt;br /&gt;
 &lt;br /&gt;
 7f 3f 00 cf e0 7f 3f 01 01    (false bytes)&lt;br /&gt;
 &lt;br /&gt;
 00*16&lt;br /&gt;
 &lt;br /&gt;
 00 00 00 00 00 00 &lt;br /&gt;
 fe&lt;br /&gt;
 00 00 00&lt;br /&gt;
 01&lt;br /&gt;
 f7&lt;br /&gt;
 ff*11&lt;br /&gt;
 00 00 00 00 00 00&lt;br /&gt;
 fb&lt;br /&gt;
 e5*256&lt;br /&gt;
 f7&lt;br /&gt;
 ff*45&lt;br /&gt;
 &lt;br /&gt;
 00 00 00 00 00 00 &lt;br /&gt;
 fe &lt;br /&gt;
 00 00 07 &lt;br /&gt;
 01 &lt;br /&gt;
 f7 &lt;br /&gt;
 ff*11&lt;br /&gt;
 00 00 00 00 00 00 &lt;br /&gt;
 fb &lt;br /&gt;
 e5*256&lt;br /&gt;
 f7 &lt;br /&gt;
 ff*45&lt;br /&gt;
 &lt;br /&gt;
 00 00 00 00 00 00&lt;br /&gt;
 fe&lt;br /&gt;
 00 00 05&lt;br /&gt;
 01&lt;br /&gt;
 f7&lt;br /&gt;
 ff*11&lt;br /&gt;
 00 00 00 00 00 00&lt;br /&gt;
 fb&lt;br /&gt;
 e5*256 &lt;br /&gt;
 f7&lt;br /&gt;
 ff*45&lt;br /&gt;
 &lt;br /&gt;
 ... (skipping) ...&lt;br /&gt;
 &lt;br /&gt;
 00 00 00 00 00 00&lt;br /&gt;
 fe&lt;br /&gt;
 00 00 02&lt;br /&gt;
 01&lt;br /&gt;
 f7&lt;br /&gt;
 ff*11&lt;br /&gt;
 00 00 00 00 00 00&lt;br /&gt;
 fb&lt;br /&gt;
 e5*256&lt;br /&gt;
 f7&lt;br /&gt;
 ff*45&lt;br /&gt;
 ff*222 (TIMEOUT)&lt;br /&gt;
 &lt;br /&gt;
 ff (overly) &lt;br /&gt;
 &lt;br /&gt;
 c=5a (STEP IN, UPDATE TR, LOAD HEAD, NO VERIFY, 20ms@1Mhz)&lt;br /&gt;
 st?=01 (BUSY)&lt;br /&gt;
 st?=21 (BUSY, HEAD LOADED)&lt;br /&gt;
 st?=20 (HEAD LOADED)&lt;br /&gt;
 st?=20 (HEAD LOADED)&lt;br /&gt;
 &lt;br /&gt;
 ... (skipping) ...&lt;br /&gt;
 &lt;br /&gt;
 c=f4 (WRITE TRACK, DELAY 15ms)&lt;br /&gt;
 st?=02 (DR EMPTY)&lt;br /&gt;
 st?=02 (DR EMPTY)&lt;br /&gt;
 &lt;br /&gt;
 7f 3f 00 cf e0 7f 3f 01 01&lt;br /&gt;
 &lt;br /&gt;
 00*16&lt;br /&gt;
 &lt;br /&gt;
 00 00 00 00 00 00 &lt;br /&gt;
 fe&lt;br /&gt;
 27 00 00&lt;br /&gt;
 01&lt;br /&gt;
 f7&lt;br /&gt;
 ff*11&lt;br /&gt;
 00 00 00 00 00 00&lt;br /&gt;
 fb&lt;br /&gt;
 e5*256&lt;br /&gt;
 f7&lt;br /&gt;
 ff*45&lt;br /&gt;
 &lt;br /&gt;
 ... (skipping) ...&lt;br /&gt;
 &lt;br /&gt;
 00 00 00 00 00 00&lt;br /&gt;
 fe&lt;br /&gt;
 27 00 02&lt;br /&gt;
 01&lt;br /&gt;
 f7&lt;br /&gt;
 ff*11&lt;br /&gt;
 00 00 00 00 00 00&lt;br /&gt;
 fb&lt;br /&gt;
 e5*256&lt;br /&gt;
 f7&lt;br /&gt;
 ff*45&lt;br /&gt;
 ff*222&lt;br /&gt;
 &lt;br /&gt;
 ff &lt;br /&gt;
 &lt;br /&gt;
 c=5a (STEP IN, UPDATE TR, LOAD HEAD, NO VERIFY, 20ms@1Mhz)&lt;br /&gt;
 st?=01&lt;br /&gt;
 st?=21&lt;br /&gt;
 st?=20&lt;br /&gt;
&lt;br /&gt;
All tracks are now formatted. Return to sector 0 and write the Volume information block and the File descriptor index record. When a sector is written, try to read it afterwards (this considerably slows down writing).&lt;br /&gt;
 &lt;br /&gt;
 /* Write the VIB */&lt;br /&gt;
 t=00 (track 0)&lt;br /&gt;
 st?=20&lt;br /&gt;
 c=0a (RESTORE, LOAD HEAD, NO VERIFY, 20ms@1Mhz)&lt;br /&gt;
 st?=05 (TRACK 0, BUSY)&lt;br /&gt;
 st?=25 (HEAD LOADED, TRACK 0, BUSY)&lt;br /&gt;
 st?=24 (HEAD LOADED, TRACK 0)&lt;br /&gt;
 st?=24&lt;br /&gt;
 &lt;br /&gt;
 d=00 &lt;br /&gt;
 s=00 (sector 0)&lt;br /&gt;
 t?=00&lt;br /&gt;
 st?=24&lt;br /&gt;
 &lt;br /&gt;
 c=c0 (READ ADDRESS, NO DELAY)&lt;br /&gt;
 ? 00 00 00 01 5b d5 (TRACK 0, SIDE 0, SECTOR 0, LENGTH 256, CRC 5bd5)&lt;br /&gt;
 st?=00&lt;br /&gt;
 &lt;br /&gt;
 s=00 (sector 0)&lt;br /&gt;
 st?=00&lt;br /&gt;
 c=a8 (WRITE SECTOR, SINGLE RECORD, DONT CHECK SIDE, DAM=FB)&lt;br /&gt;
 4c 45 45 52 34 20 20 20 20 20 01 68 09 44 53 4b&lt;br /&gt;
 20 28 01 01 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 st?=00&lt;br /&gt;
 st?=00&lt;br /&gt;
 &lt;br /&gt;
 c=88 (READ SECTOR, SINGLE) /* verify */&lt;br /&gt;
 ?4c 45 45 52 34 20 20 20 20 20 01 68 09 44 53 4b&lt;br /&gt;
 20 28 01 01 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 st?=00&lt;br /&gt;
 &lt;br /&gt;
 /* Write the File Descriptor Index Record */&lt;br /&gt;
 t=00&lt;br /&gt;
 st?=00&lt;br /&gt;
 c=0a (RESTORE, LOAD HEAD, NO VERIFY, 20ms@1Mhz)&lt;br /&gt;
 st?=05&lt;br /&gt;
 st?=25&lt;br /&gt;
 st?=24&lt;br /&gt;
 st?=24&lt;br /&gt;
 &lt;br /&gt;
 d=00 &lt;br /&gt;
 s=01 (sector 1)&lt;br /&gt;
 t?=00&lt;br /&gt;
 st?=24&lt;br /&gt;
 c=c0 (READ ADDRESS, NO DELAY)&lt;br /&gt;
 ? 00 00 01 01 6e e4 (TRACK 0, SIDE 0, SECTOR 1, LENGTH 256, CRC 6ee4)&lt;br /&gt;
 st?=00&lt;br /&gt;
 &lt;br /&gt;
 s=01&lt;br /&gt;
 st?=00&lt;br /&gt;
 c=a8 (WRITE SECTOR, SINGLE RECORD, DONT CHECK SIDE, DAM=FB)&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 st?=00&lt;br /&gt;
 st?=00&lt;br /&gt;
 &lt;br /&gt;
 c=88 (READ SECTOR, SINGLE) /* verify */&lt;br /&gt;
 ?00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 st?=00&lt;br /&gt;
 &lt;br /&gt;
Next phase: Read all sectors of the disk, check whether there are bad sectors&lt;br /&gt;
&lt;br /&gt;
 /* Check the rest of the sectors (2-359) */&lt;br /&gt;
 t=00&lt;br /&gt;
 d=00 &lt;br /&gt;
 s=02 (sector 2)&lt;br /&gt;
 t?=00&lt;br /&gt;
 st?=00&lt;br /&gt;
 c=c0 (READ ADDRESS, NO DELAY)&lt;br /&gt;
 ? 00 00 02 01 31 b7 (TRACK 0, SIDE 0, SECTOR 2, LENGTH 256, CRC 31b7)&lt;br /&gt;
 st?=00&lt;br /&gt;
 &lt;br /&gt;
 s=02 (sector 2)&lt;br /&gt;
 st?=00&lt;br /&gt;
 c=88 (READ SECTOR, SINGLE)&lt;br /&gt;
 ? ... (SECTOR CONTENT)&lt;br /&gt;
 &lt;br /&gt;
 t=00 (track 0)&lt;br /&gt;
 d=00&lt;br /&gt;
 s=03 (sector 3)&lt;br /&gt;
 t?=00&lt;br /&gt;
 st?=00&lt;br /&gt;
 c=c0&lt;br /&gt;
 ? 00 00 03 01 04 86 (TRACK 0, SIDE 0, SECTOR 3, LENGTH 256, CRC 0486)&lt;br /&gt;
 st?=00&lt;br /&gt;
 &lt;br /&gt;
 s=03&lt;br /&gt;
 st?=00&lt;br /&gt;
 c=88&lt;br /&gt;
 ? ... (SECTOR CONTENT)&lt;br /&gt;
 &lt;br /&gt;
 t=00&lt;br /&gt;
 d=00&lt;br /&gt;
 s=04 (sector 4)&lt;br /&gt;
 t?=00&lt;br /&gt;
 st?=00&lt;br /&gt;
 c=c0&lt;br /&gt;
 ? 00 00 04 01 9e 30 (TRACK 0, SIDE 0, SECTOR 4, LENGTH 256, CRC 9e30)&lt;br /&gt;
 st?=00&lt;br /&gt;
 &lt;br /&gt;
 s=04 &lt;br /&gt;
 st?=00&lt;br /&gt;
 c=88&lt;br /&gt;
 ? ... (SECTOR CONTENT)&lt;br /&gt;
 &lt;br /&gt;
 ... (skipping) ...&lt;br /&gt;
 &lt;br /&gt;
 t=27 (track 39)&lt;br /&gt;
 d=27&lt;br /&gt;
 s=06 (sector 6)&lt;br /&gt;
 t?=27&lt;br /&gt;
 st?=00&lt;br /&gt;
 c=c0&lt;br /&gt;
 ? 27 00 06 01 6f a0 (TRACK 39, SIDE 0, SECTOR 6, LENGTH 256, CRC 6fa0)&lt;br /&gt;
 st?=00&lt;br /&gt;
 &lt;br /&gt;
 s=06&lt;br /&gt;
 st?=00&lt;br /&gt;
 c=88&lt;br /&gt;
 ? ... (SECTOR CONTENT)&lt;br /&gt;
 &lt;br /&gt;
 t=27&lt;br /&gt;
 d=27&lt;br /&gt;
 s=07 (sector 7)&lt;br /&gt;
 t?=27&lt;br /&gt;
 st?=00&lt;br /&gt;
 c=c0&lt;br /&gt;
 ? 27 00 07 01 5a 91 (TRACK 39, SIDE 0, SECTOR 7, LENGTH 256, CRC 5a91)&lt;br /&gt;
 st?=00&lt;br /&gt;
 &lt;br /&gt;
 s=07&lt;br /&gt;
 st?=00&lt;br /&gt;
 c=88&lt;br /&gt;
 ? ... (SECTOR CONTENT)&lt;br /&gt;
 &lt;br /&gt;
 t=27 &lt;br /&gt;
 d=27&lt;br /&gt;
 s=08 (sector 8)&lt;br /&gt;
 t?=27&lt;br /&gt;
 st?=00&lt;br /&gt;
 c=c0&lt;br /&gt;
 ? 27 00 08 01 6a ed (TRACK 39, SIDE 0, SECTOR 8, LENGTH 256, CRC 6aed)&lt;br /&gt;
 st?=00&lt;br /&gt;
 &lt;br /&gt;
 s=08&lt;br /&gt;
 st?=00&lt;br /&gt;
 c=88&lt;br /&gt;
 ? ... (SECTOR CONTENT)&lt;br /&gt;
&lt;br /&gt;
Return to sector 0, write the updated allocation bitmap.&lt;br /&gt;
 &lt;br /&gt;
 /* Write the VIB */&lt;br /&gt;
 t=27&lt;br /&gt;
 st?=00&lt;br /&gt;
 c=0a (RESTORE, LOAD HEAD, NO VERIFY, 20ms@1Mhz)&lt;br /&gt;
 st?=05&lt;br /&gt;
 st?=25&lt;br /&gt;
 st?=24&lt;br /&gt;
 st?=24&lt;br /&gt;
 &lt;br /&gt;
 d=00&lt;br /&gt;
 s=00&lt;br /&gt;
 t?=00&lt;br /&gt;
 st?=24&lt;br /&gt;
 c=c0 (READ ADDRESS, NO DELAY)&lt;br /&gt;
 ? 00 00 00 01 5b d5 (TRACK 0, SIDE 0, SECTOR 0, LENGTH 256, CRC 5bd5)&lt;br /&gt;
 st?=00&lt;br /&gt;
 &lt;br /&gt;
 s=00 (sector 0)&lt;br /&gt;
 st?=00&lt;br /&gt;
 &lt;br /&gt;
 c=a8 (WRITE SECTOR, SINGLE RECORD, DONT CHECK FOR SIDE, DAM=FB)&lt;br /&gt;
 4c 45 45 52 34 20 20 20 20 20 01 68 09 44 53 4b &lt;br /&gt;
 20 28 01 01 00 00 00 00 00 00 00 00 00 00 00 00 &lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &lt;br /&gt;
 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 &lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &lt;br /&gt;
 00 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff &lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff &lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff &lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff &lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff &lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff &lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff &lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff &lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff &lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff &lt;br /&gt;
 st?=00&lt;br /&gt;
 st?=00&lt;br /&gt;
 &lt;br /&gt;
 c=88 (READ SECTOR, SINGLE)  /* verify */&lt;br /&gt;
 ?4c 45 45 52 34 20 20 20 20 20 01 68 09 44 53 4b&lt;br /&gt;
 20 28 01 01 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 st?=00&lt;br /&gt;
&lt;br /&gt;
Done: Get the disk information a last time and display it on the screen.&lt;br /&gt;
 &lt;br /&gt;
 /* Load VIB and FDIR for display on the screen */&lt;br /&gt;
 &lt;br /&gt;
 t=00 (track 0)&lt;br /&gt;
 st?=00&lt;br /&gt;
 c=0a (RESTORE, LOAD HEAD, NO VERIFY, 20ms@1Mhz)&lt;br /&gt;
 st?=05&lt;br /&gt;
 st?=05&lt;br /&gt;
 st?=04&lt;br /&gt;
 st?=04&lt;br /&gt;
 &lt;br /&gt;
 d=00&lt;br /&gt;
 s=00 (sector 0)&lt;br /&gt;
 t?=00&lt;br /&gt;
 st?=04&lt;br /&gt;
 c=c0 (READ ADDRESS, NO DELAY)&lt;br /&gt;
 ? 00 00 01 01 6e e4 (TRACK 0, SIDE 0, SECTOR 1, LENGTH 256, CRC 6ee4)&lt;br /&gt;
 st?=00&lt;br /&gt;
 &lt;br /&gt;
 s=00&lt;br /&gt;
 st?=00&lt;br /&gt;
 c=88 (READ SECTOR, SINGLE)&lt;br /&gt;
 ?4c 45 45 52 34 20 20 20 20 20 01 68 09 44 53 4b&lt;br /&gt;
 20 28 01 01 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff&lt;br /&gt;
 st?=00&lt;br /&gt;
 &lt;br /&gt;
 t=00 (track 0)&lt;br /&gt;
 st?=00&lt;br /&gt;
 c=0a (RESTORE, LOAD HEAD, NO VERIFY, 20ms@1Mhz)&lt;br /&gt;
 st?=05&lt;br /&gt;
 st?=05&lt;br /&gt;
 st?=04&lt;br /&gt;
 st?=04&lt;br /&gt;
 &lt;br /&gt;
 d=00 &lt;br /&gt;
 s=01 (sector 1)&lt;br /&gt;
 t?=00&lt;br /&gt;
 st?=04&lt;br /&gt;
 c=c0 (READ ADDRESS, NO DELAY)&lt;br /&gt;
 ? 00 00 01 01 6e e4 (TRACK 0, SIDE 0, SECTOR 1, LENGTH 256, CRC 6ee4)&lt;br /&gt;
 st?=00&lt;br /&gt;
 &lt;br /&gt;
 s=01&lt;br /&gt;
 st?=00&lt;br /&gt;
 c=88 (READ SECTOR, SINGLE)&lt;br /&gt;
 ?00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 st?=00&lt;br /&gt;
 &lt;br /&gt;
 c=d0&lt;br /&gt;
 st?=00&lt;br /&gt;
 &lt;br /&gt;
 END&lt;/div&gt;</summary>
		<author><name>Mizapf</name></author>
	</entry>
</feed>