PDA

Просмотр полной версии : ПК8000 - Контроллер дисковода



Страницы : [1] 2

Mick
17.10.2009, 13:54
Вобщем создаю соответсвующую тему, так как в руках есть артефакт - блок дисководов.
По мере исследований буду выкладывать информацию о этом девайсе.
Но пока первый вопрос МДОС, я так понял какой то клон CP/M. Как бы нам содрать образы с дискеток?

b2m
17.10.2009, 15:10
Это, наверное, то-же самое, что и на Векторе. Формат секторов, скорее всего, такой-же как и везде - 1Кб. Т.е. подойдёт любая утилита снятия посекторной копии, хоть для Вектора, хоть для Корвета. В крайнем случае, можно воспользоваться Teledisk-ом или на худой конец FDA (Floppy Disk Analyser).

Mick
17.10.2009, 16:48
Ну что же сейчас разобрал блок дисководов на предмет фото внутренностей и чистки.
Вытащил ПЗУ-шку. Похоже там обычный загрузчик, а операционка скорее всего на диске.
Вот собственно прошивка. Так что есть уже тема для разговоров.

Mick
17.10.2009, 17:21
Вот фото платы контроллера НГМД. Скажем разбирать его не очень удобно оказалось.

Под радиатором предположительно ВГ93 и наверняка РТ2 :)

Mick
17.10.2009, 18:16
Список микросхем.
D1 - К555ЛЛ1
D2 - К555АП6
D3 - К555ЛА3
D4 - К555ЛЛ1
D5 - К556РТ2(предположительно)
D6 - К555АП4
D7 - К573РФ4(загрузчик)
D8 - КР1533ИР26
D9 - КР1533ИР26
D10 - К555ТМ2
D11 - КР1533ЛН1
D12 - К555ЛИ1
D13 - К555ИЕ5
D14 - КР1818ВГ93
D15 - К555ИЕ5
D16 - КР531ТВ9
D17 - К555ТМ8
D18 - К555ТМ8
D19 - К555ИР16
D20 - К555АГ3
D21 - К555ТМ2
D22 - К155ЛА13
D23 - К155ЛА13
D24 - К155ЛА13
D25 - КР531ГГ1

Вобщем не обошлось и тут без "эксклюзивности" :РТ2, АП4,ГГ1,ТВ9
Что же они могли такого навернуть :v2_conf2:

b2m
17.10.2009, 22:28
Судя по всему, порты отображены на память, в диапазоне 7FF0-7FFF.
Пока похоже на это:
7FF7 - выбор стороны и диска
7FF8-7FFB - порты ВГ93
7FFC-7FFF - что-то непонятное

---------- Post added at 23:28 ---------- Previous post was at 23:06 ----------

Я только не понял, контроллер сам, что-ли, сектор в память пишет?

b2m
17.10.2009, 22:54
Подключил ВГ93, в принципе, первый сектор из тестового файла он читает, значит с портами я правильно определился. Насчёт выбора стороны и дисковода пока не совсем всё ясно. И что за неизвестное устройство - тоже не ясно, оно инициализируется какими-то байтами, но потом эта область памяти как программа используется :v2_conf2:

Mick
17.10.2009, 23:13
7FFC-7FFF - что-то непонятное[COLOR="Silver"]


Там есть два регистра ИР26, возможно это и есть это неизвестное устройство. Значит надо будет схемку отрисовывать.

b2m
18.10.2009, 16:24
Насчёт непонятного, предположение такое: по адресам 7FFC-7FFF записываются 4 байта, которые, в зависимости от состояния контроллера выдаются по адресу 7FFF (или даже по всем 4-м). Инициализация там идёт такими байтами: E9 C9 00 C9, а с адреса 8000 записывается п/п чтения сектора, причём в HL сидит адрес 7FFF, и начало цикла соответствует этому адресу. Получается, что если использовать при чтении из этой области в качестве двух младших битов адреса сигналы DRQ (A1) и например RDY (A0), то ожидание байта от ВГ93 будет весьма оригинальным. Пока нет запроса на передачу байта - выдаётся E9 (PCHL) и процессор постоянно выполняет эту команду (т.к. HL=7FFF), если появляется запрос на передачу данных, выдаётся 00 (NOP) и программа идёт дальше (считывает байт и опять переходит на 7FFF). Если данные кончились, ВГ93 выдаст готовность принять следующую команду, и по адресу 7FFF считается C9 (RET), соответственно произойдет выход из п/п.

Mick
18.10.2009, 19:12
Насчёт непонятного, предположение такое: по адресам 7FFC-7FFF записываются 4 байта, которые, в зависимости от состояния контроллера выдаются по адресу 7FFF (или даже по всем 4-м). Инициализация там идёт такими байтами: E9 C9 00 C9, а с адреса 8000 записывается п/п чтения сектора, причём в HL сидит адрес 7FFF, и начало цикла соответствует этому адресу. Получается, что если использовать при чтении из этой области в качестве двух младших битов адреса сигналы DRQ (A1) и например RDY (A0), то ожидание байта от ВГ93 будет весьма оригинальным. Пока нет запроса на передачу байта - выдаётся E9 (PCHL) и процессор постоянно выполняет эту команду (т.к. HL=7FFF), если появляется запрос на передачу данных, выдаётся 00 (NOP) и программа идёт дальше (считывает байт и опять переходит на 7FFF). Если данные кончились, ВГ93 выдаст готовность принять следующую команду, и по адресу 7FFF считается C9 (RET), соответственно произойдет выход из п/п.

Оригинально придумали. Уважение сразу вызывает к людям, которые разрабатывали и програмили раньше.

b2m
18.10.2009, 22:43
Ну, это только моё предположение. Когда схему нарисуешь, тогда ясно будет :)
Кстати, а образы дисков будут?

Mick
18.10.2009, 23:09
Ну, это только моё предположение. Когда схему нарисуешь, тогда ясно будет :)
Кстати, а образы дисков будут?

Образы постараюсь снять. Только PC древний с 5,25 дисководом соберу.

XobbiMan
20.10.2009, 19:31
ПК8000 - Контроллер дисковода

Буду ждать информации(фото, доки) на почтовый ящик.
(Может даже сделать детальную отдельную страницу... )

Mick
20.10.2009, 19:55
Кстати, а образы дисков будут?

Будут :)
Сейчас снял диск с названием
"ПЭВМ СУРА, ПАКЕТ N1"
предприятие "Спрайт"
440047 г.Пенза а/я 1659

Потом сделаю скан

Размер сектора 1024 байт.
Извиняйте сделал teledisk'ом. Другого под рукой нема.

Так что ждем от b2m результата полученной инфы.


P.S. 10 дискет попались в IBM формате с всякой хренью под PC :(

Mick
20.10.2009, 20:43
Итого 9 дискеток, 4 после 50 трека с ошибками. Будем надеятся что там полезного нет. Если что то полезное можно будет попробовать другой дискочиталкой, только у меня нету другой. :)

Вот выкладываю диски с 2 по 9 для анализа. Потом удалю.

b2m
20.10.2009, 21:36
Ну что, поздравляю, работает, система грузится. В аттаче конвертилка, командный файл, чтоб не мучаться с каждым .td0 в отдельности, и обновлённый конфиг.

b2m
20.10.2009, 21:40
3-тий и 6-той девственно чистые, на 9-том только система.

Mick
20.10.2009, 21:47
3-тий и 6-той девственно чистые, на 9-том только система.

Спасибо огромное за содействие.
Ура, ПК8000 обрела ДОС :)

Кстати первый диск похоже был фирменным - поставлялся в составе флоповода.

Ну теперь буду помаленьку сканировать книжки.

Mick
20.10.2009, 23:24
Ай, я тут заныкал еще 9 дискет :)
Сдампил их.

Итого 19 дискеток получилось. Правда некоторые сошибками. Но думаем что нибудь от туда выдернем.

Mick
22.10.2009, 21:26
Вобщем помаленьку начал сканировать. Чтобы не томить в ожидании изучения операционной системы, сосканировал первой книгу 4.

Xobbiman, залей ее к себе потом удалю здесь.
Кстати добавь к себе на сайт и прошивку ПЗУ контроллера дисководов.


Итак, руководство по Операционной системе
Удалил, так как есть уже ссылка в следующем посте

XobbiMan
22.10.2009, 22:10
Xobbiman, залей ее к себе потом удалю здесь.
хорошо,
как залью - сразу дам ссылку

---------- Post added at 21:10 ---------- Previous post was at 21:00 ----------

Позже сделаю отдельную страницу с детальным описанием и фото.
А пока
Вот ссылки (в 3 вариантах один и тот же файл - какой удобнее - такой использовать можно)
http://pk8000.narod.ru/fdd_kniga_4_sura_pk8000_os_mdos_v1.7z
или
http://pk8000.narod.ru/fdd_kniga_4_sura_pk8000_os_mdos_v1.djvu
или
http://pk8000.narod.ru/fdd_kniga_4_sura_pk8000_os_mdos_v1.zip

pilgrim
09.06.2010, 10:02
Если схему ещё не сделали или не нашли, то могу как-нибудь выложить её здесь. Нашёл недавно в заводской документации.

b2m
09.06.2010, 14:49
Выкладывай конечно! Тем более, что на сайте XobbiMan-а это до сих пор в разделе "Ищется".

pilgrim
09.06.2010, 16:31
Выкладывай конечно! Тем более, что на сайте XobbiMan-а это до сих пор в разделе "Ищется".
Хорошо, сегодня вечером постараюсь сосканировать схему и перечень и выложить.

pilgrim
09.06.2010, 22:30
Сделал скан схемы и перечня в несколько избыточном качестве, поэтому выкладываю сюда 3-мя отдельными файлами. Было бы неплохо, если бы кто-то это всё в один djvu, например, оформил.
Схема.

pilgrim
09.06.2010, 22:31
Перечень 1

pilgrim
09.06.2010, 22:32
Перечень. Лист 2 и 3

Mick
09.06.2010, 22:37
Сделал скан схемы и перечня в несколько избыточном качестве, поэтому выкладываю сюда 3-мя отдельными файлами. Было бы неплохо, если бы кто-то это всё в один djvu, например, оформил.
Схема.

Большущее спасибо. А то я хотел приниматься за рисование с платы. Тогда я отфоткаю сам блок дисковода.

Кстати а у тебя, Сура была с дисководом или нет? А еще что нибудь осталось еще?

P.S. А схем вроде из какой то брошурки(книги) или мне показалось. А то некоторые книги из дискового комплекта (13,14,15,16) еще ищутся. http://www.zx.pk.ru/showpost.php?p=143636&postcount=1

pilgrim
09.06.2010, 22:54
Большущее спасибо. А то я хотел приниматься за рисование с платы. Тогда я отфоткаю сам блок дисковода.

Кстати а у тебя, Сура была с дисководом или нет? А еще что нибудь осталось еще?

P.S. А схем вроде из какой то брошурки(книги) или мне показалось. А то некоторые книги из дискового комплекта (13,14,15,16) еще ищутся. http://www.zx.pk.ru/showpost.php?p=143636&postcount=1

Полный комплект Суры без дисковода, но вот схема на контроллер дисковода, схема коммутации контроллера, и схемы двух адаптеров для подключения шли как приложения в книге №1. Т.е. у меня сама Сура, 3 книги, кабели и заводская кассета. Правда всё это очень долго лежало в разных местах и перемешалось с комплектующими от других компов.

Mick
10.06.2010, 07:03
Полный комплект Суры без дисковода, но вот схема на контроллер дисковода, схема коммутации контроллера, и схемы двух адаптеров для подключения шли как приложения в книге №1.

Скажи а в книгах есть отличия от наших комплектов? Такое подозрение что в 1-ой уже есть :)

Можешь заодно сосканить вот эти пункты - "схема коммутации контроллера, и схемы двух адаптеров"

pilgrim
10.06.2010, 10:43
Скажи а в книгах есть отличия от наших комплектов? Такое подозрение что в 1-ой уже есть :)

Можешь заодно сосканить вот эти пункты - "схема коммутации контроллера, и схемы двух адаптеров"

Хорошо, я сегодня посмотрю и сравню книги, и сегодня или завтра постараюсь сделать скан схем.

---------- Post added at 10:43 ---------- Previous post was at 10:28 ----------

Сравнил 1,2,3 книги со своими. По всем 3-м книгам есть отличия. По книги 1 отличий больше всего и почти во всём, за исключением теста. Во 2-й книге есть отличия по некоторым главам и приложениям. В 3-й - расшииренно количество описываемых игр.

b2m
10.06.2010, 11:26
pilgrim, спасибо за схему.

Mick, насчёт двух регистров ИР26 мы с тобой в точку попали - так и есть, при чтении, адрес это DRQ и INT.

Mick
10.06.2010, 19:39
Сравнил 1,2,3 книги со своими. По всем 3-м книгам есть отличия. По книги 1 отличий больше всего и почти во всём, за исключением теста. Во 2-й книге есть отличия по некоторым главам и приложениям. В 3-й - расшииренно количество описываемых игр.

Вот как бы тебя попросить их отсканить для истории? :v2_conf2:
Кстати, может сфоткаешь свою Суру, если она отличается от того какая на сайте.

pilgrim
10.06.2010, 22:10
Вот как бы тебя попросить их отсканить для истории? :v2_conf2:
Кстати, может сфоткаешь свою Суру, если она отличается от того какая на сайте.

Могу отсканировать, но, единственное, неохота править, т.е. я бы кому-нибудь сканы скинул, а он ух уже обработал.

Mick
11.06.2010, 07:03
Могу отсканировать, но, единственное, неохота править, т.е. я бы кому-нибудь сканы скинул, а он ух уже обработал.

Сосканируй и выложи на какой нибудь файлообменник, а там мы уже сконвертим. Только обложку сделай в цвете.

XobbiMan
11.06.2010, 18:29
Сосканируй и выложи на какой нибудь файлообменник, а там мы уже сконвертим. Только обложку сделай в цвете.

Поддерживаю

pilgrim
18.06.2010, 01:05
Сделал полный скан Книги 1 вместе со схемами. Все страницы, кроме тех, что касаются КНГМД требуют обработки. То, что выложил на обменник будет хранится только месяц.
http://ifolder.ru/18208485

Mick
24.06.2010, 19:09
Сделал полный скан Книги 1 вместе со схемами. Все страницы, кроме тех, что касаются КНГМД требуют обработки. То, что выложил на обменник будет хранится только месяц.
http://ifolder.ru/18208485

Вот ссылка на djvu http://narod.ru/disk/22197772000/%D0%9A%D0%BD%D0%B8%D0%B3%D0%B0%201.djvu.html

Файл 7 метров, пришлось из за схем качество улучшать.
Кстати книга интересная, там даже слот расширения правильно расписан.

Ждем еще пару книг :)

pilgrim
24.06.2010, 21:51
Сканировать книги не стал. Ранее я сравнивал свои книги с книгами сайта pk8000.narod.ru из раздела FDD, но вот сегодня решил ещё раз всё внимательно посмотреть и оказалось, что в разделе документация они точно такие же как и у меня.

hantarex
16.01.2014, 09:44
сорри за нубский вопрос, но - как записать образы дисков из EMU на реал?

все настолько просто, что никто не хочет отвечать?:)
или все настолько сложно, что никто не может ответить?:(

hantarex
21.01.2014, 14:30
конкретизирую вопрос: каким образом можно записать системную дискету 3'5 с ос СР/М-80 для Веста ПК8000? какими программами? создать, или скопировать образ из эмулятора B2М?


вообще - мона как-то прикрутить реальный флоп к эмулятору?

b2m
21.01.2014, 15:17
вообще - мона как-то прикрутить реальный флоп к эмулятору?
Не предусмотрено. Работа с дисками формата 5 секторов по 1024 байта под виндами возможна только через драйвер fdrawcmd.sys

Даже если бы была возможность работать с реальным флопом, что тогда? Чем переписывать дискету? Проще поискать тулзы, которые могут писать посекторный образ диска вышеуказанного формата. Я, ввиду ненадобности, такие не искал, но они есть.

hantarex
21.01.2014, 15:46
а чем хоть открыть файл FDD? гугль предлагает FormDocs :)
Вашу утилиту к фару прикрутить так и не смог:( подскажите пожалуйста на какую версию фар она ставится?

b2m
22.01.2014, 12:50
а чем хоть открыть файл FDD?
Утилиты для дисков Корвета должны подойти.


на какую версию фар она ставится?
У меня старенький 1.65. Но можно и из командной строки.
каталог: kdi l disk1.fdd
выдать файл: kdi x disk1.fdd file.ext
добавить файл: kdi a disk1.fdd file.ext
удалить файл: kdi d disk1.fdd file.ext

hantarex
22.01.2014, 13:26
еще один вопрос - у ПК8000 длина сектора 128 байт? или 1кб, как у Корвета?

b2m
22.01.2014, 19:25
Длина логического сектора CP/M всегда 128 байт, но физически на диске бывает другой, в данном случае размер сектора 1Кб.

hantarex
22.01.2014, 21:22
Дмитрий, не могли бы Вы сгенерировать на основе ramdos.sys файл без поддержки RAM и ROM дисков, но с поддержкой контроллера FDD Веста ПК8000? И с утилитами format и sysgen?
Переименовал файл ramdos.sys в ramdos.bin, зашил в ПЗУ(прямое подключение, даже без дешифратора адреса) - система стартовала. По крайней мере пишет СР/М 2.2 и отрабатывает команду DIR. из четырех файлов работает только XD:) ПЗУ у мну подключено в зоне адресов h4000-h8000, мож поэтому остальное не работает. А может из-за отсутствия RAM и ROM дисков.
Хочу попробовать собрать контроллер FDD без ПЛМ и по более простой схеме. Если получится - прямо с машинки хочу создать системный диск.
Еще, если Вас это не затруднит - поделитесь исходниками BIOS СР/М для ПК8000, если такие существуют в природе:) Спасибо!

b2m
24.01.2014, 19:04
Дмитрий, не могли бы Вы сгенерировать на основе ramdos.sys файл без поддержки RAM и ROM дисков, но с поддержкой контроллера FDD Веста ПК8000?
Надо писать bios cp/m, это не быстро, и без реального оборудования достаточно сложно. Можно только надеяться, что эмулятор достаточно точно эмулирует FDD Веста ПК8000.


И с утилитами format и sysgen?
Т.е. ROM диск всё-таки нужен? :)


Переименовал файл ramdos.sys в ramdos.bin, зашил в ПЗУ(прямое подключение, даже без дешифратора адреса) - система стартовала.
Непонятно, зачем переименовывать, но файл именно так и нужно использовать.


По крайней мере пишет СР/М 2.2 и отрабатывает команду DIR. из четырех файлов работает только XD:)
Видимо, твой ROM-диск не поддерживает порт 10h (переключение страниц по 16Кб). Младшие биты этого порта должны идти на старшие биты ROM-диска. XD как раз поместился в первые 16 Кб. :)


ПЗУ у мну подключено в зоне адресов h4000-h8000
Именно на это и рассчитывал.


Еще, если Вас это не затруднит - поделитесь исходниками BIOS СР/М для ПК8000, если такие существуют в природе:) Спасибо!
Исходник ramdos.sys прилагаю.

hantarex
25.01.2014, 08:41
все-таки у меня не ROM-диск, а картридж самодельный на AT49F001.
подключение: адрес-адрес, данные-данные, ЧТЕНИЕ ЗУ-CS, ВЫБОР СЛОТА1-OE.
прошивку в ПЗУ залил с адреса h4000. файл переименовывал из-за тупого программатора.
Вообще - хотелось бы загружать СР/М из ПЗУ, а дальше работать с флопом.
Есть вариант загрузить дисковую ОСь, как файл с магнитофона, форматнуть диск и скопировать на него систему? может, это проще будет?
Мне все это надо для самодельного контроллера флопа, чтоб не париться - я протупил, придумывая его? или дискета на ББ криво записана?
Дешифратор собираю по шестому посту:

Судя по всему, порты отображены на память, в диапазоне 7FF0-7FFF.
Пока похоже на это:
7FF7 - выбор стороны и диска
7FF8-7FFB - порты ВГ93
7FFC-7FFF - что-то непонятное

так что, по идее, контроллер будет совместим с оригинальным дисковым софтом. По крайней мере, я к этому стремлюсь:)

Mifody
07.02.2014, 11:06
А может новодел КНГМД замутить? Очень уж хочется КНГМД для ПКшки.. В принцепе почти всё есть. Только прошивку РТ2 надо у владельцев попросить считать. Может, если будут платы, процесс считывания РТ2 продвинется быстрее.. Я могу плату развести..

b2m
07.02.2014, 11:12
Раз уж новодел, может лучше контроллер SD-карты? НГМД это хорошо, но файлы туда-сюда переносить неудобно, да и дисков в продаже нет :)

hantarex
07.02.2014, 11:56
я свой коньроллер допаиваю:) в день по часу времени на него трачу:) осталось дня три-четыре.
насчет SD - с нее и хотел начать, но в эмуляторе ее не отладишь, а с плеером вокруг компа прыгать - удовольствие ниже среднего.
так что доделаю дисковую подсистему и займусь SD и IDE-CF.
Есть еще мысли по расширению памяти хотя бы до 128К, но это уже потом.

Mifody
07.02.2014, 12:52
контроллер SD-карты
А это что такое? Схема есть? Или описание..


IDE-CF
А про это где почитать?

В дискетах есть свой шарм.. Никакое SD или IDE его не заменит. Оно, конечно, тоже нужно, но КНГМД так же обязательно..

hantarex, вы МГТФом паяете КНГМД? У вас есть прошивка РТ2?

b2m
07.02.2014, 14:51
А это что такое? Схема есть? Или описание..
vinxru делал, должно было подойти для любого компьютера, который позволял бы воткнуть его в адресное пространство.

hantarex
07.02.2014, 15:20
да, паяю МГТФом:( очень нудное занятие:)
РТ2 заменил самодельным дешифратором, так же изменил схему канала чтения.
чем можно схему нарисовать? а то у меня все от руки.

а насчет SD - основной затык в концепции, а не в железе:) интерфейс там простейший.
как ее делать? наподобии Fatall? чтбы и кассетные файлы читала и дисковые образы? это сложно программно...
или СР/М с поддержкой SD? на это у меня пока тоже тяму не хватает:)

b2m
07.02.2014, 16:02
а насчет SD - основной затык в концепции, а не в железе:)
Концепция vinxru для Специалиста: http://vinxru.livejournal.com/154773.html
Суть простая, работа через АТмегу, в ней драйвер файловой системы.

У меня был другой концепт: работать напрямую через сдвиговый регистр, его я использовал для Башкирии-2м для DE1. Работа с образом CP/M диска на SD-карте (но она должна быть дефрагментирована). Подробнее вот в этой теме (http://zx.pk.ru/showthread.php?t=14382).

hantarex
07.02.2014, 16:22
через сдвиговый регистр на Ямахе интерфейс реализован, можно было бы портировать схему и БИОС.
но, повторюсь, для меня основная проблема не в выборе железного интерфейса, а то, как это будет выглядеть со стороны пользователя. прог на ПК8000 немного, если отказаться от поддержки *.cas - это не есть гуд. но тогда будет громоздкая процедура для работы с *.FDD образами. а если лепить СР/М с поддеожкой флешки - будет вещь в себе с непонятной файловой системой и как тогда на нее софт переносить?

Mifody
07.02.2014, 16:24
SD и IDE, как я понял, не опробовано на ПК8000.. Это нужно писать софт, допиливать загрузчик и прочее. Это долго. КНГМД вроде как стандартное устройство, должно заработать.. Получается, что реальный КНГМД есть только у Mick? Наверно займусь разводкой платы, а там из новодельцев может кого заинтересует. Изготовят плату.
Я вот покурил схему. Появились вопросы. Это вопросы к обладателям сабжа.

1. Вопрос по подключению 531ГГ1. На схеме не указано подключение выводов 9 и 16, а это как раз питание выходного буфера микросхемы. Подключены только выводы 8 и 15-это питание самого генератора. Получается, что выходной буфер работать не будет, а так быть не должно. Это ошибка? На реальной плате питание на выводы 9 и 16 подключено?

2. Адресация 556РТ2. На схеме шина адреса нарисована "вверх ногами". То есть А0-А15 это выводы 20-27,2-9. А должно быть, если верить справочнику по распиновке РТ2, А15-А0 это выводы 20-27,2-9. Так же несоответствие битов данных. На схеме вывод 15 это D4 (должно быть по справочнику вывод 15 это D3) и так все биты данных смещены на еденицу.. Это просто неправильно обозначили А0-А15 D0-D7? Думаю, что наверно так и есть, ориентироваться нужно по номерам выводов. Но всё же желательно уточнить..

3. Подключение системного разъёма.. Если верить схеме, то к системному разъёму выводы 11,13,15 не подключены. Однако на фото заводского КНГМД хоть и не чётко, но видно, что весь ряд выводов подключен (а это выводы 1-17).. Что должно быть подключено к выводам 11,13,15?

Вроде остальное всё сходится..

И к стати чего делать плату SD контроллера, если она простецкая.. На коленке МГТФом быстро делается. А КНГМД МГТФить долго и нудно..

perestoronin
07.02.2014, 16:37
Наверно займусь разводкой платы, а там из новодельцев может кого заинтересует. Изготовят плату.
Конечно сделаю. Но ближе к лету будут свободные средства. Время есть, напишите мне в личку как закончите или сюда в тему. Для производства нужны герберы.

Mifody
07.02.2014, 16:42
Для производства нужны герберы.
Я выложу файл SL6. от туда герберы легко вытащить. И каждый сможет посмотреть.. Если нужны именно герберы и сверловка-вышлю их отдельно.

И ещё.. Как лучше делать плату? "С закосом под оригинал"? Тогда плата будет внушительных размеров. И для этого нужно качественное фото КНГМД, так как по существующей фото прочитать названия микросхем невозможно.. "Закос" будет повторять только размещение микросхем и разъёмов. Разводка будет полностью отличаться, так как разводить будет P-CAD..
Или же стремиться к минимальным размерам платы с плотной компоновкой деталей, чтобы снизить стоимость платы? Сейчас возможен только второй вариант, так как качественного фото на данный момент нету..

b2m
07.02.2014, 16:58
через сдвиговый регистр на Ямахе интерфейс реализован
Оттуда и был взят концепт. Практически один-в-один. И в эмуляторе есть поддержка, нужно только соостветствующий конфиг состряпать.


как это будет выглядеть со стороны пользователя. прог на ПК8000 немного, если отказаться от поддержки *.cas - это не есть гуд.
Либо сделать загрузчик файлов .cas, либо сконвертировать их в .com


будет громоздкая процедура для работы с *.FDD образами. а если лепить СР/М с поддеожкой флешки - будет вещь в себе с непонятной файловой системой и как тогда на нее софт переносить?
Для начала сделать работу с образами, а потом можно будет сделать читалку FAT и перенос файлов на ПК8000 будет проще.

hantarex
07.02.2014, 17:09
а вообще - реально в СР/М запилить поддержку FAT16 на уровне BIOS?
чтобы она с такого раздела грузилась и напрямую с ним работала?

esl
07.02.2014, 17:21
а вообще - реально в СР/М запилить поддержку FAT16 на уровне BIOS?
чтобы она с такого раздела грузилась и напрямую с ним работала?

собственно по теме - имхо нет
проще написать дос который работает с фат но имеет стандратные вызовы совместимые с cp/m
на самом деле прог которые завязаны на низкоуровенвую структуру - не так уж и много.

но это MSX DOS получится ;)

hantarex
07.02.2014, 17:26
так ПК8000 - это клон Ямахи вроде?:)
может стоит попробовать?:) игры ведь портируют?:)

dk_spb
07.02.2014, 18:09
Средства есть. Готов хоть в понедельник могу заказать изготовление плат.

perestoronin
07.02.2014, 18:27
так как качественного фото на данный момент нету..
Есть работающий образец на макетке ?
Если нет, то восстанавливать реплику оригинала следует по сканам чистых плат.

b2m
07.02.2014, 18:39
а вообще - реально в СР/М запилить поддержку FAT16 на уровне BIOS?
Реально, на мой взгляд:
1. Найти корневой каталог и показать список образов
2. Выбрать пару образов для работы и вычислить начальный сектор каждого
3. Биос работает с куском SD-карты как с СР/М диском, смещённым от начала на значения, найденные в п.2.

ivagor
07.02.2014, 18:46
3. Биос работает с куском SD-карты как с СР/М диском, смещённым от начала на значения, найденные в п.2.
А для работы с фрагментированными файлами для i8080 нереально написать что-нибудь?

Mifody
07.02.2014, 20:23
Есть работающий образец на макетке ?
Если нет, то восстанавливать реплику оригинала следует по сканам чистых плат.
Какие сканы плат??? Нет не то, чтобы сканов плат, а даже нормального фото платы.. Разводить буду по схеме, используя авторазводчик P-CAD. Оно то конечно лучше по сканам сделать один к одному, но только гдеж его взять то,этот скан..
Но в схеме,ИМХО, есть неточности или ошибки. Я написал то, что я заметил.

perestoronin
07.02.2014, 22:18
но только гдеж его взять то
может кто продаст? например мне, для доброго дела :)

Mick
07.02.2014, 22:32
может кто продаст? например мне, для доброго дела :)

Может кто то и продаст, но я точно не буду :)
Да, у меня есть сей девайс, но продавать я его не собираюсь, а уж тем более распаивать на сканы платы. Собственно можно ответить на вопросы Mifody, но увы пока времени нет на изучение. На мне висит тройка текущих железных спектрумовских проектов. Пока их не завершу помочь увы не смогу. Уж извините, если что. Либо придется подождать до отпуска, который будет в марте.

Mifody
07.02.2014, 23:43
Спасибо. Сканы я не прошу. Оно желательно, но совсем не обязательно. Это будет похоже на вандализм, курочить плату.. Разводку можно сделать другую без проблем. Сейчас важно, чтоб не было ошибок в схеме и очень нужна прошивка РТ2.

b2m
08.02.2014, 13:58
А для работы с фрагментированными файлами для i8080 нереально написать что-нибудь?
Я уже думал, но для образа цепочка FAT слишком длинная. Например, для FAT16 и sd-карточки минимального размера 256Мб размер кластера будет 4Кб, т.е. для 800Кб-образа цепочка будет 200х2=400 байт. Для двух образов (два диска) - почти килобайт.

ivagor
08.02.2014, 14:20
Тогда желательно, чтобы контроллер SD содержал некоторое количество доп. памяти, все же единицы килобайт смешная цифра для любой современной микросхемы. Т.е. проблема только в универсализации такого решения - куда и как в каждом конкретном компе всунуть эту доп. память, можно ведь даже только через порты.
Меня лично больше интересует программная составляющая, т.е. некая прога для 8080, которая может работать с FAT.

Mick
09.02.2014, 13:17
Спасибо. Сканы я не прошу. Оно желательно, но совсем не обязательно. Это будет похоже на вандализм, курочить плату.. Разводку можно сделать другую без проблем. Сейчас важно, чтоб не было ошибок в схеме и очень нужна прошивка РТ2.

А как ты представляешь процесс считывания прошивки - РТ2 запаяна.
Ее можно считать если непосредственно от программатора кидать провода и подпаиваться к ногам микросхемы. Но тогда перво наперво вам надо доступный программато РТ2 сообразить, чтобы каждый желающий мог его собрать. Замкнутый круг.

Mifody
09.02.2014, 20:08
Я думаю,что тот, кто захочет собрать, найдёт как запрограммировать. Купить РТ2 пока ещё можно. На форуме есть люди, у которых такой программатор есть. На крайний случай можно попросить запрограммировать по почте. Согласен, что вариант не очень.. Но я же говорю, что тот, кто реально захочет..
Ну а какой ещё выход есть? Собирать на рассыпухе? Это нужно на макетке собирать и пробовать..
А как считать.. Ну это выпаивать.. Я не знаю, прокатит ли так, чтоб прямо из платы прочитать. Только вот мало кто захочет это делать, чтоб помочь другим. Я в своё время выпаивал из ПК8000 РТшки для считывания. Выложено в соответствующей теме. Но здесь, конечно, нужен опыт, чтоб плату не запороть. Оно ведь ничего вечного не бывает и рано или поздно РТшка может приказать, и думай,гадай потом, всё ли с ней впорядке. И дампов не будет, чтобы сравнить. Так что дампы надо делать, пока не поздно..

perestoronin
09.02.2014, 21:11
Купить РТ2
Чистых РТ2 небольшое количество я припас в прошлом году по случаю, но думаю без выпаивания никак. Китайским феном должны легко сняться. Впаивать обратно нужно будет именно копии, а оригиналы сохранить на всякий случай.
Потому и ищу - кто продаст платку или целиком.

pilgrim
09.02.2014, 21:32
Чистых РТ2 небольшое количество я припас в прошлом году по случаю, но думаю без выпаивания никак. Китайским феном должны легко сняться. Впаивать обратно нужно будет именно копии, а оригиналы сохранить на всякий случай.
Потому и ищу - кто продаст платку или целиком.
У меня есть чем их шить, могу, при наличии РТ2, нашить их для всех, в том числе и для себя (если будет плата).

perestoronin
09.02.2014, 22:03
У меня есть чем их шить,
у меня весной тоже надеюсь будут программаторы для всех ретро-микросхем
а вот прошивки и платки (реплики оригиналов) возможны только при наличии сканов платок без деталек и с детальками.


при наличии РТ2
Ищем себе и договариваемся о доставке Митино, именно так я и делал:
http://www.chipfind.ru/search/?part=КР556РТ2 (http://www.chipfind.ru/search/?part=%D0%9A%D0%A0556%D0%A0%D0%A22)

dk_spb
09.02.2014, 22:16
Я бы не рискнул выпаивать. Аккуратно фрезой на дриллере спилить, в клипсу зажать и считать. Ножки выпаять и новую РТ впаять. Ходили непроверенные слухи что РТшки очень боятся перегрева, так что риск утратить содержимое очень велик.

Mick
10.02.2014, 07:09
Похоже тут не вы не уловили мою мысль. Все опять типа у меня есть программатор, я считаю. А у меня его нет и я увы не считаю. Тут все никак повторить микроартовский программатор не могут. Казалось вот решение для всех, но почему то все тормозят.
Лично мне подпаять проводки не составляет труда. Я уже считывал обычные ПЗУхи РФки с плат. Так что дело за малым - доступный программатор РТ2 для всех. Вот когда решится этот вопрос, тогда можно и разговаривать о считывании.

perestoronin
10.02.2014, 09:41
Тут все никак повторить микроартовский программатор не могут.
Если alvis не завершит начатое, сам сделаю весной. До весны уже недолго осталось.
Сами сканы платок программатора то я уже сделал и на форуме давно опубликовал.

Mick
10.02.2014, 10:23
Кстати, поглядел я схему контроллера дискогрыза. По сути в РТ2 запихан дешифратор, который выбирает всего 4 "устройства":
ВГ93, ПЗУ, запись в регистры ТМ8 и чтение из ИР26.
В принципе b2m уже все адреса доступа знает, томожно на любой PAL/GAL этот дешифратор сообразить.
Но с другой стороны, если обратить на некую навороченность контроллера (АГ3, ГГ1). возникает вопрос вообще о целесообразности повторения его в этом виде.
Во первых это использование области памяти ОЗУ, которая и так ограничена, во вторых - это его настройка (подстроечный кондер и резистор).
Повторение данной конструкции имеет смысл в том случае:
1. Если используется какой то хитрый формат дорожек, который не могут повторить известные до этого контроллеры от ZX Spectrum, Ориона, Вектора.
2. Только ради аутентичности.

Конечно схему и плату для истории сохранить естественно надо.
Это мое мнение.

b2m
10.02.2014, 11:20
Без хитрых 4-х ячеек на ИР26-тых у ПК8000 скорости не хватит читать/писать сектор. А дешифратор - да, можно на рассыпухе спаять. Учитывая, что там только пара килобайт в ПЗУ используется, дешифрацию можно сделать лишь по трём адресным линиям A13,A4,A3.

---------- Post added at 12:12 ---------- Previous post was at 12:08 ----------

A13 прямо на CS ПЗУ, а А4,А3 и WR/M через ИД7 (A13 тоже на ИД7, в качестве разрешения выбора).

---------- Post added at 12:20 ---------- Previous post was at 12:17 ----------

Часть схемы после ВГ93 можно и от другого контроллера взять, всё зависит от желания, насколько надёжными должны быть чтение/запись.

Mick
10.02.2014, 11:28
Часть схемы после ВГ93 можно и от другого контроллера взять, всё зависит от желания, насколько надёжными должны быть чтение/запись.

Да вроде никто не жаловался на Орионовский или Спековские контроллеры :)

Кстати, вообще можно было бы убрать отображение портов ВГ93 и регистров на память. А сделать по человечески - на порты. Я так понимаю, все это хозяйство обрабатывает драйвер в ПЗУ. А DOS лазает скорее всего через драйвер.

b2m
10.02.2014, 11:38
Кстати, вообще можно было бы убрать отображение портов ВГ93 и регистров на память.
Ну ИР26-тые по-любому в памяти должны быть. У Ориона 2.5МГц, у Спекки вообще 3.5МГц да ещё Z80. Так что только через порты ПК8000 не успеет.

ivagor
10.02.2014, 11:43
Оффтоп

У Ориона 2.5МГц
А ты не веришь, что у ПК8000 тоже 2,5МГц, только с жуткими тормозами?

Mick
10.02.2014, 11:48
Ну ИР26-тые по-любому в памяти должны быть. У Ориона 2.5МГц, у Спекки вообще 3.5МГц да ещё Z80. Так что только через порты ПК8000 не успеет.

Почему ИРки нельзя через порты. Там на них идут всего две линии адреса A0 и A1. И почему не успеет.
Если обращаться через MOV R,M LDAX, STAX- то конечно это быстрее чем OUT или IN. 7 тактов против 10 тактов. Но если через LDA, STA, то OUT и IN быстрее будут - 13 против 10 тактов.

---------- Post added at 10:48 ---------- Previous post was at 10:46 ----------



А ты не веришь, что у ПК8000 тоже 2,5МГц, только с жуткими тормозами?

Причем ключевое слово жуткими. Да, вайтится немного процессор :)

ivagor
10.02.2014, 11:50
Если обращаться через MOV R,M LDAX, STAX- то конечно это быстрее чем OUT или IN. 7 тактов против 10 тактов. Но если через LDA, STA, то OUT и IN быстрее будут - 10 против 13 тактов.
Какие 7, 10 и 13 тактов? Mick, ты тоже не веришь в результаты моих "исследований"?

---------- Post added at 13:50 ---------- Previous post was at 13:49 ----------


немного
немного?

Mick
10.02.2014, 11:52
Какие 7, 10 и 13 тактов? Mick, ты тоже не веришь в результаты моих "исследований"?[COLOR="Silver"]


Я привел для сравнения данные из справочника. Ну естетственно плюсуем такты вайта.

b2m
10.02.2014, 11:57
Почему ИРки нельзя через порты. Там на них идут всего две линии адреса A0 и A1. И почему не успеет.
Потому что из них читается команда для процессора, а он только из памяти их читает. :)

А не успеет, потому что по моим предположениям, там торможение как в Векторе, только тактовая не 3МГц, а 2.5МГц. В среднем получается 3/4 производительности, т.е. 1.875МГц, а этого мало для цикла чтения из порта с опросом готовности. К тому-же чтение из порта 10 тактов, а чтение из памяти 7 тактов.

ivagor
10.02.2014, 12:03
торможение как в Векторе
если выполняются команды из ОЗУ, то в SCR1/2 заметно хуже чем в Векторе. Если из внешней памяти, то ситуация лучше

---------- Post added at 14:03 ---------- Previous post was at 14:00 ----------

Вернее, если из внешней памяти или из внутреннего ПЗУ

Mick
10.02.2014, 14:30
Судя по всему, порты отображены на память, в диапазоне 7FF0-7FFF.
Пока похоже на это:
7FF7 - выбор стороны и диска
7FF8-7FFB - порты ВГ93
7FFC-7FFF - что-то непонятное


7FFC-7FFF - это как раз регистры ИР26.
И судя по ПЗУхе туда пишется комбинация такая E9h,C9h,00h,C9h
Или в мнемонике PCHL, RET, NOP, RET

Кстати тут некоторые полагают что там доступ в основном через 7 тактные команды. Ах, ха ха - получите LDA и STA.

Надо сюда кинуть что ли листинг ПЗУхи для анализа :)

b2m
10.02.2014, 14:50
7FFC-7FFF - это как раз регистры ИР26.
И судя по ПЗУхе туда пишется комбинация такая E9h,C9h,00h,C9h
Или в мнемонике PCHL, RET, NOP, RET
Мы уже обсуждали это на первой странице. Там я примерно расписал, как работает драйвер. Тогда это были догадки, но судя по всему, всё так и есть.

Mick
10.02.2014, 14:52
Мы уже обсуждали это на первой странице. Там я примерно расписал, как работает драйвер. Тогда это были догадки, но судя по всему, всё так и есть.

Точно, я уже все позабыл :)

b2m
10.02.2014, 14:53
Точно, я уже все позабыл :)
Ну дык, почти 5 лет назад было :)

Mick
10.02.2014, 14:56
Ну дык, почти 5 лет назад было :)

Да уж время летит. :(

Ну даже если оставить все как есть - обращатся через память, то полюбас если новый контроллер городить, то уж всяко лучше без ГГ1 и АГ3. Как там ИР16 и ТМ8 с ИЕ7 - наше все :)

Mifody
10.02.2014, 15:24
Развёл плату. На сегодняшний момент это всё, что можно сделать. Без фото платы и ответов на вопросы.
1. Развёл питание на выводы 9 и 16 ГГ1, так как я не понимаю, как она будет работать без питания выходного буфера..
2. Подключение РТ2 сделал по номерам ножек. (Напомню, в схеме ША нарисована "вверх ногами". Т.е. на А0 системного разъёма подключена А15 РТ2 и т.д). ШД так же подключил по номерам ног как в схеме..
3. Глянул схему ПК8000, вывод 11 системного разъёма-это ЧТВВ, 13 вывод-ЗПВВ (чтение/запись портов ввода-вывода, как я понимаю.) Вывод 15 я не нашёл на схеме ПК8000, так что даже не знаю. Надо разбирать комп и смотреть по плате куда он идёт.. Наверно, это очень важные сигналы и их нужно куда-то подключать. Но на схеме это не указано.. Ну здесь МГТФ, если что..

По поводу РТ2. Я смотрю, оно включено так, что вместо его можно поставить обычное ПЗУ? Или кто знает схему замены РТ2 на рассыпухе? Набросайте схему, я разведу ещё версию с дешифратором на рассыпухе..
Или с GALкой. Но, думаю, нужно сначала на рассыпухе попробовать. Если слишком много микросхем будет получаться, то тогда на GALке делать..
Вложения удалены. Последние версии плат ниже..

hantarex
10.02.2014, 15:51
у меня схема замены РТ2 получилась на 4 мсх: ЛН1, ЛА1, ЛА2, ИД4 + заюзал два неиспользуемых элемента ИЛИ D4. ЛА3, и весь блок чтения выкинул нафик.
селектор синхроимпульсов делать обязательно? или мона без него обойтись?
еще проблема - не могу теледиском записать образ на 3.5 дискету, постоянно ошибки лезут. для него есть разница - 5.25, или 3.5 дискогрыз?

Mick
10.02.2014, 18:10
1. Развёл питание на выводы 9 и 16 ГГ1, так как я не понимаю, как она будет работать без питания выходного буфера..
2. Подключение РТ2 сделал по номерам ножек. (Напомню, в схеме ША нарисована "вверх ногами". Т.е. на А0 системного разъёма подключена А15 РТ2 и т.д). ШД так же подключил по номерам ног как в схеме..


1.Вроде в справочнике указано что 8 и 9 ноги и 15 и 16 они как бы запараллены внутри. Если есть такая живая микруха, возьми да проверь.
2. То что ты называешь вверх ногами - это не ошибка. Какая разница если подсоединили адресную линию A0 к адресной линии A15 - с точки зрения работоспособности никакой. Просто так было удобно разводить. А если ты сделаешь типа "правильно", то прошивка у тебя не будет работать, так как логика уже будет другой. Там принцип простой адреса к адресам, а выходы с выходами. т.е. ошибкой будет соединение адрес -выход.
Надеюсь смысл уловил. И кстати нашел кусочек своей схемки, когда то я начинал соствалять схему по печатки. Адреса правильно указаны на схеме, также и подключено на реальной плате.

Кстати я думаю что GAL22V10 вполне может хватить вместо РТ2.



---------- Post added at 18:10 ---------- Previous post was at 18:07 ----------


у меня схема замены РТ2 получилась на 4 мсх: ЛН1, ЛА1, ЛА2, ИД4 + заюзал два неиспользуемых элемента ИЛИ D4. ЛА3, и весь блок чтения выкинул нафик.
селектор синхроимпульсов делать обязательно? или мона без него обойтись?


Ну как бы ты рискуешь поиметь проблемы при чтении не очень хороших дисков. Селекторы записи и чтения можно тупо взять из орионовского контроллера или спектрумовского.

hantarex
10.02.2014, 20:36
узел записи менять не собираюсь, благо, она мало от стандартной отличается.
а насчет чтения плохих дисков - где их взять-то, диски эти?:) вообще, селектор синхроимпульсов у мну предусмотрен, на ИЕ7, но сразу паять его не буду, только если не заработает.
еще раз спрошу - кто в курсе, как записать на 3.5 диск образ, снятый с 5,25?
или тоолько на 5,25?

dk_spb
10.02.2014, 21:22
>еще раз спрошу - кто в курсе, как записать на 3.5 диск образ, снятый с 5,25?
А в чем проблема-то? Без проблем и усилий пишется. Или какая-то особая программа у Вас кочевряжится?

hantarex
10.02.2014, 21:33
5,25 ни дисковода, ни дискет нету:(
а на новые 3.5 Теледиск матом ругается при попытке записи, то индекса нет, то ошибка записи. с трек 0, сектор 0 и далее, по порядку:( окошко плотности, естественно, заклеил.
дисководы разные пробовал, жискеты новые, из коробки, TDK.
пишу на 286, MS_DOS 6.22.

Mifody
11.02.2014, 08:36
Так это.. Нарисуйте схему замены РТшки на рассыпухе.. Если убирать ГГ1, АГ3, то это надо на мекетке сначала обкатывать, а не сразу на печатку. И какие мысли будут по поводу сигналов ЧТВВ и ЗПВВ? Куда они могли бы подходить?

hantarex
11.02.2014, 09:08
чтение-запись портов вообще не используется в контроллере.
на макетке и собираю.
насчет схемы - в чем рисовать?

в контроллере четыре устройства, все адресуются, как память: D7-ПЗУ, D14-к1818ВГ93, D8,D9- схема готовности ВГ93, D17,D18-выбор диска, стороны диска.

Mick
11.02.2014, 09:30
Так это.. Нарисуйте схему замены РТшки на рассыпухе..

А что там такого сложного.

Самое забавное в этой истории, что применение в контроллере РТ2 очень сомнительное. Габариты платы позволяли сделать полную дешифрацию на логике. Единственное объяснение, так это попытка таким образом защитить свою разработку от копирования. И то если только от любительского или кооперативного, т.е. где нет доступа к программированию РТ2 :)

hantarex
11.02.2014, 09:39
Mick, в чем схему рисуете?
у мну дешифратор немного по другому выглядит, но, в принципе, тоже самое:)

Mick
11.02.2014, 09:44
Mick, в чем схему рисуете?
у мну дешифратор немного по другому выглядит, но, в принципе, тоже самое:)

Как обычно - в PCAD2002 :v2_dizzy_botan:

hantarex
11.02.2014, 09:52
это, конешно, наглость с моей стороны - но, может, у Вас и перерисованная в PCAD2002 схема контроллера есть?:) а то неохота с нуля рисовать. и программы я не знаю:(

Mick
11.02.2014, 10:37
это, конешно, наглость с моей стороны - но, может, у Вас и перерисованная в PCAD2002 схема контроллера есть?:) а то неохота с нуля рисовать. и программы я не знаю:(

Нет я не перерисовывал. Было только на стадии желания и все.

dk_spb
12.02.2014, 14:47
hantarex, Попробуй утилитку IMD. У неё и конвертер из .td0 есть.
http://www.classiccmp.org/dunfield/img/index.htm

Mifody
13.02.2014, 12:57
Если чтение портов не используется, значит с выводами разобрались. Наверняка, вывод 15 тоже что то не нужное..))
Лично я хотел бы повторить КНГМД именно таким, каким он был разработан. Без каких либо доработок и упрощений.
Развёл версию платы, в которой можно поставить или РТ2, или собрать дешифратор на рассыпухе. Пришлось поставить логику дешифратора под большие микросхемы. Но, они всё равно будут устанавливаться на панельки. Так что нормально..
Если хотим ставить РТ2 (D5), то не надо устанавливать D26-D29. И наоборот.
Собственно, кому не терпится, можно пробовать отдавать в производство.. Я одну платку куплю у вас..
И ещё. У меня есть схема, разведённая в П-КАДе. Но читать её не удобно, так как она вводилась только для быстрой разводки платы. Я обсмотрел все менюшки в П-КАДе, и не нашёл экспорта схемы в картинку. Если Mick объяснит, как он конвертирует, выложу схему. Но опять повторюсь, что читать её крайне не удобно..

Mick
13.02.2014, 13:11
Если Mick объяснит, как он конвертирует, выложу схему. Но опять повторюсь, что читать её крайне не удобно..

А что там сложного. Ставишь какой нибудь PDF writer или adobe distiller.
И печатаешь в pdf. А уж pdf можно и в картинку.

Mifody
18.02.2014, 12:55
Средства есть. Готов хоть в понедельник могу заказать изготовление плат.
Желание ещё не пропало? Собственно, уже можно пробовать делать..))

Вот схема, по которой П-КАД разводил плату. Читать её не удобно. Рисовал её чисто для быстрой разводки..

А ещё.. Дополнение к сказанному

Если хотим ставить РТ2 (D5), то не надо устанавливать D26-D29.
Если ставить РТ2, то помимо "не надо устанавливать D26-D29" нужно ещё обязательно поднять (не запаивать в плату) выводы 3 и 11 микросхемы D4.

hantarex
18.02.2014, 13:58
а есть исходник схемы для РСАD?

Mifody
18.02.2014, 14:14
Есть конечно. Но схема в П-КАДе выглядит так же, как и схема в приложенном PDF файле.

hantarex
18.02.2014, 14:52
зато ее отредактировать под свои нужды можно:)

а я, к сожалению, вторую неделю не могу заняться своим контроллером:(

dk_spb
19.02.2014, 11:03
Желание ещё не пропало? Собственно, уже можно пробовать делать..))
Не пропало. Пиши в ЛС.

Mifody
19.02.2014, 21:36
Герберы и сверловка, выведенные из SL... Всё верно там?

ram_scan
22.02.2014, 17:26
Если хотим ставить РТ2 (D5), то не надо устанавливать D26-D29. И наоборот.

Возможно я лезу не в свое дело, но я бы посоветовал развести это дело не под 556РТ2 а под открытоколлекторные 556РТ1. Распиновка в принципе та-же, только подтяжку к пяти вольтам добавить. Этим расширяется поле для маневра по замене микросхем, поставить либо 556РТ1 с резисторной сборкой, либо 556РТ2 без сборки, либо россыпью. Просто 556РТ1 встречается в продаже чаще.

Либо решить вопрос на корню разведя это дело под 27c256.

perestoronin
22.02.2014, 18:58
КР556РТ2 у меня есть, а КР556РТ1 нет.
Я бы за то, чтобы их заменить галками, если нет возможности заменить, то оставить КР556РТ2.

Либо решить вопрос на корню разведя это дело под 27c256.
Смотря что находится внутри, не всегда возможна такая замена, да и не целесообразна. Если менять, то только на мелкую GAL22V10.

hantarex
27.02.2014, 15:52
вопрос к аксакалам - ПЗУ КНГМД юзается только для загрузки ОС? или после загрузки ОС этой самой ОС используется тоже?

b2m
27.02.2014, 22:35
После загрузки ОС используется тоже, драйвер диска непосредственно из ПЗУ работает (к тому-же порты находятся в конце области).

hantarex
28.02.2014, 08:34
про порты - это и так понятно. интересовало именно ПЗУ.

dk_spb
22.03.2014, 11:14
Платки пришли
http://oldpc.su/7/kngmd8000.jpg
Подробности тут (http://zx-pk.ru/market/viewtopic.php?f=7&t=1901)

pilgrim
23.03.2014, 23:01
Платки пришли
http://oldpc.su/7/kngmd8000.jpg
Подробности тут (http://zx-pk.ru/market/viewtopic.php?f=7&t=1901)
Не могу отправить вам сообщение, т.к. у вас личка переполнена

dk_spb
27.04.2014, 20:42
Собрал ли кто-нибудь КНГМД?

perestoronin
27.04.2014, 21:40
Собрал ли кто-нибудь КНГМД
я не скоро буду собирать, где-то к концу лета надеюсь соберу.
PS. Сейчас ожидаю монтажные столы, но срок поставки большой. На журнальном столике замаялся паять. А платок в сборку уже много насобиралось, и не только для ПК8000 ;)

hantarex
01.05.2014, 08:30
я собрал. пока не работает.

Mifody
14.05.2014, 08:24
Собрал ли кто-нибудь КНГМД?
Наконец то получил недостающие детали. Дособирал новодел КНГМД. Включил, на экране появился курсор, дисковод начал крутить мотором, загорелся светодиод активности. Жму ресет, дисковод останавливается, светодиод тухнет. Через пару секунд опять курсор, мотор, светодиод.. Пока на этом всё.. Но это уже хорошо, значит ПЗУ читается, управление дисководом работает. Правда вот голова не едет к нулевой дорожке. Но вчера не было времени посмотреть осциллом, что там. Да и стол сейчас занят Агатом. Как закончу с Агатом, займусь ПКшкой..

dk_spb
14.05.2014, 09:08
С нетерпением ждем. ;-)

dk_spb
17.06.2014, 17:43
Нет ли новостей?

Mifody
26.06.2014, 15:02
Нет ли новостей?
Новости есть, но не очень радужные..((
Вчера наконец то закончил с ремонтом агата. Ох и адская же это машина..))
Принялся за КНГМД. Пока глубоко не копал, дело было уже глубокой ночью. При включении, через пару секунд, есть обращение к дисководу, но головы не идут на ноль. На CS ВГшки постоянная 1. ВГшка целая, от дисковода на ВГшку всё приходит (ну там RDY, INDEX и т.д.), кабель целый, сингалы смотрел непосредственно на ногах ВГшки.. Буду смотреть дешифратор. Где то слышал, что ВГшка аппаратно должна двигать головы на ноль. Но, как я понял, при CS=1 она вобще делать ничего не будет? Даже двигать головы?

Mifody
28.06.2014, 23:25
Нашёл один баг на плате. Не туда подключен CS ПЗУ. Самый простой рецепт лечения-отогнуть 20 ногу пзу (не вставлять в панельку) и соеденить её МГТФом с выводом 11 на месте установки РТ2.
После устранения бага CS на ВГшке появился, но всё же головы не двигаются. На выводе 19 ВГшки (CLR) постоянно висит низкий (активный) уровень. Микросхема ТМ8 рабочая, да и порт,собственно, тоже работает. Сигнал MOTOR ON1 ведь меняется при включении дисковода. Если принудительно подать высокий, то головы двигаются к нулю. Но всё же дальше ничего не происходит, данные от дисковода блокируются на элементе D12.3, так как на выводе 33 (WF/DE) ВГшки постоянно висит 1. На выводе 4 (R) ВГшки движения есть, комп из неё что то пытается прочитать. А имеет значение, к какому разъёму на ПК8000 подключён контроллер? У меня Веста, а на них ставили только крайний системный разъём..) Тут надо бы хоть примерно знать, как происходит инициализация контроллера, чтоб понять на каком этапе происходит затык..

Mick
30.06.2014, 19:29
По всей видимости у тебя что то с дешифрацией.
Надеюсь ты помнишь, что порты контроллера дискогрыза отображены на память, в диапазоне 7FF0-7FFF.

Mifody
01.07.2014, 14:41
По всей видимости у тебя что то с дешифрацией.
Да проверял.. Всё соответствует выложенной ранее схеме замены РТшки..


Надеюсь ты помнишь, что порты контроллера дискогрыза отображены на память, в диапазоне 7FF0-7FFF.
Я как понимаю, портов в КНГМД всего 4? Порт ТМ8, ВГ93, ИР26, ПЗУ ? А какие конкретно адреса у конкретных портов? Можно попробовать из бейсика писать в порт данные и наблюдать что происходит с КНГМД..

Mick
01.07.2014, 17:09
Я как понимаю, портов в КНГМД всего 4? Порт ТМ8, ВГ93, ИР26, ПЗУ ? А какие конкретно адреса у конкретных портов? Можно попробовать из бейсика писать в порт данные и наблюдать что происходит с КНГМД..

Про порты в этой теме уже писали, например в районе
http://zx-pk.ru/showpost.php?p=226155&postcount=9
и http://zx-pk.ru/showpost.php?p=671970&postcount=93

dk_spb
01.07.2014, 17:37
Может для начала на РТшке собрать, если её прошивка есть?

hantarex
07.09.2014, 14:08
не выходит каменный цветок:(
исправил баг, обнаруженный Mifody, добавил инвертор в разрыв выв.15 DD18 и выв.19 DD14, чтение пошло, сигнал на выв.27 DD14 появляется, а дальше - тишина.
правда ГГ1 у мну нет и заказывать ее влом, собрал канал чтения "по Рюмику", на ТМ2 и ИЕ7.
Может кто из разбирающихся тест-ПЗУ набросает? позиционирование головки, скорость шпинделя, чтение-запись-верификация сектора или дорожки, с минимальным выводом на экран?
з.ы. после исправления бага с выбором ПЗУ машина перестала вываливаться в Васик:( есть над чем подумать.

kapitan-u
03.10.2014, 04:33
Оригинально придумали. Уважение сразу вызывает к людям, которые разрабатывали и програмили раньше.

я вот сначала тоже так подумал, а потом сел и ради интереса сделал тупо при помощи сигнала RDY на процессор.
При чтении DRQ - IRQ порта тормозим до прихода одного из сигналов,
причем только для команд чтения и записи. Hешается несколькими вентилями, софт менять ненадо и работает для MFM замечательно. Одно условие: в системе никто другой не должен подтормаживать, типа видео озу и т.п.

kapitan-u
04.10.2014, 10:27
PS проверенно на Львове.
http://zx-pk.ru/showpost.php?p=742648&postcount=45
из озу работать сложно - много тормозов. если сама программа сидит в ПЗУ,
а в ОЗУ только класть-брать данные то все железно работает с большим запасом.
программы работающие с диском из ОЗУ просто вызывают data pump процедуру из ПЗУ.
Цена вопроса на Львове:
Три вентиля в контроллере дисковода (были свободные, как вариант 2 диода и резистор) + резистор и транзистор + один провод проброшен через свободный контакт системного коннектора. В самом львове: одна дорожка разрезана + один резистор и один диод + провод на системный коннектор.
Все обратно совместимое и никак не мешает обычной работе.
В ПЗУ ДОС забито 2 команды условного перехода NOPами.

Итого: вариант ПК8000 это очень круто и серьезный over kill

---------- Post added at 09:27 ---------- Previous post was at 08:59 ----------

PPS конкретнее: цикл подачи байта сейчас занимает 23 мкс против 32 отведенных на это MFM
на Львове каждый второй доступ к памяти от видеоадаптера и тоступ процессора может быть задержан до 1 мкс,
так вот даже при таких усховиях MFM работает из RAM! на пределе быстродействия 30 мкс, но работает.

Mifody
02.12.2014, 10:46
Прошу прощения за долгое молчание. Накопились семейные дела.. Сейчас вроде стал виден просвет..


в контроллере четыре устройства, все адресуются, как память: D7-ПЗУ, D14-к1818ВГ93, D8,D9- схема готовности ВГ93, D17,D18-выбор диска, стороны диска.

Я вчера посидел со схемкой. Я не пойму, как адресуется ПЗУ? Судя по схеме замены РТ2, выбор ПЗУ перекрывает адреса 4000h-7FFFh. Так и должно быть? Получается, что при чтении портов ВГ93 или ИР26, так же будет происходить выборка ПЗУ и будет конфликт на шине. При записи в порт ПЗУ отваливается по /ОЕ. Я правильно думаю? Или чего то не допонимаю?

DemonId7
02.12.2014, 22:49
Я не пойму, как адресуется ПЗУ? Судя по схеме замены РТ2, выбор ПЗУ перекрывает адреса 4000h-7FFFh. Так и должно быть?Да, именно так.

Получается, что при чтении портов ВГ93 или ИР26, так же будет происходить выборка ПЗУ и будет конфликт на шине. Это смотря откуда и как читать.
Если в двух словах, то вызов подпрограммы чтения/записи сектора происходит следующим образом:
1. По умолчанию на адреса 0x4000-0x7FFF отображается обычная ОЗУ. Подпрограмма чтения/записи (в верхних адресах памяти) переносит 17 байт данных из 0x7FF7 в 0xEE02.
2. Устанавливает адрес буфера обмена в переменную по адресу 0xEE24.
3. Отображает на адреса 0x4000-0x7FFF ПЗУ контроллера (через порт 0x80).
4. Переход на подпрограмму чтения/записи сектора (0x40BA - чтение, 0x412B - запись), которые берут данные уже с обычной ОЗУ (с 0xEE24).
5. По завершении восстанавливает отображение на 0x4000-0x7fff обычной ОЗУ.


При записи в порт ПЗУ отваливается по /ОЕ. Я правильно думаю? Или чего то не допонимаю?Честно говоря не понял что и куда отваливается, но рискну предположить, что речь про способ записи на адреса 0x7FF7-0x7FFF. Дело в том, что даже если в эти адреса отображается ПЗУ, то запись все равно пройдет в ОЗУ! Мэппирование памяти работает только на чтение, а операции записи тупо игнорируют эту фичу и пишут во все, что отображается на данный адрес.

Mifody
03.12.2014, 14:28
з.ы. после исправления бага с выбором ПЗУ машина перестала вываливаться в Васик есть над чем подумать.
Так ведь так и должно быть. Значит загрузчик считался из ПЗУ и ждёт загрузки с системной дискеты.
А можно по содержимому ПЗУ хотя бы в 2 словах сказать, как происходит инициализация контроллера? Я, к сожалению, не в состоянии это понять на данном этапе познаний.. Сейчас при включении ПК8000 с контроллером начинает крутить дисковод и загорается светодиод активности дисковода №0. При нажатии РЕСЕТ дисковод останавливается, светик активности гаснет. Через 2-3 сек. опять крутит дисководом и активен дисковод №0. То есть в порт ТМ8 запись идёт верно. Но на выводе 15 D18 остаётся низкий уровень, и соответственно ВГ93 остаётся в состоянии РЕСЕТ. Оно может так и должно быть, пока комп не считает из контроллера какие то определённые данные. Но даже если принудительно убрать с ВГшки ресет, данные она не читает, так как на её 33 выводе еденица. Я как понимаю, чтоб она начала что то читать, ей должно прийти запрос на чтение сектора. Но до этого не доходит. Далее на выводе /CS и /RD ВГ93 постоянно какая то активность на этом всё и останавливается. Это что, комп пытается что то прочитать из ВГшки, но у него не получается? На всём протяжении инициализации контроллера на выводах R и W ИР26 высокий уровень. То есть комп туда ничего не пишет и не читает. А должен? (или делает это очень быстро, что мой осцилл этого не замечает. К стати, в ТМ8 он пишет так, что мой осцилл не видет активности на ноге 9 ТМ8..) Этого не видно по прошивке? Микросхемы дешифратора точно рабочие. Проверял. Что то ума не приложу, в чём затык..

DemonId7
03.12.2014, 15:42
Так ведь так и должно быть. Значит загрузчик считался из ПЗУ и ждёт загрузки с системной дискеты.Не. Я точно помню, что если дискеты нет, то происходил выход в васик.

А можно по содержимому ПЗУ хотя бы в 2 словах сказать, как происходит инициализация контроллера? Сначала по адресу 0x7FF7 пишется 0x81 и сразу же по адресам 0x7FF7 и 0x7FF8 пишется 0x01, после чего пауза (65536 * 256 циклов, во время которых время от времени на 0x7FF8 пишется 0xD0). Затем такая же комбинация, но уже пишется 0x82 и 0x02 соответственно. В принципе могу более точно воспроизвести эти действия, если нужно конечно.
Во время циклов ожидания проверяется бит 0, по адресу 0x7FF8. Правда непонятно, как это работает, так как чтение идет с ПЗУ, да и резульаты проверки впоследствии нигде не используются. Странно конечно, но что етсть, то есть.
Затем инициализируется память по 0xEE21 (EE21 - текущий диск, EE22 - текущий трек, EE23 - текущий сектор, EE24 - адрес буфера DMA (настраивается на адрес 0xDF80), EE26 - тип сектора). Инициализируются RST7 и переменные для подпрограммы таймера. Затем вызывается подпрограмма чтения сектора.
Если чтение проходит успешно, то управление передается на адрес, записанный в слове 0xDF81 (то есть считанный с дискеты, там обычно 0xDFA0). Ну а там пошла подготовка к загрузке системы, настройка экрана и тд и тп.
Как то так. Могу код предоставить, там немного и несложно.

А может в оригинальной схеме ПЗУ перекрывает не весь диапазон 0x4000-0x7FFF?

---------- Post added at 15:42 ---------- Previous post was at 15:40 ----------

Кстати, а схема и разводка без дефицитных деталей будет? А то дисковод новый подарили, хотелось бы тоже повторить.

Mifody
03.12.2014, 16:38
Не. Я точно помню, что если дискеты нет, то происходил выход в васик.
О как.. Но опять же, комп должен определить по состоянию ВГшки, что дискеты нет. А если кроме ПЗУ он, получается, читать ничего не может, то вот и висит всё время в ожидании чего-то..
Интересно, что должно произойти, чтобы по адресу 7FF7h записался байт, у которого старший бит (7) равен 1. При этом долно произойти разблокировка ВГшки..


Могу код предоставить, там немного и несложно.
Это файл romngmd.lst, который тут выкладывали? Если он, то это у меня есть. Если что то другое, то давайте. Хотя, я мало что в асм ВМ80 понимаю.. Нужно изучать с нуля..


А может в оригинальной схеме ПЗУ перекрывает не весь диапазон 0x4000-0x7FFF?
Я тоже подозреваю, что косяк может быть в дешифраторе. Но дампа РТ2 так и не сделали. И, честно говоря, не уверен, что сделают..


Кстати, а схема и разводка без дефицитных деталей будет?
Я делаю по оригинальной схеме. На печатке, что тут изготовили. hantarex вроде делал по какой то упрощённой схеме. Но у него (могу ошибаться) вроде тоже не заработало. Для меня на данном этапе знаний тяжело (наверно даже невозможно) самому разрабатывать железо. Если будет модернизированная и упрощённая (проверенная) схема, то я смогу развести печатку в ПКАД.
А какие детали там дифецитные? Там, по моему, только РТ2.. Да и то не дефицит, а просто фиг где прошьёшь.. Но ведь
придумали ей замену на рассыпухе..

hantarex
03.12.2014, 17:53
531ГГ1 - тот еще треш. в Ставрополе таких нет, а заказывать - влом.

DemonId7
04.12.2014, 02:47
Это файл romngmd.lst, который тут выкладывали? Если он, то это у меня есть. Если что то другое, то давайте. Хотя, я мало что в асм ВМ80 понимаю.. Нужно изучать с нуля..Не, у меня свой дизассемблинг. Но раз с асмом плохо, то лучше дам код на псевдовасике, так будет понятнее. Да и я обнаружил, что функция задержки работает не так как я думал до этого - она практически сразу прерывается, так как с 0x7FF8 считывается 0. В общем код:

START_ROM:
[0xEE1D] = 0
[0x7FF7] = 0x81
[0x7FF7] = 0x01
WAIT(0x01)
[0x7FF7] = 0x82
[0x7FF7] = 0x02
WAIT(0x02)
[0x7FF7] = 0x00
oldmap = INP(0x80) ; используется CP/M для вызова подпрограмм ПЗУ
[0xEE21] = 0 ; cur disk
[0xEE22] = 0 ; cur track
[0xEE23] = 1 ; cur sector
[0xEE24] = 0xDF80 ; addr DMA buffer
[0xEE26] = 0 ; type sector - обычный

[0x0038] = 0xC9 ; make JMP on RST7
[0xEE1B] = 0 ; timer count - используется в обработчике RST7

A = ReadSector() ; чтение первого сектора в 0xDF80,
; результат в регистре A
if (A = 0)
return ; выход в васик

HL = [0xDF81]
if (H <> 0xDF)
return ; выход в васик
goto HL ; переход на загруженный код, где происходит дозагрузка системы


WAIT(n)
{
BC = 65536
[0x7FF8] = n ; reg ВГ93 = 1 or 2
WAIT_256()
WHILE (BC <> 0)
A = [0x7FF8] ; в ПЗУ здесь 0!
if (A AND 1) = 0
return
BC = BC - 1
ENDW
[0x7FF8] = 0xD0
WAIT_256()
}

WAIT_256()
{
A = 256
WHILE (A <> 0)
A = A - 1
ENDW
}

Как видите, выход происходит по результату работы подпрограммы считывания сектора ReadSector(). Сама ReadSector() работает с данными расположенными в адресах 0xEEXX, потому коллизий не происходит.


Я тоже подозреваю, что косяк может быть в дешифраторе. Но дампа РТ2 так и не сделали. И, честно говоря, не уверен, что сделают..Вся соль вопроса в функции ReadSector(), она может дать все ответы куда и что отображается. Я ее глубоко не копал, так как для меня сам контроллер ВГ93 - темный лес и я просто не понимаю код, работающий с ней.
Так что либо искать описание ВГ93 и хотя бы поверхностно дизассемблировать ReadSector(), либо снимать дамп РТ2. Второе конечно предпочтительнее, но тут я не помошник. С первым могу помочь, как время появится.

DemonId7
04.12.2014, 14:58
Глянул одним глазком на доку по ВГ93. На адрес 0x7FF7 судя по всему отображается регистр статуса/команд. Тогда функция WAIT() и не задержка вовсе, а отсылка команды контроллеру.
Все равно непонятным остается одно - каким образом функции ПЗУ читают регистр статуса контроллера, если он отображается на 0x7FF7? Тем же подпрограммам чтения/записи сектора чтение регистра статуса просто необходимо. Замкнутый круг какой-то. Закончу с плагином, попробую выяснить это из кода ПЗУ.

Mifody
04.12.2014, 15:46
Что то я совсем запутался.. 7FF7h это ведь регистр работы дисковода. ТМ8.. И, судя по схеме, комп туда может только писать. Читать от туда он вроде как не может.. Или он как, пишет в ТМ8, а читает из ОЗУ?

DemonId7
04.12.2014, 16:27
Ну дык я дал листинг инициализации контроллера, где явно запись на адрес 0x7FF7. Если этого мало, то в обработчике таймера есть такой код:

H = INP(0x80)
OUTP(0x80), 0xFF
L = [0x7FF7]
OUTP(0x80), H
[0x7FF7] = 0
OUTP(0x80), 0xFF
[0x7FF7] = L ; restore [0x7FF7]
OUTP(0x80), H ; restore map mem
Тоже что-то пишет в 0x7FF7.
Схему еще не глядел, но вполне допускаю, что РТ2 принесет немало сюрпризов :)

---------- Post added at 17:27 ---------- Previous post was at 16:59 ----------

Кстати, а с чего взяли, что ТМ8 отображается на 0x7FF7? По схеме она защелкивается от ~WR и сигнала с вывода 13 дешифратора РТ2. Начинки то РТ2 нет?

Mifody
04.12.2014, 16:53
Тут (http://zx-pk.ru/showpost.php?p=226064&postcount=6) писали. И Тут. (http://zx-pk.ru/showpost.php?p=226155&postcount=9) И ещё судя по схеме (http://zx-pk.ru/showpost.php?p=672298&postcount=106) замены РТшки так выходит..

b2m
04.12.2014, 17:31
4000-7F?? - ПЗУ
7FF7 - выбор стороны и диска
7FF8-7FFB - порты ВГ93
7FFC-7FFF - 4-х байтовый регистр (запись - как обычно, чтение - по всем 4-м адресам один и тот-же байт, 2 младших бита адреса это DRQ,IRQ ВГ93)

DemonId7
04.12.2014, 18:03
Логично. И если же это действительно ТМ8, то инициализация почти понятна:

START_ROM:
[0xEE1D] = 0
[0x7FF7] = 0x81 - сброс контроллера
[0x7FF7] = 0x01 - выбор устройства 0
WAIT(0x01) - запись команды (init?)
[0x7FF7] = 0x82 - сброс контроллера
[0x7FF7] = 0x02 - выбор устройства 0
WAIT(0x02)
[0x7FF7] = 0x00

Тогда что читается с адреса 0x7FF7? По схеме с ТМ8 точно ничего не прочтешь, однако программа не только читает, но и судя по всему именно значение в ТМ8... Может ИР26 и предназначена для хранения значение ТМ8?

b2m
04.12.2014, 18:25
Тогда что читается с адреса 0x7FF7?
Не помню. Защита записи, индексный маркер или другие сигналы непосредственно с дисковода.


Может ИР26 и предназначена для хранения значение ТМ8?
Для чего предназначена ИР26 (7FFC-7FFF) я уже объяснял, Mifody выше дал ссылки. Это такой аппаратный трюк, позволяющий ожидать готовность байта в цикле, длительность которого всего 4 такта.

DemonId7
04.12.2014, 19:10
Не помню. Защита записи, индексный маркер или другие сигналы непосредственно с дисковода.
Непосредственно с дисковода не прочтешь, схемой не предусмотрено. Остается одно объяснение - читают то, что записалось в ОЗУ по тому же адресу, при последней записи в ПЗУ. То есть пользуются особенностью записи ПК. Трюк короче.


Для чего предназначена ИР26 (7FFC-7FFF) я уже объяснял, Mifody выше дал ссылки. Это такой аппаратный трюк, позволяющий ожидать готовность байта в цикле, длительность которого всего 4 такта.Да, нашел в коде инициализацию этих регистров и ОЗУ с 0x8000.

DemonId7
05.12.2014, 11:17
Нужно хотя бы иногда спать ложиться, а то не заметил вчера оченьвидных вещей :)
Теперь все ясно. Основной блок данных для функций ПЗУ располагаются в адресах 0xEE21-0xEE3D. Это не считая "рабочих" переменных, как например формируемый байт управления дисководом по адресу 0xEE20 (тот самый байт, что засылается в 0x7FF7). Не выяснял полностью, но картина следующая:

; логическая адресация по типу CP/M
0xEE21: logDisk: .db ? ; номер диска [0-1]
0xEE22: logTrack: .db ? ; лог. номер дорожки
0xEE23: logSector: .db ? ; лог. номер сектора
0xEE24: dmaBuff: .dw ? ; адрес обмена
0xEE26: typeSector: .db ? ; тип записываемого сектора:
0xEE26: ; 0: обычный сектор
0xEE26: ; 1: из области директория
0xEE26: ; 2: первый сектор нового блока
; здесь пошла физическая адресация
0xEE27: byte_EE27: .db ?
0xEE28: byte_EE28: .db ?
0xEE29: .db ?
0xEE2A: byte_EE2A: .db ?
0xEE2B: byte_EE2B: .db ?
; данные о последней операции записи на диск
0xEE2C: _wrDisk: .db ?
0xEE2D: _wrTrack: .db ?
0xEE2E: _wrSector: .db ?
0xEE2F: _wrSide: .db ?
0xEE30: wr_EE30: .db ?
; данные о последней операции чтения с диска
0xEE31: _rdDisk: .db ?
0xEE32: _rdTrack: .db ?
0xEE33: _rdSector: .db ?
0xEE34: _rdSide: .db ?
; данные о текущей операции чтения/записи
0xEE36: physDisk: .db ? ; номер диска
0xEE37: physTrack: .db ? ; номер дорожки = (logTrack >> 1) & 0x7F
0xEE38: physSector: .db ? ; номер сектора = (((logSector-1) >> 3) & 0x07) + 1
0xEE39: physSide: .db ? ; сторона = logTrack & 1
0xEE3A: nSecInBuff: .dw ? ; адрес 128-байтного сектора в буфере обмена = (logSector-1) >> 1

0xEE3C: lastTrack: .db ? ; номер дорожки в последней операции с диском
; (нужен для операции позиционирования головок)
0xEE3D: .db ? ; то же для диска 1
Функции чтения/записи работают с логическими адресами, как в CP/M, самостоятельно переводя их в физические. Операции чтения и записи имеют свой набор данных и адреса буферов. Чтение происходит на адрес 0xE600, а запись с адреса 0xEA00. А уж затем нужный 128-байтный сектор копируется в dmaBuff.

Но это так, мелочи. Что касается чтения регистров. Регистр 0x7FF7 читается исключительно из ОЗУ, а не из контроллера. Регистр 0x7FF8 читается прямо с ПЗУ, так как его значение формируется самой ВГ93 и выставляется на шину данных. Это я просто с недосыпу вчера не сообразил, что на адресах 0x7FF7-0x7FFF нет ПЗУ, а значения туда подставляются ИР26 и ВГ93, то есть с чтением проблем не будет.

В принципе уже можно написать простенькие тесты. Правда придется ПЗУ вытащить. По крайней мере можно проверить работу ТМ8 и ИР26. Есть желание?

Mifody
05.12.2014, 12:18
Правда придется ПЗУ вытащить.
От куда? Из компа или контроллера? Если с контроллера, то вобще без проблем. Если с компа, то с небольшими проблемами, но вытащу.. В общем желание есть. Надо же до конца доводить начатое.. Я двумя руками за!

---------- Post added at 12:18 ---------- Previous post was at 12:15 ----------


на адресах 0x7FF7-0x7FFF нет ПЗУ
То есть дешифратор ПЗУ должен перекрывать не 4000h-7FFFh, как сделано сейчас, а 4000h-7FF6h?

hantarex
05.12.2014, 12:25
тесты я просил написать еще месяца три назад:) у самого тяму не хватает:(

DemonId7
05.12.2014, 13:04
От куда?С контроллера разумеется. Иначе я не представляю как загрузить тест, если ПЗУ зацикливается на чем-то.


То есть дешифратор ПЗУ должен перекрывать не 4000h-7FFFh, как сделано сейчас, а 4000h-7FF6h?Не, перекрывать он должен именно 4000-7FFF. Просто значения 7FF8-7FFF при чтении берутся не с ПЗУ, а формируются самим контроллером и выдаются вместо ПЗУ. И дешифратор это должен как-то учитывать. Как именно - нужно еще раз схему повнимательнее глянуть. Схему замены РТ2 еще не разглядывал, так что здесь без коментариев.

Для начала попробуем самое простое - включение/выключение мотора и подвигаем головками. Вечером выкрою время. Дальше можно будет подумать как проверить ИР26, а потом и попробовать считать сектор. Это уже в лучшем случае не раньше воскресения (завтра работы много намечается).

b2m
05.12.2014, 15:37
Не, перекрывать он должен именно 4000-7FFF. Просто значения 7FF8-7FFF при чтении берутся не с ПЗУ, а формируются самим контроллером и выдаются вместо ПЗУ.
Странная у вас логика. :)
РТ-шка выдаёт сигналы для 4-х диапазонов, которые я указал выше. ПЗУ соответствует 4000-7FF6. Для упрощения дешифратора, если без РТ2, можно считать 4000-7FEF, всё равно в имеющемся ПЗУ только полтора килобайта используется. Итого получим:
4000-7FEF ПЗУ
7FF0-7FF7 ТМ8
7FF8-7FFB ВГ93
7FFC-7FFF ИР26

cs_all = !a15 & a14
cs_port = cs_all & a13 & a12 & ... & a4
cs_rom = cs_all & !cs_port
cs_tm8 = cs_port & !a3
cs_vg93 = cs_port & a3 & !a2
cs_ir26 = cs_port & a3 & a2

---------- Post added at 17:37 ---------- Previous post was at 17:33 ----------

Формулы тут для понимания, если схему рисовать, то нужно иметь ввиду, что сигналы CS обычно инверсные.

DemonId7
05.12.2014, 20:30
b2m, я написал то же самое, только более лаконично :)

Mifody, тест ТМ8 готов. Вы вроде осцилограф упоминали, значит с вероятностью в 98,442338% и тестер имеется. Запускаешь тест и сравниваешь уровни на выводах ТМ8 с теми, что на экране. Заодно можно проверить работу ЛА13.
Только дисковод пока подключать не стоит, там возможны недопустимые для него комбинации бит.

PS: если конвертилки в вав не имеется, то могу перезалить уже в нужном формате.

Mifody
05.12.2014, 21:22
Спасибо. А можно файл для прошивки ПЗУ? Мне его намного проще зашить, нежели подключать магнитофон..
Этот тест должен что то выводить на экран ПКшки?

DemonId7
05.12.2014, 21:48
Хм, везет же людям. Мне то прошивать намного труднее, чем с компа залить :)
Можете скачанный CAS-файл в эмуляторе запустить, через BLOAD "Q",R. Все увидите сами.
В аттаче прошивка для ПЗУ.

Mifody
06.12.2014, 16:22
Переделал дешифратор под новые адреса, запустил тест. В ТМ8 пишется правильно (смотрел по эмулю, так как картинка не показывается на реале, ) Я дешифратор правильно переделал? Проверьте пожалуйста. Схема дешифратора и то, что показывает тест во вложении.

DemonId7
06.12.2014, 17:28
Переделал дешифратор под новые адреса, запустил тест.В смысле под новые?


В ТМ8 пишется правильно (смотрел по эмулю, так как картинка не показывается на реале, )Странно, наверное в коде косяк. Ну да ладно, главное ТМ8 пашет нормально. Вечером скину тест на прохождение команд в ВГ93.


Я дешифратор правильно переделал? Проверьте пожалуйста. Схема дешифратора и то, что показывает тест во вложении.Раз в ТМ8 то что нужно, значит как минимум часть схемы верна :) Следующим тестом проверим адреса 7FF7-7FFB. А вот до ИР26 (7FFC-7FFF) добраться не так просто, нужно еще подумать как ее проверить.

Mifody
06.12.2014, 17:59
4000-7FEF ПЗУ
Ну вот под эти. А было 4000h-7FFFh. Проверьте, я дешифратор правильно переделал? Ещё странно, почему реал показывает картинку на телике не правильно? Из за чего такое может быть?

---------- Post added at 17:59 ---------- Previous post was at 17:54 ----------


Раз в ТМ8 то что нужно, значит как минимум часть схемы верна Следующим тестом проверим адреса 7FF7-7FFB.
Я не трогал ТМ8, ВГ93 и ИР26. Переделал только выборку ПЗУ, чтоб перекрывало 4000h-7FEFh. ТАк вот, надо проверить, правильно ли я сделал, а то я "плаваю" в построении схем..

DemonId7
06.12.2014, 18:35
Ещё странно, почему реал показывает картинку на телике не правильно? Из за чего такое может быть?Понятия не имею. В эмуле этот образ ПЗУ работает как положенно. А тесты комп нормально проходит? ПЗУ нормально записалось?


Я не трогал ТМ8, ВГ93 и ИР26. Переделал только выборку ПЗУ, чтоб перекрывало 4000h-7FEFh. ТАк вот, надо проверить, правильно ли я сделал, а то я "плаваю" в построении схем..Тоже не шибко силен в "рассыпухе". Обычно свои "изобретения" прогоняю в каком-либо эмуляторе В том же протеусе можно подключить к какому-нибудь счетчику/МК и быстро проверить весь диапазон дешифратора.

DemonId7
06.12.2014, 19:57
Тест на прием команд ВГ93. Программа пытается подвигать головками дисковода. Так как ТМ8 вроде работает, то как минимум должен включаться мотор дисковода.

PS: Для запуска в эмуляторе нужно файл CFG кинуть в папку CONFIG, а файл BIN в папку PK8000. При запуске выбрать "PK8000 q".

b2m
06.12.2014, 20:38
Кстати, в эмуляторе ИР26 не реализована, там всегда тупо NOP, т.е. программа чтения сектора просто не ждёт.

Mifody
07.12.2014, 22:05
В том же протеусе можно подключить к какому-нибудь счетчику/МК и быстро проверить весь диапазон дешифратора.
Точно.. Я почему то не догадался это сделать..)) Собрал в протеусе свой дешифратор- не работает. Переделал. Прогнал в протезе- вроде всё как надо. Запустил тест ВГшки. Не бегают головы. На экране появляются надписи, что поиск дорожки 1, потом другой дорожки, потом ещё и ещё, но голова стоит. Глянул осциллом-на 19 ноге ВГшки ноль. (7 бит порта ТМ8). Если подать туда принудительно 1, то начинают бегать. Только по моему не правильно определяются дорожки. Первая дорожка как и должно быть, едет в начало. А вот 79 дорожка -головка доезжает до середины всего лишь, а должна доезжать до конца диска. Ну и так, там 46 по моему есть, головка должна где то в район середины ехать, а доезжает где то на четверть диска. Что за напасть то с этим 7 битом? Порт ТМ8 то работает, или вы забыли туда 1 записать?

DemonId7
08.12.2014, 22:52
Только по моему не правильно определяются дорожки. Первая дорожка как и должно быть, едет в начало. А вот 79 дорожка -головка доезжает до середины всего лишь, а должна доезжать до конца диска. Ну и так, там 46 по моему есть, головка должна где то в район середины ехать, а доезжает где то на четверть диска.
Странно. Нужно будет подумать. Пока же уточняющий вопрос. Сравните надписи в эмуляторе и на реале. Расположение и количество точек совпадает? Это я так состояние контроллера обозначил, лень было что-то более наглядное делать :)


Что за напасть то с этим 7 битом? Порт ТМ8 то работает, или вы забыли туда 1 записать?Практически весь код - это рип с оригинала. На всякий случай завтра тщательно проверю код. Но по моему там в принципе не может быть установки этого бита. Засылка значения в TM8 осуществляется посредством одной подпрограммы:

fdd_MotorOn:
push B ; формируем биты включения мотора дисковода
lda dskSel ; <- биты выделенного диска и мотора
ani 10011b ; выделяем сторону (bit 4) и номер диска (bit 0-1)
mov B, A
rrc
rrc
rrc
ani 1100000b ; 0XX00000 - биты включения мотора
ora B
sta 7FF7h ; выставляем номер дисковода, стороны и биты мотора
Выделенные команды - это операция AND. Поэтому здесь 7-й бит полюбому будет равен нулю :v2_conf2:
Завтра тщательно проверю весь код. По идее этот бит действительно должен бы выставляться.

Mifody
08.12.2014, 23:56
Первая фотка-19 нога ВГшки подключена на своё место к порту ТМ8
Вторая фотка-принудительно еденица на 19 ноге.
Третья фотка - из эмуля.
Если подать единицу на 19 ногу ВГшки, то почти всё совпадает с эмулем, за исключением того, что в эмуле ещё 2 точки перед поиском первой дорожки.
..Seek to track 1. - в эмуле.
Seek to track 1. - на реале.
Что это значит?
А дискета не важно какая вставлена в дисковод? Я от спектрума вставил.. Дискету пока не записывал, всё равно до чтения пока не дошло..

DemonId7
09.12.2014, 08:01
Ясно. После выполнения любой команды программа ожидает от контроллера подтверждения. Отсутствие точки - это признак того, что подтверждение так и не пришло. Две отсутствующие точки перед "Seek to track 1" показывают одно - инициализация контроллера прошла неудачно. Зато команды поиска, с точки зрения контроллера, выполнялись успешно.


А дискета не важно какая вставлена в дисковод? Я от спектрума вставил.. Дискету пока не записывал, всё равно до чтения пока не дошло..С этим контроллером дел не имел, как и с болгарскими/советскими дисководами. На PC позиционирование не зависит от наличия дискеты. По идее и здесь тоже.

Mifody
09.12.2014, 08:41
А что эти подтверждения формирует? ВГшка? То есть, после выполнения какой либо команды ВГшкой она должда выдать на ШД байт "исполнено", но не делает этого? Это что получается, что запись в ВГшку происходит, а чтение нет? Так нет же.. Как я понял, подтверждения приходят при поиске дорожек. Там при инициализации происходит запись в ИР26, может с ИРками проблемы и запись не происходит.. Или этот тест не затрагивает ИРки? Да, позиционирование головок происходит даже без дискеты.
А по поводу номеров дорожек, может там номера дорожек 0-159, для двух сторон диска сразу?

DemonId7
09.12.2014, 15:06
А что эти подтверждения формирует? ВГшка? То есть, после выполнения какой либо команды ВГшкой она должда выдать на ШД байт "исполнено", но не делает этого?Почти так. Она в регистр состояния (7FF8) выдает код своего состояния.


Это что получается, что запись в ВГшку происходит, а чтение нет? Так нет же.. Как я понял, подтверждения приходят при поиске дорожек.Получается, что именно при инициализации возникли проблемы. Чтение/запись команд проходят. Немного поправил последовательность команд инициализации.


Там при инициализации происходит запись в ИР26, может с ИРками проблемы и запись не происходит.. Или этот тест не затрагивает ИРки?Этот тест выбрал как раз из-за ненужности ИР26, они пока "отдыхают".


Да, позиционирование головок происходит даже без дискеты.
А по поводу номеров дорожек, может там номера дорожек 0-159, для двух сторон диска сразу?Дорожек именно по 80. Просто я забыл, что у меня логическая адресация, при переводе в физические номер дорожки берется как деленная на двое логическая. Поправил, теперь должны ездить как положенно.

В аттаче исправленная версия, даже вывод состояния сделал по человечески. А вот как с битом 7 ТМ8 быть - не знаю. Прогнал загрузку в эмуле пошагово. Этот бит всегда равен нулю. Только в самом начале выдается испульс из перехода с высокого на низкий уровень. На низком он впоследствии и остается. Может этот вход работает не уровню, а по перепаду?
Попробуйте, эта версия теста от и до взята с ПЗУ контроллера, даже инициализацию переменных взял с оригинала. Если не заработает, значит проблемы в железе. Свои соображения дам после теста.

b2m
09.12.2014, 15:28
Прогнал загрузку в эмуле пошагово. Этот бит всегда равен нулю.
Не забывайте, что эмуль не всегда точно эмулирует железо. Иногда достаточно, чтобы имеющийся софт просто работал. :)

DemonId7
09.12.2014, 18:37
Дык ТМ8 устанавливается исключительно программным путем, здесь эмулятор вряд ли ошибётся ;)

Mifody
10.12.2014, 01:31
Проверил новый тест. Результат на фото. Фото 1- 19 нога ВГшки на еденице, фото 2- 19 нога ВГшки на порту ТМ8, Фото 3- смотрите ниже.. В принципе, ничего не поменялось, только голова стала ездить правильно. И ещё, в процессе измерений осциллом и танцев с бубном вокруг платы случайно повредил конденсатор С29 (стоит между землёй и /ОЕ ПЗУ). Он раскололся пополам, то есть его как бы не стало. И получил результат на фото 3. Причём, это ВГшка не вставлена. Если вставить ВГшку, то результат такой же как на фото 1 и 2, в зависимости от состояния ноги 19. Что бы это могло значить?
Проверьте пожалуйста дешифратор, кто понимает.. В сообщении 171 схема.. Может я там где то накосячил и поэтому не работает..(((

DemonId7
10.12.2014, 02:29
Отрицательный результат - тоже результат. Может быть прошивка не соответствует схеме? Кто-нибудь проверял на оригинальной плате разводку 19-й ноги ВГ93?


И ещё, в процессе измерений осциллом и танцев с бубном вокруг платы случайно повредил конденсатор С29 (стоит между землёй и /ОЕ ПЗУ). Он раскололся пополам, то есть его как бы не стало. И получил результат на фото 3. Причём, это ВГшка не вставлена. Если вставить ВГшку, то результат такой же как на фото 1 и 2, в зависимости от состояния ноги 19. Что бы это могло значить?Здесь как раз все объяснимо. В отсутствии ВГ из порта читается мусор, с обнуленным 0-м битом, что воспринимается программой как успешное выполнение команды.

В общем осталась пара неясных моментов. На неудачную инициализацию пока забьем, мы же не знаем как она проходит на оригинальном железе, может так и должно быть, там как раз результат выполнения инициализации не проверяется (а в доку углубляться не хочется). Раз позиционирование проходит нормально, то можно попробовать прочитать сектор, с принудительной подтяжкой 19-й ноги ВГ93. Посмотрим какую ошибку вернет контроллер. Или попробуйте оригинальный ПЗУ, подтянув 19-ю ногу. Вполне возможно, что проблема в этой ножке.

hantarex
10.12.2014, 08:41
я еще в августе писал, что поставил инвертор между ТМ8 и ВГ93, данные на ВГ93 пошли, а толку нет.
сорри, в сентябре. пост#139.

Mifody
10.12.2014, 09:00
Может быть прошивка не соответствует схеме? Кто-нибудь проверял на оригинальной плате разводку 19-й ноги ВГ93?
Нет, никто не проверял. Оригинальная плата, как я понял, есть только у Mick'a, но он не горит желанием что либо делать/проверять относительно этой платы.


В отсутствии ВГ из порта читается мусор, с обнуленным 0-м битом, что воспринимается программой как успешное выполнение команды.
Ясно. Просто с кондёром и без ВГшки по всем пунктам было Failed.


Раз позиционирование проходит нормально, то можно попробовать прочитать сектор, с принудительной подтяжкой 19-й ноги ВГ93. Посмотрим какую ошибку вернет контроллер.
Давайте. Я только за.


Или попробуйте оригинальный ПЗУ, подтянув 19-ю ногу.
Пробовал (http://zx-pk.ru/showpost.php?p=720984&postcount=134). Правда давно это было, когда ещё дешифратор был старый. Надо будет ещё раз сегодня посмотреть, чтоб данные были посвежее.


я еще в августе писал, что поставил инвертор между ТМ8 и ВГ93, данные на ВГ93 пошли, а толку нет.
Ну, это не выход, ставить то, чего быть не должно.. Хотя опять же, может и должно.. ХЗ..

hantarex
10.12.2014, 11:44
потому и поставил, что по бумажной схеме - не работает.

DemonId7
10.12.2014, 23:11
В аттаче функция чтения первого сектора. Один в один из ПЗУ, но разбавленная выводом сообщений о ходе выполнения.

Mifody
10.12.2014, 23:31
Спасибо! А какая дискета должна быть? Именно от ПК8000 или пойдёт, например, от спектрума?

DemonId7
11.12.2014, 02:20
Наверное без разницы. Еще интересует запуск без дискеты.

Mifody
18.12.2014, 02:05
Наконец то добрался до контроллера.. Прогнал тест чтения сектора. Сходу выдал фото1. Если покрутить подстроечный конденсатор С28 (установка частоты 531ГГ1), то можно добиться фото2, реже фото3, и совсем редко фото4. (фото4 очень не устойчивое. Даже малейший сдвиг подстроечного конденсатора в сторону даёт из фото4 фото 2) Что то я не пойму, как работает ГГ1. Это ведь что? ФАПЧ? Как оно должно работать? На выходе ГГ1 (вывод 7) постоянная частота, не изменяющаяся при чтении сектора, а по идее должна меняться или хотя бы как то дрыгаться.. Частоту можно изменить кондёром С28. На входе ГГ1 (вывод 2) постоянный ноль, хотя на выводе 6 D21 импульсы есть и до базы VT2 они доходят. Менял транзистор, ничего не изменилось. Как я понимаю, пара транзисторов, в зависимости от того, какой транзистор открывается, должна изменять напряжение на входе ГГ1, тем самым меняя частоту генерации. И для чего нужен подстроечный резистор R33 (в цепи 555АГ3). Как настраивать этот тракт чтения?
Если дискету не вставлять, то висит бесконечно с надписью Read sector...
Если вставить ПЗУ контроллера, то без дискеты так же висит бесконечно с курсором на экране. Если вставить дискету, то 7 раз стучит головами об ограничение нулевой дорожки и выходит в васик. Дискету вставлял от ПК8000.

DemonId7
19.12.2014, 18:31
Получается, что в последнем случае чтение все таки проходит, только с ошибкой и с неверной контрольной суммой считанного сектора.
Судя по инициализации контроллера тактовые сигналы должны быть строго синхронизированы, так как при операциях положение МГ не проверяется, а предполагается исходя из временных интервалов (время перемещения на шаг - 20мс при тактовой частоте 1МГц, или 10 мс при частоте 2МГц).
На входе 24 у ВГ93 какая частота? Там разброс должне быть не более 1%. Частота импульсов ГГ1 по идее должна быть кратной к частоте на входе 24, иначе микроконтроллер не сможет менять частоту ГГ1, так как открытие транзисторов должно совпасть с импульсом от самой ГГ1 (а иначе смысл их открывать?).

PS: висеть может только в одном месте, где применен хитрый трюк с ИР23. Но это скорее следствие рассинхронизации частот.

Mick
08.01.2015, 13:16
Тут Mifody имел так сказать смелость попросить меня на анализ мою плату контроллера, так сказать потому как он утверждает, что такая плата у меня одного. Хотя вроде на молотке недавно кто то купил такой контроллер. Ну да ладно, поскольку мне сейчас некогда заниматься вопросами, заданными Mifody я решил все таки ему предоставить ее для анализа, но с одним условием - возврат в полной сохранности и работоспособности.

Сегодня достал сей тяжеленный агрегат и включил и оно даже заработало :)

http://s011.radikal.ru/i317/1501/ed/bc48f82ed689t.jpg (http://radikal.ru/F/s011.radikal.ru/i317/1501/ed/bc48f82ed689t.jpg)

http://s014.radikal.ru/i329/1501/24/e2c7f8115622t.jpg (http://radikal.ru/F/s014.radikal.ru/i329/1501/24/e2c7f8115622t.jpg)

И еще раз фото контроллера, вдруг кто забыл как он выглядит

http://s016.radikal.ru/i335/1501/ce/a4e42ddc14b6t.jpg (http://radikal.ru/F/s016.radikal.ru/i335/1501/ce/a4e42ddc14b6t.jpg)

http://i072.radikal.ru/1501/06/b06c90e211bct.jpg (http://radikal.ru/F/i072.radikal.ru/1501/06/b06c90e211bct.jpg)


Стоит отметить, чтобы достать контроллер, пришлось разобрать весь этот ящик. Наши доблестные инженеры сделали этот процесс максимально "удобным"

dk_spb
08.01.2015, 13:31
Хотя вроде на молотке недавно кто то купил такой контроллер.
Нифига себе недавно ;-)
Про тот контроллер можно забыть навсегда.

Mick
08.01.2015, 13:39
Про тот контроллер можно забыть навсегда.

А что случилось, что такие выводы сделал.

dk_spb
08.01.2015, 13:47
Я у покупателя года два или три пытался содержимое дискет от Ириши получить, даже приехать к нему в глушь был готов. Так что контроллер канул туда же, куда и дискеты.

Mick
08.01.2015, 13:51
Я у покупателя года два или три пытался содержимое дискет от Ириши получить, даже приехать к нему в глушь был готов. Так что контроллер канул туда же, куда и дискеты.

А что это за перец, чтобы так сказать быть в курсе событий.

Gutten
08.01.2015, 14:42
Странно, что этих контроллеров так мало - у нас в школе класс был и 15 машин "Сура", все с таким блоком на 2 дисковода. Было это только 17 лет назад и куда они делись - не ведомо.

Mifody
09.01.2015, 12:11
Тут Mifody имел так сказать смелость попросить меня на анализ мою плату контроллера
Да.. Имел смелость.. Надоело уже это гадание на кофейной гуще и прыгание вокруг платы с бубном..

я решил все таки ему предоставить ее для анализа
Вот за это огромное спасибо.

возврат в полной сохранности и работоспособности.
Это я обещаю. Осциллограф-единственный прибор, который коснётся платы. Да и опыт работы с электроникой у меня имеется.. Ну и, как я уже говорил, с вашего разрешения могу выпаять РТшку и считать. Выпаивать буду оловоэкстрактором с компрессором. При неспешной выпайке мекросхема практически не греется (это я к тому, что тут говорили, якобы содержимое может испортиться при перегреве..) Но это только если дадут добро..

А что это за перец, чтобы так сказать быть в курсе событий.
Да, тоже интересно.. Этот человек с нашего форума?

Mick
09.01.2015, 12:23
Это я обещаю. Осциллограф-единственный прибор, который коснётся платы. Да и опыт работы с электроникой у меня имеется.. Ну и, как я уже говорил, с вашего разрешения могу выпаять РТшку и считать. Выпаивать буду оловоэкстрактором с компрессором. При неспешной выпайке мекросхема практически не греется (это я к тому, что тут говорили, якобы содержимое может испортиться при перегреве..) Но это только если дадут добро..

Добро дадим, если ты уверен в своих силах, ведь сам понимаешь убъешь контроллер - так сказать это навсегда.

Mifody
09.01.2015, 12:53
Добро дадим, если ты уверен в своих силах
Да много чего чинил, впаивал-выпаивал. Проблем не было. Как то по дурости решил применить паяльный фен при ремонте Львова-это было ошибкой. Старая советская плата не пережила такого насилия. А вот оловоотсос-шикарный инструмент. Как то подарил себе на ДР Вот такой аппарат (http://www.fabian.com.mt/Soldering/others/gifs/ZD915ESD2.jpg), и абсолютно не жалею. Теперь выпайка микросхем-одно удовольствие.

hantarex
09.01.2015, 13:00
А что это за перец, чтобы так сказать быть в курсе событий.

вроде последний на молотке контроллер купил некто exportles, если не ошибаюсь. тогда уже говорили, что прибор ушел с концами.

dk_spb
09.01.2015, 14:00
Он же alex-mak на полигоне.

Mifody
16.01.2015, 08:58
Забрал вчера после работы оригинал КНГМД. Проверил, всё доехало нормально. Работает. Только что считал РТ2 с него. Сегодня вечером попробую запустить новодел с РТшкой. Вчера особо времени не было смотреть разводку оригинала, дело было уже поздно вечером.. Посмотрел только "наболевший" вопрос.. 19 нога ВГшки на оригинале идёт не на 15 ногу D18, как указано в схеме, а на 14 ногу D18. То есть на инвертирующую.. Так что идея с инвертором оказалась верной.. Вот тебе и схема..))) Буду смотреть ещё, не исключено, что может ещё какой сюрприз ожидает.. Хорошо, что дорожка от 19 ноги ВГшки проходит рядом с 14 ногой D18. Исправляется одним маленьким порезом и каплей олова.. Как появится результат, напишу..

Mifody
21.01.2015, 08:21
Ура! Заработал вчера контроллер! На днях напишу подробности, а то вчера поздно закончил, а там надо делать фотографии, осциллограммы.. На днях..

dk_spb
21.01.2015, 09:40
Mifody, ЗдОрово! А то у меня пачка платок лежит, а никто не покупает, думают что нерабочее.

Mick
22.01.2015, 06:45
Ну как бы это оффтоп. У меня есть убитая основная плата. Я как то даже начинал ее отрисовку, может когда нибудь завершу. :) Пока я занят немного другим.

DemonId7
22.01.2015, 07:35
dk_spb, а почем? Взял бы одну по весне, если не слишком дорого.

dk_spb
22.01.2015, 08:09
DemonId7, Вот тут про платки КНГМД http://zx-pk.ru/market/viewtopic.php?f=7&t=1901

Mifody
24.01.2015, 00:39
Как я уже писал, победил я, наконец, контроллер. Причин незапуска было 2. Это настройка тракта чтения и ошибки в схеме. Ошибок в схеме было 2. Одна-это подключение 19 ноги ВГ93 и вторая- неверно указан номинал резистора в спецификации. Вот с этим резистором я и провозился больше всего, и если бы не оригинал КНГМД, наверно ещё бы долго возился.

Ошибки в схеме:
1. По схеме 19 нога ВГ93 идёт на 15 ногу D18, а должно идти на 14D18. На плате исправляется легко и практически не заметно. Нужно перерезать дорожку прямо у ноги 15D18 со стороны монтажа. Дорожка проходит рядом с 14D18. Зачистить дорожку и капнуть каплю олова между дорожкой и 14D18 (на фото видно).
2. в спецификации указано, что резистор R30 = 560кОм, а должно быть 560Ом! Вот с этим я бился долго и нудно. Не мог понять, почему в статике всё нормально с ГГ1, а как только начинается чтение, генерация на ГГ1 уходит в разнос. Чего я только не делал, и резисторы в цепях транзисторов подбирал, и транзисторы менял, и даже подобрал пару с одинаковым h21.. Потом уже решил сверять не только монтаж с оригиналом, но и номиналы элементов. Вот тут и ожидал сюрприз.. После замены всё стало как надо.

Ошибки на плате:
Всего ошибок полторы..))
1. По моей ошибке неправильно разведена дорожка к ноге 20 ПЗУ. Для исправления разрезаем дорожку от ноги 20 ПЗУ со стороны пайки (рядом с ногой) и соединяем 20 ногу ПЗУ с 11 ногой РТ2.
1.5. Дешифратор на логике. К сожалению, дешифратор на логике не работает как надо без внесения небольшой доработки. Дело в том, что когда разводилась плата, думали, что ПЗУ перекрывает адреса 4000h-7FFFh. Под эти адреса и был сделан дешифратор. Но потом, в ходе обсуждения было выяснено, что должно быть 4000h-7FEFh. Если не сделать доработку, то чтения не будет. Просто будет включаться мотор дисковода и бесконечно висеть в ожидании. Переделать адресацию можно многими способами, но я сделал так, чтобы не пришлось ставить дополнительных микросхем. Схему доработки прилагаю. Потребуется 1 инвертор, 1 элемент 3И, 2 диода и резистор 1кОм. Свободные элементы ЛН1 и ЛИ3 есть на плате. Эту доработку я проверял, с ней работает 100%. Вновь вводимые элементы выделены на схеме красным.

Установка 556РТ2:
Если ставить РТшку, то никаких доработок дешифратора не нужно. При этом не нужно устанавливать U26, U27, U28, U29. Так же нужно поднять (не впаивать в плату) ноги 3 и 11 микросхемы U4. При установке РТшки на плате будет всего один проводок МГТФ (20D7 -> 11D5).

Системный разъём:
Плата разведена под установку импортного DB50M (вилка, папа), или нашего РП15-50 мама (как на оригинале). Как известно, нумерация контактов в наших разъёмах и в импорте не совпадает. Поэтому, если вы впаиваите импорт, нужно паять кабель для подключения к компу 1/1 ПО НУМЕРАЦИИ КОНТАКТОВ, а не по их расположению. Напрямую подключать без кабеля нельзя! Хотя, оно наверно и не влезит в наш разъём на компе. Я у себя в деревне не нашёл такого разъёма, поэтому поставил наш РП15-50 (вилка, папа). Правда пришлось по-МГТФить (видно на фото). При таком монтаже, питание GND и +5В можно паять напрямую (белый толстый МГТФ на фото) оно там симметрично. Всё остальное нужно паять задом-на-перёд. Но опять же, по нумерации контактов. Например, на плате контакт 1 крайний справа, а на разъёме он будет крайний слева. Там легко. Вы поймёте, как начнёте паять. (это только для РП15-50 папа) У мамы нумерация контактов совпадёт. На оригинале установлена мама. Ещё плюс установки папы в том, что можно плату вставлять без кабеля ( на фото).

Ну, вроде с железом разобрались, теперь настраиваем..
1. Включаем комп с контроллером без ПЗУ КНГМД. Должно включиться и выйти в васик. в этом статическом режиме подстройкой R33 добиваемся на 5D20 сигнала следующей формы (подсмотрел на оригинале)(цена деления напряжения на осциллограммах 2В/дел, длительность 2us/дел)(на фото). У меня в настроенном состоянии сопротивление R33 составило 2,33кОм. Это я к тому, что перед запайкой резистора желательно сразу выставить это сопротивление, чтоб потом при настройке не делать 100500 оборотов в неизвестную сторону, а просто несколько оборотов +/- подстроить нужную осциллограмму.
2. Настраиваем ГГ1 в статике. подстройкой С28 добиваемся на 11D15 сигнал следующей формы (на фото). Вернее там не форма меняется, а частота. При правильно работающем ФАПЧ частота не должна меняться при незначительном повороте движка конденсатора. У меня она меняется лишь при вводе конденсатора в его максимальную ёмкость, при всех других положениях конденсатора частота стоит на месте.
3. Вставляем ПЗУ КНГМД и дискету. Жмём ресет, должно пойти чтение. Вот в этот момент частота меандра на 11D15 начнёт меняться. На осцилле это выглядит как дёргания в такт вращения дисковода. Вот здесь вращением С28 нужно свести это дёргание к минимуму. Это будет значить, что ФАПЧ максимально сбалансирован. При правильно настроенном ФАПЧ сигналы на 6D21 и 9D21 в статике (после выхода в васик) на фото.
Вот как бы и всё, что требует настройки. После этого должно загрузиться. Больше я ничего не делал и не настраивал..
Тракт записи проверял, работает. Дискеты форматирует, файлы с диска А на Б копируются. Кабель к дисководам прямой. На дисководе А ставим перемычку выбора на 0, на Б ставим перемычку на 1.

Как я записывал дискеты:
Напишу, чтоб самому не забыть.. Скачал с сайта ХоббиМэна архив с образами в формате FDD. Вручную переименовал FDD в KDI. Дальше прога ZX Disk Studio 2012 v1.16 -> образ-> загрузить. Диск-> форматировать и записать. Записал так 2 диска по 800кБ. Работают. Остальные пока не пробовал..

Из не понятного:
1.Чтение происходит, как на оригинале, так и на новоделе, как то рывками. То есть двигатель дисковода вращается не постоянно, то включится, то выключится. Это так и должно быть? Пробовал 2 дисковода, поведение одинаковое.
2. Тест чтения сектора, написанный уважаемым DemonId7, как на оригинале, так и на новоделе, возвращает ошибку 04. Тем не менее, дискеты читаются и пишутся.

Скачать фото осциллограмм и доработку дешифратора можно с облака Mail (https://cloud.mail.ru/public/af02dcfa592b/%D0%9A%D0%9D%D0%93%D0%9C%D0%94%20%D0%9F%D0%9A8000% 20%D0%BD%D0%BE%D0%B2%D0%BE%D0%B4%D0%B5%D0%BB) или Яндекс диска (https://yadi.sk/d/nZshcgDTeMTUf)

P.S. Спасибо большое всем, кто принимал участие в запуске платы. Отдельное спасибо DemonId7, b2m за написание тестов и помощь в понимании работы, Mick за предоставленный оригинал, dk_spb за изготовление печатных плат, pilgrim за схему.

Mick
24.01.2015, 09:19
Однако, наверное это первый мной встреченный контроллер с такой мудренной настройкой. Я так понимаю на ГГ1 типа что то ФАПЧ что ли. Имеет тогда смысл ее как то обойти. Есть вроде как схемы ФАПЧ на ПЗУ РТ4 или вроде как на ИМ6 как в спектрумовском KAY.
Просто, обычному пользователю будет не очень просто настроить его без осцилографа.
В любом случае, как говорится - респект тебе и уважуха, что разобрался до конца.

dk_spb
24.01.2015, 13:48
Я может пропустил, ткните носом в прошивку РТ2

Mick
24.01.2015, 15:24
Я может пропустил, ткните носом в прошивку РТ2

На прошлой странице была, совсем обленился ;)

http://zx-pk.ru/showpost.php?p=773506&postcount=200

DUKER
04.04.2015, 12:01
Доброго времени суток! собрал я все детали для контроллера в кучу. Распаиваю рассыпуху, а вот по микросхемам вопрос, будет-ли корректно распаивать все чипы на панельках?? Я не уверен в поставщиках микросхем, и хотя плата хорошая и снять чип экструдером не возникнет особых сложностей... Но может вообще все чипы поставить на панельки?? (ну и ещё так можно было-бы формировать готовые, проверенные комплекты микросхем...)

hantarex
04.04.2015, 12:29
я панельки ставил только под ПЗУ и ВГ93. вообще - чем больше панелек, тем больше глюков.

DUKER
04.04.2015, 13:00
Просто у меня много аналогов, не 555 а 74ls, где-то половина... Ладно попробую запаивать а если совсем всё плохо - по-откусываю.

DemonId7
09.04.2015, 10:13
Наверное уже поздно, но все же вставлю свои пять копеек.
Я не знаю откуда пошло поверие про глюки из-за панелек, но мой опыт подсказывает обратное - надежность вполне на уровне пайки. Начиная от 8086 и заканчивая 80486, ПЗУ, память (пока не появились симы) и кэш ставились исключительно на панельки. На многих материнках даже БИС были на панельках. На некоторых 286-х встречались резистивные сборки в цанговых панельках. Это десятки миллионов машин! И ничего не глючило, немало машин работает до сих пор.
На моей памяти только один раз глючило из-за панельки - комп постояно вис. Оказалось, протек аккум. И то, глючить начало только когда ножки почти полностью сгнили. Некоторые вывалились, стоило их лишь немного подергать :)

hantarex
09.04.2015, 15:14
вы еще реабилитируйте старые синие советские панельки:) да и щас проблемы бывают. мне лично несколько раз попадались панельки поганого качества, у которых ламмели не пружинят, а просто гнутся. так что панельки ставлю только для отладки. а чипы проверяю программатором. у мну Top2011, так он тестирует логику кмоп и ттл.

DUKER
13.04.2015, 19:42
Я всё-таки запаял панельки, они все новые, пружинят. Я всё спаял, но всё боюсь включать, и да, вопрос звучал, а ответа я не заметил (мог пропустить), я не настолько хорошо знаю аппаратную часть FDD, 1.44 заработает? или мне нужен 720кб привод?

---------- Post added at 19:42 ---------- Previous post was at 19:38 ----------

А, да, почему боюсь, тут на контроллере используется внутренний БП ПК-8000, разве в оригинале был не внешний? или подобное потребление заложено в интерфейс ПК-8000??

hantarex
14.04.2015, 09:07
на плате есть место под молекс. 3.5 дисководы без переделки не пойдут.

DUKER
14.04.2015, 21:22
ну найду 5.25, а по поводу питания, молекс-то я нашёл, но питание на него подаётся из суры, в оригинале так-же было?? вроде-бы у самих дисководов отдельный БП, нет?

hantarex
15.04.2015, 14:15
молекс - это и есть разъем питания дисковода. четыре провода: красный +5, желтый +12, и две черных массы в центре.

DemonId7
15.04.2015, 16:53
На оригинальных не было питания. Дисковод запитывался от внешки. Учитывая большие токи питания дисковода, это выглядело разумным.

DUKER
15.04.2015, 22:02
hantarex,Я понимаю что такое молекс, где он на плате, и для чего он обычно, я не об этом, я о том что на этот разъём выведено напряжение от интерфейсного разъёма Суры, при этом штатный контроллер питал дисководы от отдельного бп, вот я и пытаюсь разобраться, делать аутентично и более правильно с точки зрения помех и нагрузки на БП, или пробовать как есть.
DemonId7, Вот об этом я и говорю, я помню что при эксплуатации штатного вроде-бы сначала включался Блок дисководов, потом Сура.
Я нехочу перегружать БП Суры, это может дать хороших помех по питанию всей плате ПК-8000 и контроллеру дисковода.

Mifody
18.04.2015, 21:23
Может уже поздно, но скажу. В оригинальном блоке дисководов плата КНГМД питается от ПК8000 через системный разъём, а дисководы от отдельного БП. Я же всё запитывал от ПК8000, включая новодельную плату контроллера и два 5,25 дисковода. Работает, БП тянет. Единственное, появляются небольшие помехи на мониторе при старте двигателей шпинделя дисководов, а так же при движении головок.
По поводу панелек тоже не пойму, почему их так критикуют. У меня Феникс собран полностью на обычных (не цанговых) панельках. И ничего не глючит. Хотя да, панельки должны быть не откровенное Г.. С ними может и будут проблемы.

DUKER
28.04.2015, 00:32
собрал, подключил, настроил начальные осциллограммы "в статике" но уже на второй что-то нето у меня, хотя первая настроилась похоже.
(осциллограммы пожже, прибор получше притащу)
Родная прошивка рисует белый квадратик, и всё. Дисковод молчит, дискета вставлена и задвинута (после установки несколько оборотов мотор делает)
Воткнул прошивку "READ" вместо штатного загрузчика, получилось так:
http://4duker.ru/SURA/FDD/FR1.jpg
плата:
http://4duker.ru/SURA/FDD/FR3.jpg
http://4duker.ru/SURA/FDD/FR4.jpg
Причём результат как на первой картинке и с установленное ВГ93 и без неё.
На ГГ1 на выходе какой-то меандр вроде есть, частоту пожже смогу сказать.
Генератор на D11 работает, делитель на D15 делит...
CE на ВГ93 дёргается.... дисковод молчит.
Дисковод подключен прямым шлейфом, выставлен 1-й привод, в 386-м крайний раз читал дискету.... (Mitsumi D509V3)
у меня просто ВГ93 дохлая?? это единственный чип кроме ИР16 не купленный, а из запасов. Или мне все аналоги заменять нашими чипами??

DemonId7
28.04.2015, 09:11
EA - это не код ошибки, а какой-то мусор, так как бит 6 должен быть нулевым. Видимо контроллер не отвечает.

DUKER
28.04.2015, 21:10
Раньше не имел дела с ВГ-шками, насколько они чувствительны к статике??
в гугле засветилась какая-то статья про "защиту ВГ93" http://abzac.retropc.ru/content?id=211 это имеет смысл?

DUKER
29.04.2015, 01:30
Нашёл ошибку у меня, доработку D11U5-->D20U7 сделал, но дорожку от D20U7 не обрезал.
Обрезал... стало вообще в бейсик вываливаться и ПЗУ не читает... восстановил -читает..., я так понимаю что-то у меня ещё не так, а эта лишняя связь "помогает"
Я могу как-то командами из бэйсика по выбирать адреса, проверить как РТ2 выбирает адрес???

DemonId7
29.04.2015, 08:06
Можно писать в TM8 (D17 по схеме) что либо:
POKE &H7FF7, XX
где XX - записываемое в TM8 значение. И проверять тестером на выходах.

Mifody
29.04.2015, 13:32
Обрезал... стало вообще в бейсик вываливаться и ПЗУ не читает
Так будет, если РТшка не работает. Она выдаёт /CS на ПЗУ и на всё остальное. Пока вы не обрезали лишнюю дорожку, вывод /CS ПЗУ был подключен к 32 ноге ВГшки. Это сигнал RDY с дисковода. Вот если у вас там 0, вот и грузилось ПЗУ. Уберите доработку /CS ПЗУ, верните как было (ну, чтоб грузилось ПЗУ..), и вставьте прошивку , которая пишет в порты ТМ8 и смотрите осциллом соответствие. И да, при чтении ПЗУ и правильной работе дешифратора, дисковод должен начать вращаться даже без ВГшки. Так что если не крутит, то смотрите первым делом дешифратор. Если дисковод крутит, то попробуйте перед включением отвести голову дисковода от 0 дорожки. После включения голова должна вернуться на 0, но этим уже рулит ВГшка..
А сейчас смотрите дешифратор. Судя по всему, именно он у вас не работает. Причём, совсем, раз нет выборки ни ПЗУ, ни портов ТМ8 (дисковод не крутит).
И ещё.. ИМХО, зря вы поставили вместо 555АГ3 микросхему НС серии. Это можно делать, допустим, на логических элементах или регистрах.. Счётчиках.. Там, где чем быстрее, тем лучше. Здесь же собран генератор с расчитанными времязадающими элементами именно под серию 155/555 (то есть обычную или LS серию у буржуев). Я сравнил бегло даташиты на эту микросхему LS и HC серии, так там разница в длительности выходных сигналов в 2 раза, при одинаковых Rext и Cext. Уж если и ставите импорт, то лучше ставить серию LS. Хотя, это лирика. Я не пробовал ставить HC серию именно в этот контроллер.

DemonId7
16.07.2015, 07:48
А что за формат файла у прошивки РТ2? Как его перевести в бинарник, для заливки в 27C512?
И попутный вопрос. Если менять на 27C512, то нужен ли буферный регистр на выходе?

BYTEMAN
23.07.2015, 15:25
А что за формат файла у прошивки РТ2? Как его перевести в бинарник, для заливки в 27C512?
РТ2 - это ж ПЛМ, а не ПЗУ...

DemonId7
28.07.2015, 11:46
РТ2 - это ж ПЛМ, а не ПЗУ...
Ну да. Именно поэтому и хочу заменить на ПЗУ, что ПЛМ негде прошить. Просто не хотелось вручную набивать дамп.

Mick
28.07.2015, 11:50
Ну да. Именно поэтому и хочу заменить на ПЗУ, что ПЛМ негде прошить. Просто не хотелось вручную набивать дамп.

У Mifody есть программатор. Он как раз считывал ПЛМ с моего контроллера и мне одну зашил копию. Так что спроси его, может он тебе тоже зашьет.

Sergei Frolov
28.07.2015, 11:52
А как можно заменить ПЛМ на ПЗУ?

Mick
28.07.2015, 12:02
А как можно заменить ПЛМ на ПЗУ?

Теоретически можно если через переходник. По сути РТ2 не содержит регистров, а только логические комбинации типа И и ИЛИ (что то вроде того). То по сути если подавая все возможные комбинации можно получить все возможные ответы. Но на практике фиг его знает. Я как то собирался попробовать, но так и не собрался. Даже где то уже рисовал переходники с РТ2 на 27512 и обратно.

MVV
28.07.2015, 12:31
А что за формат файла у прошивки РТ2? Как его перевести в бинарник, для заливки в 27C512?
Там табличка типа такой:

************************************************** ***************
* *
* Контpоллеp FDD HD/DD. Веpсии от 02.07.01/05.07.01 Автор MVV *
* *
************************************************** ***************
-----------------------------------------------------------------
| | Конъюнктор |
| Вход |-------------------------------------------------------|
| | 1-8 | 9-16 | 17-24 | 25-32 | 33-40 | 41-48 |
|-------|-------------------------------------------------------|
A0B | A1 | 11...... 11****** ******** ******** ******** ******** |
A1B | A2 | 11...... 11****** ******** ******** ******** ******** |
A9B | A3 | ..0..... ..****** ******** ******** ******** ******** |
A8B | A4 | ..1..... ..****** ******** ******** ******** ******** |
A10B | A5 | ..1..... ..****** ******** ******** ******** ******** |
A11B | A6 | ..1..... ..****** ******** ******** ******** ******** |
A12B | A7 | ..1..... ..****** ******** ******** ******** ******** |
A13B | A8 | ..1..... ..****** ******** ******** ******** ******** |
A15B | A9 | ..00110. ..****** ******** ******** ******** ******** |
A14B | A10 | ..00101. ..****** ******** ******** ******** ******** |
MREQB# | A11 | ..0.000. ..****** ******** ******** ******** ******** |
M1B# | A12 | ..0.000. ..****** ******** ******** ******** ******** |
IORQB# | A13 | 00.....0 00****** ******** ******** ******** ******** |
DOSON# | A14 | 00.0...1 00****** ******** ******** ******** ******** |
WRB# | A15 | 01...... 01****** ******** ******** ******** ******** |
A7B | A16 | 00...... 11****** ******** ******** ******** ******** |
|---------------------------------------------------------------|
| Выход | |
|-------|-------------------------------------------------------|
S# | ^Y1 | ----AAA- --AAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA |
I/O# | ^Y2 | -------A --AAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA |
R# | ^Y3 | --A----- --AAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA |
SELDOS#| ^Y4 | ---A---- --AAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA |
CSВГ# | ^Y5 | AA------ --AAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA |
FFWR | Y6 | -------- A-AAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA |
FFRD# | ^Y7 | -------- -AAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA |
EOB# | ^Y8 | -A------ --AAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA |
-----------------------------------------------------------------


Примечания :
* в конъюнкцию входит прямое и инверсное значение переменной
. переменная не входит в конъюнкцию
0 в конъюнкцию входит инверсное значение переменной
1 в конъюнкцию входит прямое значение переменной
- конъюнктор отсутсвует в функции
A конъюнктор присутсвует в функции
^ функция имеет активный низкий уровень

Если менять на 27C512, то нужен ли буферный регистр на выходе?
Да, так как во время формирования адреса и переходных процессов в зависимости от быстродействия внутри ROM на выходе будут неустойчивые состояния.

А как можно заменить ПЛМ на ПЗУ?
Если есть файл прошивки РТ2, если есть табличка истинности типа такой как на примере или записанная РТ2, с которой можно считать содержимое программатором или собрав простой преобразователь на 16-разрядном счетчике и буфере. При переборе адреса 15..0 на входе, на выходе получим данные 7..0 по соответствующему адресу для записи в ROM. ВВ55 в помощь :)

DemonId7
28.07.2015, 16:32
У Mifody есть программатор. Он как раз считывал ПЛМ с моего контроллера и мне одну зашил копию. Так что спроси его, может он тебе тоже зашьет.
Если ближе не найду. Лень с почтой связываться.

---------- Post added at 17:32 ---------- Previous post was at 17:26 ----------


Там табличка типа такой:
......
......

Ужас. Без стакана не разберешся :) Наверное придется утилитку писать, для генерации бинарника.

Ладно, отпишусь что получится. Пока ТВ9 не хватает и транзисторы ещё не подобрал.

dk_spb
30.07.2015, 00:01
основное отличие ПЛМ от ПЗУ в данной связи - то что ПЗУ "дергает" сигналы.
Пример: у Вас на двух "верхних" (по схеме) входах ПЛМ собран И на верхний выход.
Так вот, если Вы подадите две единицы - у Вас на выходе всегда будет единица, независимо от остальных входов.
В ПЗУ (если у Вас запрограммировани такая же И) если Вы даете на вход 0003 или F003 - на верхем выходе будет единица, как и требуется. Но в момент смены на входе с 0003 на F003 - на верхнем выходе может и нолик проскочить.

В некоторых схемах это некритично, а в некоторых фиг заменишь ПЛМ на ПЗУ.

DemonId7
30.07.2015, 01:19
Ну здесь то вроде все четко и понятно - несколько выводов отвечают за свои, и только свои, адреса. Эти адреса известны. Так что проблем по идее не должно быть.

Тут еще вопрос нарисовался. Как писать дискеты? Есть два дисковода - один советский, еще в упаковке, и один писишный, вроде на 1.2Мб. Насколько я помню, советские (или болгарские?) к PC просто так не подключались. А на писишном можно форматнуть дискету на 800Кб?

Mick
30.07.2015, 15:16
основное отличие ПЛМ от ПЗУ в данной связи - то что ПЗУ "дергает" сигналы.
Пример: у Вас на двух "верхних" (по схеме) входах ПЛМ собран И на верхний выход.
Так вот, если Вы подадите две единицы - у Вас на выходе всегда будет единица, независимо от остальных входов.
В ПЗУ (если у Вас запрограммировани такая же И) если Вы даете на вход 0003 или F003 - на верхем выходе будет единица, как и требуется. Но в момент смены на входе с 0003 на F003 - на верхнем выходе может и нолик проскочить.


Как бы все так, но не забываем еще о быстродействии самой РТ2. Насколько помню у ней время "доступа" вроде как 70нс, хотя могу и ошибаться. Вполне можно допустить, что какая нибудь W27C512 с временем доступа в 45нс может запросто опередить нашу РТ2 и будет не так все страшно. Но опять же это все надо пробовать.

DemonId7
14.08.2015, 22:51
Работает! :v2_dizzy_dance:
http://s004.radikal.ru/i205/1508/95/e5ed05b7703dt.jpg (http://radikal.ru/fp/a240357e44db4793a3cfeb7cdc45f6f3)
http://s014.radikal.ru/i329/1508/64/891e99ecbddbt.jpg (http://radikal.ru/fp/2ff983a1aaf34409b9898f654e141ac2)
Дошел до шага №2 - подстройка C28. А дальше решил попробовать, что получится. И заработало! Форматирует и пишет без проблем. Дисковод EC 5323, работает нормально, рывков не заметил.
Вот теперь можно подумать о прошивке РТ2, для порядку :)

В аттаче бинарник (с исходником генератора) для W27C512, на случай если кто еще решит воспользоваться эмулятором.

DemonId7
20.08.2015, 20:58
Кстати, а данный контроллер может работать с писишными дискогрызами? Пробовал две штуки - японский 5-ти дюймовый и 3-х дюймовый. Оба дергаются, что-то читают, но не вычитывают и выдают ошибки. Это несовместимость, или я все же контроллер до конца не настроил?

dk_spb
20.08.2015, 21:00
А трёшке отверстие заклеивали?

DemonId7
20.08.2015, 22:36
Да, разумеется. Иначе не получилось бы образ на дискету записать.
Самое интересное, что 5-ти дюймовые дискеты готовил на том самом японском дисководе, что контроллер не воспринимает, но которые прекрасно читаются на болгарском.

dk_spb
20.08.2015, 22:47
по опыту: вг93 вполне нормально работает с 3,5 и 5,25 (оба DD).
не каждый дисковод 3,5" подходит. самсунги лучше сразу вычеркнуть (у них у многих внутренняя схема предкомпенсации).
5.25 надо переключать перемычками в DD, если он HD (болгарские обычно сразу DD).

DemonId7
21.08.2015, 11:05
Ясно. Значит будем настраивать.

DemonId7
31.10.2015, 11:35
Приобрел по случаю МС5313. Даже рабочий оказался, дискеты читает и пишет без проблем. Но, только отформатированные на нем. Другие, записанные на японском (и воспринимаемые на болгарском) не признает, как и наоборот.
К гадалке не ходи, юстировка треба. И вот собственно вопрос, а как создать "мастер-дискету"? По идее япоша, на котором создавал системные дискеты, может использоваться в качестве образцового. Нужно только файл с образом дискеты подготовить. Я правильно понял, что нулевой цилиндр с обеих сторон - это первые 2*5*1024 байт в файле образа дискеты?

DemonId7
20.02.2016, 19:33
Юстировка дисковода вылилась в написание небольшой приблуды:
61421
0. Формат и в Африке формат. В эмуляторе не работает.
1. Запись диска. Записывает псевдослучайные данные. Старался обеспечить их уникальность для каждого сектора. Насколько получилось - добром не протестировал. Здесь же можно очистить диск, заполнив его значением 0xE5.
2. Чтение диска. Тест чтения диска. Удобно для проверки точности юстировки.
3. Просмотр секторов. Позволяет посмотреть дамп секторов. Иногда может помочь убедиться, что МГ позиционируется на нужную дорожку, а не на соседние.
4. Просмотр дорожки. Дамп дорожки "как есть", со всеми маркерами и кодами. Тоже не пашет в эмуле.
5. Собственно сама юстировка. Отводим МГ к самому краю. Запускаем прогон дорожки 0 и медленно двигая МГ находим нулевую дорожку. Дальше прогоняем дорожки 40 и 79, добиваясь их нормального чтения. Потом идем в пункт 2, для более точной проверки установки МГ. Найденные "плохие" дорожки корректируем в меню 5 и опять проверяем. Мучаемся до уверенного чтения всего диска.
У меня на юстировку ушло не более 10 минут.

Пожелания, претензии и здравая критика приветствуется. Если кто подскажет как реализовать замер скорости вращения шпинделя дискогрыза, то от всей души скажу спасибо :) Замер по прерыванию RST7 дает заниженные значения на всех трех имеющихся дискогрызах, в пределах 277-282 об/мин.

dk_spb
15.06.2017, 22:10
Понекропостю ;-)


Вот ссылка на djvu http://narod.ru/disk/22197772000/%D0...%201.djvu.html
Файл 7 метров, пришлось из за схем качество улучшать.
Кстати книга интересная, там даже слот расширения правильно расписан.
Если не сложно, повторите ссылку с хорошим качеством схем

И кто-нибудь разбирался с версиями Суры ПК8000 (которые ПК8000.x)?

dk_spb
17.06.2017, 21:55
А кто может подсказать как должен вести себя дисковод на Суре?
У меня при родном дисководе независимо от наличия дискеты дергает (по звуку дергает, физически головка с нулевой дорожки не уходит) раз 7, один раз где-то в полсекунды.
При замене дисковода думает секунды 3-4 потом двигает головы на 1-ю дорожку, еще думает столько же и двигает на нулевую дорожку.
Кто что посоветует? Куда копать?

Mick
17.06.2017, 22:13
Если не сложно, повторите ссылку с хорошим качеством схем

Этот тот же самый файл, что я давал тебе вчера. Качество увы улучшить не смогу.

dk_spb
17.06.2017, 23:37
Победил я свой КНГМД. Как говорится, не мучай себя - возьми TEAC.
Вот что осталось непонятно: похоже КНГМД не дает MotorON. Штатный ЕС5323 умеет запускать двигатель по выбору дисковода, а тик GFR не умеет, пришлось ему принудительно MotorON давать.
Но по схеме КНГМД никаких проблем с MotorON не должно быть. Где я что-то упускаю?

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

кстати, у меня диск1 из комплекта поставки 90-го года без оболочки, дает командную строку. Если что найдёте интересное в содержимом дисков (прилагаю) могу скопировать.
61397 61398 61399 61400 61401 61402

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


Логично. И если же это действительно ТМ8, то инициализация почти понятна:

START_ROM:
[0xEE1D] = 0
[0x7FF7] = 0x81 - сброс контроллера
[0x7FF7] = 0x01 - выбор устройства 0
WAIT(0x01) - запись команды (init?)
[0x7FF7] = 0x82 - сброс контроллера
[0x7FF7] = 0x02 - выбор устройства 0
WAIT(0x02)
[0x7FF7] = 0x00


Минуточку!!! То есть программка из ПЗУ для выбора дисковода А пишет в 7FF7 значение 0x01 !?!?!?!
А кто, простите, будет MotorON делать!?!?! Надо же писать 0x21 для дисковода А и 0x42 для дисковода B.