Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Group coded recording
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== {{anchor|Floppy}}Floppy disks == Like magnetic tape drives, [[floppy disk]] drives have physical limits on the spacing of flux reversals (also called transitions, represented by one-bits). === Micropolis ===<!-- used in redirects --> Offering GCR-compatible diskette drives and [[floppy disk controller]]s (like the 100163-51-8 and 100163-52-6<ref>{{Cite web |url=https://www.micropolis.com/support/floppy-drives/100163 |title=Micropolis 100163 Intelligent Controller |access-date=2022-06-26 |website=Micropolis }})</ref>), [[Micropolis Corporation|Micropolis]] endorsed data encoding with group coded recording<ref name="McClelland_1979_GCR" /> on 5¼-inch [[100 tpi]] 77-track diskette drives to store twelve 512-byte sectors per track<!-- 462 KiB per side --> since 1977 or 1978.<ref name="Micropolis_1978" /><ref name="Micropolis_1979_DiskMaint" /><ref name="IW_1980_Micropolis" /><ref name="Guzis_2015_Multi" /> === Micro Peripherals ===<!-- used in redirects --> [[Micro Peripherals]], Inc. (MPI) marketed double-density 5¼-inch disk drives (like the single-sided B51<!-- 250K with encoding ? --> and double-sided B52 drives<!-- 500K with encoding ? -->) and a controller solution implementing GCR since <!-- at least -->early 1978.<ref name="Allen_1978_Byte" /><ref name="CW_1979_MPI" /> === Durango ===<!-- used in redirects --> The [[Durango Systems]] [[Durango F-85|F-85]] (introduced in September 1978<ref name="Schultz_1978_Durango" /><ref name="Hendrie_2003_Comstock" />) used single-sided 5¼-inch 100 tpi diskette drives providing 480 KB utilizing a proprietary high-density 4/5 group coded encoding. The machine was using a [[Western Digital FD1781]] floppy disk controller, designed by a former Sperry ISS engineer,<ref name="Guzis_2015_Multi" /> with 77-track Micropolis drives.<ref name="Guzis_2009_Micropolis" /> In later models such as the [[Durango 800]]<ref name="Durango_800" /> series this was expanded to a double-sided option for 960 KB (946 KB formatted<ref name="Durango_800" /><ref group="nb" name="NB_On-line_capacity" />) per diskette.<ref name="Hendrie_2003_Comstock" /><ref name="Guzis_2006_F85" /><ref name="Guzis_2009_Micropolis" /><ref name="Micropolis_1978" /> === Apple ===<!-- used in redirects --> For the [[Apple II]] floppy drive, [[Steve Wozniak]] invented a floppy controller which (along with the [[Disk II]] drive itself) imposed two constraints: * Between any two one bits, there may be a maximum of one zero bit. * Each 8-bit byte must start with a one bit. {{anchor|4 and 4}}The simplest scheme to ensure compliance with these limits is to record an extra "clock" transition before each data bit according to [[differential Manchester encoding]] or (digital) FM (frequency modulation). Known as '''4-and-4 encoding''', the resulting Apple implementation allowed only ten 256-byte sectors per track to be recorded on a single-density 5¼-inch floppy. It uses two bytes for each byte. {{Col-begin|class=mw-collapsible mw-collapsed}} |+'''4-and-4 encoding table''' {{Col-4}} {|class="wikitable" style="text-align:center;" ! colspan="2"|Value !! colspan="2"|Code<ref name="CP_1989_CopyII" /> |- ! hex !! bin !! bin !! hex |- | 0x00 || 0000.0000 || 1010.1010 1010.1010 || 0xAA 0xAA |- | 0x01 || 0000.0001 || 1010.1010 1010.1011 || 0xAA 0xAB |- | 0x02 || 0000.0010 || 1010.1011 1010.1010 || 0xAB 0xAA |- | 0x03 || 0000.0011 || 1010.1011 1010.1011 || 0xAB 0xAB |- | 0x04 || 0000.0100 || 1010.1010 1010.1110 || 0xAA 0xAE |- | 0x05 || 0000.0101 || 1010.1010 1010.1111 || 0xAA 0xAF |- | 0x06 || 0000.0110 || 1010.1011 1010.1110 || 0xAB 0xAE |- | 0x07 || 0000.0111 || 1010.1011 1010.1111 || 0xAB 0xAF |- | 0x08 || 0000.1000 || 1010.1110 1010.1010 || 0xAE 0xAA |- | 0x09 || 0000.1001 || 1010.1110 1010.1011 || 0xAE 0xAB |- | 0x0A || 0000.1010 || 1010.1111 1010.1010 || 0xAF 0xAA |- | 0x0B || 0000.1011 || 1010.1111 1010.1011 || 0xAF 0xAB |- | 0x0C || 0000.1100 || 1010.1110 1010.1110 || 0xAE 0xAE |- | 0x0D || 0000.1101 || 1010.1110 1010.1111 || 0xAE 0xAF |- | 0x0E || 0000.1110 || 1010.1111 1010.1110 || 0xAF 0xAE |- | 0x0F || 0000.1111 || 1010.1111 1010.1111 || 0xAF 0xAF |- | 0x10 || 0001.0000 || 1010.1010 1011.1010 || 0xAA 0xBA |- | 0x11 || 0001.0001 || 1010.1010 1011.1011 || 0xAA 0xBB |- | 0x12 || 0001.0010 || 1010.1011 1011.1010 || 0xAB 0xBA |- | 0x13 || 0001.0011 || 1010.1011 1011.1011 || 0xAB 0xBB |- | 0x14 || 0001.0100 || 1010.1010 1011.1110 || 0xAA 0xBE |- | 0x15 || 0001.0101 || 1010.1010 1011.1111 || 0xAA 0xBF |- | 0x16 || 0001.0110 || 1010.1011 1011.1110 || 0xAB 0xBE |- | 0x17 || 0001.0111 || 1010.1011 1011.1111 || 0xAB 0xBF |- | 0x18 || 0001.1000 || 1010.1110 1011.1010 || 0xAE 0xBA |- | 0x19 || 0001.1001 || 1010.1110 1011.1011 || 0xAE 0xBB |- | 0x1A || 0001.1010 || 1010.1111 1011.1010 || 0xAF 0xBA |- | 0x1B || 0001.1011 || 1010.1111 1011.1011 || 0xAF 0xBB |- | 0x1C || 0001.1100 || 1010.1110 1011.1110 || 0xAE 0xBE |- | 0x1D || 0001.1101 || 1010.1110 1011.1111 || 0xAE 0xBF |- | 0x1E || 0001.1110 || 1010.1111 1011.1110 || 0xAF 0xBE |- | 0x1F || 0001.1111 || 1010.1111 1011.1111 || 0xAF 0xBF |- | 0x20 || 0010.0000 || 1011.1010 1010.1010 || 0xBA 0xAA |- | 0x21 || 0010.0001 || 1011.1010 1010.1011 || 0xBA 0xAB |- | 0x22 || 0010.0010 || 1011.1011 1010.1010 || 0xBB 0xAA |- | 0x23 || 0010.0011 || 1011.1011 1010.1011 || 0xBB 0xAB |- | 0x24 || 0010.0100 || 1011.1010 1010.1110 || 0xBA 0xAE |- | 0x25 || 0010.0101 || 1011.1010 1010.1111 || 0xBA 0xAF |- | 0x26 || 0010.0110 || 1011.1011 1010.1110 || 0xBB 0xAE |- | 0x27 || 0010.0111 || 1011.1011 1010.1111 || 0xBB 0xAF |- | 0x28 || 0010.1000 || 1011.1110 1010.1010 || 0xBE 0xAA |- | 0x29 || 0010.1001 || 1011.1110 1010.1011 || 0xBE 0xAB |- | 0x2A || 0010.1010 || 1011.1111 1010.1010 || 0xBF 0xAA |- | 0x2B || 0010.1011 || 1011.1111 1010.1011 || 0xBF 0xAB |- | 0x2C || 0010.1100 || 1011.1110 1010.1110 || 0xBE 0xAE |- | 0x2D || 0010.1101 || 1011.1110 1010.1111 || 0xBE 0xAF |- | 0x2E || 0010.1110 || 1011.1111 1010.1110 || 0xBF 0xAE |- | 0x2F || 0010.1111 || 1011.1111 1010.1111 || 0xBF 0xAF |- | 0x30 || 0011.0000 || 1011.1010 1011.1010 || 0xBA 0xBA |- | 0x31 || 0011.0001 || 1011.1010 1011.1011 || 0xBA 0xBB |- | 0x32 || 0011.0010 || 1011.1011 1011.1010 || 0xBB 0xBA |- | 0x33 || 0011.0011 || 1011.1011 1011.1011 || 0xBB 0xBB |- | 0x34 || 0011.0100 || 1011.1010 1011.1110 || 0xBA 0xBE |- | 0x35 || 0011.0101 || 1011.1010 1011.1111 || 0xBA 0xBF |- | 0x36 || 0011.0110 || 1011.1011 1011.1110 || 0xBB 0xBE |- | 0x37 || 0011.0111 || 1011.1011 1011.1111 || 0xBB 0xBF |- | 0x38 || 0011.1000 || 1011.1110 1011.1010 || 0xBE 0xBA |- | 0x39 || 0011.1001 || 1011.1110 1011.1011 || 0xBE 0xBB |- | 0x3A || 0011.1010 || 1011.1111 1011.1010 || 0xBF 0xBA |- | 0x3B || 0011.1011 || 1011.1111 1011.1011 || 0xBF 0xBB |- | 0x3C || 0011.1100 || 1011.1110 1011.1110 || 0xBE 0xBE |- | 0x3D || 0011.1101 || 1011.1110 1011.1111 || 0xBE 0xBF |- | 0x3E || 0011.1110 || 1011.1111 1011.1110 || 0xBF 0xBE |- | 0x3F || 0011.1111 || 1011.1111 1011.1111 || 0xBF 0xBF |} {{Col-4}} {|class="wikitable" style="text-align:center;" ! colspan="2"|Value !! colspan="2"|Code<ref name="CP_1989_CopyII" /> |- ! hex !! bin !! bin !! hex |- | 0x40 || 0100.0000 || 1010.1010 1110.1010 || 0xAA 0xEA |- | 0x41 || 0100.0001 || 1010.1010 1110.1011 || 0xAA 0xEB |- | 0x42 || 0100.0010 || 1010.1011 1110.1010 || 0xAB 0xEA |- | 0x43 || 0100.0011 || 1010.1011 1110.1011 || 0xAB 0xEB |- | 0x44 || 0100.0100 || 1010.1010 1110.1110 || 0xAA 0xEE |- | 0x45 || 0100.0101 || 1010.1010 1110.1111 || 0xAA 0xEF |- | 0x46 || 0100.0110 || 1010.1011 1110.1110 || 0xAB 0xEE |- | 0x47 || 0100.0111 || 1010.1011 1110.1111 || 0xAB 0xEF |- | 0x48 || 0100.1000 || 1010.1110 1110.1010 || 0xAE 0xEA |- | 0x49 || 0100.1001 || 1010.1110 1110.1011 || 0xAE 0xEB |- | 0x4A || 0100.1010 || 1010.1111 1110.1010 || 0xAF 0xEA |- | 0x4B || 0100.1011 || 1010.1111 1110.1011 || 0xAF 0xEB |- | 0x4C || 0100.1100 || 1010.1110 1110.1110 || 0xAE 0xEE |- | 0x4D || 0100.1101 || 1010.1110 1110.1111 || 0xAE 0xEF |- | 0x4E || 0100.1110 || 1010.1111 1110.1110 || 0xAF 0xEE |- | 0x4F || 0100.1111 || 1010.1111 1110.1111 || 0xAF 0xEF |- | 0x50 || 0101.0000 || 1010.1010 1111.1010 || 0xAA 0xFA |- | 0x51 || 0101.0001 || 1010.1010 1111.1011 || 0xAA 0xFB |- | 0x52 || 0101.0010 || 1010.1011 1111.1010 || 0xAB 0xFA |- | 0x53 || 0101.0011 || 1010.1011 1111.1011 || 0xAB 0xFB |- | 0x54 || 0101.0100 || 1010.1010 1111.1110 || 0xAA 0xFE |- | 0x55 || 0101.0101 || 1010.1010 1111.1111 || 0xAA 0xFF |- | 0x56 || 0101.0110 || 1010.1011 1111.1110 || 0xAB 0xFE |- | 0x57 || 0101.0111 || 1010.1011 1111.1111 || 0xAB 0xFF |- | 0x58 || 0101.1000 || 1010.1110 1111.1010 || 0xAE 0xFA |- | 0x59 || 0101.1001 || 1010.1110 1111.1011 || 0xAE 0xFB |- | 0x5A || 0101.1010 || 1010.1111 1111.1010 || 0xAF 0xFA |- | 0x5B || 0101.1011 || 1010.1111 1111.1011 || 0xAF 0xFB |- | 0x5C || 0101.1100 || 1010.1110 1111.1110 || 0xAE 0xFE |- | 0x5D || 0101.1101 || 1010.1110 1111.1111 || 0xAE 0xFF |- | 0x5E || 0101.1110 || 1010.1111 1111.1110 || 0xAF 0xFE |- | 0x5F || 0101.1111 || 1010.1111 1111.1111 || 0xAF 0xFF |- | 0x60 || 0110.0000 || 1011.1010 1110.1010 || 0xBA 0xEA |- | 0x61 || 0110.0001 || 1011.1010 1110.1011 || 0xBA 0xEB |- | 0x62 || 0110.0010 || 1011.1011 1110.1010 || 0xBB 0xEA |- | 0x63 || 0110.0011 || 1011.1011 1110.1011 || 0xBB 0xEB |- | 0x64 || 0110.0100 || 1011.1010 1110.1110 || 0xBA 0xEE |- | 0x65 || 0110.0101 || 1011.1010 1110.1111 || 0xBA 0xEF |- | 0x66 || 0110.0110 || 1011.1011 1110.1110 || 0xBB 0xEE |- | 0x67 || 0110.0111 || 1011.1011 1110.1111 || 0xBB 0xEF |- | 0x68 || 0110.1000 || 1011.1110 1110.1010 || 0xBE 0xEA |- | 0x69 || 0110.1001 || 1011.1110 1110.1011 || 0xBE 0xEB |- | 0x6A || 0110.1010 || 1011.1111 1110.1010 || 0xBF 0xEA |- | 0x6B || 0110.1011 || 1011.1111 1110.1011 || 0xBF 0xEB |- | 0x6C || 0110.1100 || 1011.1110 1110.1110 || 0xBE 0xEE |- | 0x6D || 0110.1101 || 1011.1110 1110.1111 || 0xBE 0xEF |- | 0x6E || 0110.1110 || 1011.1111 1110.1110 || 0xBF 0xEE |- | 0x6F || 0110.1111 || 1011.1111 1110.1111 || 0xBF 0xEF |- | 0x70 || 0111.0000 || 1011.1010 1111.1010 || 0xBA 0xFA |- | 0x71 || 0111.0001 || 1011.1010 1111.1011 || 0xBA 0xFB |- | 0x72 || 0111.0010 || 1011.1011 1111.1010 || 0xBB 0xFA |- | 0x73 || 0111.0011 || 1011.1011 1111.1011 || 0xBB 0xFB |- | 0x74 || 0111.0100 || 1011.1010 1111.1110 || 0xBA 0xFE |- | 0x75 || 0111.0101 || 1011.1010 1111.1111 || 0xBA 0xFF |- | 0x76 || 0111.0110 || 1011.1011 1111.1110 || 0xBB 0xFE |- | 0x77 || 0111.0111 || 1011.1011 1111.1111 || 0xBB 0xFF |- | 0x78 || 0111.1000 || 1011.1110 1111.1010 || 0xBE 0xFA |- | 0x79 || 0111.1001 || 1011.1110 1111.1011 || 0xBE 0xFB |- | 0x7A || 0111.1010 || 1011.1111 1111.1010 || 0xBF 0xFA |- | 0x7B || 0111.1011 || 1011.1111 1111.1011 || 0xBF 0xFB |- | 0x7C || 0111.1100 || 1011.1110 1111.1110 || 0xBE 0xFE |- | 0x7D || 0111.1101 || 1011.1110 1111.1111 || 0xBE 0xFF |- | 0x7E || 0111.1110 || 1011.1111 1111.1110 || 0xBF 0xFE |- | 0x7F || 0111.1111 || 1011.1111 1111.1111 || 0xBF 0xFF |} {{Col-4}} {|class="wikitable" style="text-align:center;" ! colspan="2"|Value !! colspan="2"|Code<ref name="CP_1989_CopyII" /> |- ! hex !! bin !! bin !! hex |- | 0x80 || 1000.0000 || 1110.1010 1010.1010 || 0xEA 0xAA |- | 0x81 || 1000.0001 || 1110.1010 1010.1011 || 0xEA 0xAB |- | 0x82 || 1000.0010 || 1110.1011 1010.1010 || 0xEB 0xAA |- | 0x83 || 1000.0011 || 1110.1011 1010.1011 || 0xEB 0xAB |- | 0x84 || 1000.0100 || 1110.1010 1010.1110 || 0xEA 0xAE |- | 0x85 || 1000.0101 || 1110.1010 1010.1111 || 0xEA 0xAF |- | 0x86 || 1000.0110 || 1110.1011 1010.1110 || 0xEB 0xAE |- | 0x87 || 1000.0111 || 1110.1011 1010.1111 || 0xEB 0xAF |- | 0x88 || 1000.1000 || 1110.1110 1010.1010 || 0xEE 0xAA |- | 0x89 || 1000.1001 || 1110.1110 1010.1011 || 0xEE 0xAB |- | 0x8A || 1000.1010 || 1110.1111 1010.1010 || 0xEF 0xAA |- | 0x8B || 1000.1011 || 1110.1111 1010.1011 || 0xEF 0xAB |- | 0x8C || 1000.1100 || 1110.1110 1010.1110 || 0xEE 0xAE |- | 0x8D || 1000.1101 || 1110.1110 1010.1111 || 0xEE 0xAF |- | 0x8E || 1000.1110 || 1110.1111 1010.1110 || 0xEF 0xAE |- | 0x8F || 1000.1111 || 1110.1111 1010.1111 || 0xEF 0xAF |- | 0x90 || 1001.0000 || 1110.1010 1011.1010 || 0xEA 0xBA |- | 0x91 || 1001.0001 || 1110.1010 1011.1011 || 0xEA 0xBB |- | 0x92 || 1001.0010 || 1110.1011 1011.1010 || 0xEB 0xBA |- | 0x93 || 1001.0011 || 1110.1011 1011.1011 || 0xEB 0xBB |- | 0x94 || 1001.0100 || 1110.1010 1011.1110 || 0xEA 0xBE |- | 0x95 || 1001.0101 || 1110.1010 1011.1111 || 0xEA 0xBF |- | 0x96 || 1001.0110 || 1110.1011 1011.1110 || 0xEB 0xBE |- | 0x97 || 1001.0111 || 1110.1011 1011.1111 || 0xEB 0xBF |- | 0x98 || 1001.1000 || 1110.1110 1011.1010 || 0xEE 0xBA |- | 0x99 || 1001.1001 || 1110.1110 1011.1011 || 0xEE 0xBB |- | 0x9A || 1001.1010 || 1110.1111 1011.1010 || 0xEF 0xBA |- | 0x9B || 1001.1011 || 1110.1111 1011.1011 || 0xEF 0xBB |- | 0x9C || 1001.1100 || 1110.1110 1011.1110 || 0xEE 0xBE |- | 0x9D || 1001.1101 || 1110.1110 1011.1111 || 0xEE 0xBF |- | 0x9E || 1001.1110 || 1110.1111 1011.1110 || 0xEF 0xBE |- | 0x9F || 1001.1111 || 1110.1111 1011.1111 || 0xEF 0xBF |- | 0xA0 || 1010.0000 || 1111.1010 1010.1010 || 0xFA 0xAA |- | 0xA1 || 1010.0001 || 1111.1010 1010.1011 || 0xFA 0xAB |- | 0xA2 || 1010.0010 || 1111.1011 1010.1010 || 0xFB 0xAA |- | 0xA3 || 1010.0011 || 1111.1011 1010.1011 || 0xFB 0xAB |- | 0xA4 || 1010.0100 || 1111.1010 1010.1110 || 0xFA 0xAE |- | 0xA5 || 1010.0101 || 1111.1010 1010.1111 || 0xFA 0xAF |- | 0xA6 || 1010.0110 || 1111.1011 1010.1110 || 0xFB 0xAE |- | 0xA7 || 1010.0111 || 1111.1011 1010.1111 || 0xFB 0xAF |- | 0xA8 || 1010.1000 || 1111.1110 1010.1010 || 0xFE 0xAA |- | 0xA9 || 1010.1001 || 1111.1110 1010.1011 || 0xFE 0xAB |- | 0xAA || 1010.1010 || 1111.1111 1010.1010 || 0xFF 0xAA |- | 0xAB || 1010.1011 || 1111.1111 1010.1011 || 0xFF 0xAB |- | 0xAC || 1010.1100 || 1111.1110 1010.1110 || 0xFE 0xAE |- | 0xAD || 1010.1101 || 1111.1110 1010.1111 || 0xFE 0xAF |- | 0xAE || 1010.1110 || 1111.1111 1010.1110 || 0xFF 0xAE |- | 0xAF || 1010.1111 || 1111.1111 1010.1111 || 0xFF 0xAF |- | 0xB0 || 1011.0000 || 1111.1010 1011.1010 || 0xFA 0xBA |- | 0xB1 || 1011.0001 || 1111.1010 1011.1011 || 0xFA 0xBB |- | 0xB2 || 1011.0010 || 1111.1011 1011.1010 || 0xFB 0xBA |- | 0xB3 || 1011.0011 || 1111.1011 1011.1011 || 0xFB 0xBB |- | 0xB4 || 1011.0100 || 1111.1010 1011.1110 || 0xFA 0xBE |- | 0xB5 || 1011.0101 || 1111.1010 1011.1111 || 0xFA 0xBF |- | 0xB6 || 1011.0110 || 1111.1011 1011.1110 || 0xFB 0xBE |- | 0xB7 || 1011.0111 || 1111.1011 1011.1111 || 0xFB 0xBF |- | 0xB8 || 1011.1000 || 1111.1110 1011.1010 || 0xFE 0xBA |- | 0xB9 || 1011.1001 || 1111.1110 1011.1011 || 0xFE 0xBB |- | 0xBA || 1011.1010 || 1111.1111 1011.1010 || 0xFF 0xBA |- | 0xBB || 1011.1011 || 1111.1111 1011.1011 || 0xFF 0xBB |- | 0xBC || 1011.1100 || 1111.1110 1011.1110 || 0xFE 0xBE |- | 0xBD || 1011.1101 || 1111.1110 1011.1111 || 0xFE 0xBF |- | 0xBE || 1011.1110 || 1111.1111 1011.1110 || 0xFF 0xBE |- | 0xBF || 1011.1111 || 1111.1111 1011.1111 || 0xFF 0xBF |} {{Col-4}} {|class="wikitable" style="text-align:center;" ! colspan="2"|Value !! colspan="2"|Code<ref name="CP_1989_CopyII" /> |- ! hex !! bin !! bin !! hex |- | 0xC0 || 1100.0000 || 1110.1010 1110.1010 || 0xEA 0xEA |- | 0xC1 || 1100.0001 || 1110.1010 1110.1011 || 0xEA 0xEB |- | 0xC2 || 1100.0010 || 1110.1011 1110.1010 || 0xEB 0xEA |- | 0xC3 || 1100.0011 || 1110.1011 1110.1011 || 0xEB 0xEB |- | 0xC4 || 1100.0100 || 1110.1010 1110.1110 || 0xEA 0xEE |- | 0xC5 || 1100.0101 || 1110.1010 1110.1111 || 0xEA 0xEF |- | 0xC6 || 1100.0110 || 1110.1011 1110.1110 || 0xEB 0xEE |- | 0xC7 || 1100.0111 || 1110.1011 1110.1111 || 0xEB 0xEF |- | 0xC8 || 1100.1000 || 1110.1110 1110.1010 || 0xEE 0xEA |- | 0xC9 || 1100.1001 || 1110.1110 1110.1011 || 0xEE 0xEB |- | 0xCA || 1100.1010 || 1110.1111 1110.1010 || 0xEF 0xEA |- | 0xCB || 1100.1011 || 1110.1111 1110.1011 || 0xEF 0xEB |- | 0xCC || 1100.1100 || 1110.1110 1110.1110 || 0xEE 0xEE |- | 0xCD || 1100.1101 || 1110.1110 1110.1111 || 0xEE 0xEF |- | 0xCE || 1100.1110 || 1110.1111 1110.1110 || 0xEF 0xEE |- | 0xCF || 1100.1111 || 1110.1111 1110.1111 || 0xEF 0xEF |- | 0xD0 || 1101.0000 || 1110.1010 1111.1010 || 0xEA 0xFA |- | 0xD1 || 1101.0001 || 1110.1010 1111.1011 || 0xEA 0xFB |- | 0xD2 || 1101.0010 || 1110.1011 1111.1010 || 0xEB 0xFA |- | 0xD3 || 1101.0011 || 1110.1011 1111.1011 || 0xEB 0xFB |- | 0xD4 || 1101.0100 || 1110.1010 1111.1110 || 0xEA 0xFE |- | 0xD5 || 1101.0101 || 1110.1010 1111.1111 || 0xEA 0xFF |- | 0xD6 || 1101.0110 || 1110.1011 1111.1110 || 0xEB 0xFE |- | 0xD7 || 1101.0111 || 1110.1011 1111.1111 || 0xEB 0xFF |- | 0xD8 || 1101.1000 || 1110.1110 1111.1010 || 0xEE 0xFA |- | 0xD9 || 1101.1001 || 1110.1110 1111.1011 || 0xEE 0xFB |- | 0xDA || 1101.1010 || 1110.1111 1111.1010 || 0xEF 0xFA |- | 0xDB || 1101.1011 || 1110.1111 1111.1011 || 0xEF 0xFB |- | 0xDC || 1101.1100 || 1110.1110 1111.1110 || 0xEE 0xFE |- | 0xDD || 1101.1101 || 1110.1110 1111.1111 || 0xEE 0xFF |- | 0xDE || 1101.1110 || 1110.1111 1111.1110 || 0xEF 0xFE |- | 0xDF || 1101.1111 || 1110.1111 1111.1111 || 0xEF 0xFF |- | 0xE0 || 1110.0000 || 1111.1010 1110.1010 || 0xFA 0xEA |- | 0xE1 || 1110.0001 || 1111.1010 1110.1011 || 0xFA 0xEB |- | 0xE2 || 1110.0010 || 1111.1011 1110.1010 || 0xFB 0xEA |- | 0xE3 || 1110.0011 || 1111.1011 1110.1011 || 0xFB 0xEB |- | 0xE4 || 1110.0100 || 1111.1010 1110.1110 || 0xFA 0xEE |- | 0xE5 || 1110.0101 || 1111.1010 1110.1111 || 0xFA 0xEF |- | 0xE6 || 1110.0110 || 1111.1011 1110.1110 || 0xFB 0xEE |- | 0xE7 || 1110.0111 || 1111.1011 1110.1111 || 0xFB 0xEF |- | 0xE8 || 1110.1000 || 1111.1110 1110.1010 || 0xFE 0xEA |- | 0xE9 || 1110.1001 || 1111.1110 1110.1011 || 0xFE 0xEB |- | 0xEA || 1110.1010 || 1111.1111 1110.1010 || 0xFF 0xEA |- | 0xEB || 1110.1011 || 1111.1111 1110.1011 || 0xFF 0xEB |- | 0xEC || 1110.1100 || 1111.1110 1110.1110 || 0xFE 0xEE |- | 0xED || 1110.1101 || 1111.1110 1110.1111 || 0xFE 0xEF |- | 0xEE || 1110.1110 || 1111.1111 1110.1110 || 0xFF 0xEE |- | 0xEF || 1110.1111 || 1111.1111 1110.1111 || 0xFF 0xEF |- | 0xF0 || 1111.0000 || 1111.1010 1111.1010 || 0xFA 0xFA |- | 0xF1 || 1111.0001 || 1111.1010 1111.1011 || 0xFA 0xFB |- | 0xF2 || 1111.0010 || 1111.1011 1111.1010 || 0xFB 0xFA |- | 0xF3 || 1111.0011 || 1111.1011 1111.1011 || 0xFB 0xFB |- | 0xF4 || 1111.0100 || 1111.1010 1111.1110 || 0xFA 0xFE |- | 0xF5 || 1111.0101 || 1111.1010 1111.1111 || 0xFA 0xFF |- | 0xF6 || 1111.0110 || 1111.1011 1111.1110 || 0xFB 0xFE |- | 0xF7 || 1111.0111 || 1111.1011 1111.1111 || 0xFB 0xFF |- | 0xF8 || 1111.1000 || 1111.1110 1111.1010 || 0xFE 0xFA |- | 0xF9 || 1111.1001 || 1111.1110 1111.1011 || 0xFE 0xFB |- | 0xFA || 1111.1010 || 1111.1111 1111.1010 || 0xFF 0xFA |- | 0xFB || 1111.1011 || 1111.1111 1111.1011 || 0xFF 0xFB |- | 0xFC || 1111.1100 || 1111.1110 1111.1110 || 0xFE 0xFE |- | 0xFD || 1111.1101 || 1111.1110 1111.1111 || 0xFE 0xFF |- | 0xFE || 1111.1110 || 1111.1111 1111.1110 || 0xFF 0xFE |- | 0xFF || 1111.1111 || 1111.1111 1111.1111 || 0xFF 0xFF |} {{Col-end}} {{anchor|5 and 3}}Close to a month prior to the shipment of the disk drive in spring 1978,<ref name="Williams_1985_Byte" /> Wozniak realized that a more complex encoding scheme would allow each eight-bit byte on disk to hold five bits of useful data rather than four bits. This is because there are 34 bytes which have the top bit set and no two zero bits in a row. This encoding scheme became known as '''5-and-3 encoding''', and allowed 13 sectors per track; it was used for [[Apple DOS]] 3.1, [[Apple DOS 3.2|3.2]], and [[Apple DOS|3.2.1]], as well as for the earliest version of {{ill|Apple CP/M|de}}:<ref name="Lechner_1982_Beneath_Apple_DOS" /> {{Col-begin|class=mw-collapsible mw-collapsed}} |+'''5-and-3 encoding table''' {{Col-2}} {|class="wikitable" style="text-align:center;" ! colspan="2"|5-bit value !! colspan="2"|GCR code<ref name="Lechner_1982_Beneath_Apple_DOS" /><ref name="Sather_1983_Understanding_Apple_II" /> |- ! hex !! bin !! bin !! hex |- | 0x00 || 0.0000 || 1010.1011 || 0xAB |- | 0x01 || 0.0001 || 1010.1101 || 0xAD |- | 0x02 || 0.0010 || 1010.1110 || 0xAE |- | 0x03 || 0.0011 || 1010.1111 || 0xAF |- | 0x04 || 0.0100 || 1011.0101 || 0xB5 |- | 0x05 || 0.0101 || 1011.0110 || 0xB6 |- | 0x06 || 0.0110 || 1011.0111 || 0xB7 |- | 0x07 || 0.0111 || 1011.1010 || 0xBA |- | 0x08 || 0.1000 || 1011.1011 || 0xBB |- | 0x09 || 0.1001 || 1011.1101 || 0xBD |- | 0x0A || 0.1010 || 1011.1110 || 0xBE |- | 0x0B || 0.1011 || 1011.1111 || 0xBF |- | 0x0C || 0.1100 || 1101.0110 || 0xD6 |- | 0x0D || 0.1101 || 1101.0111 || 0xD7 |- | 0x0E || 0.1110 || 1101.1010 || 0xDA |- | 0x0F || 0.1111 || 1101.1011 || 0xDB |} {{Col-2}} {|class="wikitable" style="text-align:center;" ! colspan="2"|5-bit value !! colspan="2"|GCR code<ref name="Lechner_1982_Beneath_Apple_DOS" /><ref name="Sather_1983_Understanding_Apple_II" /> |- ! hex !! bin !! bin !! hex |- | 0x10 || 1.0000 || 1101.1101 || 0xDD |- | 0x11 || 1.0001 || 1101.1110 || 0xDE |- | 0x12 || 1.0010 || 1101.1111 || 0xDF |- | 0x13 || 1.0011 || 1110.1010 || 0xEA |- | 0x14 || 1.0100 || 1110.1011 || 0xEB |- | 0x15 || 1.0101 || 1110.1101 || 0xED |- | 0x16 || 1.0110 || 1110.1110 || 0xEE |- | 0x17 || 1.0111 || 1110.1111 || 0xEF |- | 0x18 || 1.1000 || 1111.0101 || 0xF5 |- | 0x19 || 1.1001 || 1111.0110 || 0xF6 |- | 0x1A || 1.1010 || 1111.0111 || 0xF7 |- | 0x1B || 1.1011 || 1111.1010 || 0xFA |- | 0x1C || 1.1100 || 1111.1011 || 0xFB |- | 0x1D || 1.1101 || 1111.1101 || 0xFD |- | 0x1E || 1.1110 || 1111.1110 || 0xFE |- | 0x1F || 1.1111 || 1111.1111 || 0xFF |} {{Col-end}} Reserved GCR-codes: 0xAA and 0xD5.<ref name="Lechner_1982_Beneath_Apple_DOS" /> Wozniak called the system "my most incredible experience at [[Apple Inc.|Apple]] and the finest job I did".<ref name="Williams_1985_Byte" /> {{anchor|6 and 2}}Later, the design of the floppy drive controller was modified to allow a byte on disk to contain up to one pair of zero bits in a row. This allowed each eight-bit byte to hold six bits of useful data, and allowed 16 sectors per track. This scheme is known as '''6-and-2 encoding''',<ref name="Lechner_1982_Beneath_Apple_DOS" /> and was used on [[Apple Pascal]], [[Apple DOS]] 3.3<ref name="Lechner_1982_Beneath_Apple_DOS" /> and [[Apple ProDOS|ProDOS]],<ref name="Lechner_1985_Beneath_Apple_ProDOS" /> and later with [[Apple FileWare]] drives in the [[Apple Lisa]] and the 400K and 800K 3½-inch disks on the [[Mac (computer)|Macintosh]] and Apple II.<ref name="Feichtinger_1987" /><ref name="IWM_1982" /> Apple did not originally call this scheme "GCR", but the term was later applied to it<ref name="IWM_1982" /> to distinguish it from [[IBM Personal Computer|IBM PC]] floppies which used the [[Modified Frequency Modulation|MFM]] encoding scheme. {{Col-begin|class=mw-collapsible mw-collapsed}} |+'''6-and-2 encoding table''' {{Col-4}} {| class="wikitable" ! colspan="2"|6-bit value !! colspan="2"|GCR code<ref name="Feichtinger_1987" /><ref name="Lechner_1982_Beneath_Apple_DOS" /><ref name="Lechner_1985_Beneath_Apple_ProDOS" /><ref name="Sather_1983_Understanding_Apple_II" /><ref name="CP_1989_CopyII" /> |- ! hex !! bin !! bin !! hex |- | 0x00 || 00.0000 || 1001.0110 || 0x96 |- | 0x01 || 00.0001 || 1001.0111 || 0x97 |- | 0x02 || 00.0010 || 1001.1010 || 0x9A |- | 0x03 || 00.0011 || 1001.1011 || 0x9B |- | 0x04 || 00.0100 || 1001.1101 || 0x9D |- | 0x05 || 00.0101 || 1001.1110 || 0x9E |- | 0x06 || 00.0110 || 1001.1111 || 0x9F |- | 0x07 || 00.0111 || 1010.0110 || 0xA6 |- | 0x08 || 00.1000 || 1010.0111 || 0xA7 |- | 0x09 || 00.1001 || 1010.1011 || 0xAB |- | 0x0A || 00.1010 || 1010.1100 || 0xAC |- | 0x0B || 00.1011 || 1010.1101 || 0xAD |- | 0x0C || 00.1100 || 1010.1110 || 0xAE |- | 0x0D || 00.1101 || 1010.1111 || 0xAF |- | 0x0E || 00.1110 || 1011.0010 || 0xB2 |- | 0x0F || 00.1111 || 1011.0011 || 0xB3 |} {{Col-4}} {| class="wikitable" ! colspan="2"|6-bit value !! colspan="2"|GCR code<ref name="Feichtinger_1987" /><ref name="Lechner_1982_Beneath_Apple_DOS" /><ref name="Lechner_1985_Beneath_Apple_ProDOS" /><ref name="Sather_1983_Understanding_Apple_II" /><ref name="CP_1989_CopyII" /> |- ! hex !! bin !! bin !! hex |- | 0x10 || 01.0000 || 1011.0100 || 0xB4 |- | 0x11 || 01.0001 || 1011.0101 || 0xB5 |- | 0x12 || 01.0010 || 1011.0110 || 0xB6 |- | 0x13 || 01.0011 || 1011.0111 || 0xB7 |- | 0x14 || 01.0100 || 1011.1001 || 0xB9 |- | 0x15 || 01.0101 || 1011.1010 || 0xBA |- | 0x16 || 01.0110 || 1011.1011 || 0xBB |- | 0x17 || 01.0111 || 1011.1100 || 0xBC |- | 0x18 || 01.1000 || 1011.1101 || 0xBD |- | 0x19 || 01.1001 || 1011.1110 || 0xBE |- | 0x1A || 01.1010 || 1011.1111 || 0xBF |- | 0x1B || 01.1011 || 1100.1011 || 0xCB |- | 0x1C || 01.1100 || 1100.1101 || 0xCD |- | 0x1D || 01.1101 || 1100.1110 || 0xCE |- | 0x1E || 01.1110 || 1100.1111 || 0xCF |- | 0x1F || 01.1111 || 1101.0011 || 0xD3 |} {{Col-4}} {| class="wikitable" ! colspan="2"|6-bit value !! colspan="2"|GCR code<ref name="Feichtinger_1987" /><ref name="Lechner_1982_Beneath_Apple_DOS" /><ref name="Lechner_1985_Beneath_Apple_ProDOS" /><ref name="Sather_1983_Understanding_Apple_II" /><ref name="CP_1989_CopyII" /> |- ! hex !! bin !! bin !! hex |- | 0x20 || 10.0000 || 1101.0110 || 0xD6 |- | 0x21 || 10.0001 || 1101.0111 || 0xD7 |- | 0x22 || 10.0010 || 1101.1001 || 0xD9 |- | 0x23 || 10.0011 || 1101.1010 || 0xDA |- | 0x24 || 10.0100 || 1101.1011 || 0xDB |- | 0x25 || 10.0101 || 1101.1100 || 0xDC |- | 0x26 || 10.0110 || 1101.1101 || 0xDD |- | 0x27 || 10.0111 || 1101.1110 || 0xDE |- | 0x28 || 10.1000 || 1101.1111 || 0xDF |- | 0x29 || 10.1001 || 1110.0101 || 0xE5 |- | 0x2A || 10.1010 || 1110.0110 || 0xE6 |- | 0x2B || 10.1011 || 1110.0111 || 0xE7 |- | 0x2C || 10.1100 || 1110.1001 || 0xE9 |- | 0x2D || 10.1101 || 1110.1010 || 0xEA |- | 0x2E || 10.1110 || 1110.1011 || 0xEB |- | 0x2F || 10.1111 || 1110.1100 || 0xEC |} {{Col-4}} {| class="wikitable" ! colspan="2"|6-bit value !! colspan="2"|GCR code<ref name="Feichtinger_1987" /><ref name="Lechner_1982_Beneath_Apple_DOS" /><ref name="Lechner_1985_Beneath_Apple_ProDOS" /><ref name="Sather_1983_Understanding_Apple_II" /><ref name="CP_1989_CopyII" /> |- ! hex !! bin !! bin !! hex |- | 0x30 || 11.0000 || 1110.1101 || 0xED |- | 0x31 || 11.0001 || 1110.1110 || 0xEE |- | 0x32 || 11.0010 || 1110.1111 || 0xEF |- | 0x33 || 11.0011 || 1111.0010 || 0xF2 |- | 0x34 || 11.0100 || 1111.0011 || 0xF3 |- | 0x35 || 11.0101 || 1111.0100 || 0xF4 |- | 0x36 || 11.0110 || 1111.0101 || 0xF5 |- | 0x37 || 11.0111 || 1111.0110 || 0xF6 |- | 0x38 || 11.1000 || 1111.0111 || 0xF7 |- | 0x39 || 11.1001 || 1111.1001 || 0xF9 |- | 0x3A || 11.1010 || 1111.1010 || 0xFA |- | 0x3B || 11.1011 || 1111.1011 || 0xFB |- | 0x3C || 11.1100 || 1111.1100 || 0xFC |- | 0x3D || 11.1101 || 1111.1101 || 0xFD |- | 0x3E || 11.1110 || 1111.1110 || 0xFE |- | 0x3F || 11.1111 || 1111.1111 || 0xFF |} {{Col-end}} Reserved GCR-codes: 0xAA and 0xD5.<ref name="Lechner_1982_Beneath_Apple_DOS" /><ref name="Lechner_1985_Beneath_Apple_ProDOS" /> === {{anchor|GCR 4/5|Commodore}}Commodore === Independently, [[Commodore Business Machines]] (CBM) created a group coded recording scheme for their [[Commodore 2040]] floppy disk drive (launched in the spring of 1979). The relevant constraints on the 2040 drive were that no more than two zero bits could occur in a row; the drive imposed no special constraint on the first bit in a byte. This allowed the use of a scheme similar to that used in {{val|6250|u=bpi}} tape drives. Every four bits of data are translated into five bits on disk, using the same 5-bit codes as IBM to ensure there are never more than two zero bits in a row, but in a different order: {| | {| class="wikitable" ! colspan="2"|4-bit value !! colspan="2"|GCR code<ref name="Hildon_1985_Anthology" /> |- ! hex !! bin !! bin !! hex |- | 0x0 || 0000 || 0.1010 || 0x0A |- | 0x1 || 0001 || 0.1011 || 0x0B |- | 0x2 || 0010 || 1.0010 || 0x12 |- | 0x3 || 0011 || 1.0011 || 0x13 |- | 0x4 || 0100 || 0.1110 || 0x0E |- | 0x5 || 0101 || 0.1111 || 0x0F |- | 0x6 || 0110 || 1.0110 || 0x16 |- | 0x7 || 0111 || 1.0111 || 0x17 |} | {| class="wikitable" ! colspan="2"|4-bit value !! colspan="2"|GCR code<ref name="Hildon_1985_Anthology" /> |- ! hex !! bin !! bin !! hex |- | 0x8 || 1000 || 0.1001 || 0x09 |- | 0x9 || 1001 || 1.1001 || 0x19 |- | 0xA || 1010 || 1.1010 || 0x1A |- | 0xB || 1011 || 1.1011 || 0x1B |- | 0xC || 1100 || 0.1101 || 0x0D |- | 0xD || 1101 || 1.1101 || 0x1D |- | 0xE || 1110 || 1.1110 || 0x1E |- | 0xF || 1111 || 1.0101 || 0x15 |} |} Like the IBM code, at most eight one bits in a row are possible, so Commodore used sequences of ten or more one bits in a row as a [[synchronization sequence]]. This more efficient GCR scheme, combined with an approach at [[constant bit-density]] recording by gradually increasing the clock rate ([[zone constant angular velocity]], ZCAV) and storing more physical sectors on the outer tracks than on the inner ones ([[zone bit recording]], ZBR), enabled Commodore to fit {{val|170|u=KiB}} on a standard single-sided single-density 5.25-inch floppy, where Apple fit {{val|140|u=KiB}} (with 6-and-2 encoding) or {{val|114|u=KiB}} (with 5-and-3 encoding) and an FM-encoded floppy held only {{val|88|u=KiB}}. === {{anchor|Victor|Sirius}}Sirius/Victor === Similar, the 5.25-inch floppy drives of the [[Sirius Systems Technology#Victor 9000 / Sirius 1|Victor 9000 aka Sirius 1]], designed by [[Chuck Peddle]] in 1981/1982, used a combination of GCR and [[zone bit recording]] by gradually decreasing a drive's rotational speed for the outer tracks in nine zones while increasing the number of sectors per track<ref>{{cite web |title=victor9k |website=FluxEngine documentation |url=https://cowlark.com/fluxengine/doc/disk-victor9k.html |access-date=2024-07-19}}</ref> to achieve formatted capacities of {{val|606|u=KiB}} (single sided) / {{val|1188|u=KiB}} (double-sided) on [[96 tpi]] media<!-- (physical geometry: 80 tracks × 1/2 heads × (11-19) variable sectors × 512 bytes, [[FAT12]] file system, unknown logical geometry and FAT ID) -->.{{r|Sirius1_Specs|Victor_1983_Technical_Reference|Victor_1982_Technical_Reference|Sargent_1988}} The GCR code is identical to the Commodore one.<ref>{{cite web |title=Victor 9000 format |website=DiscFerret wiki |url=https://discferret.com/wiki/Victor_9000_format |access-date=2024-07-19}}</ref> === Brother ===<!-- used in redirects --> Starting around 1985, [[Brother Industries|Brother]] introduced a family of dedicated word processor typewriters with integrated 3.5-inch 38-track<ref group="nb" name="NB_Brother_capacity" /> diskette drive. Early models of the [[Brother WP series|WP]] and {{ill|Brother LW series{{!}}LW series|de|Brother LW-Reihe}} used a Brother-specific group-coded recording scheme with twelve 256-byte sectors to store up to 120 KB<ref group="nb" name="NB_Brother_formats" /> on single-sided and up to 240 KB<ref group="nb" name="NB_Brother_formats" /> on double-sided double-density (DD) diskettes.<ref name="Guzis_2015_Multi" /><ref name="Gieseke_2003_Brother" /><ref name="Mick_2002_Brother_WP-6" /><ref name="Cotgrove_2009_Brother" /> Reportedly, prototypes were already shown at the [[Internationale Funkausstellung]] 1979 (IFA) in Berlin. === {{anchor|4-5}}Sharp ===<!-- used in redirects --> In 1986, [[Sharp Corporation|Sharp]] introduced a [[flippy disk|turnable]] 2.5-inch pocket disk drive solution (drives: [[Sharp CE-1600F|CE-1600F]], [[Sharp CE-140F|CE-140F]]; internally based on the FDU-250 chassis; media: [[Sharp CE-1650F|CE-1650F]]) for their series of [[pocket computer]]s with a formatted capacity of {{val|62464}} bytes per side (2× 64 kB nominal, 16 tracks, 8 sectors/track, 512 bytes per sector, [[48 tpi]], 250 kbit/s, 270 rpm) with GCR (4/5) recording.<ref name="Sharp_1986_CE1600F" /><ref name="Sharp_1986_CE140F" />
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)