Последний раз редактировалось Egal; 06.11.2007 в 21:09. Причина: Добавлено сообщение
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Все еще имею проблему с Пентагоном-1024. С 5-дюймовым дисководом все работает. 3.5" - говорит No Disc, выборка есть, светодиод горит, мотор крутится. Запускается, быстренько выдает No Disc и останавливается.
Прошивка последняя от DDp.
Дисковод исправен, на своей машине проверял.
Может кто подвезет 5.25" диск с тестовыми программами? Вчера мой Пентагон-128 сгорел и диск записать не на чем.А ремонтировать его я еще долго буду...
Последний раз редактировалось Egal; 22.11.2007 в 21:11. Причина: Добавлено сообщение
Вчера проанализировал все и вся и вот в чем корень зла: TR-DOS в турбо-режиме. Есть два способа исправления: либо DDp вернет отключение турбы либо поправить код TR-DOS, увеличив таймауты.
Ниже копия сообщения, отправленного на форум dlcorp (похоже из нормальных людей его никто не читает):
Вчера поэкспериментировал... Да, это именно эта проблема. Турба в TR-DOS.
Кстати с официальной прошивкой от KOE грабл тоже есть, но диск распознается после 3-4 попыток. После этого все нормально. А вот видеосигнал там действительно поганый - моя карточка AVerTVStudio теряет кадровую синхру при белом фоне. С DDp-шной прошивкой такого нет.
Я догадываюсь что грабл лежит здесь:
--- cut ---
Адрес 15789. Проверка наличия диска в дисководе. Никаких устано-
вок не требуется.
15789 LD A,8 ;команда восстановления
CALL 15770 ;выдача команды и ожидание INTRQ
LD DE,0 ;за 65536 проходов индексный сигнал должен измениться
IN A,(31) ;берем индексный сигнал для образца
AND 2
LD B,A ;запоминаем его
15802 IN A,(31) ;берем его снова
AND 2
CP B ;он изменился ?
RET NZ ;если да, то возврат
INC DE ;следующая попытка
LD A,E ;попытки кончились
OR D
JR NZ,15802;если нет, то повтор
JP 16103 ;обработка ошибки NO DISC
--- cut ---
При включенной турбе таймаут пролетает слишком быстро. Видимо у 3.5" приводов скорость вращения меньше. А вот судя по дальнейшему поведению (после инициализации привода) функция чтения данных в TR-DOS v6 изменена. В оригинале (v5.04T) :
--- cut ---
Адрес 16314. Запись данных на диск. Установите в HL адрес блока
данных, в DE - число, определяющее количество циклов, за которое
должна начаться запись, в C - адрес регистра данных контроллера
и отдайте команду записи. Используется также с адреса 16330 (то
же, что и 16314, но без обработки NO DISC).
16314 LD B,4 ;установка количества попыток
16316 IN A,(255) ;поступил какой-нибудь сигнал ?
AND 192
JR NZ,16337;если да, то начинаем запись
INC DE ;следующая попытка
LD A,E
OR D
JR NZ,16316
DJNZ 16316
RET ;если попытки кончились, то возврат
16330 IN A,(255) ;поступил какой-нибудь сигнал ?
AND 192
JR Z,16330 ;если нет, то ожидание его
RET M ;если поступил INTRQ, то возврат
16337 OUTI ;вывод байта из вашей области в регистр данных
JR 16330 ;повтор
--- cut ---
Я не смотрел v6, но такое впечатление что начальный таймаут убран. После первого обращения к дисководу если из него вытащить диск, то он будет сколь угодно долго крутиться, пока диск не вставят. No Disc не выдается.
AlCo, ваши комментарии по вопросу? Я могу поучаствовать в исправлении прошивки, но не сейчас (времени нет ваще плюс еще свой Пент-128 чинить буду).
Вернул http://realddp.narod.ru/zx/p1024sl2/...c_SlowTRDOS.7z
Теперь ещё можно соорудить кнопочку TurboOFF
У меня никаких глюков в турбе не наблюдается с 3.5 дисковод Самсунг![]()
Мой зоопарк: Амига 600 2mb chip/8mb fast ram; MacMini/MorphOs.
Гуд, сегодня проверим.
Вообще насколько я понял на всех клонах при активизации ПЗУ TR-DOS турбо отключается.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)