Size: 829
Comment:
|
← Revision 31 as of 2023-07-22 15:01:26 ⇥
Size: 7605
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
= Appunti sull'uso della stracazzo di fluxengine = | = Fluxengine scratchpad = |
Line 7: | Line 7: |
== Hardware connections = | == Resources == * https://ucsd-psystem-fs.sourceforge.net/download.html * https://github.com/archivistsguidetokryoflux/archivists-guide-to-kryoflux/tree/master * https://cowlark.com/fluxengine/ == Notes == {{{ fluxengine read ibm -s lmz-inglese.flux:t=0-76 --overwrite -o prova5.img:c=77:h=2:s=16:b=512 cpmls -f diskformatwemade prova5.img root@rover:/home/asbesto/Desktop/cattolica/importanti1# head -n 10 /etc/cpmtools/diskdefs diskdef diskformatwemade seclen 1024 tracks 77 sectrk 16 blocksize 1024 maxdir 64 skew 1 boottrk 2 os 2.2 end }}} {{{ fluxengine read ibm -s dade01.flux:t=0-76 -o dadeprova.img:c=77:h=2:s=16:b=512 ls strings dell'originale 2 mega: strings dade01.img > dade01.strings strings della prova fatta specificando parametri come sotto: strings dadeprova.img > dadeprova.strings ls -la diff dadeprova.strings dade01.strings | less sono diversi!!! skippiamo la prima traccia: 513 fluxengine read ibm -s dade01.flux:t=1-76 -o dadeprova176.img:c=76:h=2:s=16:b=512 514 fluxengine read ibm -s dade01.flux:t=1-76 -o dade176.img 515 strings dade176.img > dade176.strings 516 strings dadeprova176.img > dadeprova176.strings 518 diff dade176.strings dadeprova176.strings gli strings sono identici! QUINDI unica differenza traccia zero! 519 less dade01.log che infatti e' letta diversamente: 0.0: 497.724 ms in 203840 bytes 154 records, 77 sectors; 2.01us clock (497kHz); logical track 0.0; 3328 bytes decoded. 0.1: 497.694 ms in 189696 bytes 155 records, 77 sectors; 1.00us clock (1000kHz); logical track 0.1; 6656 bytes decoded. 1.0: 497.486 ms in 191872 bytes 96 records, 48 sectors; 1.01us clock (993kHz); logical track 1.0; 8192 bytes decoded. 1.1: 497.39 ms in 191680 bytes 96 records, 48 sectors; 1.00us clock (996kHz); logical track 1.1; 8192 bytes decoded. }}} == Hardware connections == |
Line 10: | Line 82: |
* Non-inverted floppy connection to the drive! Red wire to the dent side. Turn on the FD FIRST, and connect the fluxengine usb cable AFTER. Drive must turn LED on for about 2 seconds, eventually parking the head. |
* Non-inverted floppy connection to the drive! Red wire to the dent side. This is the same for 5"1/4 and 8" disks. === How to turn on === Turn on the FD FIRST, and connect the fluxengine usb cable AFTER. Drive must turn LED on for about 2 seconds, eventually parking the head. |
Line 16: | Line 92: |
./fluxengine rpm must read the rpm speed. WITH A DISK INSIDE | ./fluxengine rpm must read the rpm speed. DO IT WITH A DISK INSIDE |
Line 20: | Line 96: |
* IBM PC 360K: ./fluxengine read ibm -s:t=0-40 -o petacci.img * IBM PC 1.2MB: ./fluxengine read ibm -o petacci.img (to be tested) * Read IBM PC 360K Floppy disk on a 1.2MB DRIVE: ./fluxengine read ibm -s:t=0-79x2 -o petacci12.img |
* IBM PC 360K disk on 360KB drive: ./fluxengine read ibm -s:t=0-40 -o test.img * ???IBM PC 1.2MB on 1.2MB drive: ./fluxengine read ibm -o test.img (to be tested) * IBM PC 360K Floppy disk on a 1.2MB DRIVE: ./fluxengine read ibm -s:t=0-79x2 -o test.img Read data and flux, IBM PC 360KB Disk on 360K drive: * fluxengine read ibm -s:t=0-40 --retries=0 --revolutions=10 --overwrite --write-flux=testdisk.flux * Olivetti M20: using 1.2MB disk drive: fluxengine read ibm --retries=10 --revolutions=10 --write-flux=testdisk.flux == 8 inches == * fluxengine read ibm -s:t=0-76 --retries=1 --revolutions=3 --overwrite --write-flux=prova.flux -o prova.img Sometimes 77 === This is OK === * name="prova"; fluxengine read ibm --retries=1 --revolutions=3 --overwrite --write-flux=$name.flux --visualiser-period=167 --write-svg=$name.svg -o $name.img === svg test === * seq 1 380 | while read i; do fluxengine read ibm -s prova.flux --visualiser-period=$i --write-svg=$i.svg ; done == FINAL Automatic script to dump disks :) == {{{ #!/bin/bash echo usage: leggi name nome=$1 # normale 0.2, --bit-error-threshold=0.4 da provare in caso di errori # :s=0 single side read fluxengine read ibm -s:t=0-77 --retries=100 --revolutions=5 --bit-error-threshold=0.4 --overwrite --write-flux=$nome.flux -o $nome.img 1>$nome.log 2>&1 & #fluxengine read ibm -s:t=0-77 --retries=10 --revolutions=5 --bit-error-threshold=0.4 --overwrite --write-flux=$nome.flux -o $nome.img 1>$nome.log 2>&1 & #fluxengine read ibm -s:t=0-77 --retries=5 --revolutions=5 --bit-error-threshold=0.5 --overwrite --write-flux=$nome.flux -o $nome.img 1>$nome.log 2>&1 & tail -f $nome.log # --revolutions=X: when reading, spin the disk X times. X can be a floating # point number. The default is usually 1.25. Some formats default to 1. # Increasing the number will sample more data, and can be useful on dubious # disks to try and get a better read. # # --pulse-debounce-threshold controls whether FluxEngine ignores pairs of # pulses in rapid succession. This is common on some disks (I've # observed them on Brother word processor disks). # # --clock-interval-bias adds a constant bias to the intervals between pulses # before doing decodes. This is very occasionally necessary to get clean # reads - for example, if the machine which wrote the disk always # writes pulses late. If you try this, use very small numbers (e.g. 0.02). # Negative values are allowed. # # Both these parameters take a fraction of a clock as a parameter, and # you'll probably never need to touch them. }}} == HEAD CLEANER == {{{ #!/bin/bash for i in $(seq 1 20) ; do fluxengine seek -t 77 fluxengine seek -t 0 done }}} == Copy files == {{{ mkdir test cpmcp prove.img 0:* test }}} == UCSD PASCAL SYSTEM NOTES == Utility to read / manage those disk images: https://ucsd-psystem-fs.sourceforge.net/ it compiles under GNU/Linux: configure, make, make install. (install missing libraries if required) === Mount a disk image === ((( ucsdpsys_mount box_05/05.06.img /mnt }}} === Converting files === Example is for a TEXT file Always copy the file on another place, if not, you will edit the disk image {{{ cp SQ.TEXT /tmp cd \tmp ucsdpsys_text -d SQ.TEXT less SQ.TEXT }}} and there it is! ;) == KOWALSKI == == UCSD Utils == === UCSD converting TEXT format to readable === For every directory: {{{ verde@vera:~/fluxengine/kowalski/box_11.files$ cd 11.07 verde@vera:~/fluxengine/kowalski/box_11.files/11.07$ mkdir DOCS && cp *TEXT DOCS && cd DOCS && for a in *TEXT; do ucsdpsys_text -d $a ; done && ls && cd ../.. }}} the command is just {{{ ucsdpsys_text -d FILENAME.TEXT }}} '''BEWARE: the ucsdpsys_text utility OVERWRITE the original file. It can also be used to ENCODE the .TEXT file back in the compressed form.''' === PICTURE CONVERSION === {{{ for a in LIZMIT OTTO PHOTO PIOTR PIOTR2 RESTANY SAKANE ; do convert -depth 8 -size 256x128+0 gray:$a $a.png ; done }}} == New (latest) firmware conversion for syntax, tricks etc. == David Given (dg@cowlark.com) says: Wow, you've been using a really old version of the client! That syntax predates the previous syntax change! Try this: {{{ ./fluxengine read ibm --1200 --cylinders=0-77 --decoder.retries=10 --decoder.bit_error_threshold=0.4 --drive.revolutions=5 --copy-flux-to=output.flux }}} The --1200 specifies which IBM format to use --- see https://cowlark.com/fluxengine/doc/disk-ibm.html It is possible to autodetect this but it works very badly, which was why I changed it. If you have a specific format in mind then the best thing is to produce a custom format describing it; that way FluxEngine can know whether to retry or not, giving more accurate reads. I can help with that; what platform are you reading disks for? ---- CategoryMuseo |
Fluxengine scratchpad
Contents
Resources
Notes
fluxengine read ibm -s lmz-inglese.flux:t=0-76 --overwrite -o prova5.img:c=77:h=2:s=16:b=512 cpmls -f diskformatwemade prova5.img root@rover:/home/asbesto/Desktop/cattolica/importanti1# head -n 10 /etc/cpmtools/diskdefs diskdef diskformatwemade seclen 1024 tracks 77 sectrk 16 blocksize 1024 maxdir 64 skew 1 boottrk 2 os 2.2 end
fluxengine read ibm -s dade01.flux:t=0-76 -o dadeprova.img:c=77:h=2:s=16:b=512 ls strings dell'originale 2 mega: strings dade01.img > dade01.strings strings della prova fatta specificando parametri come sotto: strings dadeprova.img > dadeprova.strings ls -la diff dadeprova.strings dade01.strings | less sono diversi!!! skippiamo la prima traccia: 513 fluxengine read ibm -s dade01.flux:t=1-76 -o dadeprova176.img:c=76:h=2:s=16:b=512 514 fluxengine read ibm -s dade01.flux:t=1-76 -o dade176.img 515 strings dade176.img > dade176.strings 516 strings dadeprova176.img > dadeprova176.strings 518 diff dade176.strings dadeprova176.strings gli strings sono identici! QUINDI unica differenza traccia zero! 519 less dade01.log che infatti e' letta diversamente: 0.0: 497.724 ms in 203840 bytes 154 records, 77 sectors; 2.01us clock (497kHz); logical track 0.0; 3328 bytes decoded. 0.1: 497.694 ms in 189696 bytes 155 records, 77 sectors; 1.00us clock (1000kHz); logical track 0.1; 6656 bytes decoded. 1.0: 497.486 ms in 191872 bytes 96 records, 48 sectors; 1.01us clock (993kHz); logical track 1.0; 8192 bytes decoded. 1.1: 497.39 ms in 191680 bytes 96 records, 48 sectors; 1.00us clock (996kHz); logical track 1.1; 8192 bytes decoded.
Hardware connections
- Flat cable pin 1 to the micro-USB side.
- Non-inverted floppy connection to the drive! Red wire to the dent side. This is the same for 5"1/4 and 8" disks.
How to turn on
Turn on the FD FIRST, and connect the fluxengine usb cable AFTER. Drive must turn LED on for about 2 seconds, eventually parking the head.
If LED is fixed ON, this means some cable are upside down!
./fluxengine rpm must read the rpm speed. DO IT WITH A DISK INSIDE
Test cases
- IBM PC 360K disk on 360KB drive: ./fluxengine read ibm -s:t=0-40 -o test.img
- ???IBM PC 1.2MB on 1.2MB drive: ./fluxengine read ibm -o test.img (to be tested)
- IBM PC 360K Floppy disk on a 1.2MB DRIVE: ./fluxengine read ibm -s:t=0-79x2 -o test.img Read data and flux, IBM PC 360KB Disk on 360K drive:
- fluxengine read ibm -s:t=0-40 --retries=0 --revolutions=10 --overwrite --write-flux=testdisk.flux
- Olivetti M20: using 1.2MB disk drive: fluxengine read ibm --retries=10 --revolutions=10 --write-flux=testdisk.flux
8 inches
- fluxengine read ibm -s:t=0-76 --retries=1 --revolutions=3 --overwrite --write-flux=prova.flux -o prova.img
Sometimes 77
This is OK
- name="prova"; fluxengine read ibm --retries=1 --revolutions=3 --overwrite --write-flux=$name.flux --visualiser-period=167 --write-svg=$name.svg -o $name.img
svg test
- seq 1 380 | while read i; do fluxengine read ibm -s prova.flux --visualiser-period=$i --write-svg=$i.svg ; done
FINAL Automatic script to dump disks :)
echo usage: leggi name nome=$1 # normale 0.2, --bit-error-threshold=0.4 da provare in caso di errori # :s=0 single side read fluxengine read ibm -s:t=0-77 --retries=100 --revolutions=5 --bit-error-threshold=0.4 --overwrite --write-flux=$nome.flux -o $nome.img 1>$nome.log 2>&1 & #fluxengine read ibm -s:t=0-77 --retries=10 --revolutions=5 --bit-error-threshold=0.4 --overwrite --write-flux=$nome.flux -o $nome.img 1>$nome.log 2>&1 & #fluxengine read ibm -s:t=0-77 --retries=5 --revolutions=5 --bit-error-threshold=0.5 --overwrite --write-flux=$nome.flux -o $nome.img 1>$nome.log 2>&1 & tail -f $nome.log # --revolutions=X: when reading, spin the disk X times. X can be a floating # point number. The default is usually 1.25. Some formats default to 1. # Increasing the number will sample more data, and can be useful on dubious # disks to try and get a better read. # # --pulse-debounce-threshold controls whether FluxEngine ignores pairs of # pulses in rapid succession. This is common on some disks (I've # observed them on Brother word processor disks). # # --clock-interval-bias adds a constant bias to the intervals between pulses # before doing decodes. This is very occasionally necessary to get clean # reads - for example, if the machine which wrote the disk always # writes pulses late. If you try this, use very small numbers (e.g. 0.02). # Negative values are allowed. # # Both these parameters take a fraction of a clock as a parameter, and # you'll probably never need to touch them.
HEAD CLEANER
for i in $(seq 1 20) ; do fluxengine seek -t 77 fluxengine seek -t 0 done
Copy files
mkdir test cpmcp prove.img 0:* test
UCSD PASCAL SYSTEM NOTES
Utility to read / manage those disk images: https://ucsd-psystem-fs.sourceforge.net/
it compiles under GNU/Linux: configure, make, make install. (install missing libraries if required)
Mount a disk image
((( ucsdpsys_mount box_05/05.06.img /mnt }}}
Converting files
Example is for a TEXT file
Always copy the file on another place, if not, you will edit the disk image
cp SQ.TEXT /tmp cd \tmp ucsdpsys_text -d SQ.TEXT less SQ.TEXT
and there it is!
KOWALSKI
UCSD Utils
UCSD converting TEXT format to readable
For every directory:
verde@vera:~/fluxengine/kowalski/box_11.files$ cd 11.07 verde@vera:~/fluxengine/kowalski/box_11.files/11.07$ mkdir DOCS && cp *TEXT DOCS && cd DOCS && for a in *TEXT; do ucsdpsys_text -d $a ; done && ls && cd ../..
the command is just
ucsdpsys_text -d FILENAME.TEXT
BEWARE: the ucsdpsys_text utility OVERWRITE the original file. It can also be used to ENCODE the .TEXT file back in the compressed form.
PICTURE CONVERSION
for a in LIZMIT OTTO PHOTO PIOTR PIOTR2 RESTANY SAKANE ; do convert -depth 8 -size 256x128+0 gray:$a $a.png ; done
New (latest) firmware conversion for syntax, tricks etc.
David Given (dg@cowlark.com) says:
Wow, you've been using a really old version of the client! That syntax predates the previous syntax change! Try this:
./fluxengine read ibm --1200 --cylinders=0-77 --decoder.retries=10 --decoder.bit_error_threshold=0.4 --drive.revolutions=5 --copy-flux-to=output.flux
The --1200 specifies which IBM format to use --- see https://cowlark.com/fluxengine/doc/disk-ibm.html
It is possible to autodetect this but it works very badly, which was why I changed it. If you have a specific format in mind then the best thing is to produce a custom format describing it; that way FluxEngine can know whether to retry or not, giving more accurate reads. I can help with that; what platform are you reading disks for?