RLL codes are defined by four main parameters:
m, n | refer to the rate of the code |
d | minimal number of zeroes between consecutive ones |
k | maximal number of zeroes between consecutive ones |
(0,1): FM
data | encoded |
---|---|
0 | 10 |
1 | 11 |
The first bit of the encoded symbol functions as a clock pulse.
Data: Encoded: 40 units, 29 edges, 20 in-signal clock pulses |
(1,2): Differential Manchester
data | encoded |
---|---|
0 | 11 |
1 | 01 |
The second bit of the encoded symbol functions as a clock pulse.
Data: Encoded: 40 units, 31 edges, 20 in-signal clock pulses |
(1,3): MFM
First, there’s the basic conversion table
data | encoded | |
---|---|---|
0 | x0 |
0x → 01 |
1 | 01 |
But then there‘s the formula
x, y, z → x,
000 | 0101 |
---|---|
001 | 0100 |
010 | 0010 |
011 | 0010 |
100 | 1001 |
101 | 1000 |
110 | 1010 |
111 | 1010 |
Data: Encoded: 40 units, 14 edges, 5 in-signal clock pulses |
Data: Encoded:
40 units, 14 edges, 9 in-signal clock pulses |
Clock pulses seem to come at unit boundaries "0 1
"
(0,2): GCR
data | IBM | CBM |
---|---|---|
0000 | 11001 | 01010 |
0001 | 11011 | 01011 |
0010 | 10010 | 10010 |
0011 | 10011 | 10011 |
0100 | 11101 | 01110 |
0101 | 10101 | 01111 |
0110 | 10110 | 10110 |
0111 | 10111 | 10111 |
1000 | 11010 | 01001 |
1001 | 01001 | 11001 |
1010 | 01010 | 11010 |
1011 | 01011 | 11011 |
1100 | 11110 | 01101 |
1101 | 01101 | 11101 |
1110 | 01110 | 11110 |
1111 | 01111 | 10101 |
Data: Encoded (IBM): Encoded (CBM): |
(1,7)
data | Jacoby & Kost | DC Free | Cirrus | |
---|---|---|---|---|
00 | 101 | x01 | 010 | 0x → 01 |
01 | 100 | 010 | … | |
10 | 001 | x00 | x01 | |
11 | 010 | … | x00 | |
0000 | 101000 | |||
0001 | 100000 | |||
0100 | 010001 | |||
0101 | 010000 | |||
0110 | x00001 | |||
0111 | x00000 | |||
1000 | 001000 | |||
1001 | 010000 | |||
1100 | 010001 | |||
1101 | x00000 | |||
1110 | x00001 | |||
1111 | 010000 |
Data: Encoded (J&K): Encoded (DC Free): Encoded (Cirrus): J&K:
x,0,0,y → “00 00” → “101000”, to avoid “101101” |
(2,7)
data | WD encoded | Seagate encoded | Perstor encoded |
---|---|---|---|
10 | 0100 | 0100 | 0100 |
11 | 1000 | 1000 | 1000 |
000 | 100100 | 000100 | 100100 |
001 | 001000 | ||
010 | 000100 | 100100 | 000100 |
011 | 001000 | 001000 | |
0010 | 00100100 | 00100100 | |
0011 | 00001000 | 00001000 | |
0110 | 00100100 | ||
0111 | 00001000 |
Data: Encoded (WD): Encoded (Seagate): Encoded (Perstor): |
(1,13): HHH
data | encoded |
---|---|
00 | 010 |
01 | 001 |
10 | 100 |
11 | 101 |
0110 | 001000 |
0111 | 010000 |
1110 | 101000 |
1111 | 100000 |
001100 | 010000000 |
001101 | 001000000 |
101100 | 100000000 |
101101 | 101000000 |
00111011 | 010000000000 |
10111011 | 100000000000 |
Designed for IrDA transfer rather than magnetic storage.
Data: Encoded: |
Links