summaryrefslogtreecommitdiff
path: root/floppy/README
blob: 403bc6f4bb47dde0c3836a9efb31a41bc5324de9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
-------------------------------------------------------------------------------
Floppy Disk Sector Formatting
-------------------------------------------------------------------------------

These captures contain example floppy disk contents and operation. 

Logic analyzer setup
--------------------

The logic analyzer was a Saleae Logic (fx2lafw) sampling at 4 MHz.

  Probe       Floppy/Shugart bus
  ------------------------------
  D0          Pin 32 (SS)
  D1          Pin 30 (RD)
  D2          Pin 26 (TRK0)
  D3          Pin 24 (WG)
  D4          Pin 22 (WD)
  D5          Pin 20 (STP)
  D6          Pin 18 (DIR)
  D7          Pin  8 (IDX)

The sigrok command line used was:

  sigrok-cli -d fx2lafw -c samplerate=8m \
             -C D0=SS,D1=RD,D2=TRK0,D3=WG,D4=WD,D5=STP,D6=DIR,D7=IDX \
             --time 3s -o <filename>

ibm-144-hello.sr
----------------

The capture is of a pre-formatted IBM-compatible 3.5" 1.44 MB disk, modified
using Linux with:

  mkfs.fat -n HELLOWORLD <device>
  mount <device> a
  echo 'Hello, world!' > a/hello.txt

The following FluxEngine command was used to read both sides of the first three
cylinders:

  fluxengine read ibm --1440 --decoder.retries=0 -c 0-2

That results in an image with (Cylinder,Head,Sector):

  0,1,2 is the root directory
  0,1,17 is the hello.txt contents

3.5" 1.44 MB disks use a data rate of 500 Kbps and MFM.

micropolis-mod-ii-hello.sr
--------------------------

The capture is of a FlashFloppy-emulated double-sided 16 hard sector disk,
created on Vector Graphic, Inc's Vector 4 using CP/M with:

  format
  # select drive B
  pip b:hello.txt=con:
  # Type: Hello, world!<enter><ctrl-z>

The following FluxEngine command was used to read one side of the fifth and
sixth cylinders:

  fluxengine read ibm --1440 --decoder.retries=0 -c 4-5 --drive.revolutions=20

That results in an image with (Cylinder,Head,Sector):

  4,0,0 is the directory
  5,0,0 is the hello.txt contents

Micropolis Mod II disks use a data rate of 250 Kbps. Configuring IDX improves
its results.

floppy-test-...
---------------

These are captures specifically created for testing and are much smaller than
full captures.

  micropolis-idx.sr:         This capture is the time range 1.596-1.608s
			     extracted from micropolis-mod-ii-hello.sr. It
			     contains a sector that decodes improperly unless
			     observing IDX.

  floppy-test-ibm-hello.sr:  This capture is the time range 1.699-1.709s
			     extracted from ibm-144-hello.sr. It contains the
			     contents of hello.txt