** Сайт посвящённый ПЭВМ АГАТ **
Теоретически, контроллер 840 К мог работать с несколькими типами накопителей, но применялись только 2S2D и весь софт, в основном, был ориентирован на них. При проектировании контроллера разработчик имел в наличии привод TEAC FD-55FV и использовал его в качестве базового. Этот дисковод можно считать родным для АГАТа. Но основная часть машин комплектовалась ИЗОТ 5323.01 с похожими характеристиками. Иногда встречались Электроника МС 5311 и МС 5313.
Возможно использование HD привода, если на нём имеются джамперы для переключения в режим DD. И в некоторых случаях, если таковых джамперов нет.
У объединения "ИЗОТ" было несколько подразделений. Для Агатов присылали как минимум два из них: "Чирпан" и "Стара Загора". Видимо поэтому, изделия несколько отличались. Хотя и год производства тоже имеет значение, например, маркировка джамперов на фотографии, совпадает только с паспортом 1990 года.
Правильное расположение джамперов на плате
ЕС5323.01. Информационная карта. Чирпан.
ЕС5323.01. Паспорт. К 53.060.008. Стара Загора. 1988.
ЕС5323.01. Паспорт. К 53.060.008-01. Стара Загора. 1990.
ЕС5323.01. Сертификат о качестве (две шт.). Стара Загора/Чирпан.
Машины укомплектованные на заводе этим приводом, имеют вклейку в паспорте:
Доработка касается блока генерации сигнала NGTL == НГТ L (Накопитель ГоТов L [инверсный])
и блока управления электромагнитом головок - все их действия
становятся более тупыми и источниками их управления становятся только сигнал
готовности двери + Выбор Накопителя + Мотор Включен.
В оригинальной схеме НГТ L вырабатывается из двери + Выбор Накопителя,
а электромагнит головок управляется Мотор Включен + датчик индекса
(т.е. только при вращении реальной дискеты).
При такой модификацию для Агата, в паспорте на последней странице надпись "накопитель доработан".
Какие бывают TEAC FD-55, какие подойдут для Агата.
Предположим маркировка такая: TEAC 55GFR 7193-U
Литера G - умеет работать в режиме HD.
Литера F - умеет работать в режиме DD и ниже - две стороны двойной плотности.
Что может быть вместо F:
A - односторонний одинарной плотности,
B - двухсторонний одинарной плотности,
E - односторонний двойной плотности (типа как на "Искра - 1030").
Литера R - это третье поколение FD-55, V - второе, без литеры - первое.
Для однозначности: модели типа 55GBR - существовать не может, GR - работает только в режиме HD (нет перемычек для установки).
7193 - версия платы MFD Control (платы управления). Платы могут быть разные, из-за чего положения перемычек тоже различаются. Платы производства Малазии маркировались четырьмя цифрами, Японские - тремя. У первых шильдик на белом фоне, у вторых - на серебряном. Японец плох тем, что провода к головкам паяные и бывает отрываются, в то время как гибкий шлейф малазийца - вечный.
Очевидно, что для использования в Агате лучше всего брать или чистый DD (FR, FV, F) или универсал (GFR, GFV, GF).
В настоящее время это, в основном, FDD 1.2 МБ от IBM-PC-совместимой техники. Задача адаптации в том, чтобы он изображал из себя DD.
Джамперы "D0", "D1", "D2", "D3".
Определяют логический адрес привода.
Для АГАТ: на первом флопе замкнут D0, на втором D1.
Джампер "LG"
Сообщает дисководу какой уровень сигнала на контакт 2 (Density Mode)
будет восприниматься за HD, а какой за DD.
Если к ноге 2 приходит +5в, то замкнутый джампер включает режим DD, разомкнутый HD.
Если к ноге 2 приходит GND, то замкнутый джампер включает режим HD, разомкнутый DD.
В штатном жгуте АГАТа на контакт 2 вообще ничего не приходит, поэтому потребуется доработать шнур, согласно таблице на странице "Контроллер 840Кб", и замкнуть джампер LG.
Джампер "I"
Задаёт скорость движка в режиме DD.
Все дисководы имеют скорость 300 об/м, кроме HD-5-дюймов. У них 360 об/м. Именно так они работают в PC.
Если джампер стоит, будет 300 об/м в DD. Если нет, во всех режимах будет 360 об/мин.
Джампер Ready/Disk Change
В разных марках дисководов может иметь обозначение RY/DC, RDY/DCH.
Задаёт режим работы выхода на контакте 34.
На Агате используется сигнал Ready, и перемычка должна быть в положении "RY".
Если оставить режим Disk Change, то при каждом обращении к диску придется
открывать\закрывать шторку флопа (в режиме "DC", контакт 34 сбрасывается в 0, если попытаться
сменить дискету во время работы, и устанавливается в 1 по Step и каким -то ещё сменам входных сигналов).
Остальные джамперы определяют особенности работы выхода INDEX (E2), режимы светодиода (U0 и U1) и головки (IU). Для АГАТа значения не имеют.
При отсутствии джамперов "LG" и "I" можно поискать нужный хвост между платой шпинделя и платой управления. Отпаять от платы управления и припаять на +5 в. Тогда будет и 300 об/м и канал чтения не сломается. С такой доработкой, выявлены случаи плохой стабильности записи. Чтение работает нормально.
На дисководах, не имеющих джампера Ready/Disk Change, точку B7 разъёма контроллера следует подключать на землю, вместо 34, имитируя этим постоянный сигнал Ready. С такой доработкой некорректно работают некоторые драйвера. Например, драйвер Бейсика может возвращать "ошибка обмена".
У некоторых дисководов, как 5.25 так и 3.5 дюймов, имеется особенность, мешающая работе некоторых агатовских драйверов. Дисковод не начинает передачу данных (блокирует канал чтения) на время разгона шпинделя и/или на время перемещения и успокоения (после перемещения) головки. Известно, что этим свойством обладают некоторые модели Teac (5.25), а также, например, Samsung SFD-321B /ke (3.5).
Наиболее стабильны в работе с такими флопиками драйвера, шедшие от новосибирской группы разработчиков, занимавшихся системой Школьница. Таким образом, проблеме не подвержены драйвера Диалогового Отладочного Комплекса (в ИКП называется "Ассемблер"), а также интерпретатора РАПИРа. Также не было замечено проблем с ИКП-шным "Копировщиком". Проблема имеет место в драйверах ДОС ИКП-Бейсика, вероятно также, она есть практически во всех версиях BTK и The BEST, поддерживающих дисководы 840 кб.
Проявление выглядит как нормальная загрузка системы и последующий отказ в работе с дисководом. Особенность проявления в ИКП-Бейсике: "ошибка ввода/вывода" возникает меньше чем за секунду от начала исполнения команды (т.е. не выполняется попыток рекалибровки головки или какого либо ожидания), дисковод включается на очень незначительное время. В BTK проблема до конца не изучена, возможно, она связана с допустимой скоростью позиционирования головок. Выглядит как ошибка ввода/вывода, проявляющаяся на случайных секторах с очень высокой вероятностью. Загрузка системы проходит успешно, однако даже только что считанные треки оказываются недоступны по команде "R". При тестировании диска ИКП-"Копировщиком" никаких сбоев не обнаруживается.
Лечение для ИКП-Бейсика, в простейшем случае, выглядит так: poke $b5d,40. Эту команду можно добавить в файл HELLO, она одинакова как для ИКП-7 так и для ИКП-9.
Однако, в некоторых случаях, сбой может произойти ещё до загрузки этого файла. Кроме того, этот патч нарушает контрольную сумму системы, поэтому команда FP будет возвращать предупреждение "СИСТЕМА ИСПОРЧЕНА".
Более аккуратным будет внесение патча непосредственно в сектора загрузки Бейсика (применительно к ИКП-9, очень распространённая версия "Фг. 00031-01 12 01"):
Сектор Смещение Исходное Требуемое Адрес значение значение в ОЗУ 13/09 5d 0a 40 0b5d 14/20 45 2d 63 df45 Номер сектора - десятичный, остальные числа - шестнадцатеричные.
Первый байт патча: задержка анализа данных до раскрутки шпинделя (если за это время хоть какие нибудь данные не начнут передаваться в контроллер, драйвер сочтёт, что у флопика сдох моторчик либо не вставлена дискета). Второй байт: элемент таблицы контрольных сумм, поправка на изменение первого байта. Для ИКП-7 интегрированного патча пока нет.
Изначальное значение задержки: 10. Если интересно, вы можете измерить необходимое значение следующей программой:
5 ONERR GOTO 100 10 L = 1:H = 255 15 N = (H - L) / 2 + L 17 N = INT (N) 20 POKE $B5D,N 25 PRINT "tUNE VALUE = "N 27 FOR G = 1 TO 7000: NEXT :REM Задержка для гарантированной остановки флопика 30 PRINT : PRINT CHR$ (4)"CATALOG" 40 PRINT "TEST OK" 50 H = N 60 GOTO 200 100 PRINT "TEST FAULT" 110 L = N 200 IF L < > H THEN 15 210 PRINT "RESULT = "N 220 STOP 230 END
Работы программы очень проста: она проверяет доступность дисковода, вызывая команду CATALOG и, в зависимости от результата (успех/ошибка чтения), вычисляет новое значение задержки используя метод двоичного поиска. Для корректной работы программы важно, чтобы диск был отформатирован стандартным образом, например, командой INIT ! Т.е. каталог должен начинаться и заканчиваться на треке 17. В противном случае драйверу будет необходимо двигать головку после предыдущей попытки чтения, за это время флопик может успеть выйти в нормальный режим работы, что приведёт к успешной попытке чтения независимо от заданной задержки.
Сигналы интеpфейса SA-450 pазpаботанного фиpмой "Shugart Associates" Контакт Hаименование I/O Hазначение сигнала сигнала Высокая плотность Двойная плотность 1 2 reduced write O yменьшить ток записи pезеpв [? должен быть 0 для 840к ?] 3 4 reserved O ! pезеpв загpyзить головкy [? накопитель используется - ни ? не анализируется ?] 5 6 drive select 3 O ! выбоp пpивода 3 выбоp пpивода 3 7 8 index I ! индекс индекс 9 10 drive select 0 O ! выбоp пpивода 0 выбоp пpивода 0 11 12 drive select 1 O ! выбоp пpивода 1 выбоp пpивода 1 13 14 drive select 2 O ! выбоp пpивода 2 выбоp пpивода 2 15 16 motor ON O ! включение мотоpа включение мотоpа 17 18 direction select O . напpавление шагов напpавление шагов 19 20 step O ! шаг шаг 21 22 write data O . записываемые данные записываемые данные 23 24 write gate O ! pазpешение записи pазpешение записи 25 26 track 0 I ! доpожка 0 доpожка 0 27 28 write protect I ! защита от записи защита от записи 29 30 read data I . читаемые данные читаемые данные 31 32 side 1 select O . выбоp головки выбоp головки 33 34 diskette change I ! смена дискеты готовность [? спаралелить с лапкой 4 ?] O - от компа I - от дисковода Пpимечания: 1. Нечетные контакты считать землей (общим) 2. Hога 2 может работать на вход и на выход; 2. 34 нога 'драйв готов' только у флопов на 360к и советских 53хх. У High Density FDD она называется Disk Change. 3. В АТ-системах не юзаются 4 флопа, зато есть раздельный пуск моторов. 34 сбрасывается в 0 если попытаться сменить дискету во время работы привода у HD [установка в 1 по Step и каким -то ещё сменам входных сигналов] и должна быть равна 0 (готовность) у DD
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *