User Tag List

Страница 22 из 40 ПерваяПервая ... 181920212223242526 ... ПоследняяПоследняя
Показано с 211 по 220 из 399

Тема: Контроллер псевдо КМД+дисковод для УКНЦ (на SD карте)

  1. #211

    Регистрация
    10.04.2019
    Адрес
    г. Фокино, Брянская обл.
    Сообщений
    401
    Спасибо Благодарностей отдано 
    52
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    65 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Нуууу.... а почему 4E начинается не с 260?..
    А потому что CRC там. Глюк на этой картинке в том, что нет контрольной суммы после номера трека, стороны, сектора и его типа, сразу 4Е начинались. Подправил еще, вроде ошибок нет, вот файл целиком: https://cloud.mail.ru/public/4Nub/zpns2dVFg

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

    Цитата Сообщение от nzeemin Посмотреть сообщение
    ZPilot, это от начала индекса?
    Да.. и все тут вроде правильно, тк GAP1 должен быть всего длинной 38 байт, только он разбит на куска GAP1 и GAP3, вернее GAP3 состоит из 36 (34) байта GAP1 и 2(4) байта GAP3. Как то так..
    Начало и конец сектора всегда 0х4Е, по этому сдвинуть можно.

    Да, какой длинны должна быть индексная метка?
    Последний раз редактировалось ZPilot; 21.07.2020 в 19:48.

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

  3. #212

    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,051
    Спасибо Благодарностей отдано 
    1,142
    Спасибо Благодарностей получено 
    1,473
    Поблагодарили
    525 сообщений
    Mentioned
    20 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Как я вижу по коду из эмулятора - см. m_writemarker, m_shiftmarker, m_crccalculus, m_writing - https://github.com/nzeemin/ukncbtl/b...ase/Floppy.cpp
    При записи адресного маркера данных, УКНЦ должна собственно записать маркер - она выставляет бит 9 в 177130. С этого момента начинается подсчёт контрольной суммы. После завершения записи сектора - конрольная сумма помещается в сдвиговый регистр, и соответственно записывается на диск - это два байта сразу после данных сектора.
    Т.е. вам не нужно ждать что УКНЦ передаст контрольную сумму - её считает и записывает сам контроллер, т.е. в вашем случае - ваш контроллер.
    Alex_K конечно лучше объяснит, я тут мимокрокодил.

    - - - Updated - - -

    Цитата Сообщение от ZPilot Посмотреть сообщение
    Да, какой длинны должна быть индексная метка?
    Думаю это не особенно важно, ловится же начало отверстия. У меня стоит константа в 150 байт:
    #define FLOPPY_INDEXLENGTH 150 ///< Length of index hole, in bytes of raw track image

  4. #213

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,509
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    её считает и записывает сам контроллер
    Память подсказывает, что таки да и самое главное - это выглядит логичней

  5. #214

    Регистрация
    10.04.2019
    Адрес
    г. Фокино, Брянская обл.
    Сообщений
    401
    Спасибо Благодарностей отдано 
    52
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    65 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    При записи адресного маркера данных, УКНЦ должна собственно записать маркер - она выставляет бит 9 в 177130. С этого момента начинается подсчёт контрольной суммы. После завершения записи сектора - конрольная сумма помещается в сдвиговый регистр, и соответственно записывается на диск
    Тут вы не совсем правы, да она выставляет 9 бит, но УКНЦ четко отлавливает когда контроллер выставил бит CRC, те начало подсчета контрольной суммы. По записи УКНЦ ждет от контроллера 2 вещи, это бит индекса и бит начала подсчета контрольной суммы, они должны выставляться в правильное время, по ним УКНЦ синхронизирует вывод данных. Да, других бит, кроме бита готовности принять данные, контроллер во время записи выставлять не должен.

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

    Цитата Сообщение от nzeemin Посмотреть сообщение
    Думаю это не особенно важно, ловится же начало отверстия. У меня стоит константа в 150 байт:
    У меня всего 10 байт.

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

    Кстати, я переписал чтение под 36 байтный заголовок 4Е, читает нормально.

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

    А еще, на моей УКНЦ почему-то зависает вот этот образ: mz80_UKNC_pafcom.dsk
    Прямо на запуске аналога Нортон Коммандера, печально, а на эмуляторе ув. nzeemin, запускается, печаль

  6. #215

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ZPilot, собственно я вижу, что вы приводили куски кода из моего труда о контроллере дисковода УКНЦ. Вроде там всё написано, как производится запись CRC. Во-первых сперва обратите на описание битов 7 и 14. Они разные для режимов чтения и записи. Т.е. существует два бита готовности и два бита CRC, одни для режима чтения, вторые для режима записи.
    Обратите внимание, что существует регистр записи РДЗ (0177132) и сдвиговый регистр. Во время записи информация из РДЗ копируется в сдвиговый регистр, и собственно со сдвигового регистра она и уходит на линии DO для дисковода. Расчет CRC начинается с установки бита WM (9). При записи в РДЗ сбрасывается бит готовности TR (7). Как только сдвиговый регистр становится свободным, то в него копируется информация из РДЗ и снова устанавливается бит готовности для получения новых данных. Но информация с РДЗ копируется в сдвиговый только при сброшенном бите готовности. Если же в РДЗ ничего за 64 мкс не записали, т.е. бит готовности остался установленным, то тогда в сдвиговый регистр копируется не РДЗ, а рассчитанная CRC. После этого расчет CRC прекращается и контроллер устанавливает бит CRC (14), который говорит о том, что в данное время производится запись CRC. Но её прерывать нельзя. Для этого в РДЗ записывается 0x4E4E и ожидается установка бита готовности. Установленный бит готовности сообщает о том, что запись CRC закончилась и в сдвиговый регистр скопировался РДЗ. После этого можно перейти в режим чтения, прочитав регистр 0177132.

    Этот пользователь поблагодарил Alex_K за это полезное сообщение:

    nzeemin(21.07.2020)

  7. #216

    Регистрация
    10.04.2019
    Адрес
    г. Фокино, Брянская обл.
    Сообщений
    401
    Спасибо Благодарностей отдано 
    52
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    65 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Но информация с РДЗ копируется в сдвиговый только при сброшенном бите готовности.
    Я так понимаю, что сбрасывает бит готовности контроллер?
    Цитата Сообщение от Alex_K Посмотреть сообщение
    Для этого в РДЗ записывается 0x4E4E и ожидается установка бита готовности.
    А это кто делает? Контроллер или УКНЦ?

  8. #217

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZPilot Посмотреть сообщение
    Я так понимаю, что сбрасывает бит готовности контроллер?

    А это кто делает? Контроллер или УКНЦ?
    В режиме записи бит готовности сбрасывается при записи в регистр РДЗ 0177132, а устанавливается при копировании РДЗ в сдвиговый регистр.

  9. #218

    Регистрация
    10.04.2019
    Адрес
    г. Фокино, Брянская обл.
    Сообщений
    401
    Спасибо Благодарностей отдано 
    52
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    65 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да, и я правильно понимаю, что записать CRC куда попало нельзя, она записывается точно в то место на диске/треке/секторе где должна быть?

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

    Цитата Сообщение от Alex_K Посмотреть сообщение
    устанавливается при копировании РДЗ в сдвиговый регистр.
    Те когда контроллер считал данные из 177132?

  10. #219

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZPilot Посмотреть сообщение
    Да, и я правильно понимаю, что записать CRC куда попало нельзя, оно записывается точно в то место на диске/треке/секторе где должна быть?
    Да. CRC есть после заголовка сектора и после зоны данных.

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

    Цитата Сообщение от ZPilot Посмотреть сообщение
    Те когда контроллер считал данные из 177132?
    Да.

  11. #220

    Регистрация
    10.04.2019
    Адрес
    г. Фокино, Брянская обл.
    Сообщений
    401
    Спасибо Благодарностей отдано 
    52
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    65 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    И я вот думаю, смысла считать CRC нет, тк она в образ DSK не записывается, УКНЦ ее не отправляет контроллеру, а контроллеру после ее расчета сравнить ее правильность не с чем. Единственное место где она нужна, так это при чтнеии с диска, но у меня то образ.

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

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Да. CRC есть после заголовка сектора и после зоны данных.
    А значит, если я знаю где ее место, мне не важен бит WM (9). WM (9) не может быть установлен в середине сектора? Или может?

Страница 22 из 40 ПерваяПервая ... 181920212223242526 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 713
    Последнее: 13.05.2025, 11:42
  2. Ответов: 327
    Последнее: 03.12.2019, 22:49
  3. Куплю КМД для УКНЦ
    от Feral в разделе Барахолка (архив)
    Ответов: 32
    Последнее: 07.06.2012, 13:31
  4. Продам МС5310 блок дисководов к УКНЦ+КМД УКНЦ
    от Mad Killer/PG в разделе Барахолка (архив)
    Ответов: 7
    Последнее: 19.03.2012, 11:27
  5. Контроллер КМД-УКНЦ, АУКЦИОН
    от tntpro в разделе Барахолка (архив)
    Ответов: 9
    Последнее: 23.06.2011, 16:32

Ваши права

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