Первым будет прочитано слово с маркером A1A1. Продолжаться чтение будет бесконечно, пока программе не надоест.
Первым будет прочитано слово с маркером A1A1. Продолжаться чтение будет бесконечно, пока программе не надоест.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Не встретив A1A1, но встретив другой маркер ( например, A1FB ) - чтение начнётся ?
А как ведёт себя бесконечное чтение, выходя из зоны синхронизации, например - после царапины. Если прочитано несколько бит младшего байта, потом сбой синхронизации - и опять идут биты? Как возможно дальнейшее чтение, если непонятно на какие позиции ставить получаемые биты ?
...
Что если на форматированный диск возможна только синхронная запись.. И именно поэтому сигнал готовности записи не устанавливается до достижения синхронизации. Ведь, когда импульсы RDATA приходят синхронно с работой сдвигового регистра - пропадание любого их количества не приводит к настоящему сбою синхронизации. Даже если из-за продольной царапины выпадает несколько секторов подряд - синхронизация не теряется и первый же удачно прочитанный (или записанный) бит точно занимает своё место.
Похоже, что даже если чистую дорожку прописать разметкой только на один сектор - любые последующие записи на такую дорожку будут идти синфазно с уже имеющимся форматом.
Последний раз редактировалось Patron; 02.12.2012 в 01:01.
В приложении - исходник ПЗУ SMK64_v2.05 пригодный для редактирования в Windows и компиляции в эмуляторе ДВК.
После команд
создаётся файл листинга SMK64.LST и образ памяти SMK64.SAV, в котором коды ПЗУ занимают адреса 160000..167777.Код:MAC/LIST:SMK64 SMK64 LINK SMK64
...
Последний раз редактировалось Patron; 02.12.2012 в 01:01.
Похоже в КР1801ВП1-128 есть еще одна недокументированная "особенность", которая выводит программные циклы из ожидания готовности. Там есть пара-тройка мест в мониторе БК, которые могут быть потенциально ловушками неприятностей на диске, скажем, ожидание адресного маркера. ПЛИС-эмулятор ВП1-128 сейчас виснет на таких местах в случае сбоев чтения.
Если предполагать, как ведет себя оригинальная ВП1-128 в такой ситуации, то может она выдает готовность просто скажем когда новый индекс пришел, а контрольная сумма потом разумеется не совпадает. В общем случае, если сумма не совпала, программа должна пойти на новый заход, пока не исчерпается какое-то число попыток. Также, может быть у ВП1-128 более слабая логика определения адресного маркера для экономии элементов микросхемы. В ПЛИС сейчас сделано определение очень жестко, как нарушение синхронизации плюс значение слова A1A1, это удобно для отладки, но может быть избыточно на практике. Есть варианты определения - просто по нарушению синхропотока, либо сравнению только одного байта с A1.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)