Важная информация

User Tag List

Страница 6 из 24 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя
Показано с 51 по 60 из 231

Тема: Эмуляция 1801ВП1-128 в ПЛИС

  1. #51
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    123
    Поблагодарили
    62 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    В довольно больших пределах.
    Этот аспект слабо отражён в справочной литературе по контроллерам. Относительно механизма реализации - я вообще ничего не видел.

    как такового пустого места на диске нет
    На обычном реальном диске.

    Когда речь идёт о максимально точном воспроизведении всех аспектов работы оригинального контроллера - интерес представляет и то, как он работает на "неполных" дорожках.

  2. #52
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,211
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    608
    Поблагодарили
    400 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Этот аспект слабо отражён в справочной литературе по контроллерам. Относительно механизма реализации - я вообще ничего не видел.
    И вряд ли где увидете. А 1801ВП1-128 по всей видимости так и останется "черным ящиком".

    Цитата Сообщение от Patron Посмотреть сообщение
    Когда речь идёт о максимально точном воспроизведении всех аспектов работы оригинального контроллера - интерес представляет и то, как он работает на "неполных" дорожках.
    Ну неполных дорожек не бывает. А про этот аспект я уже описывал. Если контроллер вошел в режим чтения данных, т.е. аккуратно формирует слово каждые 64 мкс, и если при этом пропал сигнал (вынули дискету, остановили мотор и т.д. и т.п.), то будут аккуратно формироваться ноли каждые 64 мкс.

  3. #53
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    123
    Поблагодарили
    62 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Если контроллер вошел в режим чтения данных, т.е. аккуратно формирует слово каждые 64 мкс, и если при этом пропал сигнал (вынули дискету, остановили мотор и т.д. и т.п.), то будут аккуратно формироваться ноли каждые 64 мкс.
    Тонкость тут в том, что если скорость чтения отличается от скорости записи (а это в общем случае всегда так) - то на тех местах, где разметка есть - контроллер будет формировать новые слова данных отнюдь не каждые 64 мкс, а с той скоростью, с которой получает их с дорожки, тогда как на тех местах, где разметки нет - скорость формирования слов данных будет "правильной".

  4. #54
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,211
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    608
    Поблагодарили
    400 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Тонкость тут в том, что если скорость чтения отличается от скорости записи (а это в общем случае всегда так) - то на тех местах, где разметка есть - контроллер будет формировать новые слова данных отнюдь не каждые 64 мкс, а с той скоростью, с которой получает их с дорожки, тогда как на тех местах, где разметки нет - скорость формирования слов данных будет "правильной".
    Patron, я упоминал о подстройке по нулевой синхрозоне. Она служит не только для того, чтобы правильно произвести сцепку для определения двоичного бита, но и подстроится под скорость вращения и передачи данных. Во всяком случае я когда экспериментировал с 1801ВП1-128, хватал первый адресный маркер после индекса, и после этого успешно считывал всю дорожку (естественно дорожка должна быть свежеотформатирована и на нее после этого не производилось записи).

  5. #55
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    123
    Поблагодарили
    62 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Точно! Блок синхронизации у 1801ВП1-128 срабатывает только один раз в начале чтения, поэтому после выхода на неразмеченную зону - слова данных будут формироваться с той скоростью, которая была определена на этапе синхронизации.

    Из-за того, что синхронизация у 1801ВП1-128 выполняется только один раз - он и зависает ( в "идеальных" условиях ) в режиме поиска маркера при ошибке битовой синхронизации.

  6. #56
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,211
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    608
    Поблагодарили
    400 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Из-за того, что синхронизация у 1801ВП1-128 выполняется только один раз - он и зависает ( в "идеальных" условиях ) в режиме поиска маркера при ошибке битовой синхронизации.
    В идеальных условиях он зависал не из-за этого. Т.к. при сбое нулевая зона может читаться как 0x00, так и 0xFF, то в данном случае программа чтения данных при поиске маркера может ошибится и дать команду не на синхрозоне, а на зоне данных, там где записаны байты 0xFF. Соответственно после сцепки контроллер их воспринимает как 0x00, а т.к. диск в эмуляторе был идеальным, то произошло смещение на один MFM-бит (полбита данных), уже после этого ни один маркер не найдется.

  7. #57
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    123
    Поблагодарили
    62 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ещё один аспект работы 1801ВП1-128, который мне не вполне понятен - где пропускается, а где не пропускается синхробит при записи слова данных с установленным флагом 'запись маркера'..

  8. #58
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,211
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    608
    Поблагодарили
    400 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Ещё один аспект работы 1801ВП1-128, который мне не вполне понятен - где пропускается, а где не пропускается синхробит при записи слова данных с установленным флагом 'запись маркера'..
    Сразу скажу, что в MFM, в отличие от FM, как таковых синхробитов нет. Просто при записи маркера 0xA1 шестой слева бит записывается не как "10", а как "00". Т.е. байт 0xA1 (10100001) в режиме записи обычных данных записывается как "0100010010101001", а в режиме маркера как "0100010010001001". Вот по этой записи нуля и различают маркер, соответственно в 1801ВП1-128 еще в сдвиговом регистре должно оказаться 0xA1. Предполагаю, что в 1801ВП1-128 фиксация этого события сделана на 8 бит данных, т.к. если за 8 вдвигов битов данных в сдвиговый регистр не оказалось 0xA1, то признак должен сброситься.

  9. #59
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    123
    Поблагодарили
    62 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Предполагаю, что в 1801ВП1-128 фиксация этого события сделана на 8 бит данных, т.к. если за 8 вдвигов битов данных в сдвиговый регистр не оказалось 0xA1, то признак должен сброситься.
    Т.е. записать при помощи 1801ВП1-128 можно только маркер 0xA1 и только в младшем байте передаваемого слова. Байт 0xA1 в старшем байте слова будет записан как обычный байт данных.

    А вот это (полагаю) очень важно в плане адекватности копирования 1801ВП1-128 - и это вполне можно протестировать !

    Цитата Сообщение от Woland Посмотреть сообщение
    Маркеры там идут дуплетами, сначала обязательный A1A1 с двумя пропущенными синхроимпульсами
    Это показал логический анализатор в сигнале RDATA ?

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Опознать только 0xA1, а вот записать возможно может и любой, это мне никак не узнать. Во всяком случае в прошивке 1801РЕ2-255 есть функция форматирования в формате IBM, так там пишуться байты 0xC1 при записи маркера дорожки, и пишуться с пропуском синхроимпульса.
    Но 0xC1 - это не 0xA1.

    Значит, не только 0xA1 может писаться с пропуском синхроимпульса?

  10. #60
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,211
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    608
    Поблагодарили
    400 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Т.е. записать при помощи 1801ВП1-128 можно только маркер 0xA1 и только в младшем байте передаваемого слова. Байт 0xA1 в старшем байте слова будет записан как обычный байт данных.
    Я говорил не про запись, а про чтение при поиске маркера. Т.к. если при чтении признак не сбросится за 8 попыток задвига бита данных, то можно по ошибке и байт данных 0xA1 принять за маркерный.

    ---------- Post added at 16:50 ---------- Previous post was at 16:47 ----------

    Цитата Сообщение от Patron Посмотреть сообщение
    Но 0xC1 - это не 0xA1.

    Значит, не только 0xA1 может писаться с пропуском синхроимпульса?
    Полагаю, что да. При записи врядли схема следит за тем, что записывают. Если стоит признак записи маркера, то просто при записи очередного байта третий подряд нулевой бит запишется не как "10", а как "00".
    Только вот поиск маркера идет именно по 0xA1.

Страница 6 из 24 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. ЮТ-88: Реализация на ПЛИС (DE1)
    от Santechnik в разделе ЮТ-88
    Ответов: 61
    Последнее: 13.05.2022, 08:22
  2. Вопрос по ПЛИС
    от Zloy в разделе Несортированное железо
    Ответов: 23
    Последнее: 17.10.2015, 17:12
  3. Аксель на ПЛИС
    от iceoflame в разделе Amiga
    Ответов: 163
    Последнее: 25.03.2012, 14:51
  4. Список версий 1801ВП1 и 1801РЕ2
    от CodeMaster в разделе ДВК, УКНЦ
    Ответов: 2
    Последнее: 28.02.2012, 22:39
  5. 1801вп1-128
    от dk_spb в разделе ДВК, УКНЦ
    Ответов: 0
    Последнее: 29.05.2010, 11:24

Ваши права

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