Это уж чересчур категорично. Мне наоборот эта схемка понравилась. Мне вообще подобные схемы нравятся по принципу, чем проще, тем лучше. Делать-то эту схему обычно людям приходилось вручную.
Схема, похоже не точная. Например, не дорисовано, куда идут 1 и 2 ноги 155 ИД4, видимо это ША3. Но эта схема по числу деталей даже проще, чем КНГМД от ОРИОНА. Хотя этот выигрыш получен плохим путём, за счёт использования такта 1 МГЦ прямо из самого СПЕЦИАЛИСТА, вместо собственного генератора, как общепринято. Из-за этого нельзя использовать контроллер на СПЕЦИАЛИСТЕ с другим тактом, что очень большой недостаток, т.к у меня в планах иметь СПЕЦИАЛИСТ на 3 МГЦ, причём без плющенного экрана.
Кстати, встретил в теме про MX-дисковод обидную фразу - слова Леонида Николаевича Афанасьева: раздельные кварцевые генераторы недопустимы. Сомневаюсь в этом. Почему нельзя иметь один такт на ВГ93 и узел чтения и второй такт на всё остальное. HOLD не обязан быть синхронным, а если режим захвата прекратится спустя не пол машинного такта, а спустя целый маш.такт после сброса триггера HOLD по DRQ, то это вызовет лишь крошечную задержку программы, задержку в петле чтения/записи всего на пару процентов. Вряд-ли это будет фатальным.
И конечно, руки надо отрывать тем, кто рисует схемы используя цифры для нумерации цепей вместо "говорящих" о назначении цепей символических названий. Это же относится и к ссылкам на схему СПЕЦИАЛИСТА, например при D43/13 можно было в скобках указать, что это HOLD КР580.
Некоторые названия ног ВГ93 неверные. Например, RDV это должно было быть RDY (от READY), готовность самого дисковода. В схемах для Синклера это обычно называют CRDY и вешают на +5В. А в схеме КНГМД ОРИОНА эта нога называется HLT и напрямую соединяется с сигналом HLD, т.е готовность есть тогда, когда головка опущена. 37 нога должна называться DDEN (Disk Density). 33 нога WFDE (сигнал ошибки) в контроллелах ZX и ОРИОНА не используются. А трек компенсация, для укорочения импульсов начиная с 43 дорожки наоборот не используется. Не понятно так ли уж необходим сигнал WF/DE (ошибка), что блокирует импульсы записи. В других контроллерах такого не встречал.
В общем, хорошо бы эту схемку перечертить, тогда она будет более понятной. Можно даже упростить, заменив порт для программного выбора плотности на штырьки с надеваемой на них перемычкой. И убрав ещё один триггер для выбора дисковода (мало кто мог позволить себе иметь целых два дисковода). Это даст экономию в целый корпус 155 ТМ2.
По схеме не понял, что бывает при ошибках. Отдав команду чтения сектора, процессор читает байты по готовности. Но если открыть карман дисковода, то будет ошибка, DRQ прекратит поступать, а в регистре состояния будет ошибка. Но процессор останется в режиме HOLD, т.к в петле чтения/записи регистр состояния не контроллируется.
Это может работать только, если DRQ в случае ошибки выставляется в единицу. В связи с этим непонятно назначение цепи 1. Зачем для её формирования используется инвертированный сигнал SIDE - цепь 26? Это какая-то ошибка в схеме.
Вместо сигнала 26 для сброса HOLD в случае ошибки нужен сигнал открытия кармана или какой-то аппаратный признак ошибки. Можно сбрасывать HOLD одновибратором, - если DRQ долго нет, то HOLD сбрасывается. Имея прерывания можно сделать так, чтобы возникало прерывание, если в течение 100 микросекунд нет фронта DRQ. Как работает этот контроллер НГМД точно знают авторы эмулятора СПЕЦИАЛИСТ-MX.
Со схемой можно разобраться, только нужно найти оригинал этой схемы от Л.Афанасьева. Ссылка на схему у меня не работает. Остаётся проблема, где взять готовые подпрограммы чтения/записи сектора и формат трека. Очевидно, что имеющиеся подпрограммы от ОРИОНА, Львова, ZX-Spectrum и других компьютеров не подойдут. Алгоритм совсем иной. Вряд ли можно найти исходники, но дискеты в формате MX-DOS, кажется, сохранились в эмуляторах. Их можно дизассемблировать, чтобы взять код нужных подпрограмм. Можно провести собственные изыскания и экспериментальным путём разработать нужные подпрограммы. Но мне это делать пока не хочется
А паять проводками именно эту схему не обязательно. Т.к обычный контроллер ОРИОНА проще превратить в такой контроллер, чем в контроллер для SP-DOS. Достаточно добавить всего один триггер 155 ТМ2, формирующий сигнал HOLD. Причём удобнее этот триггер ставить не на КНГМД, а на основной плате СПЕЦИАЛИСТА. Годится любой свободный чип-селект, подав его на C-вход, а на D-вход - сигнал /WR. А на ОРИОНЕ для взвода триггера HOLD удобно использовать уже имеющийся сигнал "STA FB00".
Такой контроллер для СПЕЦИАЛИСТА имеет смысл, т.к позволяет писать в формате стандартных БИС, отчего такую дискету можно считать в IBM PC, что невозможно сделать с дискетой записанной программным контроллером от РК86. И ёмкость диска с таким контроллером больше, чем при РК-КНГМД.
Если на СПЕЦИАЛИСТЕ использован системный разъём СНП58-64, такой-же как в ОРИОНЕ, причём с той же самой распайкой сигналов, то можно напрямую использовать периферию ОРИОНА и ОРИОН-ПРО. В противном случае придётся спаять переходник - косу с двумя разъёмами на концах.




Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 

