Difference between revisions of "Greaseweazle"

From NDWiki
Jump to: navigation, search
(Converting from .scp to .img (image) format: more text)
(ND format 0b: testing with updated Disk-Utilities; now it groks ND format 0b too)
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
Greaseweazle<ref>[https://github.com/keirf/Greaseweazle Greaseweazle]</ref> is not an ND product. However, it allows you to connect a floppy drive to a modern computer and use it as a [[ND media reader]] for floppies. It is like the [[FluxEngine]], but with cheaper hardware, and a different set of programs to use it.
 
Greaseweazle<ref>[https://github.com/keirf/Greaseweazle Greaseweazle]</ref> is not an ND product. However, it allows you to connect a floppy drive to a modern computer and use it as a [[ND media reader]] for floppies. It is like the [[FluxEngine]], but with cheaper hardware, and a different set of programs to use it.
 +
 +
Subpages: [[Greaseweazle/testing|testing]],
  
 
== Hardware setup ==
 
== Hardware setup ==
Line 5: Line 7:
 
* the Greaseweazle hardware
 
* the Greaseweazle hardware
 
** a STM32F103C8 "Blue Pill" development board (or alternative - see the Greaseweazle wiki)
 
** a STM32F103C8 "Blue Pill" development board (or alternative - see the Greaseweazle wiki)
** a Blue Pill Adapter (files to order the pcb are aavilable<ref>[https://github.com/keirf/PCB-Projects/tree/master/greaseweazle PCB-Projects - greaseweazle]</ref>)
+
** a Blue Pill Adapter (files to order the pcb are available<ref>[https://github.com/keirf/PCB-Projects/tree/master/greaseweazle PCB-Projects - greaseweazle]</ref>)
 
* a usb to micro-usb cable for connecting the FluxEngine to the computer
 
* a usb to micro-usb cable for connecting the FluxEngine to the computer
 
* a floppy cable, for connecting the FluxEngine to the floppy drive
 
* a floppy cable, for connecting the FluxEngine to the floppy drive
Line 11: Line 13:
 
* a power supply for the floppy drive. Except for 3.5 inch drives, you can't power the drive from the usb port
 
* a power supply for the floppy drive. Except for 3.5 inch drives, you can't power the drive from the usb port
  
You also need a bit of storage space for the images you capture.  
+
You also need a bit of storage space for the images you capture.
  
 
== Software setup ==
 
== Software setup ==
Line 28: Line 30:
 
Actions: read, write, delays, update
 
Actions: read, write, delays, update
 
</pre>
 
</pre>
you can add and action to get more info
+
you can add an action to get more info
 
<pre>
 
<pre>
 
tingo@z30b:~/work/greaseweazle$ ./Greaseweazle-v0.11/gw.py read
 
tingo@z30b:~/work/greaseweazle$ ./Greaseweazle-v0.11/gw.py read
Line 66: Line 68:
 
=== Converting from .scp to .img (image) format ===
 
=== Converting from .scp to .img (image) format ===
 
This is the more complex operation, but it is where you can try many options until you get one that is perfect (assuming that the tools are able to decode the format that the floppies was written with). I'm testing keirf's Disk Utilities for this task.
 
This is the more complex operation, but it is where you can try many options until you get one that is perfect (assuming that the tools are able to decode the format that the floppies was written with). I'm testing keirf's Disk Utilities for this task.
 +
 +
==== ND format 17b ====
 +
Converting the .scp file from a ND format 17b into .img (image) format
 +
<pre>
 +
tingo@z30b:~/work/greaseweazle$ LD_LIBRARY_PATH=Disk-Utilities/libdisk/ ./Disk-Utilities/disk-analyse/disk-analyse --config=./Disk-Utilities/disk-analyse/formats --format=ibm --end-cyl=76 525_nd_f17b_211024-c01-xx-01d.scp 525_nd_f17b_211024-c01-xx-01d_2.img
 +
*** T0.0: Unexpected track length (seen 166573, expected 200300)
 +
*** T0.1: Unexpected track length (seen 166559, expected 200300)
 +
*** T1.0: Unexpected track length (seen 166569, expected 200300)
 +
*** T1.1: Unexpected track length (seen 166566, expected 200300)
 +
[..]
 +
T0.0-76.1: IBM-MFM HD (8 1024-byte sectors, 8192 bytes)
 +
</pre>
 +
It will report a lot of "unexpected track length" warnings - simply ignore those. The important part is the last line - it tells you if the program was able understand the data, and what format it thinks this is. Now you can use other tools (like ndfs) on the .img file.
 +
 +
==== ND format 0b ====
 +
To convert a .scp file from a ND format 0b floppy to .img you would use
 +
<pre>
 +
tingo@z30b:~/work/greaseweazle$ LD_LIBRARY_PATH=Disk-Utilities/libdisk/ ./Disk-Utilities/disk-analyse/disk-analyse --config=./Disk-Utilities/disk-analyse/formats --format=ibm --ss --end-cyl=76 525_nd_f0b_nd-10005u.scp 525_nd_f0b_nd-10005u.img
 +
*** T0.0: Unexpected track length (seen 83287, expected 100150)
 +
*** T1.0: Unexpected track length (seen 83297, expected 100150)
 +
*** T2.0: Unexpected track length (seen 83287, expected 100150)
 +
*** T3.0: Unexpected track length (seen 83298, expected 100150)
 +
[..]
 +
*** T76.0: Unexpected track length (seen 83283, expected 100150)
 +
T0.0-76.0: IBM-FM DD (8 512-byte sectors, 4096 bytes)
 +
</pre>
 +
As usual, lots of "unexpected track length" warnings, they can be ignored. The last line says that the program understands the format.
 +
Now ndfs is happy with the resulting image file
 +
<pre>
 +
tingo@z30b:~/work/greaseweazle$ ~/bin/ndfs -t 525_nd_f0b_nd-10005u.img
 +
Directory name            : ND-10005U
 +
Directory size            : 154 pages
 +
Object file index pointer : 150 SI: 0x1 (indexed)
 +
User file index pointer  : 152 SI: 0x1 (indexed)
 +
Bit file pointer          : 77 SI: 0x0 (contiguous)
 +
No. of unreserved pages  : 1
 +
Files:
 +
  0  0: I      11 pages    21864 bytes 1984-01-09 13:26:39 (FLOPPY-USER)NRL-1935J:BPUN
 +
  0  1: I        2 pages      3852 bytes 1982-03-17 11:07:51 (FLOPPY-USER)GPM-2365B:BPUN
 +
  0  2: I        2 pages      4067 bytes 1982-03-17 11:09:37 (FLOPPY-USER)GPM-LIBR-2366B:SYMB
 +
  0  3: I      25 pages    49569 bytes 1983-12-19 13:47:07 (FLOPPY-USER)PERFORM-2412F:BPUN
 +
  0  4: I        2 pages      3497 bytes 1984-01-09 13:30:26 (FLOPPY-USER)PERFORM-LIBRARY:MCRO
 +
  0  5: I        9 pages    16748 bytes 1983-12-30 10:21:59 (FLOPPY-USER)BRF-EDITOR-1858F:BPUN
 +
  0  6: I      19 pages    38394 bytes 1978-12-21 13:54:33 (FLOPPY-USER)F32-EXTR-2232B:BPUN
 +
  0  7: I      41 pages    82337 bytes 1984-01-09 13:30:36 (FLOPPY-USER)LOOK-FILE-2244E:BPUN
 +
Directory size: 149 pages
 +
Bit file size : 1 page
 +
</pre>
 +
Earlier versions of Disk-Utilties had problems with format 0b, but now it appears to work.
  
 
== References ==
 
== References ==

Latest revision as of 15:12, 5 February 2021

Greaseweazle[1] is not an ND product. However, it allows you to connect a floppy drive to a modern computer and use it as a ND media reader for floppies. It is like the FluxEngine, but with cheaper hardware, and a different set of programs to use it.

Subpages: testing,

Hardware setup

You will need a computer with a usb port. You will also need:

  • the Greaseweazle hardware
    • a STM32F103C8 "Blue Pill" development board (or alternative - see the Greaseweazle wiki)
    • a Blue Pill Adapter (files to order the pcb are available[2])
  • a usb to micro-usb cable for connecting the FluxEngine to the computer
  • a floppy cable, for connecting the FluxEngine to the floppy drive
  • a floppy drive capable of reading the floppies you want to read
  • a power supply for the floppy drive. Except for 3.5 inch drives, you can't power the drive from the usb port

You also need a bit of storage space for the images you capture.

Software setup

The Greaseweazle comes with the firmware, and the program to read data from the floppy drive. This program (gw.py - yes, it is written in Python) does only one thing: it reads data from the floppy drive, and stores it in a file, in .scp (SuperCard Pro) Flux image format[3]. You will need a program to convert the .scp files into something you can use, like a direct "image" format.

I have (briefly) tested keirf's Disk Utilities[4], and it appears to work, at least for ND format 17b floppies

Usage

Using the Greaseweazle consists of two steps: capture data from a floppy to a file (.scp file), and the converting this file into a more usable format.

Reading data

This is a simple operation. If you just type the command with no parameters, you get a help text

tingo@z30b:~/work/greaseweazle$ ./Greaseweazle-v0.11/gw.py 
Usage: ./Greaseweazle-v0.11/gw.py [action] ...
Actions: read, write, delays, update

you can add an action to get more info

tingo@z30b:~/work/greaseweazle$ ./Greaseweazle-v0.11/gw.py read
usage: gw.py read [-h] [--drive DRIVE] [--revs REVS] [--scyl SCYL]
                  [--ecyl ECYL] [--single-sided]
                  file [device]
gw.py read: error: the following arguments are required: file
tingo@z30b:~/work/greaseweazle$ ./Greaseweazle-v0.11/gw.py write
usage: gw.py write [-h] [--drive DRIVE] [--scyl SCYL] [--ecyl ECYL]
                   [--single-sided] [--adjust-speed]
                   file [device]
gw.py write: error: the following arguments are required: file
tingo@z30b:~/work/greaseweazle$ ./Greaseweazle-v0.11/gw.py delays
** Greaseweazle v0.11 [F1], Host Tools v0.11
Select Delay: 10us
Step Delay: 3000us
Settle Time: 15ms
Motor Delay: 750ms
Auto Off: 10000ms

To read a ND format 17b floppy, you would use

tingo@z30b:~/work/greaseweazle$ ./Greaseweazle-v0.11/gw.py read --ecyl 76 525_nd_f17b_211024-c01-xx-01d.scp
** Greaseweazle v0.11 [F1], Host Tools v0.11
Reading Track 76.1...

77 tracks means track 0 - 76.

For a ND format 0b floppy you would use

tingo@z30b:~/work/greaseweazle$ ./Greaseweazle-v0.11/gw.py read --ecyl 76 --single-sided 525_nd_f0b_nd-10005u_2.scp
** Greaseweazle v0.11 [F1], Host Tools v0.11
Reading Track 76.0...

This format also have 77 tracks, but is single-sided.

Converting from .scp to .img (image) format

This is the more complex operation, but it is where you can try many options until you get one that is perfect (assuming that the tools are able to decode the format that the floppies was written with). I'm testing keirf's Disk Utilities for this task.

ND format 17b

Converting the .scp file from a ND format 17b into .img (image) format

tingo@z30b:~/work/greaseweazle$ LD_LIBRARY_PATH=Disk-Utilities/libdisk/ ./Disk-Utilities/disk-analyse/disk-analyse --config=./Disk-Utilities/disk-analyse/formats --format=ibm --end-cyl=76 525_nd_f17b_211024-c01-xx-01d.scp 525_nd_f17b_211024-c01-xx-01d_2.img
*** T0.0: Unexpected track length (seen 166573, expected 200300)
*** T0.1: Unexpected track length (seen 166559, expected 200300)
*** T1.0: Unexpected track length (seen 166569, expected 200300)
*** T1.1: Unexpected track length (seen 166566, expected 200300)
[..]
T0.0-76.1: IBM-MFM HD (8 1024-byte sectors, 8192 bytes)

It will report a lot of "unexpected track length" warnings - simply ignore those. The important part is the last line - it tells you if the program was able understand the data, and what format it thinks this is. Now you can use other tools (like ndfs) on the .img file.

ND format 0b

To convert a .scp file from a ND format 0b floppy to .img you would use

tingo@z30b:~/work/greaseweazle$ LD_LIBRARY_PATH=Disk-Utilities/libdisk/ ./Disk-Utilities/disk-analyse/disk-analyse --config=./Disk-Utilities/disk-analyse/formats --format=ibm --ss --end-cyl=76 525_nd_f0b_nd-10005u.scp 525_nd_f0b_nd-10005u.img
*** T0.0: Unexpected track length (seen 83287, expected 100150)
*** T1.0: Unexpected track length (seen 83297, expected 100150)
*** T2.0: Unexpected track length (seen 83287, expected 100150)
*** T3.0: Unexpected track length (seen 83298, expected 100150)
[..]
*** T76.0: Unexpected track length (seen 83283, expected 100150)
T0.0-76.0: IBM-FM DD (8 512-byte sectors, 4096 bytes)

As usual, lots of "unexpected track length" warnings, they can be ignored. The last line says that the program understands the format. Now ndfs is happy with the resulting image file

tingo@z30b:~/work/greaseweazle$ ~/bin/ndfs -t 525_nd_f0b_nd-10005u.img
Directory name            : ND-10005U
Directory size            : 154 pages
Object file index pointer : 150 SI: 0x1 (indexed)
User file index pointer   : 152 SI: 0x1 (indexed)
Bit file pointer          : 77 SI: 0x0 (contiguous)
No. of unreserved pages   : 1
Files:
  0   0: I       11 pages     21864 bytes 1984-01-09 13:26:39 (FLOPPY-USER)NRL-1935J:BPUN
  0   1: I        2 pages      3852 bytes 1982-03-17 11:07:51 (FLOPPY-USER)GPM-2365B:BPUN
  0   2: I        2 pages      4067 bytes 1982-03-17 11:09:37 (FLOPPY-USER)GPM-LIBR-2366B:SYMB
  0   3: I       25 pages     49569 bytes 1983-12-19 13:47:07 (FLOPPY-USER)PERFORM-2412F:BPUN
  0   4: I        2 pages      3497 bytes 1984-01-09 13:30:26 (FLOPPY-USER)PERFORM-LIBRARY:MCRO
  0   5: I        9 pages     16748 bytes 1983-12-30 10:21:59 (FLOPPY-USER)BRF-EDITOR-1858F:BPUN
  0   6: I       19 pages     38394 bytes 1978-12-21 13:54:33 (FLOPPY-USER)F32-EXTR-2232B:BPUN
  0   7: I       41 pages     82337 bytes 1984-01-09 13:30:36 (FLOPPY-USER)LOOK-FILE-2244E:BPUN
Directory size: 149 pages
Bit file size : 1 page

Earlier versions of Disk-Utilties had problems with format 0b, but now it appears to work.

References

  1. Greaseweazle
  2. PCB-Projects - greaseweazle
  3. SuperCard Pro Flux Image format (.scp)
  4. Disk Utilities