User Tools

Site Tools


retro:salvage-content-from-360k-floppy-disks

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
retro:salvage-content-from-360k-floppy-disks [2020/01/22 20:21]
Ilias Iliopoulos headings
retro:salvage-content-from-360k-floppy-disks [2024/02/02 21:50] (current)
Ilias Iliopoulos
Line 1: Line 1:
-====== Salvage content from 5 1/4" 360K floppy disks ======+====== ​A Guide to Salvage content from 5 1/4" 360K floppy disks ======
  
 ===== Introduction ===== ===== Introduction =====
Line 7: Line 7:
 The article is a bit lengthy, but it is like archaeology:​ You need to have a rich background in order to analyse a pottery fragment... ​ The article is a bit lengthy, but it is like archaeology:​ You need to have a rich background in order to analyse a pottery fragment... ​
  
-I am sorry for the terrible pictures. Time was pressing to finish as soon as possible and free the space occupied by those components, so documenting was not a priority. Family guys shall understand.+I am sorry for the terrible pictures. Time was pressing to finish as soon as possible and free the precious room space, so documenting was not a priority. Family guys shall understand.
  
 ===== Preface ===== ===== Preface =====
  
-The year is currently 2020. While working on a project, I remembered that I have implemented a similar algorithm some time in the previous century, back in 1987. The code was part of my personally designed and implemented ​ 6502 development system, which included a micro-controller card equipped with an 6502 microprocessor,​ along with several peripherals. I used to develop in Assembly on an IBM-PC compatible computer, a **Lingo PC-88 XT** with an 8088 processor, 640K of RAM, two 5 1/4" 360K floppy disk drives, no hard disk and a CRT composite monochrome monitor, which I have purchased second-handed from a friend, at a price of 200.000 GRD, sometime around 1983. I have expanded the system with some custom-made expansion boards of my design and later I was happy to add a mouse which occupied the serial port. +The year is currently 2020. While working on a project, I remembered that I have implemented a similar algorithm some time in the previous century, back in 1987. The code was part of my personally designed and implemented ​ 6502 development system, which included a micro-controller card equipped with an 6502 microprocessor,​ along with several peripherals. I used to develop ​code in Assembly on an IBM-PC compatible computer, a **Lingo PC-88 XT** with an 8088 processor, 640K of RAM, two 5 1/4" 360K floppy disk drives, no hard disk and a CRT composite monochrome monitor, which I have purchased second-handed from a friend, at a price of 200.000 GRD, sometime around 1983. I have expanded the system with some custom-made expansion boards of my design and later I was happy to add a mouse which occupied the serial port. 
  
-Several other computers have found their position on my desk over the years and the Lingo was exiled in the attic, accompanied by several old laptops. Not all laptops - I still have an IBM 2645 Thinkpad which used to run Windows 95 in my lab. But its purpose now, in its beautiful leather-like bag with the IBM logo on it, is to be a door stopper!!!! None of those computers had support for 360K drives. In the evolution process, ​it was the first to become obsolete.+Several other computers have found their position on my desk over the years and the Lingo was exiled in the attic, accompanied by several old laptops. Not all laptops - I still have an IBM 2645 Thinkpad which used to run Windows 95 in my lab. But its purpose now, in its beautiful leather-like bag with the IBM logo on it, is to be a door stopper!!!! I still have a Compaq Armada laptop, which I used to run the **Sniffer Network Anallyzer** which I had purchased at the enormous price of 2.000.000 GRD. Wireshark is now free!!! None of those computers had support for 360K drives. In the evolution process ​of computersthe floppy drive was one of the first components ​to become obsolete.
  
 Fortunately,​ I have kept my stock of 360K floppy disks safely in a drawer, away from humidity and temperature extremes. It was not long before I located the floppy that I wanted. ​ Fortunately,​ I have kept my stock of 360K floppy disks safely in a drawer, away from humidity and temperature extremes. It was not long before I located the floppy that I wanted. ​
  
-I had to sustain a lot of laughs from my similar ​aged friends when I asked them if they happened to have a disk drive that could read 360K Double-Sided Double-Density floppy disks and transfer the files to a USB stick or over the network!+I had to sustain a lot of laughs from my same-aged friends when I asked them if they happened to have a disk drive that could read 360K Double-Sided Double-Density floppy disks and transfer the files to a USB stick or over the network!
  
 After realizing that I had been left on my own, I started to explore some not so obvious options. The most promising was to exploit another 386 PC which is in the pre-exile attic phase and has an IDE bus, one 3" 1.44M floppy drive and several hard disks. It used to run Windows 2000, as well as a version of SuSe Linux and is still operational. The plan was to extract the 360K disk drive from the Lingo, connect it to the IDE bus of the 386, read my floppy and transfer its contents to a small capacity USB stick. At least, USB  was supported by the motherboard of this 386 after its last and final BIOS upgrade. Unfortunately,​ in spite of the fact that the BIOS was set-up to recognize 360K drives, both Windows 2000 and SuSe Linux 7.1 were not equipped with the proper drivers, resulting in total failure. Really disappointed by Linux! After realizing that I had been left on my own, I started to explore some not so obvious options. The most promising was to exploit another 386 PC which is in the pre-exile attic phase and has an IDE bus, one 3" 1.44M floppy drive and several hard disks. It used to run Windows 2000, as well as a version of SuSe Linux and is still operational. The plan was to extract the 360K disk drive from the Lingo, connect it to the IDE bus of the 386, read my floppy and transfer its contents to a small capacity USB stick. At least, USB  was supported by the motherboard of this 386 after its last and final BIOS upgrade. Unfortunately,​ in spite of the fact that the BIOS was set-up to recognize 360K drives, both Windows 2000 and SuSe Linux 7.1 were not equipped with the proper drivers, resulting in total failure. Really disappointed by Linux!
Line 26: Line 26:
  
 **Procomm Plus packet** **Procomm Plus packet**
-{{ :​retro:​floppy-pcplus-box.png | Procomm Plus packet}}+{{ :​retro:​floppy-pcplus-box.jpg?​200 ​| Procomm Plus packet}}
  
 So, in order to retrieve the valuable content from a floppy the plan is: So, in order to retrieve the valuable content from a floppy the plan is:
Line 35: Line 35:
   - Transfer the files   - Transfer the files
  
-===== Step 1. Set up the Linux PC =====+===== Step 1. Set up the old PC =====
  
 This one was a journey to the past. I had to bring back to memory the function of each of the connectors on the back side. A few words for each is in order: This one was a journey to the past. I had to bring back to memory the function of each of the connectors on the back side. A few words for each is in order:
Line 143: Line 143:
 You can also construct null modems with a 9-pin connector on one side and 25-pin on the other, but this discussion has already gone far enough. ​ You can also construct null modems with a 9-pin connector on one side and 25-pin on the other, but this discussion has already gone far enough. ​
  
-One must be extremely careful in handling the RS-232 pins and wires. RS-232 electrical characteristics require one logic level (a **"​space"​** or **logic LOW**) to be in the range between **+3V** and **+15** Volts and the other logic level (a "​mark"​ or logic HIGH) in the range between **-3V** and **-15V**. Voltages between **-3V** and **+3V** are not allowed. The confusion with voltages and levels increases because when the line is idle, its level is HIGH, which is negative voltage and when the transmitter starts sending, it sends a start bit which is logic LOW and which is positive voltage. Control signals, when raised, become LOW which is a "​space"​ with a positive voltage. Anyway, we do not need to go into details, just remember that we **MUST AVOID CONNECTING BY MISTAKE TX WITH THE TX OF THE OTHER SIDE**, especially when one is transmitting. Old components usually were not protected from such short-circuts,​ and a connection ​error may result in frying the serial driver chip. +One must be extremely careful in handling the RS-232 pins and wires. RS-232 electrical characteristics require one logic level (a **"​space"​** or **logic LOW**) to be in the range between **+3V** and **+15** Volts and the other logic level (a "​mark"​ or logic HIGH) in the range between **-3V** and **-15V**. Voltages between **-3V** and **+3V** are not allowed. The confusion with voltages and levels increases because when the line is idle, its level is HIGH, which is negative voltage and when the transmitter starts sending, it sends a start bit which is logic LOW and which is positive voltage. Control signals, when raised, become LOW which is a "​space"​ with a positive voltage. Anyway, we do not need to go into details, just remember that we **MUST AVOID CONNECTING BY MISTAKE TX WITH THE TX OF THE OTHER SIDE**, especially when one is transmitting. Old components usually were not protected from such short-circuts,​ and a wiring ​error may result in frying the serial driver chip. 
  
 I use a device which identifies the active pins with LEDs, so after connecting to each side separately, I am certain that I do not provoke a short-circuit. It is better to remove this device after the test, because the energy consumed by the LEDs may cause problems, in case the line drivers cannot provide so much current to light the LEDs.  I use a device which identifies the active pins with LEDs, so after connecting to each side separately, I am certain that I do not provoke a short-circuit. It is better to remove this device after the test, because the energy consumed by the LEDs may cause problems, in case the line drivers cannot provide so much current to light the LEDs. 
  
 **RS-232 LED monitor** **RS-232 LED monitor**
-{{ :​retro:​floppy-rs232-ledbox.jpg | RS-232 LED monitor}}+{{ :​retro:​floppy-rs232-ledbox.jpg?300 | RS-232 LED monitor}}
  
 If such a device is not available, use a voltmeter to test the voltage between TX, RX and Ground pin. A definite negative voltage will identify the TX pin.  If such a device is not available, use a voltmeter to test the voltage between TX, RX and Ground pin. A definite negative voltage will identify the TX pin. 
Line 155: Line 155:
  
 **9/25 adaptor** **9/25 adaptor**
-{{ :​retro:​floppy-9-25-adaptor.jpg | 9/25 adaptor}}+{{ :​retro:​floppy-9-25-adaptor_1.jpg?​300 | 9/25 adaptor}} 
 +{{ :​retro:​floppy-9-25-adaptor_2.jpg?300 | 9/25 adaptor}}
  
 The final headache is the connector gender. The DTE had a male connector and the DCE a female one. It is obvious that the connectors of the interconnecting wire should match the gender of the endpoints. Since we have two DTEs, meaning two male connectors. But we also need to take into consideration the gender of the null modem connectors, as well as a 25-to-9 pin adaptor. ​ The final headache is the connector gender. The DTE had a male connector and the DCE a female one. It is obvious that the connectors of the interconnecting wire should match the gender of the endpoints. Since we have two DTEs, meaning two male connectors. But we also need to take into consideration the gender of the null modem connectors, as well as a 25-to-9 pin adaptor. ​
Line 178: Line 179:
  
 **HL-340 USB-to-serial adaptor** **HL-340 USB-to-serial adaptor**
-{{ :​retro:​floppy-hl340.jpg | HL-340 USB-to-serial adaptor}}+{{ :​retro:​floppy-hl340.jpg?300 | HL-340 USB-to-serial adaptor}}
  
 After inserting the USB-to-serial adaptor to a USB port of my PC, it is recognized as a serial terminal device: After inserting the USB-to-serial adaptor to a USB port of my PC, it is recognized as a serial terminal device:
Line 213: Line 214:
  
 ===== Step 4. File transfer ===== ===== Step 4. File transfer =====
 +
 +**IMPORTANT UPDATE:** On the Linux machine where you intend to transfer your MS-DOS files, I suggest that you create a Linux **Virtual Machine** ​ and do all the work from inside this VM. Although my original intention was to get a couple of text files, I ended up with complete disks with executable .COM and .EXE files. There is a strong concern that **__your disks might be infected by some form of computer virus__**. I do not know if the VM will provide 100% containment of the effects of a rejuvenated virus, but I think that it would be prudent to limit its consequences. In addition, use only terminal mode and avoid moving the files around with window file managers. These file managers interact with the files in order to read their extension and present a snapshot of their content in the graphical interface. **WE DO NOT WANT THAT! YOU HAVE BEEN WARNED. WORK AT YOUR OWN RISK.** ​
  
 On the Linux side, start a terminal and run ''​minicom''​. I had problems with aborted file transfers when I tested 115200bps. By trial and error, the **maximum stable file transfer speed was found to be 38400bps**. On the Linux side, start a terminal and run ''​minicom''​. I had problems with aborted file transfers when I tested 115200bps. By trial and error, the **maximum stable file transfer speed was found to be 38400bps**.
Line 231: Line 234:
  
 **minicom protocol selection** **minicom protocol selection**
-{{ :​retro:​floppy-minicom-protocol.jpg | minicom protocol selection}}+{{ :​retro:​floppy-minicom-protocol.jpg?300 | minicom protocol selection}}
  
 minicom will now wait for the other end to start the transmission. Do not take your time because it might timeout. minicom will now wait for the other end to start the transmission. Do not take your time because it might timeout.
Line 250: Line 253:
  
 **Procomm Plus Transfer Progress** **Procomm Plus Transfer Progress**
-{{ :​retro:​floppy-pcplus-progress.jpg | Procomm Plus Transfer Progress}}+{{ :​retro:​floppy-pcplus-progress.jpg?300 | Procomm Plus Transfer Progress}}
  
 **IMPORTANT NOTE:** On your new PC, start a terminal and enter the folder where you just transfered the files. In the best case scenario, the date of the files is set to **January 1, 1970**. In the bad scenario, the date is set to a //really large number// which causes window file managers to crash. I have not spent time to search why this happens. The easy way out is to delete all files and repeat the transfer. That is why I stressed the need to set up a distinct folder. In my case, most transfers were successful the first or second time.  **IMPORTANT NOTE:** On your new PC, start a terminal and enter the folder where you just transfered the files. In the best case scenario, the date of the files is set to **January 1, 1970**. In the bad scenario, the date is set to a //really large number// which causes window file managers to crash. I have not spent time to search why this happens. The easy way out is to delete all files and repeat the transfer. That is why I stressed the need to set up a distinct folder. In my case, most transfers were successful the first or second time. 
Line 279: Line 282:
 I have presented a process to retrieve data from old 5 1/4" 360K floppy disks into the hard drive of a new Linux PC using a serial transfer mode. Setting things up took most of the time. In contrast, transferring the files of an entire disk takes a few minutes. ​ I have presented a process to retrieve data from old 5 1/4" 360K floppy disks into the hard drive of a new Linux PC using a serial transfer mode. Setting things up took most of the time. In contrast, transferring the files of an entire disk takes a few minutes. ​
  
-I took the opportunity to transfer several of the programs that I used back then, such as **OrCAD** for creating schematics, **SMartwork** for designing PCBs, programming languages such as **Forth**, various cross assemblers and disassemblers. ​+I took the opportunity to transfer several of the programs that I used back then, such as **OrCAD** for creating schematics, **smARTWORK** for designing PCBs, programming languages such as **Forth**, various cross assemblers and disassemblers. ​
  
 Most disks were read successfully. //From 53 disks transferred,​ only 3 files in one disk were not possible to read//, causing the infamous //"​Abort,​ Retry or Ignore"//​ message. And those disks were written 35 years ago and remained untouched for the past 30 years! Most disks were read successfully. //From 53 disks transferred,​ only 3 files in one disk were not possible to read//, causing the infamous //"​Abort,​ Retry or Ignore"//​ message. And those disks were written 35 years ago and remained untouched for the past 30 years!
Line 295: Line 298:
 Good luck!    Good luck!   
  
 +~~DISQUS~~
retro/salvage-content-from-360k-floppy-disks.1579717270.txt.gz · Last modified: 2020/01/22 20:21 by Ilias Iliopoulos