
Сообщение от
Grand
Я все-таки думаю, что проблема именно в дисководе: может быть он не успевает получить команду спозиционироваться? На МС5305 проявляется чаще, на МС5350 - реже. От типа компьютера не зависит.
А если вернуть как было в версии 0.1? Там-то всё в порядке...
В этом посте я прикреплю версию 0.3, она точно такая же как 0.2, с той лишь разницей, что удалена процедура останова дисковода. Потестите её, будут ли такие же глюки. Если нет - значит причина в выключении дисковода, и тогда надо будет думать как это сделать без глюков.
Для выключения дисковода используется такая процедура:
Код:
LD A,#D8
LD DE,#2FC3 ;OUT (1F),A:RET
CALL DOS
CALL WAIT
LD A,%01100000
LD DE,#2FC3 ;OUT (1F),A:RET
CALL DOS
LD B,0
DJNZ $
LD A,#D8
CALL DOS
WAIT LD DE,#3FCA ;IN A,(FF): AND C0: JR Z,3FCA: RET M: OUTI: JR 3FCA
DOS PUSH DE
JP #3D2F
Как она работает - понятия не имею.
Я её еще в 1997 написал, и почему она такая я не помню. Тогда она у меня работала без глюков.

Сообщение от
Grand
Вчера обратил внимание, что TFC не проверяет при чтении каталога TR-DOS-ли диск вставлен. Забавный получается результат, если вставить MS-DOS-диск 720K. Это конечно мелочь: я всего лишь тестировал TFC и подсовывал ему всё, что под руку попадалось,

но пользователь может вставить диск не той системы по ошибке. TR-DOS, например, проверяет свои диски по значению #10 в байте +231 системного сектора (правда, там это работает, если сектор вставленного диска длиной меньше, либо равен 256 байтов). И еще: TR-DOS проверяет тип своего диска по байту +227 системного сектора: если бит 0 равен 0 - то 80 дорожек, если бит 3 равен 0 - то две стороны.
Вот этого не предполагал. Но тут возникает вопрос: что делать, когда, например, есть каталог, но поврежден 9-й сектор? TR-DOS в таких случаях пишет "Disk error" и отказывается показывать существующий на диске каталог. Меня раньше это сильно парило, и приходилось смотреть этот каталог доктором. Поэтому никаких проверок там нет, и я думаю делать их не нужно. Просто считается что диск всегда TR-DOS. Это позволяет смотреть даже поврежденные TR-DOS диски, а не отказываться от этого сходу из-за потери одного байта.
А что там за эффект появляется? Какой-то мусор вместо списка файлов?