Floppy Drives - How did they work?

  Рет қаралды 11,877

George Foot

George Foot

Күн бұрын

Пікірлер: 55
@absurdengineering
@absurdengineering Жыл бұрын
MFM can be read and written using nothing but a basic UART. Configure to 1 start bit, 6 data bits, 1 stop bit. It's exactly MFM, and will self-synchronize to clock pulses. 250k baud rate. Of course decoding the data requires some software, but a floppy controller is a bit of an overkill for most uses. I've been interfacing with floppy drives using UARTs for a long time. The read data needs a pulse stretcher to extend the pulses to 2us. Any microcontroller that can have its UART word width configured to 6 bits will work for that. Minimum UART clock is 4MHz or any multiple of it. The 16MHz clock used for Arduino UNO works well for that. If you want to be really fancy, the CPU clock can be slaved to the index pulse via a PLL, so that when the disc is rotating, there's an exact and fixed number of bits per revolution. ATmega 328P used in UNO has a uart that supports 6-bit data words. So the whole thing works out really well.
@PauloConstantino167
@PauloConstantino167 3 ай бұрын
Thats an interesting idea. Would you help me to set this up for my homebrew computer?
@ecosta
@ecosta 2 жыл бұрын
Oh my! This brings me so many memories from my childhood. I recall playing with old disks, and "protecting" new ones with a small sticker over the side notch. Those were the days! 😃
@GeorgeFoot
@GeorgeFoot 2 жыл бұрын
And sometimes cutting a notch in commercial disks that didn't have one!
@edgeeffect
@edgeeffect Жыл бұрын
I rarely used the protection tabs on discs... they had a higher purpose: for write enabling cassettes.
@makeshift75303
@makeshift75303 Жыл бұрын
Aah, the time spent trying to dig an aluminium write-protect tab out of a floppy drive with a pencil, or a wooden ruler, because it had come off the floppy disc inside the drive. 😊
@thorpejsf
@thorpejsf Жыл бұрын
Those two little notches near the window are strain-reliefs 🙂 If the floppy is twisted, they prevent the window area from bending.
@LifewithDavid1
@LifewithDavid1 2 жыл бұрын
George, Glad to see you back on KZbin! Nicely done. I built my own floppy disk interface for my 6502 computer back in 1980 using the FD1791 disk controller. As floppy disk technology progressed, the data format went from data between clock pulses to transitions signifying a one or a zero to increase the data density. Early disks had 17 index holes, for hard sectoring. 16 equally spaced sector holes, and 1 track hole halfway between holes "16" and "1". I only used one box of those before I converted to soft sectoring like your disk. I wrote a very basic DOS that allowed me to transfer data between the computer and drive. It was a challenge since it was all hand written in machine language (EAs, 20s, and A9s still are burned into my brain). I had to load the DOS into the computer using a cassette and then I could use the disk. Things are much more more civilized (meaning cheaper) now. I could barely afford one computer, now we've got dozens just for playing around. The discussion was spot on. Keep up the good work.
@GeorgeFoot
@GeorgeFoot 2 жыл бұрын
Thanks David! It's interesting with the hard sectoring - I read about the extra holes the other day but I assumed they were at a different radius on the disc, I didn't realise they were mixed together. I found an old datasheet for an early Shugart drive that was an interesting mixture of useful and too old compared to the hardware I have here! I read about MFM as well, maybe one day I can pack as much data in as I can! For now though my goals are a bit less ambitious.
@GodmanchesterGoblin
@GodmanchesterGoblin 2 жыл бұрын
@@GeorgeFoot Hard sectors were common early 8 inch floppies (late 70's). But I think they were on the way out by around 1980. I designed a couple of disk controller interfaces (complete with low-level with driver software) for proprietary computer systems in the mid 80's. Fun days!
@Dave5281968
@Dave5281968 2 жыл бұрын
@@GeorgeFoot You're smart to go with regular FM encoding initially since MFM encoding introduces some quirks in writing data to the disk. (Some bit sequences can generate bad reads/writes! I think it's because the signal frequency goes out of the allowable range for the read and/or write amplifiers.) I personally prefer the FM encoding since there are no special cases of data patterns to be handled, but MFM does nearly double the number of bits that will fit on a single track.
@GeorgeFoot
@GeorgeFoot 2 жыл бұрын
@@Dave5281968 I read the WD1770 datasheet yesterday, including details of write compensation that might be what you're referring to? Also MFM vs MMFM which I guess were different ways to achieve the faster data rate.
@RogerBarraud
@RogerBarraud Жыл бұрын
@@GeorgeFoot HD or bust! ;-)
@James101
@James101 3 ай бұрын
The 2 notches are strain relief so the disk does not bend at the window
@avtuunainen
@avtuunainen Ай бұрын
At 10:15 you wonder why the motor is like it is. It's not (just) so it can fit, but because maintaining constant angular velocity is critical for correct operation, and for that, increasing the moment of inertia is very useful, so anything that perturbs the speed of the disk has to do more work to achieve it. By spreading out the motor like that, it can use its own mass as a flywheel.
@Mik3yDatBoi
@Mik3yDatBoi 2 жыл бұрын
I’m 22 and just fascinated by retired technology. More the fact my parents grew up in the era and of course my grandparents saw it all. Just fascinating to me. (I think floppy’s are still rarely used so maybe not fully retired)
@makeshift75303
@makeshift75303 Жыл бұрын
I believe the momentary motor rotation of the spindle is to help seat the floppy disc centrally as the spindle segments of the head clamp the floppy. If the spindle was stationary, there would be far more chance of crimping the floppy.
@sail4life
@sail4life 2 жыл бұрын
The spindle motor is a brushless DC permanent magnet type. The controller uses either an index magnet and a hall sensor or back EMF from the coils to keep track of the speed. Perhaps some used the index hole but I'm not sure.
@GeorgeFoot
@GeorgeFoot 2 жыл бұрын
I think you're right as far as the drive motor speed regulation is concerned. There's a "ready" signal from the drive though which uses index pulses to check that a disc is present, and I believe host-side systems like the 8271 FDC also used index pulses to check things were good before trying to write data.
@Chriva
@Chriva 2 жыл бұрын
Those weirdo notches at the top is just to relieve stress. No idea how the mechanics of it work but that's their official designation. :)
@pepe6666
@pepe6666 Жыл бұрын
man this was AWEESO_E!! sorry missed a bit
@SuburbanDon
@SuburbanDon Жыл бұрын
Very interesting. My first computer was in 1982, an Apple 2+. Thanks for doing this.
@stupossibleify
@stupossibleify 2 жыл бұрын
Really good video! More please!
@ianneill9188
@ianneill9188 Жыл бұрын
Excellent! Very interesting and just what I was looking for, as I am starting to study floppy disks as I return to some of my retro computers. The Arduino is also my go to tool when I want to dig deeper into data and logic, so the next episode in your series is already calling me 😊 Thank you for sharing.
@ratmadness4858
@ratmadness4858 4 ай бұрын
James Sharman recommended this series.
@mheermance
@mheermance 2 жыл бұрын
Atari eight bit systems also used serial floppy drives. Their drives weren't quite as sophisticated as the Commodore drives, but the interface was higher level than other floppy drives. The engineer who designed their SIO bus went on to work on USB which has some similarities. I used to notch the opposing side to let me double side the floppy.
@GeorgeFoot
@GeorgeFoot 2 жыл бұрын
That's interesting, I'm not very familiar with the Atari systems. I too used to cut extra holes in my discs and flip them over. Not very neatly!
@colejohnson2230
@colejohnson2230 2 жыл бұрын
This is exactly what I needed for my project!
@GeorgeFoot
@GeorgeFoot 2 жыл бұрын
Great! What's the project?
@colejohnson2230
@colejohnson2230 2 жыл бұрын
@@GeorgeFoot I'm working on building a pipelined CPU and wanted to expand memory with some old tech like floppy's. I had a floppy drive lying around but no idea how to interface to it
@GeorgeFoot
@GeorgeFoot 2 жыл бұрын
Awesome. I think it should be fairly easy to get some crude data reading working, maybe DMA a track at a time into RAM, but my main debate has been whether to go straight for the standard, more complex format.
@forbiddenera
@forbiddenera 2 жыл бұрын
One of the other holes is so the drive knows the disk is right side up or not as some systems/drives would let you flip a disk before double sided drives were the normal
@makeshift75303
@makeshift75303 Жыл бұрын
Brilliant presentation, thank you, The head never made contact, but used to float above the surface of the floppy on a cushion of air, but at a height that was far less than the diameter of a human hair. I'm sure you can find a diagram to illustrate the type of clearance involved, but it was an unbelievably small tolerance as far as I was concerned , back in 82. I wish I still had my caddy of Apple II 5 1/4" Verbatim floppies. I gave everything away in the 90s when I was in the Army. Have re-purchased an Apple II (Platinum) and most recently an Osborne OCC1, which I always lusted after as a teen, but could never afford in 82.
@Aruneh
@Aruneh 2 жыл бұрын
Very interesting! And good to see you back on KZbin, its been a while
@brettb.345
@brettb.345 2 жыл бұрын
Currently adding SD card support to my 6502 via a second 6522 VIA. I’m experimenting with an ATMEGA168 as the controller (got a bunch of those chips on the cheap). This was very informative on the possibility of interfacing a floppy drive. Thanks.
@GeorgeFoot
@GeorgeFoot 2 жыл бұрын
Nice, the ATMEGAs are actually quite simple to hook up if you set the fuses right, and you can program them in-system from an Arduino fairly easily. My first PCB design was based on one.
@brettb.345
@brettb.345 2 жыл бұрын
@@GeorgeFoot I built my own “Arduino Uno” board for it with ZIF socket rather than prying the chips out of the socket of an actual Uno. I also just finished a new Uno shield to program ATTINY 85, 84, and 861 - I use them a lot, as they are great for adding interfaces, such as I2C to LCDs or for keyboards.
@captainboing
@captainboing 4 ай бұрын
@41:50 maybe "soft sectors"? The Amiga used an encoding which resulted in a special byte pair (0x4489) that could not be generated by the encoding so if that ever occurs in the data stream you know it is a sector start. There are other combinations which got used in some disk protection systems. When it read a track, it didn't have to wait for the start of a sector, it just dropped the heads and read an entire track into a buffer. The cpu then looked for the soft index word and used the blitter to move the two halves of the buffer.
@francoisdastardly4405
@francoisdastardly4405 2 жыл бұрын
Very interested video. Many thanks !
@Phoenix135tube
@Phoenix135tube Жыл бұрын
Hi George Brilliant video. I watched this a couple of weeks ago, then have come full circle in that my Osborne Executive Floppy Drive B is giving me a BDOS Error and when I took it out to look at, using the strobe wheel on the bottom of the drive motor, the motor is running flat out, and a mate thinks it might be the index hole optical sensor. I have no technical drive documentation or schematic for the Executive and was looking to build a test box to plug the drive into, but the breadboard makes it easy to use with the CRO, rather than messing with the drive. I might have missed it in the video but are you using 150 ohm resistors on the breadboard? kind regards, Cam
@GeorgeFoot
@GeorgeFoot Жыл бұрын
I'm glad if it's useful. I think I used higher resistor values, but I think it's meant to be 150 for a 5.25 inch drive, yes. I don't think the index hole is used for speed control by the drive in fact, the motors are meant to have that built in.
@pauldourish
@pauldourish 2 жыл бұрын
Great stuff -- fascinating!
@aydnsevincik1227
@aydnsevincik1227 7 ай бұрын
"Hello, I want to do something like this. I have an old system that only has floppy drive and parallel port outputs. Data is read and written using floppy disks. I want to disable the floppy drive, connect Arduino to that port, and use the system as if writing to a floppy disk to save the data to an SD card. Do you think something like this is possible?"
@iamdarkyoshi
@iamdarkyoshi 6 ай бұрын
I feel like the c64's floppy drive solution was the exact opposite answer to "How can we build a cheap, fast, and simple to use floppy drive"
@tonyfremont
@tonyfremont 6 ай бұрын
They were just ahead of their time. Everything is a serial interface now: USB, SATA or PCI express.
@edgeeffect
@edgeeffect 2 жыл бұрын
I always thought FM was.... y'know Frequency Modulation.... interesting to see I'm wrong.
@GeorgeFoot
@GeorgeFoot 2 жыл бұрын
I think in a way it is still a form of frequency modulation. A set bit is encoded as two cycles of 250kHz, while a clear bit is one cycle of 125kHz.
@RogerBarraud
@RogerBarraud Жыл бұрын
@@GeorgeFoot Exactly right.
@vitobelflores6510
@vitobelflores6510 4 ай бұрын
Busco como conectar floppy drive 3" interno A externo vía puerto paralelo, like the backpack cdrom parallel port, No via usb!. I have Oldis Pc's only with Parallel port it doesnt have enought power for ISA cards with usb 1.1 ports or pci. The LS120 SuperDisk (ext) is an option but i 've a many 3"1/2 fdrives (int) to use like an externals. Idont want a zip's iomega, Help pls.
@tonyfremont
@tonyfremont Жыл бұрын
I think it spins as you're inserting it to help center the hub on the hole; thats what i heard back then.
@ms-ex8em
@ms-ex8em 7 ай бұрын
why did Acorn choose 640k, 800k and 1.6 mb for its floppy disc capacities ?? thanks....................
@noureddinebenakrim5458
@noureddinebenakrim5458 2 жыл бұрын
Thank you so much
@ms-ex8em
@ms-ex8em 7 ай бұрын
i wonder why microsoft chose 1.44 mb and 1.2mb and 1.68 mb dmf for its floppy disc formats too? thanks.........
@shaunclarke94
@shaunclarke94 20 күн бұрын
What really surprises me is that the control signals are so basic and low level, and then the data is literally just a single pin in and out. So out of 36 conductors, only one carries your actual data. That's crazy.
Reading data from a Floppy Drive
37:50
George Foot
Рет қаралды 8 М.
Hands on alignment of an Amiga disk drive
22:44
CRG
Рет қаралды 3,6 М.
World’s strongest WOMAN vs regular GIRLS
00:56
A4
Рет қаралды 12 МЛН
CAN YOU DO THIS ?
00:23
STORROR
Рет қаралды 46 МЛН
Всё пошло не по плану 😮
00:36
Miracle
Рет қаралды 6 МЛН
НИКИТА ПОДСТАВИЛ ДЖОНИ 😡
01:00
HOOOTDOGS
Рет қаралды 3,2 МЛН
Will data on floppy disks be safe from magnets?
11:56
Bits und Bolts
Рет қаралды 3,8 М.
Testing 12 mystery PC floppy drives
1:11:00
Adrian's Digital Basement ][
Рет қаралды 64 М.
This 8" hard drive doesn't seem to exist (or does it?)
49:32
Adrian's Digital Basement
Рет қаралды 275 М.
Как работали флоппи дисководы
15:08
Шварценпух
Рет қаралды 124 М.
Can I fix this faulty Amstrad 2086?
52:58
CRG
Рет қаралды 8 М.
Why most 5.25" Floppy Drives seem broken, but aren't!
38:37
PCRetroTech
Рет қаралды 35 М.
More than two floppy drives?
18:20
Tech Tangents
Рет қаралды 69 М.
Floppy Disk Drive Stepper Motor Alignment
24:09
Noel's Retro Lab
Рет қаралды 31 М.
World’s strongest WOMAN vs regular GIRLS
00:56
A4
Рет қаралды 12 МЛН