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

User Tag List

Страница 3 из 24 ПерваяПервая 1234567 ... ПоследняяПоследняя
Показано с 21 по 30 из 231

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

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

    По умолчанию

    1. Если оригинал ВП1-128 может синхронизироваться с сигналом RDATA по любому синхробайту или одиночному A1, то он должен быть способен начинать бесконечное чтение на дорожке, отформатированной без использования маркеров A1A1. Надо написать специальную программу форматирования и проверить - будет ли оригинал ВП1-128 способен начать чтение при таком формате.

    2. Появление сигнала INDEX в режиме синхронизации с дорожкой приводит к выходу из режима синхронизации. Т.к. синхронизацию и при записи, и при чтении осуществляет один и тот же блок ( который при записи выходит из режима синхронизации и по маркеру, и по индексу ) то разницы в алгоритме синхронизации с дорожкой при чтении и записи быть не должно.

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

    По умолчанию

    По режиму поиска маркера в 1801ВП1-128. Сама микросхема имеет два режима чтения - режим поиска маркера и собственно режим чтения данных. В режим поиска маркера она входит после включения питания, по сигналу шины INIT, а также по сбросу из единицы в ноль бита 8 в регистре 177130. Собственно в MFM нужно решить две проблемы - определить начало двоичного бита и определить начало байта. Первая проблема решается после исчезновения сигнала сброса. Если читается MFM-бит "1", то считается, что начинается двоичный бит. Недаром перед маркерами всегда записывается синхрозона из 12 байтов "0". После того, как контроллер посчитал, что начало бита схвачено правильно, то формируется поток двоичных битов и он начинает входить в сдвиговый регистр. Сразу отмечу, что ничего в данном случае в регистр данных не копируется и бит готовности (бит 7) в регистре 177130 не устанавливается. Если же был замечен синхросбой (т.е. бит "0" закодирован как "00", а не как "10") и в сдвиговом регистре оказалось 0xA1, то тогда считается, что определили и границу байта. Он сразу же копируется в регистр данных, затем прочитывается очередной байт, также копируется в регистр данных, и уже после прочтения двух байтов устанавливается признак готовности в регистре 177130. Далее микросхема работает уже в режиме чтения данных, она в этом случае аккуратно нарезает байты в сдвиговом регистре каждые 32 мкс. Если остановить двигатель или вынуть дискету, то будут формироваться нулевые байты, но будут формироваться аккуратно каждые 32 мкс.
    Сигнал INDEX для синхронизации и чтения абсолютно не используется. Он нужен программе форматирования только для определения начала дорожки, а также для определения того, что вставлена дискета или нет (сигнал должен появляться в этом случае периодически на заданное время).

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

    По умолчанию

    Дело в том, что (как предполагается) оригинал 1801ВП1-128 может выходить из режима поиска маркера и когда находит его, и когда не находит. Копия же ВП1-128 (насколько я понял) всегда ищет маркер "до упора" и не выходит из поиска до его обнаружения, а подпрограммы ПЗУ БК при работе с ней ( из за этого ? ) регулярно зависают, тогда как при работе с оригиналом такого никогда не происходит.
    Последний раз редактировалось Patron; 06.01.2013 в 17:27.

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Дело в том, что (как предполагается) оригинал 1801ВП1-128 может выходить из режима поиска маркера и когда находит его, и когда не находит. Копия же ВП1-128 (насколько я понял) всегда ищет маркер "до упора" и не выходит из поиска до его обнаружения, а подпрограммы ПЗУ БК при работе с ней ( из за этого ? ) регулярно зависают, тогда как при работе с оригиналом такого никогда не происходит.
    1801ВП1-128 не выходит из режима поиска маркера до тех пор, пока она его не найдет.

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    1801ВП1-128 не выходит из режима поиска маркера до тех пор, пока она его не найдет.
    А в режиме поиска маркера ВП1-128 только 0xA1 ищет или любой байт с пропуском синхробита ?

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    А в режиме поиска маркера ВП1-128 только 0xA1 ищет или любой байт с пропуском синхробита ?
    Только 0xA1.

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Только 0xA1.
    Т.е. ВП1-128 позволяет записать любой байт с пропуском синхробита, но опознать пропуск снихробита может только в байте 0xA1.

    Или при установке признака 'запись маркера' - ВП1-128 не всякий байт с пропуском синхробита запишет ?

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Т.е. ВП1-128 позволяет записать любой байт с пропуском синхробита, но опознать пропуск снихробита может только в байте 0xA1.

    Или при установке признака 'запись маркера' - ВП1-128 не всякий байт с пропуском синхробита запишет ?
    Опознать только 0xA1, а вот записать возможно может и любой, это мне никак не узнать. Во всяком случае в прошивке 1801РЕ2-255 есть функция форматирования в формате IBM, так там пишуться байты 0xC1 при записи маркера дорожки, и пишуться с пропуском синхроимпульса. Но маркеры дорожки 1801ВП1-128 не опознаются, поэтому на УКНЦ и такие проблемы при чтении первого сектора на дорожке, если дискета отформатирована в формате IBM, а не ISO. В ту же прошивку -255 внесли изменения для чтения IBM-овских дискет, а вот -091 имела те же проблемы.

  9. #29
    Master Аватар для Woland
    Регистрация
    26.10.2011
    Адрес
    Москва
    Сообщений
    554
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    15 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    1801ВП1-128 не выходит из режима поиска маркера до тех пор, пока она его не найдет.
    Каким же тогда образом удается избежать попадания процессора в бесконечный цикл ожидания, в случае, если на дорожке будут некачественные данные?

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

    По умолчанию

    Цитата Сообщение от Woland Посмотреть сообщение
    Каким же тогда образом удается избежать попадания процессора в бесконечный цикл ожидания, в случае, если на дорожке будут некачественные данные?
    Если дискета отформатирована, то в конце концов на какой-нибудь маркер и наткнетесь, их же на дорожке целых двадцать штук - на каждый сектор по маркеру заголовка и маркеру данных. А если не удалось сцепиться при этом обороте диска, то сцепится на следующем. Главное чтобы начало маркера соответствовало тому MFM-биту с которым сцепился контроллер.

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

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

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

Эту тему просматривают: 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

Ваши права

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