ZXNet эхоконференция «zxnet.pc»


тема: чтение zx-дисков в писюке



от: Kirill Frolov
кому: All
дата: 24 Mar 2002
Hемедленно нажми на RESET, All!

Hе читались в пц никакие спектрумовские диски отформатированные командой
FORMAT в тр-дос.
Разобрал дисковод и передвинул датчик индексного отверстия ближе к морде
дисковода -- теперь
успешно читаются все диски которые читаются и на спектруме.
Получилось пофиксить таким образом 2 дисковода: TEAC-fd55a и
электроника-MC5311. Датчик (фотодиод) находится сверху, у TEAC на той плате где
и светодиод индикации обращения (плата
крепится винтами и может перемещаться вдоль оси перемещения головок), на 5311
это отдельный
элемент крепящийся винтом (тоже допускается перемещение). Перемещать фотодиод
нужно до
того как диски не начнут читаться + ещё немного, а не до упора, когда
индексный импульс
пропадает вообще.
Остаётся вопрос: можно-ли настроенные таким образом дисководы устанавливать
в спектрум?
Стал ли индексный импульс короче, или же он сместился по времени? В первом
случае всё ок,
а во втором случае диски записанные на таком дисковода установленном в
спектрум прочитать на пц
будет непростой задачей. Было бы неплохо, если бы кто-нибудь этот вопрос
разрешил путём
вышеописанной настройки и последующей проверкой форматом на спеке и чтением на
пц. Мне этого
не сделать -- спек не работает (доапгрейдился... кулибинство маздай... Hемо
был прав...)

Для 3.5 дисководов настраивать нечего (а может и есть, просто я не знаю?)

Проверять чтение дисков в 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 for ((head=0; head echo ----------------- track: $cyl head: $head -------------------
echo -e "sect: size: cyl: head: st0: st1: st2:"
((dsel=$head<<2))
fdrawcmd seek $dsel $cyl 2> /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 ===




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
XOR'em ALL - Ксорка с командой LDIR , Обратные ксорки.
Others - Russian Rulez: ЭЛЬБРУС - описание нового процессора разработанного русскими инженерами.
Металлургия - Как расширить память компьютера "БАЛТИКА" до 512 Кб.
Demo - Керналь демы.
Список рекордсменов - Список всех людей на которых наехал нахальный Борода.

В этот день...   19 апреля