It's been a long time since the last video. But you are back with a very interesting topic. I'll see it again as soon as YT has translated it for me. Thanks for sharing.
Haha yes, I noticed it while editing the first portion before going on to record the rest, but still forgot to fix it before turning it all on for the first time! I got very erratic behaviour.
I've been fantasizing about doing something like this for a while. I doubt I could have done as good and thorough job as you have. Thanks for doing this so now I can move on to something else.
Love it! Of course you had a nice way to say you won’t use a 6522 because it’s too easy XD When I get around to this you bet I will use a FDC IC instead - that seems like plenty of a challenge in itself.. but maybe I’ll do 8” floppies :D
Haha I wonder whether you can find some of those! Even these 5.25 inch discs are quite hard to get now. A limitation of the 6522 was that it didn't have enough pins to read all the clock and data bits, let alone introducing more bits for writing. But a 6522 with some external ICs (maybe shift registers or the kind of thing I did here) could have worked well and would have the benefit of also incorporating timers and interrupts. I also had some crazy ideas to reduce the need for so many days and clock pins, which reduce the hardware complexity but add to the software complexity. I checked Commodore's schematics too, but they didn't just use a 6522, they had another IC to assist. Two 6522s would be another option.
@@GeorgeFoot I wouldn’t shy away from using the 6522 shift register for data and the gpio’s for the control lines - or external shift registers. The 8” drives are horribly expensive - I will need a sponsor for one of those. I have no idea about disks either! Right this weekend I found about 20 5.25” floppies so now I’m committed to getting a drive for those too - they seem to contain CP/M-86 software at the moment. If it survived since the late 80’s that is!
It's the 640x480x8 colours one from a year or so ago, the same one that I bolted the sprites onto before. My text output routine dates back to the earlier black/white/blue/orange four colour circuit, and I've not updated it to deal properly with the extra bit plane, so for this I just initialize the red plane to be set for every pixel, and let the text output routine write only to the green and blue planes. I also swapped a 16V8 PLD in for some of the glue logic that synchronizes CPU access to video RAM.
@@GeorgeFoot They used them (74LS06’s) for the inputs from the drive also… with pull ups before and after. I got tons of TTL… but no MOFSET’s. I guess you’re more DISCRETE (sic!) than I am! ;-) When I first saw this project I thought “Why doesn’t he just use a WD 1793?”… but then when you explained why you didn’t use a PIO I understood. ;-) I’m interested to see how you design the data/clock separator… and are you going to do single (FM) and double (MFM) density? Maybe I’m just lazy but I’d just pull up old (S100!) floppy disk controllers and PLAGIARIZE! ;-) I recently restored an OSI C4P MFD… they didn’t use a FDC chip ether… they just used a UART! Which they then NRZ’d!!! All the floppy control lines they ran in/out thru a PIO (buffered (74LS06!) appropriately).
@@geowar20 I think I included the recommended transit/ receive circuit from the Shugart SA800 datasheet in the video - I don't recall the exact part they used in the receiving end but I think it was schmitt triggered, which makes sense. I do like to do things at a fairly low level, my goal is understanding more than anything! Regarding clock recovery and separation, I built that circuit last year in the first few videos in this series - it's an unusual approach but works well for me. Currently it's FM only but it should be fairly easy to extend to MFM - just double the frequency, change the address mark detector, and probably handle the rest in software I think! I hadn't thought of using a UART for this but I guess clock recovery is one of their main purposes. Still I enjoy coming up with my own solutions for these things.
@@GeorgeFoot The OSI C4P MFD didn’t do sectors… the OS just waited for the index hole and then read data from the UART like it was an audio cassette port!
I think I've got an old floppy drive somewhere, so I might try this myself one day. I'll be interested in how to read the floppy data, will you be using fat16 or a filesystem you create yourself?
I haven't thought much about the filesystem but most likely to begin with I'll use the BBC Micro's one, because then I already have a good way to get data onto the discs. I think fat16 requires 512-byte sectors, which are also not ideal for these discs or an 8-bit computer in general.
Yes, I think it's to match the impedence of the ribbon cable (with ground wires alternating with the signal lines) - so 150 ohms will prevent reflections back and forth along the wire. But then I think 3.5 inch drives increased the resistance, and I'm not sure what effect that has on the transmission line.
@@GeorgeFoot Ah, that makes sense. I figured it was for something related to noise. Transmission lines are one of those dark arts of EE that I only know a little about.
Yes, they are hard to get these days, as are the drives. But like must of the low level things I do, this is more for the sake of understanding how things worked.
@@edgeeffect Sad indeed. I thought I'd lost mine from my childhood, but randomly found them in a box in my garage a few months ago. Like finding lost treasure.
This has been a great idea for a series.... none of the other "breadboard reconstructivists" are "doing" floppy drives. Liking it a lot.
It's been a long time since the last video. But you are back with a very interesting topic. I'll see it again as soon as YT has translated it for me. Thanks for sharing.
It had indeed - I moved house in the meantime, and didn't get everything set up until recently!
I’m glad you finally connected the ground pin on the transceiver correctly. It was driving me nuts 😊
Haha yes, I noticed it while editing the first portion before going on to record the rest, but still forgot to fix it before turning it all on for the first time! I got very erratic behaviour.
Glad to see you back! Will have to go back and refresh my memory on this project.
I've been fantasizing about doing something like this for a while. I doubt I could have done as good and thorough job as you have. Thanks for doing this so now I can move on to something else.
Great video as always!
So happy to see you back here! :D
Welcome back 🎉 also I like your chip pointer
Thanks! I have many different colours, it was a present from my brother
Welcome back!
Love it! Of course you had a nice way to say you won’t use a 6522 because it’s too easy XD
When I get around to this you bet I will use a FDC IC instead - that seems like plenty of a challenge in itself.. but maybe I’ll do 8” floppies :D
Haha I wonder whether you can find some of those! Even these 5.25 inch discs are quite hard to get now.
A limitation of the 6522 was that it didn't have enough pins to read all the clock and data bits, let alone introducing more bits for writing. But a 6522 with some external ICs (maybe shift registers or the kind of thing I did here) could have worked well and would have the benefit of also incorporating timers and interrupts. I also had some crazy ideas to reduce the need for so many days and clock pins, which reduce the hardware complexity but add to the software complexity.
I checked Commodore's schematics too, but they didn't just use a 6522, they had another IC to assist. Two 6522s would be another option.
@@GeorgeFoot
I wouldn’t shy away from using the 6522 shift register for data and the gpio’s for the control lines - or external shift registers.
The 8” drives are horribly expensive - I will need a sponsor for one of those. I have no idea about disks either!
Right this weekend I found about 20 5.25” floppies so now I’m committed to getting a drive for those too - they seem to contain CP/M-86 software at the moment. If it survived since the late 80’s that is!
8 inches would go well with the reel-to-reel tapes!
Welcome back!
Unrelated question, but which video circuitry are you using?
It's the 640x480x8 colours one from a year or so ago, the same one that I bolted the sprites onto before. My text output routine dates back to the earlier black/white/blue/orange four colour circuit, and I've not updated it to deal properly with the extra bit plane, so for this I just initialize the red plane to be set for every pixel, and let the text output routine write only to the green and blue planes. I also swapped a 16V8 PLD in for some of the glue logic that synchronizes CPU access to video RAM.
I pulled out a bunch of schematics for FDC boards… and the common driver for the floppy I/O lines is an 74LS06 open collector hex inverter.
Yes, I think anything open collector/ drain should work well, I don't have any though so have to improvise!
@@GeorgeFoot They used them (74LS06’s) for the inputs from the drive also… with pull ups before and after.
I got tons of TTL… but no MOFSET’s. I guess you’re more DISCRETE (sic!) than I am! ;-)
When I first saw this project I thought “Why doesn’t he just use a WD 1793?”… but then when you explained why you didn’t use a PIO I understood. ;-)
I’m interested to see how you design the data/clock separator… and are you going to do single (FM) and double (MFM) density?
Maybe I’m just lazy but I’d just pull up old (S100!) floppy disk controllers and PLAGIARIZE! ;-)
I recently restored an OSI C4P MFD… they didn’t use a FDC chip ether… they just used a UART! Which they then NRZ’d!!! All the floppy control lines they ran in/out thru a PIO (buffered (74LS06!) appropriately).
@@geowar20 I think I included the recommended transit/ receive circuit from the Shugart SA800 datasheet in the video - I don't recall the exact part they used in the receiving end but I think it was schmitt triggered, which makes sense.
I do like to do things at a fairly low level, my goal is understanding more than anything!
Regarding clock recovery and separation, I built that circuit last year in the first few videos in this series - it's an unusual approach but works well for me. Currently it's FM only but it should be fairly easy to extend to MFM - just double the frequency, change the address mark detector, and probably handle the rest in software I think!
I hadn't thought of using a UART for this but I guess clock recovery is one of their main purposes. Still I enjoy coming up with my own solutions for these things.
@@GeorgeFoot The OSI C4P MFD didn’t do sectors… the OS just waited for the index hole and then read data from the UART like it was an audio cassette port!
Is it possible to use a 3.5 inch drive or it only works with 5.25 drives?
The interface is mostly the same for both, so I think it should work, but i haven't tried it.
I think I've got an old floppy drive somewhere, so I might try this myself one day. I'll be interested in how to read the floppy data, will you be using fat16 or a filesystem you create yourself?
I haven't thought much about the filesystem but most likely to begin with I'll use the BBC Micro's one, because then I already have a good way to get data onto the discs.
I think fat16 requires 512-byte sectors, which are also not ideal for these discs or an 8-bit computer in general.
Wow, a 150 ohm pull up seems really low. I am used to seeing 1K at a minimum.
Yes, I think it's to match the impedence of the ribbon cable (with ground wires alternating with the signal lines) - so 150 ohms will prevent reflections back and forth along the wire. But then I think 3.5 inch drives increased the resistance, and I'm not sure what effect that has on the transmission line.
@@GeorgeFoot Ah, that makes sense. I figured it was for something related to noise. Transmission lines are one of those dark arts of EE that I only know a little about.
You are not scared of the day when they stop making disks?
Yes, they are hard to get these days, as are the drives. But like must of the low level things I do, this is more for the sake of understanding how things worked.
Back in about 1992, I threw away 2 sacks of 5 1/4" and 1 sack of 8".... I still look back on that day with sorrow and shame.
@@edgeeffect Sad indeed. I thought I'd lost mine from my childhood, but randomly found them in a box in my garage a few months ago. Like finding lost treasure.
𝓅𝓇𝑜𝓂𝑜𝓈𝓂 ❣️