reading zx disks in pisyuk
ZXNet echo conference «zxnet.pc»
From Kirill Frolov → To All 24 March 2002
Press RESET immediately, All!
No Spectrum disks formatted by the command were read in PC
FORMAT in tr-dos.
I disassembled the drive and moved the index hole sensor closer to the muzzle
floppy drive - now
All discs that can be read on the Spectrum are successfully read.
It was possible to fix 2 drives in this way: TEAC-fd55a and
electronics-MC5311. The sensor (photodiode) is located on top, at TEAC on the board where
and access indication LED (board
fastened with screws and can be moved along the axis of movement of the heads), on 5311
this is separate
element fastened with a screw (movement is also allowed). Move the photodiode
need until
before the discs begin to be read + a little more, and not all the way, when
index pulse
disappears altogether.
The question remains: is it possible to install drives configured in this way?
to Spectrum?
Has the index impulse become shorter, or has it shifted in time? In the first
in case everything is ok,
and in the second case, discs recorded on such a drive installed in
Spectrum read on PC
will not be an easy task. It would be nice if someone asked this question
resolved by
the above-described settings and subsequent verification of the format on the spec and reading on
pc. I want this
do not do it - the spec does not work (upgraded... Mazda Kulibinsk... Nemo
was right...)
There is nothing to configure for 3.5 drives (or maybe there is, I just don’t know?)Проверять чтение дисков в linux можно таким скриптом (при наличии fdutils):
=== Cut ===
#!/bin/bash
# 80 too slow
tracks=16
drive=0
sides=2
sectors=16
tries=2
fdrawcmd recalibrate 0 2> /dev/null
for ((cyl=0; cyl /dev/null
a=($(fdrawcmd rate=2 repeat=$(($sectors*$tries)) readid $dsel 2>&1))
p=(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
total=0
for ((n=0; n<${#a[*]}-1; n++)); do
case ${a[n]} in
0:) st0=${a[((n=$n+1))]};;
1:) st1=${a[((n=$n+1))]};;
2:) st2=${a[((n=$n+1))]};;
3:) c=${a[((n=$n+1))]};;
4:) h=${a[((n=$n+1))]};;
5:) s=${a[((n=$n+1))]} ;;
6:) sz=${a[((n=$n+1))]}
case $sz in
0) sz=128 ;;
1) sz=256 ;;
2) sz=512 ;;
3) sz=1024 ;;
esac
if [ ${p[0x$s]} == 0 ]; then
echo -e "$s $sz $c $h $st0 $st1 $st2"
p[0x$s]=1 ((total++ ))
fi ;;
esac
done
echo total: $total sectors on track $cyl side $head
done
done
fdrawcmd recalibrate 0 2> /dev/null
=== Cut ===