PDA

Просмотр полной версии : Специалист_МХ: контроллер дисковода



fifan
30.01.2012, 17:23
Имеется контроллер дисковода для Специалиста_МХ. Не удаётся его запустить. ВГ93 вроде целая (менял две), синхронизация и питания подаются. Попробовал три разных дисковода. На одном из них светодиод раз моргает при подачи питания. Дисковод постоянно крутится, но запуска ПО (оно в Специалисте_МХ находится на дискете) не происходит. Посоветуйте что смотреть, где рыть.

http://s001.radikal.ru/i196/1201/cb/9ffe3b8fec2ft.jpg (http://radikal.ru/F/s001.radikal.ru/i196/1201/cb/9ffe3b8fec2f.jpg.html)

AlexFantasy
30.01.2012, 17:53
А ты не мог напутать с кварцем и перемычками XP3...XP5? Дискогрызы 5`25 или 3`5 :v2_conf2:?
Ну и как полаген что-бы лишних вопросов наверное не возникало - фото в студию!!!

fifan
30.01.2012, 18:21
1. Перемычки устанавливаю входную частоту 4/8/16 МГц, потом всё делится ИЕ5, на выходе частоты - 1 и 4 МГц.
2.Дисковод 3'5, ну нет у меня 5'25, что теперь не судьба контроллер дискогрыза запустить? Хотя Автор контроллера в статье про MX-DOS (http://www.spetsialist-mx.ru/Docs/MX_DOS.pdf) упоминал про 5'25, да и не было тогда 3'5. Фотки потом сделаю.

AlexFantasy
30.01.2012, 18:34
Дисковод 3'5, ну нет у меня 5'25, что теперь не судьба контроллер дискогрыза запустить?
Незнаю судьба или нет но, я как-то пытался к Корвету дисководы 3`5 подключать, но они просто отказались на нем работать, даже заклейка "окошек" на дисках не помогла!

Кстати ты "окошки" заклеивал??? И незабывай что PC-шные 3`5 по умолчанию как - "b"

fifan
30.01.2012, 19:03
Кстати ты "окошки" заклеивал???
Да.

И незабывай что PC-шные 3`5 по умолчанию как - "b"
Пробовал. Шлейф оканчивается прямым и перекрученным разъёмом, подключал оба. Имидж дискеты (odi) записывал установив на писи 720 кБ в биосе. Заклеил окошко и использовал DiskUtil из набора (http://www.spetsialist-mx.ru/Soft/odi_utils.rar).
Дело не в дискете, а в связке дисковод-контроллер, ПО -то не запускается.

AlexFantasy
30.01.2012, 19:10
Может поищи где нить 5`25, что-бы наверняка проверить!

fifan
30.01.2012, 19:34
Может поищи где нить 5`25, что-бы наверняка проверить!
Не судьба! Последний такой лет 5 назад разобрал и выкинул...

---------- Post added at 21:34 ---------- Previous post was at 21:15 ----------

Вот на Скорпионе у меня работали 3'5 дисководы буржуйские, а не только 5'25, как указано в инструкции от Скорпиона:

Данный разъем полностью совпадает с аналогичным разъемом дисковода (например 5305, 5311, 5313, 5323, ТЕАС, TANDON),
В Специалисте использовались судя по инструкции:

К двухсторонним, например относятся дисководы: CM5236, CM5237, CM5240,
CM5241, CM5601, CM5639, CM5640, CM5643, MC5305, MC5308, MC5311, EC5323, MF54D,
MF54S, MF58D, MF58S, ТЕАС FD 55FR, НГМД 6121A2 и другие.
К односторонним относятся дисководы: НГМД 5121A1, EC5088, EC5089, EC5640 и
другие.
Так что... Не знаю что и думать...

AlexFantasy
30.01.2012, 19:51
Вот на Скорпионе у меня работали 3'5 дисководы буржуйские, а не только 5'25, как указано в инструкции
На спектруме это на спектруме, там немного иначе сделано, у меня самого на всех Спектрачах есть и когда либо были работали и те и те дисководы.


В Специалисте использовались судя по инструкции...
Не по инструкции тоже интересно! Вот например я, к тому-же Корвету подключал Mitsumi на 1.2mb и все отлично работало!


Не знаю что и думать...
Может все-таки стоит сравнить хвостовые части схем КНМГД МХ2 и Корвета? Что-то непокидает меня предположение что из-за 3`5 неработает!

fifan
30.01.2012, 19:58
Может все-таки стоит сравнить хвостовые части схем КНМГД МХ2 и Корвета?
Схемы от Корвета у меня нет.

AlexFantasy
30.01.2012, 20:04
Вчера только закончил разводку под ЛУТ, но неудалось отутюжить. Неужели ошибки в схеме??? Короче наверное остается только ждать пока я свой не спаяю и не опробую 5`25 и 3`5!

fifan
30.01.2012, 20:09
Сравниваю со схемой Скорпиона. Выходные каскады подтянуты к питанию резисторами 10 и 1,5 к - стоит попробовать.

AlexFantasy
30.01.2012, 20:15
Сравниваю со схемой Скорпиона. Выходные каскады подтянуты к питанию резисторами 10 и 1,5 к - стоит попробовать.
На без рыбье и рак рыба - пробуй что нибудь!

fifan
31.01.2012, 20:45
Со мной связался Леонид Николаевич Афанасьев (автор Специалиста_МХ и контроллера дисковода) и сказал что в принципе эта схема с 3-х дюймовыми дисководами не заработает. Есть "другая", подождём, может оттыщится...

HardWareMan
01.02.2012, 10:22
Даже если заклеить окно "720К"?

fifan
01.02.2012, 21:41
Про заклееное окно дискеты я знаю со времён юзанья Скорпиона. Да всё в порядке должно быть после того как поставить всего одну перемычку. Подсказка Леонида Афанасьева:

У ВГ93 есть вывод 37-DDEW. На этот вход задается режим плотности записи:
0 - одинарная плотность записи для 5-ти дюймовых дисководов.
1 - двойная плотность записи для 3-х дюмовых дисководов.
Сейчас вывод 37 можно просто ПЕРЕключить на инверсный выход D3.2 или как-то
иначе подать "1".
Напоминаю что на новой собранной мной схеме с доработками от Шевцова элемент D3.2 это DD8.2:

http://s001.radikal.ru/i196/1201/cb/9ffe3b8fec2ft.jpg (http://radikal.ru/F/s001.radikal.ru/i196/1201/cb/9ffe3b8fec2f.jpg.html)

До выходных данную доработку я наверное не сделаю - времени нет. Так что ждите. Два дисковода точно пишущие/читающие в режиме 720 кБайт подготовил,
шлейф достал две системные МХ дискеты подготовил.

AlexFantasy
02.02.2012, 13:02
Блин.... Только платку вытравил и на тебе.... есть другая схема!

fifan
02.02.2012, 16:45
Блин.... Только платку вытравил и на тебе.... есть другая схема!
Один вывод меняется - нужно отсоединить 9 вывод DD8 от 37 вывода DD1. Последний припаять к 8 выводу DD8. Т.е. сменить прямой вывод триггера DD8 на инверсный.

AlexFantasy
02.02.2012, 17:13
Один вывод меняется - нужно отсоединить 9 вывод DD8 от 37 вывода DD1. Последний припаять к 8 выводу DD8. Т.е. сменить прямой вывод триггера DD8 на инверсный.
Я пока еще лужу дорожки. Так что ты скорее всего будешь первее :)

fifan
04.02.2012, 18:26
Опять неудача: манипуляции с входом 37 ВГ93 не к чему не привели. Я подавал на него и сигнал с вывода 8 DD8 и тупо садил на +5В. Реакция дисковода: при включении питания светодиод на дисководе не включается даже на полсекунды. После включения дисковод постоянно крутит дискету. В RAMFOSе по клавише F6 компьютер долго думает не переходит в MX-DOS (она записана на дискету), после минуты две высвечивается панель файлов пользовательского ROM-диска.

fifan
05.02.2012, 08:13
Начал копать схему на предмет ошибок и нашёл несколько существенных и не очень:
1. Сигналы D1 и D2 на входы 12 и 5 DD11 нужно поменять местами;
2. Резисторы R17 и R11 необходимо поменять местами;
3. Подключение к выводам 2 и 4 DD7 тоже нужно поменять местами;
4. Пока исключу из схемы резисторы R6, R8, R10 и R16 - может и не нужны потом будут.
Я сравниваю схему Афанасьева (http://www.spetsialist-mx.ru/schemes/FDDController1.png) и доработки собранные Шевцовым (http://www.spetsialist-mx.ru/schemes/fdd_upgrade.png).
А вот фотка собранного девайса. В разъём плату я вставил в упор, необходимо немного уменьшить разъём ламелей печатной платы дискогрыза.

http://s61.radikal.ru/i172/1202/ea/ddbdc43e4868t.jpg (http://radikal.ru/F/s61.radikal.ru/i172/1202/ea/ddbdc43e4868.jpg.html)

fifan
05.02.2012, 10:16
Тут вот решил посмотреть распиновку (http://pinouts.ru/Storage/InternalDisk_pinout.shtml) разъёма 3-х дюймового дисковода:

10 /MOTEA --> Motor Enable A
12 /DRVSB --> Drive Sel B
14 /DRVSA --> Drive Sel A
16 /MOTEB --> Motor Enable B
А у меня на контроллере дисквода так:

10 DS0
12 DS1
14 NC
16 MOTOR ON
Как-то не так. Вот почему постоянно крутится двигатель дисковода А. Паяю так:

Сигнал Контакт К34
DS0 --> 14
DS1 --> 12
MOTOR ON --> 10, 16
Может поможет.

fifan
06.02.2012, 11:07
Схему не повторяйте - не работоспособна она на 3-х дюймовых дисководах - есть новая. Я сначала опробую, потом выложу.

AlexFantasy
06.02.2012, 17:26
Схему не повторяйте - не работоспособна она на 3-х дюймовых дисководах - есть новая. Я сначала опробую, потом выложу.
Ок! Но я уже повторил! Контроллер я уже практически собрал. Осталось только впаять несколько резисторов и кварц, вычистить от канифоли и проверить. Сегодня надеюсь опробую:rolleyes:
Лучше расскажи как и в чём делать образ системной дискеты(желательно под виндой),после чего - какие мне действия нужно сделать после включения компьютера, что-бы попробовать загрузится или хотя-бы форматнуться?????

fifan
06.02.2012, 17:52
Ок! Но я уже повторил!
Он наверное будет юзать только 5-ти дюймовые. Мне Афанасьев дал универсальную - и 3-х и 5-ти дюймовые дисководы поддерживает. Схему сначала сам соберу, автор сказал пока не давать не опробованную. Скажу сразу что процентов 30 не та.

как и в чём делать образ системной дискеты(желательно под виндой),после чего - какие мне действия нужно сделать после включения компьютера, что-бы попробовать загрузится или хотя-бы форматнуться?????
В архиве (http://www.spetsialist-mx.ru/Soft/odi_utils.rar) есть утилита DiskUtil, которая и форматирует и пишит и читает в образах odi. Но сначала сам дисковод нужно перевести в 720. У меня в биосе писишки переключается. Еще нужно заклеить окно на дискете расположенное противоположно окну защиты записи (это наверное для 3-х дюймовых дискет). Афанасьев настоятельно рекомендовал запустить в самом Специалисте прогу MX_DOS_1.EXE - вроде так пишется - форматирование дискеты и проверка контроллера дисковода.

Если ничего не получится, то при загрузки RAMFOS (по директиве X в прошивке от HardWareMan'а) нужно нажать F6. Если дискогрыз в порядке должно с дискеты загрузится MX-DOS. Если что не так высветится ROM-диск пользователя.

AlexFantasy
06.02.2012, 18:15
Он наверное будет юзать только 5-ти дюймовые.
Как предполагал с самого начала. Но это не-так страшно!


Мне Афанасьев дал универсальную - и 3-х и 5-ти дюймовые дисководы поддерживает.
Лучше-бы он зная это, дал тебе с самого начала другую


В архиве (http://www.spetsialist-mx.ru/Soft/odi_utils.rar) есть утилита DiskUtil, которая и форматирует и пишит и читает в образах odi. Но сначала сам дисковод нужно перевести в 720. У меня в биосе писишки переключается. Еще нужно заклеить окно на дискете расположенное противоположно окну защиты записи (это наверное для 3-х дюймовых дискет).
Ну это я понял. Не понял только то что делать когда Спец включу(куда заходить, что нажимать)??? Я то сопственно на Специалисте то вперые!

fifan
06.02.2012, 19:20
Ну это я понял. Не понял только то что делать когда Спец включу(куда заходить, что нажимать)??? Я то сопственно на Специалисте то вперые!
Если ничего не получится, то при загрузки RAMFOS (по директиве X в прошивке от HardWareMan'а) нужно нажать F6. Если дискогрыз в порядке должно с дискеты загрузится MX-DOS и высветятся файлы с двумя панелями. Если что не так высветится ROM-диск пользователя на одной панели.

fifan
11.02.2012, 14:02
Как предполагал с самого начала. Но это не-так страшно!
Ну как успехи?
У меня никак. Вроде спаял всё по схеме. Всё тоже самое. Я применил в схеме буферные элементы ЛН3 и ЛП9 - коих нет не в одной схеме контроллера дисковода для Специалиста_МХ. Возможно я какой-нибудь из элементов этих микрух спалил, т.к. сейчас наблюдается постоянное кручение дискеты моторчиком в дисководе.
На всякий случай я изменил прошивку от HardWareManа. А именно изменил состав программ в ROM-диске пользователя. Сейчас состав программ таков:
1. ColorTst.COM - выводит таблицы знакогенератор и цветов;
2. Test-M.COM - тест Рюмика
3. Test_MX.COM - тест памяти Специалиста_МХ до 256 кБайт;
4. RAM Test.COM - тест памяти Специалиста_МХ до 512 кБайт от Fifanа :v2_dizzy_punk:;
5. MX_DOS_4.COM - программа форматирования дискет.

fifan
12.02.2012, 09:46
Обдумываю слова Леонида Николаевича Афанасьева: "раздельные кварцевые генераторы не допустимы". Так что нужно выдумывать как из поданной на разъём "MX-BUS" частоты 10 МГц делать 1 и 4 МГц, т.е. внутренний кварцевый генератор нафиг. Идеальный способ сделать схему с коэффициентом деления 2,5.

AlexFantasy
14.02.2012, 19:53
Обдумываю слова Леонида Николаевича Афанасьева: "раздельные кварцевые генераторы не допустимы". Так что нужно выдумывать как из поданной на разъём "MX-BUS" частоты 10 МГц делать 1 и 4 МГц, т.е. внутренний кварцевый генератор нафиг. Идеальный способ сделать схему с коэффициентом деления 2,5. А вот это как-раз будет более разумное решение! Главное сильно схему не усложнять

---------- Post added at 18:44 ---------- Previous post was at 18:36 ----------


Ну как успехи?
Да пока никак! Временно пришлось сьехать на месяц, чуток позже отпишусь!

---------- Post added at 18:53 ---------- Previous post was at 18:44 ----------


Возможно я какой-нибудь из элементов этих микрух спалил, т.к. сейчас наблюдается постоянное кручение дискеты моторчиком в дисководе.
Если не уверен в целостности буферных элементов, то тупо сравни уровни на входах и выходах без подключенного дискогрыза(незабывая отпаивать подтягивающие резисторы).

fifan
15.02.2012, 20:00
Идеальный способ сделать схему с коэффициентом деления 2,5.
Хотел сделать на плисине - прокол, получаются не равные полупериоды. (http://zx.pk.ru/showthread.php?t=9342&page=100)

Эксперименты продолжатся на выходные. Хочу на монтажке собрать сначала умножитель частоты 10 МГц в 2 раза на ЛП5. Затем буду делить на 5 при помощи счётчика ИЕ5. Результатом этого будет малокровное получение частот в 1 и 4 МГц из 10 МГц, последняя подаётся на системный разъём MX-BUS. Для получения 1 МГц нужен ещё один счётчик. Если всё выгорит, то будет на плате пара ЛП5+ИЕ19. ИЕ19 - это сдвоенный счётчик.
Все эти махинации нужны, чтобы использовать синхронизацию напрямую с компьютера, т. к. внутренний генератор не годится для данной схемы контроллера дисковода.

AlexFantasy
16.02.2012, 00:08
Хотел сделать на плисине
Я тя умоляю...! Давай может как нибудь может без участия плисин :confused:, в столь эксклюзивно-дискретном проекте - ась :v2_conf2:????

Vladimir_S
03.07.2013, 17:49
fifan, Ну и чем закончилась возня с контроллером?

fifan
03.07.2013, 19:54
Боюсь сглазить. Спаял уже третью версию. Из микросхем - 2 логические/буферы на разъём дисковода, ВГ93, ПЛИС. Уже прошил ПЛИС. Скоро буду питание подавать и пытаться запустить. Схема (http://www.spetsialist-mx.ru/schemes/FDDController3.png), я уже писал, вроде никем, по заверению Афанасьева (автора Специалиста_МХ) не собиралась. Я первопроходец.

Vladimir_S
03.07.2013, 20:55
Мне немножко осталось допаять Специалист-МХ. Посмотрим что это за зверь такой.И дисковод бы кстати пришелся.

fifan
03.07.2013, 21:11
Из схемы видно, что предполагалось подключать как 3 так и 5 дюймовые дисководы. Но я буду юзать только 3-х дюймовые.

Vladimir_S
03.07.2013, 21:14
Из микросхем - 2 логические/буферы на разъём дисковода, ВГ93, ПЛИС.
А ПЛИС какая?

fifan
04.07.2013, 07:34
А ПЛИС какая?
EPM7032SLC44

fifan
18.08.2013, 16:46
Сейчас продолжил копаться с контроллером дисковода. Воткнул последнего в разъём MX-BUS Специалиста_МХ2. Подключил через шлейф дисковод, подал на него питание. Включил комп. Обратил внимание, что светодиод дисковода (я напоминаю что будут юзаться только 3-х дюймовые) светиться сразу и крутиться всегда моторчик дисковода. MX-DOS не запускается, а по F6 из RAMFOSа сразу вываливается на ROM-диск.
Посмотрел схему и сразу нашёл ошибку. Почему-то сигнал на 16 разъём дисковода я инвертировал через ЛН1. Буду пока инвертировать в плисине, чтоб инвертор не убирать. Смотрю дальше схему.[COLOR="Silver"]

По чьей-то подсказке с этого форума я поставил логические элементы ЛП9 и ЛН1 на входы/выходы на/с дисковода. Нашлась вторая ошибка. Поставил инверторы на выводы 10 и 12 дисковода, хотя они не нужны были. Ладно оставлю два инвертора ЛН1 подключёнными к плисине, а в ней инвертирую выходы с триггера. Чтоб было понятно о какой схеме я иду речь привожу ещё раз её ссылку (http://www.spetsialist-mx.ru/schemes/FDDController3.png). Всю логику что Вы там видите я спрятал в плисину.
Кстати, упражнение по сообразительности. Мы юзаем А и В дисководы только 3,5'', соответственно П1 в положении 0. Каким элементом заменить связку ЛР11+ D7? Кто что думает?

Vladimir_S
18.08.2013, 17:00
Каким элементом заменить связку ЛР11+ D7? Кто что думает?
А вот так нельзя?

Vladimir_S
18.08.2013, 17:10
Кстати, а верхний 2-2И-2ИЛИ-НЕ нельзя заменить на 2И-НЕ?

fifan
18.08.2013, 17:10
А вот так нельзя?
Просто перерисована схема. По ней: элементы NO2 превращаются просто в инверторы. AND3 будет буфером. Вся схема сводится банально в 2И, т.е. 11 = 22 И 8.

Vladimir_S
18.08.2013, 17:16
Вся схема сводится банально в 2И, т.е. 11 = 22 И 8.
Нарисуешь?

fifan
18.08.2013, 17:19
Внутренности плисины проверил. Найденные три ошибки я описал. Проверяю связи ВГ93 с разъёмом дисковода, шину данных, адреса, управление ВГ93 и т.д. Сейчас перекомпилирую проект, завтра перешью плисину и снова запускать...

---------- Post added at 19:19 ---------- Previous post was at 19:18 ----------


Нарисуешь? Сейчас, на твоём рисунке.

fifan
18.08.2013, 17:26
Вот, как-то так.

Vladimir_S
18.08.2013, 17:35
Поторопился и не обратил внимания на

fifan
18.08.2013, 17:40
Автор (возможно и сам Афанасьев - автор Специалиста_МХ) предполагал сделать схему универсальной как для 5 так и для 3-х дюймовых дисководов. Время было перехода от одних к другим. Сейчас остались только 3-х дюймовые (и то скоро исчезнут).

Vladimir_S
18.08.2013, 17:45
Автор (возможно и сам Афанасьев - автор Специалиста_МХ) предполагал сделать схему универсальной как для 5 так и для 3-х дюймовых дисководов. Время было перехода от одних к другим. Сейчас остались только 3-х дюймовые (и то скоро исчезнут).
По переключателю понятно.Потому ЛРку и применил.

---------- Post added at 17:45 ---------- Previous post was at 17:42 ----------

fifan, А может для повторения оставить схему универсальной?

fifan
18.08.2013, 17:55
Я об этом подумаю. Есть несколько не задействованных выводов в плисине. Но разъём для 5-ти дюймовых был выполнен в виде ножей на плате, а я старался минимизировать печатку. У меня сейчас корпус под Специалист_МХ2 не высокий, и сделанная мною плата вставленная в разъём по высоте не проходит - нужно и существующую уменьшать.

Vladimir_S
18.08.2013, 17:59
разъём для 5-ти дюймовых был выполнен в виде ножей
Дак это на шлейфе можно любой разъем воткнуть.

fifan
18.08.2013, 18:59
Сейчас посмотрел проект. На дополнение несколькими логическими элементами ёмкости EPM7032SLC44 может не хватить. А вот более вместительная EPM7064SLC44 стоит в 1,5 раза больше.

Vladimir_S
18.08.2013, 19:12
На дополнение несколькими логическими элементами ёмкости EPM7032SLC44 может не хватить.
Попробуй, ну а если нет, то можно несколько вариантов замутить.

fifan
24.08.2013, 17:38
Перепрошил. Процесс не нормальной работы виден из видео. RAMFOS не видет контроллер дисковода. Это наблюдается в переходе по F6 не в MX-DOS, а в ROM-диск. В нём я запускаю MX-DOS4 - программа для форматирования дискет. В ней я сначала нажимаю F1, потом F4. Из видео видно что при включении компьютера сразу начинает крутиться диск дисковода В. По F4 в MX-DOS он останавливается, запускается диск дисковода А. Кроме видео привожу внутренности ПЛИС и схему контроллера дисковода. Может кто найдёт ошибку. Сообщите.

http://youtu.be/oTJVOQpc9ds

fifan
24.08.2013, 20:34
Нашёл одну ошибку в плисине. В библиотечном элементе 7495 (ИР1) для Quartus'а стоят лишние инверторы на входах C1 и С2. Посмотрел даташит на 7495 и советский справочник на ИР1 - в них нигде нет этих инверторов. Попробую исправить. Но сначала посмотрю как у меня делится частота в плисине. Должно быть так: 40 МГц/5=8 МГц, 8 МГц/2=4 МГц и наконец 4/2/2=1 МГц. От каждой частоты я сделал выводы.

HardWareMan
24.08.2013, 20:42
Инверсия тактовых входов могла быть добавлена для выравнивания фазы. Шило говорит, что ИР1 использует отрицательный перепад (1 => 0), а триггер в плисинах использует положительный перепад (0 => 1). Учитывая, что у тебя там вообще голая тактовая, то это как-то монопенисуально. К тому же, это предкомпенсация для потока записи. А у тебя даже не читается. Ты с петлей HOLD не прощелкал? У Спеца дисковод требует использования сигнала HOLD процессора.

fifan
24.08.2013, 22:00
Ты с петлей HOLD не прощелкал? У Спеца дисковод требует использования сигнала HOLD процессора.
Вот нарисовал. Джамперы XP3 поставил в положение 2-3 и на Специалисте_МХ2 XP4 разомкнул. Использую ВМ80. Вроде правильно. Кстати XP3 в положении 1-2 комп окрашивает экран в мелкую мозаику при включении.

fifan
25.08.2013, 16:45
Пипец! Я оказывается подавал внешнюю частоту в 10 МГц! Не посмотрел на схему, что на разъём MX-BUS подаётся 10 МГц. Я думал, что 40 МГц. На это и рассчитана схема. Анализатор спектра использую первый раз. Купил здесь (http://radiokot.ru/circuit/digital/pcmod/44/). Разобрался в программе и решил проверить частоту и не та. На рисунке сверху вниз должно быть: 40 МГц, 4 МГц, 2 МГц, 1 МГц, /U3, /U5, /WR и DS1. Завтра достану плату Специалиста_МХ2 из корпуса и доведу нужные 40 МГц к контакту 9 разъёма MX-BUS. Кстати, обратите внимание какая "неправильная" приходит частота в 10 МГц.

HardWareMan
26.08.2013, 11:23
Это не анализатор спектра. Это логический анализатор. И, учитывая что он пашет на 24МГц, он твои 40 никогда не увидит (он даже на 10МГц видит "алиаз"). Далее, 40МГц идет. Я прозвонил плату и вышел на пин, по счету 5й в ряду с первым (наверное и есть 9й, если считать что один ряд четный а второй нет). Идет, правда, напрямую с кварца, но если остальная работа компьютера не нарушается, тогда ничего страшного в этом нет, но я бы буферизировал. И теперь самое важное:
1. У меня есть Logic-U PLUS (http://6-lab.com/ru/logicuplus.html), его предел 24МГц сэмплирования на 8 каналов (обошелся в 100 баксов):
http://savepic.su/3120524.jpg
2. У меня есть Logic Analyzer (http://www.aliexpress.com/item/free-shipping-New-arrival-Powerful-100MHz-16-channels-LWLA1016-Logic-Analyzer-Timing-State-Logic-Analyzer-16/632082674.html), его предел 100МГц на 16 каналов (55 баксов):
http://savepic.su/3125647.jpg

fifan
26.08.2013, 17:43
Далее, 40МГц идет. Я прозвонил плату и вышел на пин, по счету 5й в ряду с первым (наверное и есть 9й, если считать что один ряд четный а второй нет). Идет, правда, напрямую с кварца, но если остальная работа компьютера не нарушается, тогда ничего страшного в этом нет, но я бы буферизировал.

Не должно быть там 40 МГц. Я вроде во всех трёх платах подводил 10 МГц к 9 пину разъёмов. Провёл у себя к данному контакту 40 МГц экранированным проводом, пока ещё не включал.

---------- Post added at 19:43 ---------- Previous post was at 18:35 ----------

Хотя нет. Посмотрел сейчас сканы печатной платы от perestronin'а действительно на 9 пин разъёмов приходит 40 МГц. Хотя в схеме не так. Похоже я perestronin'у передал гербер-файлы уже с переделанным сигналом 40 МГц. И не отразил в схеме. Сейчас всё проверю и исправлю схему последней версии платы.

fifan
31.08.2013, 15:57
После очередных сидений за Специалистом_МХ2. Конкретнее занимался я контроллером дисковода. Ничего не хорошего сегодняшний вечер мне не дал. Обо всём по порядку.
Первое. Прокинул я 40 МГц экранированным проводом к разъёму MX-BUS. Включил компьютер и ситуация не поменялась. Когда-то мне Афанасьев писал, что если я не подам частоту напрямую с генератора, конкретнее 4 и 1 МГц, которые нужны для контроллера дисковода, то никакой работы от контроллера я не дождусь. Так и получилось. Хоть я и поделили 40 до 4 и 1 МГц (выходят, проверил частотомером), но этого не достаточно для запуска. Фазы не ты, наверное сдвинуты выходные частоты тоносительно входной (задержка в ПЛИС).
Из описания MX-DOS Афанасьевым:

В нашем контроллере в качестве аппаратной связующей цепи между БИС и МП использован вход «Захват» МП. Этот вход имеет меньший приоритет прерывания работы МП, а именно только после полного завершения выполнения команды. В этом случае подача (снятие) фронта сигнала на вход «Захват» такого же важного значения не имеет. Минимальным условием синхронизации здесь является подача тактовых частот для БИС и МП от одного источника.
Второе. Проходят команды с дополнительных портов контроллера дисковода, в частности смена дисковода. Сужу по переключению дисководов (вращение одного прекращается, второго включается) при помощи программы MXDOS4 (программа форматирования под RAMFOSом) и моего SpetsCommanderа (при выборе дисковода А или В).
Значит не работает тракт компьютер <-> ВГ93. По крайней мере на шине данных ничего нет. Посему эксперименты с контроллером дисковода, по крайней мере под Специалистом_МХ2, я прекращаю, не считаю нужным.

fifan
07.09.2013, 18:58
Просмотрев исходники модуля расширения для Робика (http://www.zx.pk.ru/showthread.php?t=19862&highlight=%D0%EE%E1%E8%EA) решил переписать исходники контроллера дисковода на vhdl. Вроде получилось, да и заняло по сравнению со схемным вводом меньше ячеек (24 из 32). Даже удалось впихнуть элементы выбора 3 и 5-дюймовых дисководов. Осталось 4 незанятых пина. Правда в схемном вводе стоят ещё делители 40/8/4/1 МГц. Оставил счётчики 8/4/1 МГц. Соответственно работать новая прошивка будет только под Специалистом_МХ.

Байкал
18.11.2013, 17:02
Схема, я уже писал, вроде никем, по заверению Афанасьева (автора Специалиста_МХ) не собиралась. Я первопроходец.
А нельзя ли печатку этой схемы выложить?Хочу попробовать собрать.

fifan
18.11.2013, 19:30
Господа, а у вас есть собранный Специалист_МХ? МХ2 не пойдёт, я пробовал. Ну нет там 4 и менее кратных МГц. А без них контроллер дисковода не запустится, проверял.

fifan
18.11.2013, 20:10
Нет никакое деление не прокатит. Всё уже мною испробовано. И где это в МХ2 16 МГц? Я делал симуляцию в ПЛИС, выделял 4 МГц из 40. (http://zx-pk.ru/showpost.php?p=623158&postcount=56) Частота получилась, но сдвинутая. Это меня не устраивает.

fifan
19.11.2013, 05:15
Я уже писал, что необходимо синхронизация от самого компьютера. Да и генератора в контроллере дисковода (http://www.spetsialist-mx.ru/index22.html) нет.

Байкал
19.11.2013, 12:43
Господа, а у вас есть собранный Специалист_МХ?
У меня есть 2 "Специалиста" Волкова ,1 я переделал по пакету программ RAMFOS
в "Специалист МХ".Собрал контроллер дисковода MX_DOS для "Специалиста МХ",
работает только с загруженной MX_DOS с магнитофона,с кнопки F6 нет.В ПК Волкова
есть 1 и 4 Мгц.Сейчас хочу переделать контроллер дисковода по универсальной схеме
Афанасьеева,о которой шла речь выше,мне нужна схема печатной платы контроллера.Скинь-те,если есть.Спасибо.

fifan
19.11.2013, 17:41
1 я переделал по пакету программ RAMFOS
в "Специалист МХ".Собрал контроллер дисковода MX_DOS для "Специалиста МХ", работает только с загруженной MX_DOS с магнитофона,с кнопки F6 нет. В ПК Волкова есть 1 и 4 Мгц.
Прекрасно! Только не пойму почему у тебя нет перехода MX-DOS по F6?! Так и нужно, как советовал мне сам Афанасьев, брать частоты с самой первой ИЕ7.

Сейчас хочу переделать контроллер дисковода по универсальной схеме Афанасьеева,о которой шла речь выше,мне нужна схема печатной платы контроллера.Скинь-те,если есть.Спасибо.
На дискретных ИМС я собирал схему на монтажке:
http://www.spetsialist-mx.ru/schemes/FDDController3.png
Но она у меня не заработала на МХ2. Последняя моя разработка - это маленькая печатка на ПЛИС, ВГ93 и двух входных/выходных ИМС буферов сигналов дисковода. ЛР11 (вернее её схемотехника в плисине) заточена под использование только 3-х дюймовых дисководов. Вот тут из видео (http://youtu.be/oTJVOQpc9ds) видна плата, вставленная в MX-BUS разъём МХ2. Но лучше её не повторять из-за штырьков под системный разъём MX-BUS. Если возникнет потребность именно в моей схеме на ПЛИС, то я могу развести печатку на новый манер. Я бы ещё добавил защиту по питанию ВГ93. Для себя я точно буду делать. В моей задумке собрать последний из Специалистов, под рабочим названием Специалист_МХ_PLM *LAST*.
Могу открыть новую тему на обсуждение схемотехники данного компьютера. А схема контроллера дисковода вот (http://www.spetsialist-mx.ru/for_out/FDDControllerSpetsMX.rar).

---------- Post added at 19:41 ---------- Previous post was at 18:30 ----------

Я думаю народ больше интересует контроллер дисковода только на обычных ИМС?

Байкал
19.11.2013, 18:36
Могу открыть новую тему на обсуждение схемотехники данного компьютера. А схема контроллера дисковода вот.
Спасибо,разводку я сделаю сам.Я хочу запустить "Специалиста_МХ" с контроллером
MX_DOS_1 Л. Афанасьева.

fifan
19.11.2013, 18:59
А почему именно первой версии схему? Вроде вторая (последняя) более продумана, в неё внесены некоторые доработки от других авторов. Афанасьев лишь нарисовал схему в целом. Да ещё тебе нужно разобраться почему у тебя не запускается MX-DOS по F6. Это важно.

Байкал
20.11.2013, 14:58
А почему именно первой версии схему? Вроде вторая (последняя) более продумана, в неё внесены некоторые доработки от других авторов. Афанасьев лишь нарисовал схему в целом. Да ещё тебе нужно разобраться почему у тебя не запускается MX-DOS по F6. Это важно.
Я попробую посмотреть осциллограммы сигналов 1 и 4 Мгц по величине и форме
и соберу по этой схеме контроллер дисковода на 5.25 и 3.5 .А еще надо посмотреть селектор адресов,может он глючит.

HardWareMan
20.11.2013, 15:16
Я предлагаю тем, у кого есть МХ с флоповодом (у меня, к сожалению, нет, и если МХ я могу воссоздать полностью, то флоповод не смогу по причине отсутствия ВГ93) подсмотреть фазы частот контроллера относительно фаз ВМ80 с привязкой к несущей в 8МГц. Хотя, частично это можно выяснить по схеме.

Байкал
14.01.2014, 18:42
Да ещё тебе нужно разобраться почему у тебя не запускается MX-DOS по F6.
На моем Специалисте МХ плата самодельная,я ее сделал в 1992 году и "металлизацию" проходных отверстий делал тонкой проволокой припаивая с обеих сторон.Короче,пропаял,проч� �стил дорожки и ПК заработал устойчиво.Подключил
контроллер дисковода(первый вариант, пришлось 37 вывод ВГ93 соединить с общ.проводом) дисковод 5.25 заработал от F6.Заработали Редактор и Отладчик от F5 и F7,все ОК! Собрал второй вариант контроллера дисковода(универсальный) 5.25
работает,а 3.5 не работает,не форматирует дискету.

fifan
14.01.2014, 19:30
Собрал второй вариант контроллера дисковода(универсальный) 5.25 работает,а 3.5 не работает,не форматирует дискету.
А в остальном (чтение/запись) на 3,5 как работает?

Байкал
15.01.2014, 09:13
А в остальном (чтение/запись) на 3,5 как работает?
Нет ни чего не работает.

fifan
15.01.2014, 11:29
Нет ни чего не работает.
А схема (http://zx-pk.ru/showpost.php?p=645482&postcount=66) собрана полностью? ЛР11 присутствует?

DATAsoft
15.01.2014, 16:28
Может при использовании 3,5 дисковода проблема как в Поиске? Попробуйте замкнуть 34 ногу на землю.

Байкал
26.02.2014, 14:10
А схема собрана полностью? ЛР11 присутствует?
Всем привет,схема собрана на отдельной плате и все присутствует,в том числе и ЛР11.

---------- Post added at 14:10 ---------- Previous post was at 14:06 ----------


Может при использовании 3,5 дисковода проблема как в Поиске? Попробуйте замкнуть 34 ногу на землю.
Спасибо,попробую.

fifan
26.02.2014, 17:02
Вообще-то эту схему, по заверению Афанасьева, автора Специалиста_МХ, никто не собирал, может она с самого начала не работоспособная.

Байкал
02.03.2014, 09:46
Может при использовании 3,5 дисковода проблема как в Поиске? Попробуйте замкнуть 34 ногу на землю.
Попробовал,ни чего не изменилось

fifan
03.03.2014, 05:37
Я как понял не работает только форматирование на дискетах 3.5. Не так ли? Если да, тогда вопрос какой программой пытаетесь форматировать?

fifan
12.03.2014, 20:37
Байкал, заработал ли контроллер дисковода? Очень меня интересует этот вопрос. Вот здесь (http://youtu.be/oTJVOQpc9ds) я пытался запускать свой. По крайней мере я мог управлять переключением дисководов.

Байкал
16.03.2014, 09:12
Байкал, заработал ли контроллер дисковода?

Посмотрел видео:так я запускал дисковод,когда не работал на МХ-е RAMFOS,сейчас
я запускаю от F6.Контроллер универсальный работает только с 5.25" дисководом.При
форматировании дискеты,записывается операционная система MX_DOS,которая потом
работает от F6.У меня дисковод 5.25" работает с MX_DOS отлично.

fifan
16.03.2014, 19:29
Понятно. Жаль что 3 дюймовые не работают. А вот Vinru откопал код запуска проверки контроллера/дисковода:


Это код запуска MXDOS решает, что подключен контроллер дисковода, но загрузится с него не может.
Если в порту 0FFE8h седьмой бит будет нулевым, значит контроллер дисковода присутствует.
А если нет дисковода и нет подтяжки, то процессор 8080 оттуда будет читать 82h/83h, что то же подходит. Видимо процессор Z80 читает другой байт, в котором 7 ой бит нулевой.
Подтяжка должна решить проблему.

Code:

0037+ F870 ; Ожидание готовности и проверка наличия дисковода
0038+ F870 3A E8 FF loadMxDos_1: lda IO_FLOPPY_CMD ; Если нет дисковода читается слово состояния процессора 82h/83h
0039+ F873 17 ral
0040+ F874 D8 rc ; Если седьмой бит не нулевой, значит дисковода нет
0041+ F875 1F rar
0042+ F876 1F rar ; Если нулевой бит не ноль, значит дисковод не готов.
0043+ F877 D2 70 F8 jnc loadMxDos_1

Т.е. можно попробовать шину данных, вернее биты 0 и 7 через резисторы посадить на землю. Может это как-то поможет?

Байкал
17.03.2014, 11:52
Т.е. можно попробовать шину данных, вернее биты 0 и 7 через резисторы посадить на землю. Может это как-то поможет?
Спасибо,попробую,я ПК уже положил на полку.

Байкал
18.03.2014, 14:51
Подтяжка должна решить проблему.
Попробовал посадить на общий провод биты 0 и 7 шины данных,результат тот-же.
Подключал дисковод 3.5" с прямым и перекрученным шлейфами,загружал MX_DOS v.2.12 ,при попытке форматировать дискету,пишет 00 в начале первой дорожки ,запускается мотор и зависает.Выйти из этого состояния можно только,нажав "сброс".При нажатии F6
мотор запускается и зависает(при не форматированной дискете).Может быть нужна другая версия MX_DOS ?

---------- Post added at 13:51 ---------- Previous post was at 13:45 ----------

P.S. ... на шину данных через резисторы по 2к ...

fifan
18.03.2014, 21:46
Жаль. Что не получается. Другой версией MX_DOS можно поробовать, последняя четвёртая. Взять можно здесь (http://www.spetsialist-mx.ru/Systems/bst_mx0.rar). Только как её в память записать - поставлялась на дискетах. Можно в ROM-диск пользователя записать, поменяв всю прошивку Специалиста_МХ. Этой я пользовался при тестировании снятом на видео из верхнего поста. По крайней мере выбор дисководов шёл.
Вот у меня 5 -дюймовых дисководов нет, только 3 - дюймовые.

Байкал
19.03.2014, 08:58
Только как её в память записать - поставлялась на дискетах.
Спасибо,а нельзя ее(MX_DOS v.3.6 и v.4 они на диске есть)в формате Wave выложить на файлообменник?Я ее через RAMFOS загружу и запишу на 5.25" дискету.

fifan
19.03.2014, 10:05
Спасибо,а нельзя ее(MX_DOS v.3.6 и v.4 они на диске есть)в формате Wave выложить на файлообменник?Я ее через RAMFOS загружу и запишу на 5.25" дискету.
Попробую.

Может мы говорим о разных программах? MX-DOS записывался на каждую дискету и находился в начальных секторах дискеты. Проверка на наличие контроллера и дискеты зашита в RAMFOS и выполняется при нажатии клавиши F6. Текст проверки я выкладывал выше. Как только проверка проходит удачно MX-DOS грузится с дискеты в память компьютера и оттудова запускается. А вот сама программа MX_DOS_4.EXE (я предлагал её в прошивке и на дискете) наверное должна запускаться прямо с ROM-диска или с дискеты и она служит только для форматирования дискеты с записью MX-DOS на дискету. Вот скриншоты из эмулятора:
1. Внешний вид программ ROM-диска
2. Запуск MX_DOS_4.EXE, внешний вид программы
3. Нет дискеты/контроллера - выдача ошибки по F1
4. Есть дискета - предлагает её отформатировать.

fifan
19.03.2014, 13:59
Переконвертировал файл. Процесс выглядит так:
1. При помощи программы Lodi Афанасьева (http://www.spetsialist-mx.ru/Soft/Lodi_3.rar) (автора Специалиста_МХ) взял с файла (http://www.spetsialist-mx.ru/Systems/bst_mx0.rar) коды программы. Выходной файл: rks.
2. Утилитой rks2wav.exe (http://www.spetsialist-mx.ru/Soft/spec.rar) Shoorick'а конвертировал в wav.

Байкал
19.03.2014, 15:39
Большое спасибо!

fifan
23.03.2014, 15:20
Ещё раз просмотрев последнюю схему контроллера дисковода и убедился что вся часть схемы, отвечающая за переключения типов дисководов (3 или 5-то дюймовые) свободится к банальному логическому элементу И между сигналами 22 и 8. Выход с инверсией или без подаётся на 23 и 32 выводы ВГ93. Я говорю про D11, элемент D7, R1 и П1. И если эта часть схемы неверно собрана, то и запуск ВГ93 не произойдёт, т.к. нет сигналов готовности головки/дисковода.

Байкал
24.03.2014, 10:41
Пробовал загрузить MX_DOS_4 в RAMFOS,пишет "ошибка",через Отладчик тоже
"ошибка",поверяю директивой D,L ни чего в памяти нет.Пробовал монитором"Magik"
адаптированным под RAMFOS тоже не загружается,непонятно какой формат.
MX_DOS_4 взял из вложения файл Wav,загружал из ПК через магнитофонный вход.

fifan
24.03.2014, 20:03
Я ту просмотрел документацию на ВГ93, распировку дисковода и нашёл не соответствие сигналов. Всё по порядку. Вот схема.
Сигнал готовности ("1") на ВГ93 не появится никогда, если используется вместо ЛР11 элемент 2И (как на этой схеме). Дисковод на штырьке 34 должен выставить "0", когда он готов. Соответственно ВГ93 не запуститься. Нужно выход этого элемента инвертировать. Логика работы ЛР11 будет справедлива, если использовать для работы одинаковых дисководов (3,5"+3,5" или 5,25"+5,25") только перемычку в положении 0. Таким образом вся схема ЛР11 заменяется на один элемент 2И/НЕ. Байкал, попробуй один элемент ЛА3 подключить так: входы на сигналы 8 и 22, выход на выводы 23 и 32 ВГ93.

fifan
24.03.2014, 20:12
Копнув документацию на ВГ93 и просмотрев листинг работы MX-DOS я пришёл к выводу, что не так уж трудно эмулировать всю схему контроллера дисковода без применения ВГ93, да и дисковода вообще на одной ПЛИС + SPI память. Образ дискеты (файл odi) можно будет грузить с SD карты прямо в память SPI и работать с ним. Причем исходник (http://zx-pk.ru/showpost.php?p=692476&postcount=31) можно упростить значительно если только работать с ограниченными командами, которые посылает MX-DOS в контроллер.

Байкал
25.03.2014, 09:33
попробуй один элемент ЛА3 подключить так: входы на сигналы 8 и 22, выход на выводы 23 и 32 ВГ93.
Добрый день,собственно я не подключаю два дисковода 3.5 и 5.25 одновременно:
сначала загружаю MX_DOS с 5.25" в RAMFOS ,а потом подключаю 3.5" и пробую различные комбинации. У D9 есть свободен 1 элемент ,попробую.Спасибо.

fifan
25.03.2014, 14:45
Можно и так. Один существующий дисковод будет дисководом А, необязательно подключать второй. Но они должны быть (5.25" и 3.5") одновременно подключены к контроллеру дисковода. Вводить в работу какой либо можно отключением питания дисковода. MX-DOS вроде бы каждый раз настраивается заново при считывании каталога.

fifan
29.01.2015, 13:25
В связи с разработкой эмулятора контроллера дисковода для Специалиста_МХ возникли непонятки по самой схеме контроллера дисковода от Афанасьева (http://spetsialist-mx.ru/schemes/FDDController1.png). Просмотрел даташиты на ВГ93 и ВМ80 и нашёл несоответствие сигнала ЗАХВАТ, приходящего на вывод 13 микропроцессора. ВГ93 когда передаёт или готова принять данные выставляет на выводе 38 DRQ сигнал "1". Это должно быть сигналом для микропроцессора, который должен перейти в режим захвата и принять или передать данные. Следим за сигналом по схеме. На выходе D8.4 присутствует "0", далее этот "0" передаётся на 13 ногу микропроцессора при положительном перепаде на тактовом вход триггера D3.1 . Ну нам нужен инвертированный сигнал! Что здесь не так?
Ещё один момент. Дешифратор портов контроллера дисковода на D1 должен управлять тактовыми входами ещё трёх подобных D3.1 триггеров положительным перепадом, а присутствуют инверсные сигналы.
Объясните что я не догоняю, плис.

HardWareMan
29.01.2015, 16:40
Схема подключения триггера такова, что лог.1 он запишет строго по такту, а лог.0 переведет его принудительно в сброс незамедлительно. Пора бы тебе уже изучить поведение простой логики, вроде ТМ2.
PS У ВМ80 в МХе используется именно захват шин. Активный уровень - лог.1 Таким образом, пока ты не обратишься к ячейке, которая выбирается с номером 0, он работает как обычно, ибо постоянный сброс не критичен - он разрешает работу ВМ80. А вот установка будет строго в определенный момент буквально за 1 такт до анализа сигнала HOLD процессором. Достаточно элегантное решение.

uart
20.04.2015, 21:00
Контролер дисковода все собрали? Тогда вопрос про MX-DOS в эмуляторах. Как в ней правильно копировать на дискету? После F1 сразу пишет "ошибка", хотя с дискеты на RAM-диск все OK. Диск форматирует, записывает MX-DOS, стирает файлы, создает каталоги, ... Так же не работает TAB на дисковом файле, на RAM-диске без проблем. Проверял не только в своем эмуляторе, а еще в двух - то же самое. Что-то не так в эмуляции или какое-то несоответствие в ROM и в образе диска?

fifan
21.04.2015, 11:45
В эмуляторах режим форматирования не поддержан (по крайней мере в emu от b2m). У меня пока рабочего контроллера нет.
Как понять по F1 копирование не работает? С дискеты на дискету можно переписывать только через RAM-диск (правая панель). Обратная операция по F4. Чтобы не задавать таких вопросов нужно хотя бы один раз прочитать инструкцию по работе (http://www.spetsialist-mx.ru/Docs/MX_DOS.pdf). Я делаю нормальный типа нортона коммандер, он кроме дискет и RAM-диска будет поддерживать ROM-диск и SD карту (контроллер от Vinxru).

zx_
21.04.2015, 12:57
Я делаю нормальный типа нортона коммандер, он кроме дискет и RAM-диска будет поддерживать ROM-диск и SD карту (контроллер от Vinxru).

и чтобы обычный специалист поддерживал, нет только суперпупер мх

uart
21.04.2015, 13:36
fifan, у меня свой эмулятор, поэтому форматирование есть. А за доку спасибо, без нее бы я тупил, не интуитивный интерфейс. :)

fifan
21.04.2015, 13:44
и чтобы обычный специалист поддерживал, нет только суперпупер мх
"Обычный Специалист" уже поддерживается Standart Spetsialist Browser (http://zx-pk.ru/showthread.php?t=17071&page=14)'ом. Вполне работоспособный на реальной железке. Я пользуюсь в игры поиграть.

fifan
27.01.2018, 18:37
Через достаточно долгий промежуток решил поднять тему. Имею: Специалист_МХ2 с интерфейсом МХ-BUS (http://www.spetsialist-mx.ru/schemes/SpetsialistMX2.pdf), уже спаянную плату контроллера дисковода с ПЛИС, ВГ93 и ЛН1 + ЛП9 - буферами дисковода. Здесь (https://youtu.be/oTJVOQpc9ds) видно, как я когда-то запускал данную плату. Там удалось только увидеть момент выбора двух различных дисководов. Тогда я пытался сделать делитель на 5 внутри плисины - не получилось. Напомню, что в стандартной схеме контроллера дисковода используются две частоты: 4 и 1 МГц. В Специалисте МХ2 есть 40, 20, 10 и так далее кратно 2. А ведь делитель на 5 можно построить и на ИЕ5, например. Делим 20 МГц на 5, а потом на 4. Вот и 4 и 1 МГц, что нам нужно.

fifan
28.01.2018, 09:31
Смог запихать делители частоты в плисину. Вот результат симуляции в Квартусе. Снизу вверх: 20, 4,2 и 1 МГц.

63888

Прошиваю плисину и буду пробовать подключать дисководы.

SYR-ALEX
05.05.2018, 20:57
Доброго времени . Озадачился сборкой контроллера НГМД . Есть вопросы .
http://www.spetsialist-mx.ru/schemes/FDDController1.png

На этой схеме D3.2 управляет плотностью записи/чтения диска .

http://www.spetsialist-mx.ru/schemes/FDDController3.png

На этой схеме D3.2 управляет мотором .

Адрес посадки в обоих схемах одинаковый . Обе схемы под MX-DOS .
Почему такая разница ?
Под разные версии MX-DOS ? Если так , то какая схема+версия актуальны ?
Также не понятно как происходит ЗАХВАТ . Как понял при обращении к D3.1 происходит изменение её состояния , если условия соблюдаются на выходе устанавливается 1 и проц переходит в состояние захвата. Это состояние сохраняется пока ВГ93 не сообщит о завершении операции , а если к D3.1 процессор не обратится , как тогда ?

HardWareMan
06.05.2018, 08:41
Также не понятно как происходит ЗАХВАТ . Как понял при обращении к D3.1 происходит изменение её состояния , если условия соблюдаются на выходе устанавливается 1 и проц переходит в состояние захвата. Это состояние сохраняется пока ВГ93 не сообщит о завершении операции , а если к D3.1 процессор не обратится , как тогда ?
Ничего не произойдет. А обращение стоит в п/п чтения/записи данных из/в ВГ93.

SYR-ALEX
06.05.2018, 10:17
Значит перед чтением /записью регистров ВГ93 нужно обратиться к D3.1 ? Если ВГ93 к моменту обращения выставит DRQ(38)=1 , то ЗАХВАТ не случится ? То есть своего рода аппаратный (не программный ) опрос готовности ВГ93 ?
А каково сакральное назначение D3.2 ?

HardWareMan
06.05.2018, 15:03
Включать мотор. И у первой схемы, явная ошибка: 25 и 26 с одного триггера идут на дисководный SIDE1 (25) и управление мотором (26). Нижняя схема, похоже, правильная. К тому же, она содержит предкомпенсацию.

SYR-ALEX
06.05.2018, 18:35
А ведь и точно . Как сразу не заметил .
Буду пока придерживаться нижней схемы .

Ещё заметил , что 38 вывод ВГ93 , не подтянут на +5В . А он то с открытым стоком .

SYR-ALEX
21.05.2018, 00:11
Может у кого есть тест для этого контроллера .Типо головку подвигать , плоскости , плотность по переключать .Зацикленная запись/зтение для отладки предкомпинсации и сепоратора . А то я уже совсем запутался с назначением портов .

fifan
21.05.2018, 06:21
Я записывал программу на ROM-диск, запускал её оттуда. Здесь (https://youtu.be/oTJVOQpc9ds) на видео видно. Переключение дисководов с А на В точно работало.

SYR-ALEX
21.05.2018, 11:42
Дисководы переключаются , затык на фоматировании . 00-----------01 и висяк . На схемах http://zx-pk.ru/threads/18006-spetsialist_mkh-kontroller-diskovoda.html?p=962504&viewfull=1#post962504 назначение портов различается . Подозреваю косяк в этом . В МХОS есть выбор плотности (1 или 2 стороны , 40 или 80 дорожек ) в верхней схеме одной из ТМ2 (D3.2 FFF1) выбирается плотность 37 вывод ВГ93 , в нижней этот же тригер участвует в формировании сигнала мотор. D4.2 (FFF2) мотор и сторона в верхней , сторона в нижней . То есть по нижней схеме плотность вообще не переключается , а в софте поддержано . Где правда ?

fifan
21.05.2018, 14:47
"Плотность" в контроллере дисковода Специалиста МХ не актуальна. Используются дисководы с 2-й ной плотностью 80 дорожек. Верхняя схема была изначальна с управлением плотностью. Нижняя, наверное, правильнее. Смотрим описание к эмулятору Специалиста МХ (автор Шевцов):

FFF1 - порт переключения плотности дискет (двойная плотность DD и одинарная плот-ность SD). Для управления используется 0 бит порта (остальные биты игнорируются), порт работает только на запись. По умолчанию (по сбросу компьютера) контроллер настроен на работу с дискетами двойной плотности. При записи 0 в управляющий бит порта включается режим двойной плотности, при записи 1 включается режим одинарной плотности. Так как в "природе" дискет одинарной плотности практически не осталось (может есть в музее), то на "Спеце_МХ" практически нет ни одной программы, которая бы управляла данным портом - исключение составляет программа установки операционки MX_DOS (MX_DOS_x.COM), эта прога может работать с дискетами любых типов. Я в своем эмуляторе данный порт игнорировал.

SYR-ALEX
24.05.2018, 01:07
На костылях но заработал этот FDC.
Схема в основном повторяет этуhttp://www.spetsialist-mx.ru/schemes/FDDController3.png
добавил генератор на 8Мгц и ИЕ5 (делитель 4/2/1) и ещё пару отсебятин - нормально работает.
Запускал на Сябре с мапером МХ2 , ЦПУ 8085 , кварц 20Мгц(частота ЦПУ 2,5Мгц) ,FDD 3.5.:v2_dizzy_roll:

Костыль заключается в том ,что RAMFOS и MXDOS в тестовой прошивке МХ2 не хотят управлять портом HFFF1 (MOTOR сигнал 8 ). Приходится через отладчик ручками в HFFF1 записывать H01.Возврат в DOS , потом F6 ... . После этого контроллер начинает работать.
Надо патчить ПЗУ :v2_dizzy_facepalm: .
Свой вариант схемы выложу к выходным , хочу ещё опробавать с Z80 , ВМ80 и МХ маппером .



П.С. в ходе экспериментов не один бубен не пострадал.

fifan
24.05.2018, 05:17
Очень хорошо. Я тоже хочу контроллер дисковода собрать.

SYR-ALEX
27.05.2018, 13:19
Описание будет пополняться .
Видео работы

https://youtu.be/PqrP_gCjiFE

Схема
http://www.picshare.ru/uploads/180531/cP82pouKvh_thumb.jpg (http://www.picshare.ru/view/8829424/)

по возможности сохранил позиционные обозначения и названия сетей предыдущих схем (http://zx-pk.ru/threads/18006-spetsialist_mkh-kontroller-diskovoda.html?p=962504&viewfull=1#post962504) . Причина неработоспособности этих схем с FDD 3.5 в особенности формирования сигнала на 34 (Ready/Disk Change) выводе дисковода . Когда дисковод не активен этот сигнал равен единице . При обращении к дисководу , если диск не находится внутри или был был заменён , выставляет ноль . И сохраняет это состояние до тех пор пока не получит сигнал /STEP (20 pin FDD) . После прихода сигнала /STEP состояние на Ready/Disk Change (34 pin FDC) ,при наличии диска будет единица , а при отсутствии ноль .
http://www.picshare.ru/uploads/180527/jl0EHus4mS_thumb.jpg (http://www.picshare.ru/view/8824538/)

Дисководы 5.25 на 34 pin по сути выводят сигнал с концевика " шторка открыта/закрыта " сразу как только разгонится мотор - вращающий диск ,без привязки к сигналу /STEP . Наш контроллер на пару с процессором считываю состояние этого пина через 23(готовность головки) и 32(готовность привода) выводы ВГ93 и "принимают решение" как поступать дальше .
Вот и получается с 5.25 Ready/Disk Change (34 pin FDC) появится сразу ,а с 3.5 только после /STEP . RAMFOS при старте опрашивает регистры ВГ93 и если видит , что головка находится на нулевом треке , пытается его прочитать не двигая головку . Вот вам и облом с 3.5 (нет степа - нет готовности ). Ситуация по лучше если перед сменой диска и питание не отключалось головка оказалась не на нулевом треке , тогда RAMFOS начинает перемещать головку к нулевому треку выдавая кучу /STEP-ов . Ещё интересней при подаче питания (до обращения к дисководу) 5.25 ничего не делает - стоит на месте , а 3.5 (у него же в нутрях целая БИС стоит) крутит головку на трек 00 . Тут у внимательного читателя возникнет вопрос " С фига ли всей этой компании головками двигать , если Ready/Disk Change (34 pin FDC) равен нулю , а значит и 23(готовность головки) и 32(готовность привода) выводы ВГ93 тоже нули ? Значит диска нет ? " . Вот видимо для избежания этой ситуации Л.Н.Афанасьев и ввёл в схему сигнал 8 он-же 26 , который кочует в его схемах с порта HFFF2 на порт HFFF1 . Этот сигнал по сути эмулирует Ready/Disk Change дисковода и служит для " запуска ".

Теперь о костылях и моей схеме. В своей схеме МС 555ЛР1 я заменил на два логических элемента 2ИНЕ D9.1,D9.2 конкретно для 3.5 . В ветке предлагали на один , но это будет работать только с 5.25 и только если :
READY (RDY)
Signal indicating that FDD is ready to operate.
This signal goes to LOW level, when the FDD is
selected, if the following conditions are satisfied:
(i) DC power is supplied. (5V, l2V)-
(ii) A disk is mounted.
(iii) The rotational speed of the floppy disk has
reached 90t of the specification.
(NOTE) When the spindle motor is rotating by the
MOTOR ON signal

Для дисководов с инверсным сигналом подойдём мой вариант . Миф о не работоспособности схемы от разных генераторов CPU и FDC можно считать развеянным . Проверено на 1821ВМ85 и на Z80A с частотой CPU 2,5Мгц - работает . На D7.5 , D7.4 , R1 ,R2 и X1 собран генератор 8Мгц . DD11 ( новый в схеме) делитель основной частоты на 2 (4Мгц) и на 8 (1Мгц). Сепаратор и пред компенсация отличаются от авторских схем не существенно . О сепараторах и пред компенсации подробно можно почитать здесь (http://www.emuverse.ru/wiki/%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D 0%B5%D1%80_%D0%B4%D0%B8%D1%81%D0%BA%D0%BE%D0%B2%D0 %BE%D0%B4%D0%B0:_%D1%81%D1%85%D0%B5%D0%BC%D0%BE%D1 %82%D0%B5%D1%85%D0%BD%D0%B8%D0%BA%D0%B0_%D0%B8_%D0 %BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%D1%8B_%D1% 80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B) . О 1818ВГ93 здесь (http://www.emuverse.ru/wiki/FDC_1793). Порты U3 ,U5 существенно не изменились, непонятка с сигналом 8 он же 26 , оставил как 26 .

fifan
27.05.2018, 13:20
Очень хочется взглянуть на схему собранного контроллера. Интересуют нюансы по сравнению с оригинальной схемой.

SYR-ALEX
27.05.2018, 13:38
Сейчас как раз и занимаюсь отрисовкой схемы . Вечером выложу с описанием нюансов .

fifan
27.05.2018, 13:56
Я вижу плата приспособлена к Сябру вторым этажом?

SYR-ALEX
27.05.2018, 14:11
Я вижу плата приспособлена к Сябру вторым этажом?
Третьим:v2_dizzy_botan:

SYR-ALEX
27.05.2018, 23:43
Обновил инфу здесь (http://zx-pk.ru/threads/18006-spetsialist_mkh-kontroller-diskovoda.html?p=965507&viewfull=1#post965507) .

LeoN65816
28.05.2018, 01:36
Причина неработоспособности этих схем с FDD 3.5 в особенности формирования сигнала на 34 (Ready/Disk Change) выводе дисковода.
...
Дисководы 5.25 на 34 pin по сути выводят сигнал с концевика " шторка открыта/закрыта " сразу как только разгонится мотор - вращающий диск ,без привязки к сигналу /STEP.
Тройки от пятерок совершенно ничем не отличаются, у них одинаковые интерфейсы. Даже ноутбучные и USB-шные тройки, имеющие 26-пиновый интерфейс, функционируют точно также.
На большинстве буржуйских дисководов (как на пятерках, так и на тройках) джамперами (или перепайкой перемычек) можно задать какой сигнал выдавать пине 34: готовность или смена диска. Зависит от конкретной марки/модели.
На многих можно еще задать: отгонять головы на нулевой трек при подаче питания или нет.

fifan
28.05.2018, 06:22
Прекрасно описано, SYR-ALEX. Только вот слово здесь пишется с з - везде исправил.

HardWareMan
28.05.2018, 07:19
fifan, оффтоп: многие не помнят/не знают правило "здесь/здание/здоровье". Увы, тенденции современного мира.

fifan
28.05.2018, 07:25
Скорректировал схему на предмет опечаток. Слово "Специалист" написано без последней буквы, слово "MHz" написано с "с" на конце. Выложу схему попозже на свой сайт (http://www.spetsialist-mx.ru/index22.html).

Мне понравилась идея автора поместить контроллер дисковода третьим этажом, тем более я заказываю платку переходник для расположения мапера горизонтально. Т.к. у меня уже есть контроллер дисковода, но на плисине, я его хочу приспособить для подключения. Но у меня контакты под MX-BUS (http://www.nedopc.org/forum/viewtopic.php?f=90&t=9626), как в Специалисте МХ2 (http://www.spetsialist-mx.ru/images/SpetsMX_2_3.png). Возник вопрос по поводу синхронизации. Можно ли на плату завести частоту от компа?

SYR-ALEX
28.05.2018, 08:53
Скорректировал схему на предмет опечаток. Слово "Специалист" написано без последней буквы, слово "MHz" написано с "с" на конце. Выложу схему попозже на свой сайт (http://www.spetsialist-mx.ru/index22.html).
За грамматику :v2_dizzy_facepalm: спасибо . Схему поправлю .



Мне понравилась идея автора поместить контроллер дисковода третьим этажом, тем более я заказываю платку переходник для расположения мапера горизонтально.
О таком исполнении я уже упоминал здесь (http://zx-pk.ru/threads/27597-syabr-sborka-i-naladka.html?p=955226&viewfull=1#post955226)


Т.к. у меня уже есть контроллер дисковода, но на плисине, я его хочу приспособить для подключения. Но у меня контакты под MX-BUS (http://www.nedopc.org/forum/viewtopic.php?f=90&t=9626), как в Специалисте МХ2 (http://www.spetsialist-mx.ru/images/SpetsMX_2_3.png).
А что мешает на Специалисте МХ2 продолжить запуск . Контроллер может работать на других компах кроме Сябра .

Возник вопрос по поводу синхронизации. Можно ли на плату завести частоту от компа?
Не вижу проблем . Можно даже ИЕ5 убрать из схымы . Главное чтобы на ВГ93 и на сепаратор с компенсацией приходили нужные частоты.

fifan
28.05.2018, 10:14
Да я сразу не подумал, что на Специалисте МХ2 была проблема с получением частоты в 4 МГц. Я пробовал её эмуллировать в плисине, вырабатывать из 20 МГц, всё без толку. Оставлю генератор на 8 МГц локально. Есть готовый кварцевый генератор на 8 МГц. Выйдем из положения. Хочу универсальный контроллер дисковода сделать и для Сябра, и для Специалиста МХ2. Вот такой (http://zx-pk.ru/threads/18006-spetsialist_mkh-kontroller-diskovoda.html?p=463216&viewfull=1#post463216) я у себя потерял, может и распаял на микросхемы, а жаль - МГТФом доделал бы до рабочей схемы.

SYR-ALEX
28.05.2018, 23:56
fifan , давай пере прошивай плисину . Надо этот FDC до ума довести , а то куча комплексных проблем как по железу так и по софту . В ПЛИС схему проще править и проги ты писать умеешь .

fifan
29.05.2018, 04:53
Без добавления перемычек, перерезания проводников не обойтись. Это снаружи на плате. Раньше не был задействован 14 вывод разъёма дисковода. Сегодня перерисую внутренности плисины. Как я раньше писал добавлю внешний кварцевый генератор.

SYR-ALEX
30.05.2018, 13:00
Добрые люди подарили 4 флопа 3.5 . И того теперь у меня их 6 . Вечером посмотрю как там дела с перемычками на 34 (Ready/Disk Change) . В моём TEAC кроме DS0,DS1 нет больше перемычек.

LeoN65816
30.05.2018, 14:05
Напиши по всем марку, модель, ревизию - подскажем по перемычкам.

fifan
30.05.2018, 18:08
SYR-ALEX, я не нашёл цепь 3 на твоей схеме. Сигнал снимается с вывода 27 ВГ93 и никуда не идёт.

SYR-ALEX
30.05.2018, 18:45
SYR-ALEX, я не нашёл цепь 3 на твоей схеме. Сигнал снимается с вывода 27 ВГ93 и никуда не идёт.

Должен идти на D6 вывод 9 . Поправлю :v2_dizzy_write:.

Готово.

SYR-ALEX
31.05.2018, 01:00
Напиши по всем марку, модель, ревизию - подскажем по перемычкам.

В этом перемычка уже стоит на RDY
http://www.picshare.ru/uploads/180531/8Hyu5BzYkX_thumb.jpg (http://www.picshare.ru/view/8829427/)

В этих на DC . Можно переставить RDY
http://www.picshare.ru/uploads/180531/9YB102nWiO_thumb.jpg (http://www.picshare.ru/view/8829428/)
http://www.picshare.ru/uploads/180531/zy6Jer6v39_thumb.jpg (http://www.picshare.ru/view/8829429/)

В этих только DS0 , DS1 .
http://www.picshare.ru/uploads/180531/AjNG4ukXuh_thumb.jpg (http://www.picshare.ru/view/8829430/)
http://www.picshare.ru/uploads/180531/LwW2072ZgD_thumb.jpg (http://www.picshare.ru/view/8829431/)

А здесь " тёмный лес" .
http://www.picshare.ru/uploads/180531/8qEIfSjHtC_thumb.jpg (http://www.picshare.ru/view/8829432/)

Эти фото в высоком разрешении . (https://yadi.sk/d/e6SfCsrr3Wid6A)

LeoN65816
31.05.2018, 05:43
Teac. В этой ревизии джамперов/перемычек нет. Как вариант - искать даташит на чип (на фотке его не разглядеть).
Alps. Привод с микролифтом - весчь! http://www.pitsch.de/stuff/amiga/floppy.htm#A3
Nec. http://www.phantom.sannata.ru/forum/index.php?o=1&p=&st=&t=14878

fifan
31.05.2018, 06:42
Вроде всю схему относительно своей на плисине проверил. Начинаю резать дорожки и паять провода.

SYR-ALEX
02.06.2018, 00:05
Поработал с "напильником" над контролером .
По цепям 8,26 проясняет ситуацию это письмо

http://www.picshare.ru/uploads/180601/0J09RKE89a.jpg (http://www.picshare.ru/view/8832400/)

Здесь упоминается порт HFFF2(D4.2) . Из него выходят цепи 25(сторона) и 26(?) . Это касается первой схемы (http://www.spetsialist-mx.ru/schemes/FDDController1.png) . Так вот если задействовать цепь 26 и в порт HFFF2 с помощью отладчика записать число H01 , запускается двигатель активного дисковода ( диск вставлен) .Возвращаюсь в RAMFOS , мотор останавливается . Нажимаем F6 ( дисковод с /Disk Change (34 pin)) поведение как будто нет диска . Меняю дисковод (Ready (34 pin )) и часть схемы для работы с этими дисками , делаю всё предыдущие - выводится " нортон". Ещё заметил с дисководами /Disk Change если диск вставить до подачи питания , что делать не рекомендуется , то он иногда читается .
Переделал на цепь 8 как во второй схеме (http://www.spetsialist-mx.ru/schemes/FDDController3.png) .
Если после входа RAMFOS после сброса нажать F6 то попадаем в ROMDISK ( в зависимости от версии прошивки ПЗУ) . Через отладчик пишу в порт HFFF1 число H01 , мотор запускается и диск читается . Пробовал с дисководами /Disk Change и Ready с соответствующим изменениями в схеме .

В доработанной схеме цепь 26 удалена . Цепь 8 обрела инверсного двойника 8.1 . P1 определяет какой дисковод используется /Disk Change или Ready.
http://www.picshare.ru/uploads/180601/GJURG37Ho8.jpg (http://www.picshare.ru/view/8832452/)
При использовании двух дисководов А и В они должны быть одинаковые /Disk Change или Ready. Я использовал пару /Disk Change - SAMSUNG SFD-321B/EF и ALPS DF354H168F . И пару Ready - SAMSUNG SFD-321B/E и SAMSUNG SFD-321B/EZ . Возможно применение ЛР11 (как в авторской схеме) могло бы снять это ограничение . Но у меня её нет - проверить не могу .
Для " активации " контролера пишем в порт HFFF1 число H01 .

fifan
02.06.2018, 03:15
Возможно применение ЛР11 (как в авторской схеме) могло бы снять это ограничение . Но у меня её нет - проверить не могу.
Да и не нужна она. Схема сочинялась чтобы сделать применение различных дисководов (3.5 и 5 дюймов) безболезненным. А если применяются два дисковода одного типа (я буду применять только 3.5 дюйма и могу подобрать одинаковые), то эта схема (входы 8 и 22, выход 11, схема от Афанасьева) сводится к одному элементу. Что ж тогда, SYR-ALEX, собирать схему из твоего последнего поста? А то я настроился на предыдущую...:)

SYR-ALEX
02.06.2018, 08:37
Да последнюю . Она не сильно отличается от предыдущей и более универсальна . Ещё очень желательно в софт добавить подпрограмму " рекалибровки " перед началом дисковых операций. Очень полезно для дисководов с /Disk Change , а для дисководов с Ready не будет мешать.

fifan
02.06.2018, 10:11
Ещё очень желательно в софт добавить подпрограмму " рекалибровки " перед началом дисковых операций. Очень полезно для дисководов с /Disk Change , а для дисководов с Ready не будет мешать.
Напиши коды рекалибровки, вставлю в прошивки МХ и МХ2 маперов. Там в RAMFOS6.4 есть место.

HardWareMan
02.06.2018, 19:33
OFFTOP: Ох уж эта строчная "к"... Мы ее всегда фиксили на кружке. :)

SYR-ALEX
03.06.2018, 16:54
Напиши коды рекалибровки, вставлю в прошивки МХ и МХ2 маперов. Там в RAMFOS6.4 есть место.

Пожалуйста

;; REKALIBR
; FFF1H порт мотора 1= ВКЛ , 0= ВЫКЛ
; перемещает головку на один шаг STEP+ без контроля готовности диска , затем на TRACK00
; CPU i8080/85
;
; SYR-ALEX 03-06-2018

RKALIBR: MVI A,01H ; включаем
STA FFF1H ; мотор
MVI A,53H ; делаем STEP+1
STA FFE8H ; без контроля готовности диска

MVI H,20H ; пауза
RKALIBR_P: DCX H ; необходима что бы
MOV A,L ; контроллер успел
ORA H ; сделать
JNZ RKALIBR_P ; шаг

MVI A,03H ; отправляем головку
STA FFE8H ; на TRACK00
MVI A,OOH ; выключаем
STA FFF1H ; мотор
RET ; возврат

Код нужно вставить в начало подпрограмм : загрузки DOS и смены дисков FDC

fifan
03.06.2018, 17:39
Код нужно вставить в начало подпрограмм : загрузки DOS и смены дисков FDC
Вот дизассемблированный исходник DOS Специалиста МХ от Vinxru и меня. Правда в мнемонике Z80. Здесь наверное, коды нужно в ставить в программу инициализации дискеты и смены диска, соответственно метки MK1 и M0D. Сам MX-DOS находится на каждой дискете и DOS грузит его с дискеты в память по адресу #e400 и запускается отсюда же. Буду искать свободное место в прошивке.

SYR-ALEX
03.06.2018, 18:30
Вот в мнемонике Z80

; REKALIBR
; FFF1H порт мотора 1= ВКЛ , 0= ВЫКЛ
; перемещает головку на один шаг STEP+ без контроля готовности диска , затем на TRACK00
; CPU z80
;
; SYR-ALEX 03-06-2018

RKALIBR: LD A,#01 ; включаем
LD (#FFF1),A ; мотор
LD A,#53 ; делаем STEP+1
LD (#FFE8),A ; без контроля готовности диска

LD H,#20 ; пауза
RKALIBR_P: DEC HL ; необходима что бы
LD A,L ; контроллер успел
OR H ; сделать
JP NZ,RKALIBR_P ; шаг

LD A,#03 ; отправляем головку
LD (#FFE8),A ; на TRACK00
LD A,#OO ; выключаем
LD (#FFF1),A ; мотор
RET ; возврат


- - - Добавлено - - -

Вставил в инициализацию :

; подпрограмма инициализации дисковода
; вход: [А] - =#00 - запустится DOS,
; = не #00 - запустится дисковод и произойдет вытаскивание DOS с дискеты и уход в программу
MK1 pop af
call RKALIBR
push af

ld b, a
call LC885 ; команда восстановление
ld a, #01
ld (SID), a ; установить сторону диска
ld (Cek), a ; и сектора
ld h, #13 ; 4871*10mkc
GXD dec hl
ld a, l
or h
jp nz, GXD
ld (SID), a ; установить сторону диска
В переключение дисков :


; подпрограмма переключения дисководов
M0D ld a, (LC7FD)
xor #01
ld (LC7FD), a ; номер дисковода
ld (#fff3), a ; номер дисковода
call RKALIBR ; ре калибровка
LC885 ld a, #01
ld (PD0), a ; регистр команды
LC88A ld a, (PD0) ; регистр состояния
rra ; сдвиг вправо аккумулятора
jp nc, LC88A
LC891 ld a, (PD0) ; регистр состояния
rra
jp c, LC891
ret


Как то так . Если при компиляции адреса не собьются , то будет счастье.

fifan
03.06.2018, 19:19
Нет места, нет места...:v2_dizzy_facepalm:
Вот эти подпрограммы уже используются для работы, назначение не ясно, какая-то работа с RAM/ROM-дисками:

C0C jp M05 ; С-байт на ленту
C24 jp MUC ; чтение заголовка с ленты
Можно убрать подпрограммы работы с принтером:

C3F jp PSI ; C-символ на принтер
C42 jp BAU ; A-байт на принтер
или забрать место под какие-то символы работы с принтером:

TZN defb #ee,#d0,#d1,#e6,#d4,#d5,#e4,#d3
defb #e5,#d8,#d9,#da,#db,#dc,#dd,#de
defb #df,#ef,#e0,#e1,#e2,#e3,#d6,#d2
defb #ec,#eb,#d7,#e8,#ed,#e9,#e7,#ea
defb #ce,#b0,#b1,#c6,#b4,#b5,#c4,#b3
defb #c5,#b8,#b9,#ba,#bb,#bc,#bd,#be
defb #bf,#cf,#c0,#c1,#c2,#c3,#b6,#b2
defb #cc,#cb,#b7,#c8,#cd,#c9,#c7,#ca
Чем жертвуем?

SYR-ALEX
03.06.2018, 19:50
Конечно принтером .

SYR-ALEX
11.07.2018, 17:00
Нет места, нет места...:v2_dizzy_facepalm:
Вот эти подпрограммы уже используются для работы, назначение не ясно, какая-то работа с RAM/ROM-дисками:

Можно убрать подпрограммы работы с принтером:

или забрать место под какие-то символы работы с принтером:

Чем жертвуем?

Как успехи с внедрением кода ?

fifan
12.07.2018, 18:51
Да никак был в отпуске, сегодня приехал. Сделаю.

fifan
22.07.2018, 15:29
SYR-ALEX, переделка кода в прошивке ещё нужна?

SYR-ALEX
22.07.2018, 19:02
Так точно . Надо доделывать проект затянувшийся почти на 30 лет:v2_dizzy_ironic:

SYR-ALEX
08.09.2018, 23:38
Ожидаю , жду ,ожидаю , жду ... . Наверное и не дождусь .

fifan
17.09.2018, 19:20
Ожидаю , жду ,ожидаю , жду ... . Наверное и не дождусь .

Извини за задержку, замотался. Просматриваю исходники. Удаляем сейчас неактуальные подпрограммы. Выложу код позже.

- - - Добавлено - - -

Всё, сделал. Прошивай. Мапер МХ.

Странно, но в эмуляторе по F6 не читается дискета, а тупо окрашивается экран синим.
Наверное пока не прошивай, я вставляемые коды наверное в прошивку неправильно вставил.

Нет, ничего хорошего не происходит - в эмуляторе всё виснит. На такое я пойтить не могу :v2_dizzy_facepalm:(из Джентльменов удачи).

SYR-ALEX
17.09.2018, 22:10
Странно, но в эмуляторе по F6 не читается дискета, а тупо окрашивается экран синим.
Наверное пока не прошивай, я вставляемые коды наверное в прошивку неправильно вставил.

Нет, ничего хорошего не происходит - в эмуляторе всё виснит. На такое я пойтить не могу :v2_dizzy_facepalm:(из Джентльменов удачи).

Это нормально . Эмуляторы заточены для работы по первой - авторской схеме с дисководами 5.25" и "бродячим портом " по HFFF2 . В нашем случае порт по HFFF1 (для FDD 3.5) . Причины такого выбора я раньше объяснял .
" торопиться не надо , не надо " :smile: ( из Кавказкой пленницы )
:v2_dizzy_ironic:Запущу интригу . Переделываю Сябра для работы с VGA . Обнародую как добьюсь внятных результатов .
Так что в ближайшее время проверить прошивку не с могу .

Serg6845
11.01.2019, 18:00
Кстати - если добавить второй опорный генератор на 9.6МГц с переключением от выбора дисковода - можно использовать в качестве 5.25" HD дисководы (1.2М). Насчет скорости только не уверен. на Спектруме прокатывало.

fifan
11.01.2019, 18:17
Сомневаюсь.

Serg6845
11.01.2019, 19:06
Сомневаюсь.

в чем? в самом принципе или что скорости хватит?

fifan
11.01.2019, 19:23
1. Делать ещё один генератор на плате контроллера дисковода - не будет синхронизации с самим компьютером. Об этом меня предупреждал автор Специалиста Афанасьев Л.Н. - об этом я писал на этом форуме.
2. Уже работают трёхдюймовые дисководы, зачем нам пятидюймовые? У меня по крайней мере такого нет.
3. 800 кБайт поддерживается MX-DOS и никто не будет переписывать имеющееся ПО под Ваши нужды.

Serg6845
11.01.2019, 19:55
1. Делать ещё один генератор на плате контроллера дисковода - не будет синхронизации с самим компьютером. Об этом меня предупреждал автор Специалиста Афанасьев Л.Н. - об этом я писал на этом форуме.
2. Уже работают трёхдюймовые дисководы, зачем нам пятидюймовые? У меня по крайней мере такого нет.
3. 800 кБайт поддерживается MX-DOS и никто не будет переписывать имеющееся ПО под Ваши нужды.

1. Вот здесь
https://zx-pk.ru/threads/18006-spetsialist_mkh-kontroller-diskovoda.html?p=966226&viewfull=1#post966226
явно отдельный генератор. о какой синхронизации речь? В Спектруме тоже генератор в компе - 14МГц, в контроллере дисковода - 8МГц.
2. ну это кому как. потому как использовать массовые дискеты 3.5" на 1.44М в режиме 720к = непредсказуемый геморрой. а найти 3.5" дискеты 720к сейчас - сложно.
3. речь идет об использовании 1.2М ДИСКОВОДОВ с дискетами DS/DD. софт менять не надо. будут те же 800кБ. на тех же дискетах. но с возможностью использовать FDD 1.2M со скоростью вращения 360 оь/мин.

Serg6845
17.02.2019, 23:06
Пожалуйста

;; REKALIBR
; FFF1H порт мотора 1= ВКЛ , 0= ВЫКЛ
; перемещает головку на один шаг STEP+ без контроля готовности диска , затем на TRACK00
; CPU i8080/85
;
; SYR-ALEX 03-06-2018

RKALIBR: MVI A,01H ; включаем
STA FFF1H ; мотор
MVI A,53H5BH ; делаем STEP+1
STA FFE8H ; без контроля готовности диска

MVI H,20H ; пауза
RKALIBR_P: DCX H ; необходима что бы
MOV A,L ; контроллер успел
ORA H ; сделать
JNZ RKALIBR_P ; шаг

MVI A,03H0BH ; отправляем головку
STA FFE8H ; на TRACK00
MVI A,OOH ; выключаем
STA FFF1H ; мотор
RET ; возврат

Код нужно вставить в начало подпрограмм : загрузки DOS и смены дисков FDC

Ну вобщем спаял я контроллер дисковода. Поигрался. Возникли вопросы. То что он принципиально несовместим с контроллером SD карты (который на сдвиговом регистре) - это ладно, перенесу SD карту на U2, пересоберу софт.
Но вот кто-нибудь может внятно ответить - зачем нужен регистр включения двигателя, который #FFF1? точнее - зачем вобще может понадобиться возможность включать двигатель дисковода в обход контроллера (который с задачей включения двигателя и сам отлично справляется)?
процедура рекалибровки с правками см.выше - работает точно так же, только на два чатла дешевле десять байт короче.
Чтение дорожки/сектора/адреса - тоже без проблем работает без использования #FFF1.

SYR-ALEX
18.02.2019, 15:53
Но вот кто-нибудь может внятно ответить - зачем нужен регистр включения двигателя, который #FFF1? точнее - зачем вобще может понадобиться возможность включать двигатель дисковода в обход контроллера (который с задачей включения двигателя и сам отлично справляется)?
процедура рекалибровки с правками см.выше - работает точно так же, только на два чатла дешевле десять байт короче.
Чтение дорожки/сектора/адреса - тоже без проблем работает без использования #FFF1.

Прочтите тему ещё раз . По которой схеме собирали ? Какие дисководы использовали ?

Serg6845
31.03.2019, 20:52
Прочтите тему ещё раз . По которой схеме собирали ? Какие дисководы использовали ?

Прочитал и не раз. толку =0. внятного ответа нет, правильного - тем более. схемы пробовал все, благо на плис оно просто, дисководы тоже все что есть в наличии. без костылей ничего не работает. пришлось как всегда разбираться самому.
краткое ИТОГО - несмотря на то что в железе есть все для нормальной работы без костылей - в имеющемся софте оно не поддержано никак. поэтому приходится использовать костыль в виде #FFF1, с ним софт работает, но постоянно крутящийся двигатель дисковода меня несколько напрягает (а выключать его некому - костыль в софте не поддержан)

далее - программа рекалибровки для дисководов с DC - полумера. простой пример - запускаем MX_DOS_4.EXE с целью форматнуть дискету - оно говорит "диск защищен", вытаскиваем дискету, снимаем защиту, суем обратно - и приплыли - "нет дискеты". потому как в этой программе рекалибровки нет. где и как еще это может вылезти - предсказать не возьмусь.

ну да ладно. если интересно - вот мой вариант патча ПЗУ (по количеству байт совпадает с оригиналом, включает в себя рекалибровку и костыль, у меня стабильно работает)
на основе исходника отсюда:
https://zx-pk.ru/threads/18006-spetsialist_mkh-kontroller-diskovoda.html?p=966377&viewfull=1#post966377


MK1 ld b, a
ld a, #01
ld (#fff1), a ; включить мотор
ld (Cek), a ; сектор 1
call #C891 ; ждем отсутствия занятости контроллера
ld a,#58 ; команда step in
call #C887 ; посылаем команду и ждем выполнения (проверить что по адресу #C887 все нормально!)
call #C885 ; команда восстановления
xor a
ld (SID), a ; установить сторону диска =0

; подпрограмма чтения секторов
; вход: [HL] - адрес буфера

ld hl, Dos ; куда грузить
ld a, #90 ; m=1 - код чтения группы секторов
VOK ld (Kom), a ; запустить команду
VOU ld a, (Coc) ; ждать начала выполнения команды
rla ; выделить бит готовности НГМД
ret c ; если нет
rra
rra ; выделить бит ЗАНЯТО
jp nc, VOU ; если еще нет
ld c, #13 ; (B+1) - число блоков по 256 байтов

;ПП выдачи команды

BAP ld (ZAP), a ; запрос готовности байта
ld a, (Dan) ; принять байт
ld (hl), a ; и в буфер
inc l ; шаг в буфере
jp nz, BAP ; если не конец блока буфера
inc h ; перейти на следующий блок
dec c ; проверить длину фрагмента
jp p, BAP
ld a, (Coc)
xor #01 ; выставить флаги, если все нормально - будет Z
ld a, #d0 ; и прервать работу
ld (Kom), a ; контроллера
jp nz, T0C ; если ошибка чтения
dec hl ; проверить опознаватель
ld a, (hl)
dec hl
inc (hl)
cp (hl)
jp nz, T0C ; ошибка
ld a, b
call Dos ; если да
ret

; подпрограмма переключения дисководов
;M0D ld a, (#C7FD)
; xor #01
; ld (#C7FD), a ; номер дисковода
; ld (#fff3), a ; номер дисковода
;LC885 ld a, #08 ; надо 08 или 09-0a-0b, не 01
;LC887 ld (Kom), a ; регистр команды
;LC88A ld a, (Kom) ; регистр состояния
; rra ; сдвиг вправо аккумулятора
; jp nc, LC88A ; ждем busy
;LC891 ld a, (Kom) ; регистр состояния
; rra
; jp c, LC891 ; ждем !busy;
; ret


Далее - по схеме отсюда:
https://zx-pk.ru/threads/18006-spetsialist_mkh-kontroller-diskovoda.html?p=966226&viewfull=1#post966226

если перемычку поставить в положение DC - то состояние дисковода перестает отслеживаться, при включении мотора по #FFF1 по цепи 8.1 на 5 ногу D9.2 прилетает 0 и состояние цепи 22 перестает иметь значение.

Ну и чтобы два раза не вставать - дисковод 1.2М (5" 360rpm) с кварцем 9.6МГц почти работает. то есть чтение и запись в MXDOS - без проблем, форматирование - на 2МГц тактовой виснет, на 2.5 - работает.

попутные наблюдения - MX_DOS_4.EXE - не работает на Z80, виснет после первой дорожки. на 8085 все ок.

- - - Добавлено - - -


Извини за задержку, замотался. Просматриваю исходники. Удаляем сейчас неактуальные подпрограммы. Выложу код позже.

- - - Добавлено - - -

Всё, сделал. Прошивай. Мапер МХ.

Странно, но в эмуляторе по F6 не читается дискета, а тупо окрашивается экран синим.
Наверное пока не прошивай, я вставляемые коды наверное в прошивку неправильно вставил.

Нет, ничего хорошего не происходит - в эмуляторе всё виснит. На такое я пойтить не могу :v2_dizzy_facepalm:(из Джентльменов удачи).

можно тупой вопрос?
мне кажется или вот здесь
https://zx-pk.ru/threads/18006-spetsialist_mkh-kontroller-diskovoda.html?p=966378&viewfull=1#post966378



MK1 pop af
call RKALIBR
push af



перепутаны push и pop?

HardWareMan
01.04.2019, 07:26
перепутаны push и pop?
Не факт.

fifan
01.04.2019, 09:07
Чтобы ответить на этот вопрос нужно смотреть исходники. SYR-ALEX встраивал свои процедуры в исходный код RAMFOS'а вместо неиспользуемых процедур, кажется обслуживания магнитофона.

Serg6845
03.04.2019, 09:12
Чтобы ответить на этот вопрос нужно смотреть исходники. SYR-ALEX встраивал свои процедуры в исходный код RAMFOS'а вместо неиспользуемых процедур, кажется обслуживания магнитофона.

MK1 - она из исходника. и в нее вставлен дополнительный кусок кода. вызывается как подпрограмма, возврат из нее по ret. а тут мы первыми командами портим адрес возврата...

fifan
03.04.2019, 14:27
А нет всё верно подмечено.
Вот было так в RAMFOS'е:

; подпрограмма инициализации дисковода
; вход: [А] - =#00 - запустится DOS,
; = не #00 - запустится дисковод и произойдет вытаскивание DOS с дискеты и уход в программу
MK1 ld b, a
call LC885 ; команда восстановление
ld a, #01
ld (SID), a ; установить сторону диска
ld (Cek), a ; и сектора

...

LC885 ld a, #01
ld (PD0), a ; регистр команды
LC88A ld a, (PD0) ; регистр состояния
rra ; сдвиг вправо аккумулятора
jp nc, LC88A

...

Почему-то значение в регистре А сохраняется не push af, а pop af:

MK1 pop af
call RKALIBR
push af
ld b, a
call LC885 ; команда восстановление
...


Нужно весь текст просмотреть, может автор доработки где-нибудь (https://zx-pk.ru/threads/18006-spetsialist_mkh-kontroller-diskovoda/page15.html) ещё ошибся.

Serg6845
03.04.2019, 22:14
Нужно весь текст просмотреть, может автор доработки где-нибудь (https://zx-pk.ru/threads/18006-spetsialist_mkh-kontroller-diskovoda/page15.html) ещё ошибся.

если говорить об ошибках - нашел одну в дизассемблированном исходнике https://zx-pk.ru/attachment.php?attachmentid=65455&d=1528036762 - по метке
LFE71 call C18 ; печать строки
должно быть c18, а не C18. иначе вместо "ошибка" печатается черт знает что. case sensitive метки - зло :)

SYR-ALEX
27.12.2020, 23:19
Прошло уже больше года , а вопрос запуска этого контроллера с FDD3.5 так и не разрешился . Взглянул на проблему под другим углом . И вот оно , заработало - без костылей . Эта схема (http://www.spetsialist-mx.ru/schemes/FDDController3.png) с небольшими изменениями рабочая . На порт FFF1 не стоит обращать внимания , он вообще негде не используется . И софт трогать не надо . Надо лишь было заставить FDD3.5 прикинуться FDD5.25 по сигналу RDY (pin 34) . То есть FDD3.5 выдаёт этот сигнал , но слишком поздно по сравнению FDD5.25 .
В общем изменил схему формирования сигнала RDY в двух флопах SAMSUNG SFD-321B . Хотя новый сигнал с большой натяжкой можно называть RDY , но работает .
Вот что я сделал .

https://i.ibb.co/gvtWN26/SAMSUNG-SFD321-B.jpg (https://ibb.co/gvtWN26) https://i.ibb.co/5Fyn611/SAMSUNG-SFD321-B.png (https://ibb.co/5Fyn611)

Надо снять перемычку RDY/DC , найти на плате флоповода перемычки DS0 и DS1, найти пад DIN ( это сигнал со "шторки ") и запаять транзистор с резистором в соответствии со схемой .
Также поправил схему самого FDC , сделал доработки для CP/M по схеме AVSh , добавил преобразователь 5 в 12В для питания ВГ93 .

https://i.ibb.co/hC9ny8y/FDC-2-CP-M.jpg (https://ibb.co/hC9ny8y)

Эта схема собрана у меня на макетке и работает , также и с CP/M. Конечно ещё можно сократить количество МС заменив 2 ТМ2 на одну ТМ8 , может и ещё что то .
На днях выложу видео .

LeoN65816
27.12.2020, 23:50
Надо лишь было заставить FDD3.5 прикинуться FDD5.25 по сигналу RDY (pin 34) .
Надо просто заставить дисковод отдавать на пин 34 не сигнал "/Disc Change", а сигнал "/Ready". И на самсунге SFD-321B это делается элементарно: отпаивается перемычка DC и запаивается на место RDY. И не надо никаких танцев с бубном!


То есть FDD3.5 выдаёт этот сигнал , но слишком поздно по сравнению FDD5.25 .
:v2_dizzy_facepalm:

SYR-ALEX
28.12.2020, 11:15
Надо просто заставить дисковод отдавать на пин 34 не сигнал "/Disc Change", а сигнал "/Ready". И на самсунге SFD-321B это делается элементарно: отпаивается перемычка DC и запаивается на место RDY. И не надо никаких танцев с бубном!
Да неужели . Со штатным /Ready у дисковода слегка дёргается маховик и на этом всё , рамфос выдаёт " нет диска ". Я пробовал в загрузчике MX-DOS увеличивать паузу

loadMxDos: mov b, a


mvi a, 1
sta IO_FLOPPY_HEAD
sta IO_FLOPPY_SECTOR


mvi h, 13h ; пауза
loadMxDos_0: dcx h
mov a, l
ora h
jnz loadMxDos_0
до 0xFF . MX-DOS загружается с диска , но при попытке открыть каталог или файл - " нет диска " . Костыль с портом FFF1 помогает , но "зачем тоскать воду в баню вёдрами при наличии водопровода " . Добавить рекалибровку только в РАМФОС тоже не вариант , придётся править и MX-DOS .



:v2_dizzy_facepalm:

Может у Вас и работает FDD3.5 (без переделки) со штатным /Ready . Тогда либо дисковод уникальный , либо Вы что то не договариваете .

Pluto
28.12.2020, 11:50
Т.е. с пятидюймовым будет работать без всяких доработок?

SYR-ALEX
28.12.2020, 12:02
У меня 5.25 нет , не знаю .

LeoN65816
28.12.2020, 18:31
Может у Вас и работает FDD3.5 (без переделки) со штатным /Ready . Тогда либо дисковод уникальный , либо Вы что то не договариваете .
У меня и на Форманте (это клон Корвета) и на АГАТе прекрасно работают и пятёрки и тройки. Ещё раз повторю: они ничем принципиально не отличаются.

Подсказка #1. Проанализируй в своей схеме (https://zx-pk.ru/threads/18006-spetsialist_mkh-kontroller-diskovoda.html?p=1096645&viewfull=1#post1096645) логику выбора привода. У тебя по сбросу выбирается (включается!) привод A:. Это не есть гуд...
Подсказка #2. Проанализируй в своей схеме логику включения двигателей приводов. Как логика включения двигателей приводов может быть связана с логикой выбора стороны диска??? Взгляни: D9.2-5 идёт к D4-9.
Подсказка #3. Сравни свою схему с Корветовской. Особо обрати внимание на пины 23, 28, 32 у ВГ93, и сравни со своими...
Подсказка #4. Общий сигнал включения двигателя у обоих приводов не есть гуд...

SYR-ALEX
28.12.2020, 19:28
У меня и на Форманте (это клон Корвета) и на АГАТе прекрасно работают и пятёрки и тройки. Ещё раз повторю: они ничем принципиально не отличаются.

А что у нас на Корвете , Агате и Специалисте схемы контроллеров НГМД одинаковые ? И управляющий софт ?


Подсказка #1. Проанализируй в своей схеме (https://zx-pk.ru/threads/18006-spetsialist_mkh-kontroller-diskovoda.html?p=1096645&viewfull=1#post1096645) логику выбора привода. У тебя по сбросу выбирается (включается!) привод A:. Это не есть гуд...
Подсказка #2. Проанализируй в своей схеме логику включения двигателей приводов. Как логика включения двигателей приводов может быть связана с логикой выбора стороны диска??? Взгляни: D9.2-5 идёт к D4-9.
Подсказка #3. Сравни свою схему с Корветовской. Особо обрати внимание на пины 23, 28, 32 у ВГ93, и сравни со своими...
Подсказка #4. Общий сигнал включения двигателя у обоих приводов не есть гуд...
http://www.spetsialist-mx.ru/schemes/FDDController1.png
http://www.spetsialist-mx.ru/schemes/FDDController3.png
http://www.spetsialist-mx.ru/schemes/fdd_upgrade.png

А ты перед тем как пальцем по столу стучать , изучи схемы авторов этого контроллера .
Моего в этой схеме мизер .

Serg6845
28.12.2020, 23:40
У меня и на Форманте (это клон Корвета) и на АГАТе прекрасно работают и пятёрки и тройки. Ещё раз повторю: они ничем принципиально не отличаются.


не отличаются. только в данном случае дело не в этом.
когда-то давным-давно появилась схема контроллера дисковода, под нее был написан софт. написан так... ну как написан. без ГЛОБАЛЬНОГО переписывания нормально работать он не способен. а переписывать его некогда и некому. с помощью программно-аппаратных костылей в некоторых вариантах он как-то работает. вот собственно и все...