User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 68

Тема: Ноутбучный винт не дружит с NEMO_IDE.. WTF?

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,234
    Спасибо Благодарностей отдано 
    490
    Спасибо Благодарностей получено 
    989
    Поблагодарили
    641 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    HardWareMan, конкретно с ноутбучным "винтом" не работает следующий участок:

    1) Записываю команду идентификации накопителя (значение 0ECh) в порт 5Fh;
    2) Читаю значение порта статуса (этот же адрес 5Fh).

    "Винт" в знак принятия команды должен выставить старший бит (BSY). На практике же из порта 5Fh читается значение 59h и ничего не происходит. То же самое значение читается, если винчестер вообще не подключать.

    - - - Добавлено - - -

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    А получше нет качеством? Раскурить - это всегда пожалуйста, если мануалы годные.
    Есть такой вариант - http://denn.ru/8bit/orion/pro/ide-rtc.jpg

    Но лично я эти иноземные каракули не понимаю, мне роднее наше начертание ЛЭ.

    - - - Добавлено - - -

    Вот код, если это как-то поможет:

    Код:
    ; выдаём команду
    MVI A,0ECh
    OUT 5Fh
    
    WAIT_BSY:
    ; ждём принятие (D7=1)
    IN 5Fh
    RLC
    JNC WAIT_BSY
    
    ; проверяем наличие ошибок (D0=1 ?)
    IN 5Fh
    RRC
    JC ERROR
    ...
    Последний раз редактировалось Denn; 28.03.2018 в 13:52.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    HardWareMan
    Гость

    По умолчанию

    ИД7 выбирает порты:
    A[7:4] = 0x5, т.е. порты под контроллер 0x50-0x5F
    IORQ говорит, что обращение через IN/OUT, а BLIO - Block I/O?

    Половинка ИД4 разделяет на запись и чтение, по 8 ячеек (по А[3]):
    A[3] = 0 (0x50-0x57) происходит обращение к nCS3x
    A[3] = 1 (0x58-0x5F) происходит обращение к nCS1x
    nCS1x это основной набор регистров, nCS3x это регистр расширенного статуса. Сигналы формируются через ЛИ1, когда на одном из входов будет 0 - сформируется сигнал CSH сформируется при записи в 0x58-0x5F, что соответствует записи в основной набор регистров. Он выставит старший байт, который записан предварительно в ИР23. Обращение к регистру старшего байта происходит по адресу 0x57. Одновременно с этим будет активирован nCS3x, но у HDD там регистр только на 0x6 адресе, поэтому конфликта не будет. Вообще, 0x3F0-0x3F7 это FDC, а HDD туда "вклинился" в дырку. Буфер младшего байта выбран всегда, рулёжка происходит только направлением. Поэтому, его надо всегда держать на выводе, переводя на ввод только при чтении из IDE. Сигналы A[2:0] и стробы записи/чтения выведены напрямую через буфер, поэтому все тайминги будут зависеть от цикла CPU.

    Итог:
    0x50..0x55 - не используются
    0x56 - регистр расширенного статуса IDE
    0x57 - регистр старшего байта данных IDE
    0x58-0x5F - регистры IDE.
    При работе с регистрами управления и статуса IDE регистр старшего байта можно игнорировать.
    При работе с регистром данных требуется соблюдения последовательности.
    При чтении: читаем из IDE (0x58) младший байт данных, читаем из регистра (0x57) старший байт данных.
    При записи: пишем старший байт данных в регистр (0x57), пишем младший байт данных в IDE (0x58).
    Цитата Сообщение от Denn Посмотреть сообщение
    HardWareMan, конкретно с ноутбучным "винтом" не работает следующий участок:

    1) Записываю команду идентификации накопителя (значение 0ECh) в порт 5Fh;
    2) Читаю значение порта статуса (этот же адрес 5Fh).

    "Винт" в знак принятия команды должен выставить старший бит (BSY). На практике же из порта 5Fh читается значение 59h и ничего не происходит. То же самое значение читается, если винчестер вообще не подключать.
    Тут не понятно. Нужно посканить проход команды в диск по факту (nCS1x, BA[2:0], BWR). А еще мне не очень нравится, как сделан там сброс.
    Последний раз редактировалось HardWareMan; 28.03.2018 в 14:11.

  4. #3

    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,234
    Спасибо Благодарностей отдано 
    490
    Спасибо Благодарностей получено 
    989
    Поблагодарили
    641 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    HardWareMan, спасибо! Вроде всё верно и даже красиво.. но почему эта падла не видит ноутовский винт?

    При банальной записи команды (это одно действие!), ноутовский хдд не активируется. Вероятно ему не нравятся тайминги /CS1 и /BWR, либо на момент их прихода на выходе буфера данных не то, что нужно. К сожалению, не располагаю измерительной аппаратурой, позволяющей рассмотреть сигналы и их соотношение онлайн.

    Может слишком коротко моргает /BWR ? Или /CS1 формируется чуть позже /BWR и контроллеру внутри хдд это не нравится?

    Или данные не успевают нарисоваться на выходе буфера? Но с другой стороны, на некорретную команду всё равно диск должен отвечать (ошибкой).

    - - - Добавлено - - -

    Ещё момент. Я пробовал понижать клок МП в 4 раза (10 МГц -> 2,5 МГц), ситуация никак не меняется. Времянки сигналов удлиняются, но соотношение сигналов разумеется нет.

    - - - Добавлено - - -

    HardWareMan, я правильно понимаю, что сигнал /WR приходит от МП после того, как 100%-но сформированы ША, ШД и /IORQ? Т.е. в нашем случае уже стоит /CS1 (получается из ША и "йорика") и готов код команды на выходе АП6.

    Получается, что задержка формирования /CS1 = ИД7+ИД4+ЛИ1, а задержка /BWR = ИР22.
    А вот задержка данных на выходе буфера = ИР22+ИД7+ИД4+ЛЛ1+АП6 !!!
    Последний раз редактировалось Denn; 28.03.2018 в 15:55.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  5. #4
    HardWareMan
    Гость

    По умолчанию

    Цитата Сообщение от Denn Посмотреть сообщение
    HardWareMan, я правильно понимаю, что сигнал /WR приходит от МП после того, как 100%-но сформированы ША, ШД и /IORQ? Т.е. в нашем случае уже стоит /CS1 (получается из ША и "йорика") и готов код команды на выходе АП6.

    Получается, что задержка формирования /CS1 = ИД7+ИД4+ЛИ1, а задержка /BWR = ИР22.
    А вот задержка данных на выходе буфера = ИР22+ИД7+ИД4+ЛЛ1+АП6 !!!
    В отличии от твоего проверочного ногодрыгного варианта через ВВ55, этот Nemo IDE завязан на времянки CPU, в данном случае это Z80. IORD тут получается растянутым (адреса и CSхх могут запаздывать из-за указанных тобой задержек), а IOWR наоборот короткий (при этом остальные сигналы устанавливаются за 2 такта до активации WR). Могу посоветовать установить ИДшки и логику пошустрее, оставив медленномощные только буфера и регистры. Ну или на CPLD сделай весь замес. Это я к тому, чтобы проверить схему в принципе, а не конкретную реализацию на плате. Т.е., "собрать" другую макетку и попробовать с тем же софтом на том же компе.

  6. #5

    Регистрация
    14.05.2015
    Адрес
    г. Харьков, Украина
    Сообщений
    2,940
    Спасибо Благодарностей отдано 
    150
    Спасибо Благодарностей получено 
    302
    Поблагодарили
    171 сообщений
    Mentioned
    4 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    этот Nemo IDE завязан на времянки CPU, в данном случае это Z80
    как сказать , 3.5 работает и 7работает (как с вэйтом так и без)
    Последний раз редактировалось JV-Soft; 29.03.2018 в 01:18.
    Увы общий формат форума вышел из рамок моего любимого места , более тут не бываю.

  7. #6

    Регистрация
    16.12.2009
    Адрес
    Харьков
    Сообщений
    4,735
    Спасибо Благодарностей отдано 
    365
    Спасибо Благодарностей получено 
    378
    Поблагодарили
    241 сообщений
    Mentioned
    11 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Denn, какая у Вас длительность IORQ? Как организовано управление WAIT проца? В Профи 3+ для нормальной работы периферии в турборежиме, введен узел удлинения iorq (а также WR и RD) на одновибраторе АГ3. он формирует импульс по выводу WAIT 400ns, тем самым удлиняя сигналы управления периферией. вот ссылка на страницу со схемой - http://sblive.narod.ru/ZX-Spectrum/Profi/Profi.htm . Вам нужен узел на DD45. ЛИСТ2П. Там же Вы найдете схему оригинального контроллера Профи 3+. На Профи схема оригинального контроллера работает отлично.
    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.

  8. #7

    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,234
    Спасибо Благодарностей отдано 
    490
    Спасибо Благодарностей получено 
    989
    Поблагодарили
    641 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от solegstar Посмотреть сообщение
    Denn, какая у Вас длительность IORQ
    Схема Орион-ПРО весьма навороченная. Конкретно /IORQ идёт с МП через буфер на 1533ИР22 в схему. Длительность согласно таймингам Z80. Использую два варианта клока МП: 2,5 МГц и 10 МГц.


    Цитата Сообщение от solegstar Посмотреть сообщение
    Как организовано управление WAIT проца?
    Тут наворот на навороте, и IORQ там плотно замешан. Как я понял, торможение МП происходит при всех обращениях к ОЗУ и к ВУ.

    Вот участок схемы:



    Сигнал "64" - это тактовая (10 МГц), поделённая триггером ТМ2 пополам, т.е. клок 5 МГц.


    Цитата Сообщение от solegstar Посмотреть сообщение
    В Профи 3+ для нормальной работы периферии в турборежиме, введен узел удлинения iorq (а также WR и RD) на одновибраторе АГ3.
    Под "нормальной работой" вероятно подразумевается стабильное чтение данных. В моём случае как-то всё слишком конкретно: если работает, то 100% стабильно, а если не работает, то совсем!
    Последний раз редактировалось Denn; 28.03.2018 в 18:19.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  9. #8

    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от solegstar Посмотреть сообщение
    На Профи схема оригинального контроллера работает отлично.
    Нет, как я уже писал выше - не отлично, есть винты которые профи 3 не видит

    Скрытый текст

    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
    [свернуть]

  10. #9

    Регистрация
    16.12.2009
    Адрес
    Харьков
    Сообщений
    4,735
    Спасибо Благодарностей отдано 
    365
    Спасибо Благодарностей получено 
    378
    Поблагодарили
    241 сообщений
    Mentioned
    11 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Vadim Посмотреть сообщение
    Нет, как я уже писал выше - не отлично, есть винты которые профи 3 не видит
    Вполне возможно. Просто у меня проблем с ним не было даже на 1533 серии. Винтов я попробовал тоже не мало, но если проблемы были, то ок. Проблем с Nemo IDE много больше.
    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.

  11. #10

    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от solegstar Посмотреть сообщение
    Вполне возможно. Просто у меня проблем с ним не было даже на 1533 серии.
    А у меня были проблемы на 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
    [свернуть]

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. GRM1 не дружит с 1818ВГ93
    от blackinwoman в разделе Pentagon
    Ответов: 4
    Последнее: 21.01.2018, 01:20
  2. NEMO_IDE не работает с винтом.
    от John North в разделе Внешние накопители
    Ответов: 28
    Последнее: 01.04.2012, 17:02
  3. Ноутбучный дисковод.
    от Petr0v в разделе Внешние накопители
    Ответов: 7
    Последнее: 29.11.2011, 20:48
  4. Куплю маленький ноутбучный веник.
    от Surfin_Bird в разделе Барахолка (архив)
    Ответов: 5
    Последнее: 31.10.2006, 21:29

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •