А не следует путать поток команд и поток данных. Данные в этом твоем ноутбуке поди UDMA33/66 бегут, а команды все так же по старинке: PIO. Тем более, винды чаще используют многосекторное чтение, чтобы уменьшить задержки на команды.
Так и говорю: времянка Z80. Если есть вэйт - то с вейтом. Если есть изменение тактовой - то с ней. Если есть джиттер по тактовой (безвейтовые трюки турбы) - то и с ней. Применительно к Nemo это еще и время на разворот шины: автор крохобор, не стал нормально развязывать буфер по ОЕ, а если бы сделал, то DIR бы рулился при Z состоянии, тем самым без емкостной нагрузки шины, что несомненно быстрее, чем под нагрузкой, да и нагреву бы поубавилось.
Последний раз редактировалось HardWareMan; 29.03.2018 в 06:04.
Скрытый текст
Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
ZX Evolution Rev B.
Color 48 + Beta Disk Interface +FDD+YM2149F
Орель-08БК
Pentagon-48 (недоссобранный кем-то)
Pentagon-128 (полуубитый)
Кворум-128 (в ремонте)
Магик-05 (в ремонте)
Robotron 1715
Корвет ПК8020 и ПК8010
Amstrad CPC 464
Amstrad CPC 6128[свернуть]
Profi must live!
Моё железо...
1. Profi 5.06/1Mb(DRAM)+Profi5.06(UP)/HDD/3`5FDD/CF512Mb/SD-CARD
3. Profi 6.2 Rev. B/1Mb/3`5FDD/HDD3.2Gb
4. Profi 5.05(down)/1Mb+Profi 5.03(UP)/Pentagon_Fix
Все укомплектованы:
Profi_ZX-BUS/ZXMC2/NemoIDE/SounDrive[свернуть]
Ссылка на Telegram-канал поддержки пользователей Profi.
А у меня были проблемы на 1533 серии, один из винтов до 1 гига выдавал мусор и подвисал, вылечил заменой 1533 на ... (забыл какую, импорт, также быстра как 1533 но больший ток) и заменой шлейфа на 80 жил. Ноутбучный у меня винт для профи купленный тоже есть и переходник с Али, ещё не тестил на профи.
Скрытый текст
Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
ZX Evolution Rev B.
Color 48 + Beta Disk Interface +FDD+YM2149F
Орель-08БК
Pentagon-48 (недоссобранный кем-то)
Pentagon-128 (полуубитый)
Кворум-128 (в ремонте)
Магик-05 (в ремонте)
Robotron 1715
Корвет ПК8020 и ПК8010
Amstrad CPC 464
Amstrad CPC 6128[свернуть]
Мини отчёт. Заменил логику на быструю (74ACTxxx), попутно ещё больше утолщил шины питания и кинул на общий все входы неиспользуемых ЛЭ (почему-то на плате этого не было сделано).
Поведение винчестеров не изменилось никак, по-прежнему десктопные прекрасно работают, а ноутбучные тупо в Z-состоянии.
Программно, а затем аппаратно подаю сигнал сброса на 1-ый пин IDE, и опрашиваю порт: никакого BSY и в помине не появляется. Совершенно одинаковое поведение с ноутбучным винчестером и с голым кабелем.
В общем, всё по старому. Только теперь мне стало совсем ясно, что винт вообще не воспринимает никакие сигналы с интерфейса, даже не пытается.
Взял обе схемы и начал сравнивать, в чём у них различие сигналов на IDE. Увидел единственное различие, и которое меня вот прям сразу напрягло - пин 28 (сигнал "SPSYNC:CSEL"): на работающей схеме на ВВ55 он висит в воздухе, на НЭМЕ он сидит на земле. Смотрю описание сигнала в доке по ATA: "синхронизация шпинделей или выбор кабеля", при этом сноска: "сигналы между накопителями", т.е. по идее хост туда не должен ничего подавать. Сегодня уже паяльник включать не буду, а завтра попробую отрубить землю с этого сигнала. Если трабла из-за этого, то будет очень смешно.
Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел
Denn, пум пурум пурум пум пум пу , вера 555 не позволяет поставить для проверки
Увы общий формат форума вышел из рамок моего любимого места , более тут не бываю.
Че нашел. Читаните раздел про 400нс.
Спасибо, поизучаю!
А сейчас очередные вести с полей. Освободил 28-ой пин IDE, ничего не изменилось. Склоняюсь к версии про неподходящие времянки, а именно про слишком короткий сигнал /BWR или /CS1.
Нашёл в хозяйстве ещё один ноутбучный "винт" (на этот раз от другой компании - WD):
Он работает вообще без проблем:
- - - Добавлено - - -
Тема с удлинением таймингов не даёт мне покоя. Ещё раз попробовал перевести Орион-ПРО в режим клока МП = 2,5 МГц, ситуация не меняется! Хотя по идее это примерно в 3 раза должны все сигналы удлиниться...
Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел
Вот простой код, который делает буквально следующее:
1) Записывает в системный регистр команду сброса (06h);
2) Записывает в системный регистр команду нормальной работы (02h);
3) Циклически выводит содержимое регистра статуса.
Вот результат для нормального накопителя:
Видно, что какое-то время установлен флаг BSY (старший бит), остальные биты сброшены. После выполнения сброса, накопитель снимает BSY и выставляет флаги DRDY и DSC.
BSY (Занято). Этот бит устанавливается сразу после передачи команды винчестеру и сбрасывается только после того, как он эту команду выполнит. То есть установленный бит сигнализирует о том, что жесткий диск выполняет команду и вас не "слышит".
DRDY (Готовность Накопителя). Этот бит установлен в том случае, если винчестер готов принять команду.
DSC (Установка Дисковода Завершена). Бит указывает, что головки дисковода установлены на дорожку.
Т.е. всё происходит логично и верно.
Вот исполнен тот же код с проблемным накопителем:
Никакой реакции на команды. Биты всех ошибок (DRQ│CORR│IDX│ERR) типа установлены, чего разумеется, быть не может. Ровно тот же результат с голым шлейфом, без накопителей вообще.
Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)