Differences between revisions 11 and 16 (spanning 5 versions)
Revision 11 as of 2021-02-18 20:08:18
Size: 1570
Editor: asbesto
Comment:
Revision 16 as of 2021-02-21 17:18:13
Size: 5031
Editor: asbesto
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:

{{{
fluxengine read ibm -s lmz-inglese.flux:t=0-76 --overwrite -o prova5.img:c=77:h=2:s=16:b=512
cpmls -f petacci prova5.img

root@rover:/home/asbesto/Desktop/cattolica/importanti1# head -n 10 /etc/cpmtools/diskdefs
diskdef petacci
  seclen 1024
  tracks 77
  sectrk 16
  blocksize 1024
  maxdir 64
  skew 1
  boottrk 2
  os 2.2
end

}}}

{{{
 507 fluxengine read ibm -s dade01.flux:t=0-76 -o dadeprova.img:c=77:h=2:s=16:b=512
  508 ls

strings dell'originale 2 mega:
  509 strings dade01.img > dade01.strings

strings della prova fatta specificando parametri come sotto:
  510 strings dadeprova.img > dadeprova.strings
  511 ls -la
  512 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.


}}}
Line 39: Line 101:

{{{
#!/bin/bash
echo usage: leggi name
nome=$1

# normale 0.2, --bit-error-threshold=0.4 da provare in caso di errori anali
# :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.


}}}


{{{

#!/bin/bash
for i in $(seq 1 20) ; do

fluxengine seek -t 77
fluxengine seek -t 0

done

}}}

Fluxengine scratchpad

fluxengine read ibm  -s lmz-inglese.flux:t=0-76 --overwrite -o prova5.img:c=77:h=2:s=16:b=512
cpmls -f petacci  prova5.img

root@rover:/home/asbesto/Desktop/cattolica/importanti1# head -n 10 /etc/cpmtools/diskdefs
diskdef petacci
  seclen 1024
  tracks 77
  sectrk 16
  blocksize 1024
  maxdir 64
  skew 1
  boottrk 2
  os 2.2
end

 507  fluxengine read ibm -s dade01.flux:t=0-76 -o dadeprova.img:c=77:h=2:s=16:b=512
  508  ls

strings dell'originale 2 mega:
  509  strings dade01.img > dade01.strings

strings della prova fatta specificando parametri come sotto:
  510  strings dadeprova.img > dadeprova.strings
  511  ls -la
  512  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.

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. WITH A DISK INSIDE

Test cases

  • IBM PC 360K disk on 360KB drive: ./fluxengine read ibm -s:t=0-40 -o petacci.img
  • ???IBM PC 1.2MB on 1.2MB drive: ./fluxengine read ibm -o petacci.img (to be tested)
  • IBM PC 360K Floppy disk on a 1.2MB DRIVE: ./fluxengine read ibm -s:t=0-79x2 -o petacci12.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
  • M20: con drive da 1.2MB: 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

77?

  • nome="prova"; fluxengine read ibm --retries=1 --revolutions=3 --overwrite --write-flux=^Come.flux --visualiser-period=167 --write-svg=$nome.svg -o $nome.img

svg test:

  • seq 1 380 | while read i; do fluxengine read ibm -s prova.flux --visualiser-period=$i --write-svg=$i.svg ; done

echo usage: leggi name
nome=$1

# normale 0.2, --bit-error-threshold=0.4 da provare in caso di errori anali
# :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.

for i in $(seq 1 20) ; do

fluxengine seek -t 77
fluxengine seek -t 0

done

FluxengineAppunti (last edited 2023-07-22 15:01:26 by asbesto)