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 ===