PDA

Просмотр полной версии : SMK-64



Alex_LG
26.02.2019, 16:21
Т.к. нигде не нашел инфы по сборке и настройке СМК64 - создам тему.
Скажу сразу - с БК практически не знаком, поэтому прошу объяснять подробнее :v2_dizzy_botan:
Собрал я сей девайс, но не работает, вернее нет обращения к винту (судя по светодиоду). При старте выводится надпись "ROM-BIOS v2.05 (c) АльтПро 1997", т.е. дешифрация ПЗУ работает. Дальше комп, после паузы, выводит "?" и все.
Вопросы.
1. Правильно ли я собрал, критична ли серия микросхем? Собирал по фото из инета, нигде не нашел монтажки или нормального описания сборки.
2. Как проверить из Монитора работоспособность ВП1-128 и ДопОЗУ?
3. Данный контроллер может стартовать без флоппика?

http://i.piccy_.info/i9/f388413f049b3d9765b5a37f214588ec/1551186024/31867/1286315/IMG_20190226_140634_500.jpg (http://piccy_.info/view3/12998419/cf176b82265a79a80c0a4868f16413ec/)http://i.piccy_.info/a3/2019-02-26-13-00/i9-12998419/500x281-r/i.gif (http://i.piccy_.info/a3c/2019-02-26-13-00/i9-12998419/500x281-r) http://i.piccy_.info/i9/f6582a08748c63613080375318dd816e/1551186077/33009/1286315/IMG_20190226_140655_500.jpg (http://piccy_.info/view3/12998423/9da00bf62fab4a0427d805dc7338978c/)http://i.piccy_.info/a3/2019-02-26-13-01/i9-12998423/500x281-r/i.gif (http://i.piccy_.info/a3c/2019-02-26-13-01/i9-12998423/500x281-r)

Вот такой "винт" пытаюсь подключить. Работал с новодельным контроллером НЖМД для "Поиск-1".
http://i.piccy_.info/i9/4a4a70f4811bfd75683ad3bc9fc9ea74/1551186113/16534/1286315/IMG_20190226_140715_500.jpg (http://piccy_.info/view3/12998426/10b01009112e7822f8dd566c16e999e9/)http://i.piccy_.info/a3/2019-02-26-13-01/i9-12998426/500x281-r/i.gif (http://i.piccy_.info/a3c/2019-02-26-13-01/i9-12998426/500x281-r)

Manwe
26.02.2019, 20:32
А что записано на «винте»?

gid
26.02.2019, 21:06
При старте выводится надпись "ROM-BIOS v2.05 (c) АльтПро 1997", т.е. дешифрация ПЗУ работает.
Там ещё ПЗУ 556РТ5 в которой как раз логика работы с HDD зашита, оно поглавнее ПЗУ с прошивкой будет. И корректность её можно определить только тестом контроллера или успешно загрузившись с HDD (т.е. если получилось, значит всё работает).


Дальше комп, после паузы, выводит "?" и все.
А если у вас БК11М, должен бейсик запустить, иначе - так и должно быть.


2. Как проверить из Монитора работоспособность ВП1-128 и ДопОЗУ?

Никак, разве что тесты контроллеров АльтПро с магнитофона загружать. Их можно найти у меня на сайте, а сконвертировать бинарник в wav можно эмулятором, там специальный "Менеджер лент БК" для этого есть. А wavку любым удобным способом проиграть в магнитофонный вход БК. Выбирать следует тест с буквой F на конце.


3. Данный контроллер может стартовать без флоппика?

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

Alex_LG
26.02.2019, 23:35
А что записано на «винте»?
Образ из соседней ветки про СМК512, только пересобранный под параметры "винта".

Manwe
27.02.2019, 10:55
Может быть неправильно пересобран, кстати.
Имеет смысл попробовать через магнитофон запустить программу SERVICE2.

Alex_LG
28.02.2019, 17:23
Сделал образ с нуля, т.е. взял образ загрузочного диска, переименовал в 0c.bkd. Сделал образ BKHDDTool -a -i -c496 -h2 -s32 16M.hdi (для 16Мб диска). Проверил в эмуле. При помощи HDDImgMaker перегнал в img и записал на диск при помощи HDDRawCopy1.10
Пробовал подключать ФлешДиск на 16Мб и винт на 540Мб - не грузится. Причем с ФлешДиском загорается светодиод, т.е. обращение идет, с винтом - светодиод не горит, висит долго до появления "?"
Подключил флоп. Записал дискетку. Пробовал FloImg097 и BKDISK. Три разных флоппа. Появляется надпись о загрузке АнДОСа, громко ерзает головой, как будто битая дискета, и выдает ошибку №4. Дискеты проверены на наличие ошибок - все Ок. Шлейф прямой, как на фото http://www.forum.pk-fpga.ru/viewtopic.php?f=16&t=14 с синей платой.

Manwe
28.02.2019, 20:26
как на фото с синей платой.Там конденсаторы, которые навесным монтажом, ничего лишнего своими ножками не замыкают?
Но вообще я бы попробовал всё же загрузить с «магнитофона» программу SERVICE2 и посмотреть что она скажет о контроллере СМК и подключенному к нему HDD.

Woland
01.03.2019, 09:36
Для начала следует с дискеты загрузиться попробовать, и запустить тест памяти. Если она битая - а она довольно часто бывает битая, то загрузки с винта не будет. Ну и еще раз проверить все номиналы и правильность их монтажа. И еще я не вижу двух блокировочных конденсаторов 0.1 мкф по питанию микросхем ОЗУ.

Alex_LG
01.03.2019, 13:56
Там конденсаторы, которые навесным монтажом, ничего лишнего своими ножками не замыкают?
Но вообще я бы попробовал всё же загрузить с «магнитофона» программу SERVICE2 и посмотреть что она скажет о контроллере СМК и подключенному к нему HDD.

Замыканий нет, проверил. Дело близится к магнитофону... ((((


Для начала следует с дискеты загрузиться попробовать, и запустить тест памяти. Если она битая - а она довольно часто бывает битая, то загрузки с винта не будет.

В том-то и дело, что дискета выдает ошибку 4, что это за ошибка?
Я так понимаю, если ДопОЗУ нет, то с дискеты загрузится?


Ну и еще раз проверить все номиналы и правильность их монтажа. И еще я не вижу двух блокировочных конденсаторов 0.1 мкф по питанию микросхем ОЗУ.
Монтаж делал по фото, больше нигде инфы не нашел по монтажу! ((((
Конденсаторы на память и ВП1 допаял, результат - прежний...

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

Нашел коды ошибок:
1 — при чтении - ошибка CRC в зоне данных, при записи - установлена защита записи;
2 — ошибка CRC в зоне заголовка сектора
3 — нет позиционирования на 0 дорожку
4 — ошибка позиционирования
5 — не найден сектор
6 — нет диска или диск не вращается
7 — прерывание по вектору 4 при операции
010 — не найден адресный маркер
011 — не найден маркер данных
012 — недопустимые параметры команды или нестандартный формат диска.

Получается у меня "ошибка позиционирования". Это как?

gid
01.03.2019, 16:54
Получается у меня "ошибка позиционирования". Это как?
Это значит, что не найдена нужная дорожка, или нужная сторона (что большая редкость). С дисковода загрузка с дорожки 0 стороны 0 делается, и может даже со стороны 1 делается, а вот дальше - не может найти дорожку 1.
А знаете как драйвер дисковода убеждается, что нашёл нужную дорожку?
Если изначальное положение неизвестно, он позиционируется на 0 дорожку. Затем пошагово доходит до нужной.
Если изначальное положение известно, то просто шагает в нужную сторону нужное количество раз.
Затем ждёт индекса, после нахождения ищет адресный маркер первого встреченного сектора и читает после него записанные там номер стороны и дорожки.
Если чтение удачно, то проверяет прочитанное с тем, что нужно.
Если номер дорожки не совпал с ожидаемым - позиционирование на 0 и снова искать.

В вашем случае всё работает, всё читается. Индекс находится, маркер находится (потому что таких ошибок не возникает), но читается с дорожки не то, ожидается. Опытные люди бы посоветовали смотреть осциллографом или логическим анализатором, что там творится. Я бы, как не имеющий ни того, ни другого, посоветовал проверить дисковод и дискету на ПК. Просто установить fdrawcmd.sys и с помощью проги ukdsk записать образ дискеты на дискету, потом попробовать загрузиться с неё на БК, потом прочитать эту дискету в образ и сравнить бинарно исходный образ и полученный, не портит ли БК дискету.

Alex_LG
01.03.2019, 17:40
Опытные люди бы посоветовали смотреть осциллографом или логическим анализатором, что там творится.

Есть и то и другое. Знать бы куда и что смотреть...


Я бы, как не имеющий ни того, ни другого, посоветовал проверить дисковод и дискету на ПК. Просто установить fdrawcmd.sys и с помощью проги ukdsk записать образ дискеты на дискету, потом попробовать загрузиться с неё на БК, потом прочитать эту дискету в образ и сравнить бинарно исходный образ и полученный, не портит ли БК дискету.

Делал. Диск читается, образ на эмуле работает.
Хотя не понятно - считывал не тот размер, что записывал. Исходный образ 838656 байт. Пробовал писать с количеством треков 80 и 81 и читать, получал файлы в 819ххх и 829ххх байт.

MM
01.03.2019, 19:23
На канале КНГМД отсуствуют резисторы подтяжки шлейфа на входах ТЛ2 - 5 шт.
Необходимый номинал - 150 ом к линии +5в.

Если совсем нет никаких в наличии - можно 150...470 ом ставить, при условии, что подключен 1 дисковод шлейфом не более полметра.

Для прояснения ситуации на линии управления дисководом ( по направлению из блока КНГМД в дисковод ) подключить ослик/ЛА, и в ручном режиме проверить прохождение сигналов из ВП1-128 на шлейф дисковода согласно назначению бит регистра 177130 1801ВП1-128 :
http://emuverse.ru/wiki/%D0%9A1801%D0%92%D0%9F1-128
https://pic.maxiol.com/thumbs/1551456942.531452771.1128.jpg (https://pic.maxiol.com/?v=1551456942.531452771.1128.jpg)
( При проверке бит регистра использовать ненужную дискету )

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

Схема тракта КНГМД ( заводская Экситон ) :
https://forum.maxiol.com/index.php?act=Attach&type=post&id=4154

Alex_LG
04.03.2019, 11:14
На канале КНГМД отсуствуют резисторы подтяжки шлейфа на входах ТЛ2 - 5 шт.
Необходимый номинал - 150 ом к линии +5в.
Если совсем нет никаких в наличии - можно 150...470 ом ставить, при условии, что подключен 1 дисковод шлейфом не более полметра.

Подпаял - положительного результата не дало.



Для прояснения ситуации на линии управления дисководом ( по направлению из блока КНГМД в дисковод ) подключить ослик/ЛА, и в ручном режиме проверить прохождение сигналов из ВП1-128 на шлейф дисковода

Т.к. в Мониторе нет команд работы с памятью, то нужно это делать или с БЕЙСИКа или ФОРТРАНа, т.е. грузить нужно с магнитофона... ((((

Manwe
04.03.2019, 13:44
Т.к. в Мониторе нет команд работы с памятью, то нужно это делать или с БЕЙСИКа или ФОКАЛа, т.е. грузить нужно с магнитофона... ((((Если это монитор БК-0011м, то в нём есть команды для работы с памятью: http://gid.pdp-11.ru/books/00015-01.32.01.html#_ref_p221

Alex_LG
04.03.2019, 14:54
Если это монитор БК-0011м

У меня только 10ки, вернее 10-01.

MM
04.03.2019, 15:07
У меня только 10ки
Посоветую загрузить с магнитофона отладчик Грот - или как он мог называться на БКшке.
Длина - в районе 10000 ( 8 ), может работать в разных адресах ОЗУ.

Manwe
04.03.2019, 15:38
Отладчик Мираж: http://www.bk001x.ru/load/programmy/programmy_dlja_bk0010_01/mirage_dwg/39-1-0-536

Alex_LG
04.03.2019, 18:48
Запустил с магнитофона Service2. Тест памяти не проходит, винт не видит...


Отладчик Мираж
А как с ним работать? Какими командами писать в ячейки памяти?

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

Нашел команды http://boulder-dash.narod.ru/bk_emulator/bkprogramming.html

Alex_LG
11.03.2019, 18:38
До отладчика пока не добрался, нашел тест СМК, вот что показывает с новой версией прошивки РТ5 (доработку пока не делал)
http://i.piccy_.info/i9/4942c2c80492842085f539451cb4059f/1552318199/30210/1286315/IMG_20190311_145255_500.jpg (http://piccy_.info/view3/13028603/4de7b6d033c5e85f99b59cfc9f525a92/)http://i.piccy_.info/a3/2019-03-11-15-30/i9-13028603/500x281-r/i.gif (http://i.piccy_.info/a3c/2019-03-11-15-30/i9-13028603/500x281-r)
http://i.piccy_.info/i9/fb71b3f4955314f022d9846f0d2f803f/1552318274/25510/1286315/IMG_20190311_145305_500.jpg (http://piccy_.info/view3/13028609/affc8303240b780b1bfa52e3821af469/)http://i.piccy_.info/a3/2019-03-11-15-31/i9-13028609/500x281-r/i.gif (http://i.piccy_.info/a3c/2019-03-11-15-31/i9-13028609/500x281-r)
http://i.piccy_.info/i9/74fb031096eb129679a3d31bcf28c1b6/1552318296/30648/1286315/IMG_20190311_145326_500.jpg (http://piccy_.info/view3/13028612/03ac494ddbf32f5f33faa015348f387e/)http://i.piccy_.info/a3/2019-03-11-15-31/i9-13028612/500x281-r/i.gif (http://i.piccy_.info/a3c/2019-03-11-15-31/i9-13028612/500x281-r)

После третьего экрана идет аналогичная "ругань"... Если я правильно понял из теста, винт доступен, с ОЗУ проблема, вот только не могу понять в чем - битая память или выборка.
Со старой версией РТ5 тест ругался типа РТ5 повреждена и RESET работает неправильно.

MM
11.03.2019, 23:58
Есть ли схема электрическая принципиальная СМК-64 ?

gid
12.03.2019, 09:26
есть конечно, давным давно лежит у всех на виду на всем известном месте http://pdp-11.ru/mybk/Altpro/Altpro_SMK-64.zip

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

Alex_LG, Кстати, тест написан для реплики СМК-512, поэтому тест режимов на СМК-64 будет показывать разные ошибки наложения ОЗУ на ПЗУ которых на ПЛИС реплике не происходит, а по схеме они должны быть, и фактически, для СМК-64 ошибкой считаться не должны.
Я год назад заметил такую разницу в поведении, но так и не придумал, как аппаратно определять тип контроллера - оригинал/новодел СМК-64 и ПЛИС реплика СМК-512.
Ещё по тесту видно, что у вас 1) проблема с памятью СМК читается из неё вообще не то, что записывается, 2) ПЗУ бейсика вообще не отключается.
Если есть блок МСТД и он работает, т.е. отключает ПЗУ бейсика и встаёт на его место, то проблема в контроллере - забыли дотянуть сигналы до разъёма МПИ. Если блока МСТД нету, фиг проверишь, надо смотреть схему и наличие линий А14, А29 - первая отключает первые две микросхемы ПЗУ бейсика, вторая - третью м/с ПЗУ бейсика.

Alex_LG
12.03.2019, 11:08
Если есть блок МСТД и он работает, т.е. отключает ПЗУ бейсика и встаёт на его место, то проблема в контроллере - забыли дотянуть сигналы до разъёма МПИ.

МСТД есть и работает нормально. Какие сигналы нужно дотянуть до разъёма?

gid
12.03.2019, 15:19
Если смотреть схему СМК-64, то это линии BAS и BAS2.
BAS - от ноги А14 МПИ ведёт прямо на ногу 38 ВП1-128
BAS2 - от ноги A29 МПИ ведёт к диоду D3, а потом на ногу 38 ВП1-128
На контроллерах с доп. ОЗУ менее 256 Кб на БК10 может быть подключено ПЗУ Бейсика традиционно записью #10 в 177130, т.е. пока на ноге 38 высокий уровень (а по умолчанию это так, поскольку привод DS3 обычно по умолчанию не выбран), то микросхемы бейсика должны быть отключены. У вас что-то препятствует появлению напряжения высокого уровня на ногах А14 и A29

Alex_LG
12.03.2019, 18:02
При подключенном контроллере на А14 и A29 высокий уровень.

MM
12.03.2019, 18:07
Можно осликом проверить наличие 4 мгц на выв. 22 1801ВП1-128.
Если сигнала нет, то и ответа ВП1-128 не даст.
*
Так же осликом проверить наличие выхода с ИР22, которые защелкивают адрес МПИ - при перезапуске БК сигнал должен быть на всех выходах ИР22.

gid
12.03.2019, 20:33
При подключенном контроллере на А14 и A29 высокий уровень.
Ну значит ПЗУ бейсика не при чём.
Тогда чьё ПЗУ по адресам ОЗУ на третьем скрине из поста #19 (https://zx-pk.ru/threads/30166-smk-64.html?p=1003109&viewfull=1#post1003109)
Неуж-то от самого СМК по всем доступным адресам отображается?
Хотя, я тут посмотрел алгоритм теста режимов.
Код 1 - ОЗУ поверх ПЗУ (чтение есть, не равно контрольному значению; запись есть, результат не меняется, как было до записи, так и осталось (это потому что читается и пишется контрольное слово, поэтому результат предсказуем))
Такое поведение характерно при наложении ОЗУ поверх ПЗУ, но ведь может быть ещё и такое - что в ОЗУ какие-то случайные значения после подачи питания, и они и читаются, а запись ни на что не влияет, RPLY в ответ на DIN/DOUT выдаётся схемотехникой контроллера, а микросхема ОЗУ глухая к просьбам записать в неё что-либо, на ногу, разрешающую в неё запись разрешающий сигнал не подаётся.

Просто из-за того, что что-то жуткое творится с ОЗУ, читается всегда не то, что записывается, то многие этапы теста ведут себя неадекватно. Тут видно, что есть куда развивать тест и уточнять и уточнять алгоритмы. Например байт-тест провален на первом скрине - это опять из-за того, что прочиталось не то, что записали, и это вовсе не потому, что байтовая запись в память не работает.


Если сигнала нет, то и ответа ВП1-128 не даст.
Сигнал есть, и ответ ВП1-128 даёт, по скринам видно.

Alex_LG
13.03.2019, 12:17
Может как-то поможет, у меня три разные платы БК 0010-01: одна видать ранней версии c проводами М7.103.641 19 PN 401 05-87, вторая чуть новее М7.103.641 41 PN 7205 и третья - от завода Экситон (похожая на БК 0011). Первая плата с СМК не запускается, появляется шахматка в верхей части экрана, с МСТД работает нормально. На второй и третьей плате СМК стартует. Тестирую в основном на Экситон-овской плате.

gid
13.03.2019, 15:20
У меня тоже БК-10 какой-то старой версии, с сигналами на МПИ, не соответствующим схемам БК-10, доступным в интернете. Там вообще не было выведено RPLY на шину, его проводочком добросили, и сигнал вывода на линию, который в порте УП на ноге B3, был выведен на МПИ аж на две ноги, одна из них мешала работе СМК, и я просто привёл всё в соответствие со схемой.

БКшки скорее всего не причём тут. Если на ногах А14 и A29 МПИ +5В и на ногах 23 микросхем ПЗУ бейсика DS18-DS20 тоже +5В то всё работает как задумывалось.
Вы лучше внимание обратите, в тесте переключения страниц, по одним и тем же адресам всегда одни и те же значения, или они меняются при каждом включении питания?
А вообще, я дальше не знаю что делать, тут как мне кажется, только логическим анализатором надо смотреть, почему пишется одно, а читается совсем другое.

Alex_LG
13.03.2019, 19:09
Вы лучше внимание обратите, в тесте переключения страниц, по одним и тем же адресам всегда одни и те же значения, или они меняются при каждом включении питания?

Меняются.

Alex_LG
14.03.2019, 12:12
Всем спасибо за участие, СМК заработал!
Как и говорил gid, обратил внимание на мусор в ОЗУ, начал проверять схему. Сигналы /WR для ОЗУ вырабатываются на КП12, выходы которой могут быть в Z состоянии. Смотрю на схему и не вижу резисторов подтяжки к +5В, а без них будет "мусор" на сигнале /WR в момент его неактивности. Начал "звонить" чистую плату (есть еще не запаянная) - сигналы идут на резисторную сборку, которой нет на схеме. Проверяю уже паянную - на одной ОЗУ /WR подтянут через 2.2к, а на второй - 4.4к! Резисторная сборка запаняна наоборот!

Теперь уже вопрос по работе СМК.
1. Флоп один (3.25), определяется как диск В, как переключить на А?
2. Флеш диск на 1Гб стартует сразу. Диск на 16Мб сразу не находится и выходит в Монитор, но если в Мониторе перезапустить по команде "Т", то стартует с него. Что не так?

gid
14.03.2019, 16:57
1. Флоп один (3.25), определяется как диск В, как переключить на А?
Надо в флоповом шлейфе проводочки сигналов выбора приводов DS0 и DS1 поменять местами. Традиционно, все 3.25" флоповоды без перемычек жёстко заданы как привод В.
Я кстати пробовал старинный шлейф с 4-мя разъёмами: две штуки - под 3.5" и 5.25' и ещё две такие же штуки, а между этими парами - перекрученные провода. И у меня почему-то что до, что после перекрутки 3.5" флоп так и оставался B. Хотя я помню, что раньше, на контроллере A16M, я подключал два 3.5", один как A второй как B, правда шлейф сам кромсал под эту конфигурацию.
Я плюнул и оставил как есть, Б так Б.


2. Флеш диск на 1Гб стартует сразу. Диск на 16Мб сразу не находится и выходит в Монитор, но если в Мониторе перезапустить по команде "Т", то стартует с него. Что не так?
Очень медленно инициализируется. Там в ПЗУ есть тайм аут ожидания ответа от винта, вот винт и инициализируется дольше, чем ожидали авторы прошивки.