- Вопросы по SMK64
-
? Voland - 04.12.2011 00:29
Просьба знающих людей подсказать, что вот это за диод такой на обратной стороне платы СМК:
http://saveimg.ru/show-image.php?id=7dcd2405576ba758d2972aef839d0897
¤
Предположительно Д9, но какой конкретно? Подойдет ли ему на замену Д9Б (на котором кроме белой еще и красная полоска)?
Далее, красненькие диоды поменьше размером, это 1N4148 (КД521А) ?
-
? severyanin - 04.12.2011 01:36
Я точно не помню, но по-моему это Д9Д одно время маркировался одной белой. Я проверю, как до бумаги доберусь.
А где "красненькие поменьше"? Я чего-то в упор не вижу.
-
? Voland - 04.12.2011 13:05
Вот тут можно увидеть:
http://saveimg.ru/show-image.php?id=4505bdd63c8998283cda41895806e1d9
Их там 3 штуки с лицевой стороны платы.
¤
Кстати еще вопрос: все желтые керамические выводные однослойные дисковые конденсаторы, как на том же фото, можно ли заменять на обычные многослойные синие, которые сейчас везде доступны в продаже? И можно ли ими же заменить крупный оранжевый, который напаивался на ВП1-128?
А то продавец в митино сказал что однослойные не во всех случаях можно заменять многослойными, а крупный какой-то особенный, военный и его почему-то тоже обычным нельзя заменить.
-
? Аноним - 04.12.2011 13:38
Нужно ставить именно военный, это однозначно. И габариты его не должны быть меньше того, что на фотке, лучше даже побольше. А диод поставить можно такой: http://www.platan.ru/cgi-bin/qwery.pl/id=58155&group=401
-
? Etc. - 04.12.2011 15:33
Ононим! Хочешь постебаться - иди на башорг!
-
? anonymous - 05.12.2011 00:37
Аноним прав, до маразмов не надо доходить при подборе деталей... Выбор диодов определяется по использованию их в схеме - на подпитке германиевый обычно ставился из-за малого падения напряжения на нем, на его место шоттки надо, на логику - импульсные быстродействующие обычно идут. Конденсаторы во времязадающих цепях точные только нужны, фильтрующие пойдут китайские любые.
-
? Voland - 05.12.2011 12:52
anonymous, можете дать ссылку на конкретный доступный и дешевый диод, которым можно заменить этот D9 (если это он)?
По поводу конденсаторов - буду ставить обычные синие-китайские вместо всех, что используются на плате SMK64.
По поводу маразмов - я сам не разбираюсь, показал в конденсаторном павильоне в митино плату СМК и сказал что мне на замену нужны аналоги, продавец начал меня грузить, что их нечем заменить.
¤
-
? severyanin - 06.12.2011 20:15
Добрался до нормальных справочников. Да, на первой фотографии Д9Д. Высокочастотный германиевый точечный диод. Прямой ток до 30 мА, обратное напряжение до 30 В. У меня нет под рукой схемы этого замечательного контроллера, но если диод стоит "по питанию" (а это по-моему скорее всего, хотя бы потому, что он один), бери любой диод Шоттки в подходящем корпусе. Например 1N5711 явно не дефицит ( http://www.chipdip.ru/product/1n5711.aspx ) или 1N5818 с запасом по току (до 1 А). Если высокочастотный нужен, точно не скажу, какой-нибудь HSMS-8201 или 02, наверное подошел бы.
-
? severyanin - 06.12.2011 20:35
Да, смею предположить, что конденсатор на 0,1 мкФ тут, конечно, фильтрующий. ДолжОн любой подойти...
-
? Voland - 08.12.2011 00:46
Спасибо, severyanin!
-
? Voland - 16.12.2011 12:33
По прошивкам СМК кто-то может подсказать:
1. Прошивка для 556РТ5 подходит одна и та же для SMK64, SMK128 и выше?
2. Прошивка для РФ5 (РТ2) разная для SMK64 и SMK128? Если выше 128, то прошивку надо править, или подходит та, которая для SMK128?
3. Какие самые последние версии прошивок для 556РТ5 и РФ5 вообще существуют?
4. Как узнать версию прошивок этих микросхем в рабочем контроллере?
-
? SKcorp. - 16.12.2011 14:05
Все есть тут: http://bk0010.org/forum/?id=4087&page=3
-
? Voland - 29.12.2011 09:11
Вопрос по розетке СНП58-64/95х9Р-20-2-В, используемой в SMK и других контроллерах:
подобрал два аналога (как я думал) DIN-64FS-L22-A1C1 и DIN41612 2*32 64 F (AB), но оказалось что хотя они размером самого корпуса и совпадают с оригиналом, контакты чуть более разрежены и в итоге общая длина 32-х контактов на 1.5-2 мм больше. Не то чтобы совсем не стыкуется с оригиналом на плате БК, но делает это с очень большим напрягом для контактов.
Может кто знает аналог, совпадающий полностью? Не хочется переплачивать за старье, за которое ломят от 80 руб, тогда как новые можно найти от 30 руб.
-
? Voland - 29.12.2011 09:25
Длина контактного ряда у DIN-64FS-L22-A1C1 и DIN41612 2*32 64 F (AB) по официальному data sheet - 78.74 мм, у оригинала получается как минимум на 1 мм короче, по моим собственным замерам.
-
? SKcorp. - 29.12.2011 10:25
Дык все верно. У одного разъема "дюймовый" шаг 2.54мм, у др. "метрический" 2.5мм.
-
? Ал-р - 29.12.2011 11:04
Для DIN получается разница между 1 и 32 контактами 1.24мм - делается центровка по средним контактам и получается разница 0.62мм влево для 1-го и 0.62мм вправо для 32-го (для остальных между 1-32 соответственно ещё меньше). Лучше использовать "родное" :)
-
? Voland - 29.12.2011 15:07
Печально что нет полноценной замены, "родные" сложно найти, барыги в митино ломят за них несусветные цены.
-
? SKcorp. - 29.12.2011 15:15
Родных дофига, по 80-100р. найти можно.
-
? Voland - 29.12.2011 17:04
А ссылкой не кинетесь, где такое добро в изобилии по 80 руб?
-
? SKcorp. - 29.12.2011 17:13
http://spb-unona.ru/index.php?option=com_content&task=view&id=20&Itemid=46
-
? Voland - 02.01.2012 23:14
Итак, сделал реплику SMK-64.
http://www.phantom.sannata.ru/forum/index.php?t=10357
¤
556РТ5 пока так и не прошил, но думаю это вопрос решится через неделю, когда у меня появится собственный программатор Sterh ST-007.
-
? Аноним - 03.01.2012 18:20
А чувак-то растет !
-
? Voland - 03.01.2012 23:44
Схемотехнических знаний мне для этого не понадобилось. Рутинная беготня в Митино, пайка. С первого раза конечно не заработал, две ошибки было, но удалось их обнаружить чисто визуально.
-
? tim - 05.01.2012 11:38
Да, иначе бы в прилагаемом файле "спецификации" в графе Аналог хотя бы для микросхем прописали аналоги. А с прошивками что теперь?
-
? Voland - 05.01.2012 14:54
Да аналоги-то как раз не проблема прописать. Но смысл, всё кроме 1801ВП1-128 есть в свободной продаже.
Прошивка 556РТ5 будет после 9-го числа, когда мне программатор привезут и я её вычитаю. 573РФ5 уже выложены в формате программатора.
-
? Kisser - 06.01.2012 21:34
Voland, по поводу вп1-128 к вот этим ребятам не обращались?
http://www.nowel.ru
Раньше у них прайс был, сейчас убрали. Я у них ВМ2 брал и что-то еще (вроде 128 как раз). Может еще остались?
-
? Voland - 07.01.2012 20:03
запрос отправил, буду ждать.
-
? Voland - 11.01.2012 02:12
Удалось победить прошивку 556РТ5 - теперь есть собственный программатор Sterh st-007, который шьет что угодно, в т.ч. 1801РР1, обращайтесь, кому надо.
С оригинальной 556РТ5 видимо с ошибкой прошивка считалась в первый раз.
_
Сейчас по прошивке остался такой вопрос: почти треть микросхем 573РФ5 проходят контроль программатора на чистоту и возможность записи, визуально - заполнены FF, но при попытке прошить - ошибка. Что это, брак, или надо под лампу их и все будет хорошо?
_
Второй вопрос, кто-нибудь в курсе, подойдут ли для стирания вот такие лампы:
http://www.amperkin.ru/catalog/lampy-gazorazryadnye-philips/philips-lampa-rtutnaya-hpl-n-125w-e27-drl-125w/
http://shop.siriust.ru/product_info.php/products_id/21549
Какая из них больше подходит, которая помощнее?
-
? anonymous - 11.01.2012 03:14
Что значит, "ошибка"? Их десятки разных может быть, и соотв. причин.
К Sterh ST-007 лампа своя же прилагается, http://www.sterh.com/sterh-uv01.html
¤
-
? Ал-р - 11.01.2012 08:41
Для стирания ПЗУ-УФ подходит вторая (Лампа Camelion LH26-3U/BLB/E27 энергосберегающая Blacklight Blue 26Вт 220В ультрафиолетовая). Расстояние до мс - как можно ближе (то что мс при этом нагревается только способствует стиранию). Лампами (ртутными) уличного освещения (первая ссылка и нашими ДРЛ) не советую пользоваться ...
-
? Voland - 15.01.2012 21:36
Купил Camelion LH26-3U/BLB/E27 - за 15 минут ничего не стерла, на расстоянии 4 см держал. Попробую 1 час.
А ошибка при попытке записать вроде бы чистую выдается такая: Ошибка программирования Адрес: 000000 Буфер:7A Микросхема:FF
-
? anonymous - 16.01.2012 00:07
Удлинните импульс программирования, попробуйте увеличить количество импульсов, все же описано в документации. У лампы имеет значение длина волны излучения, какая у вашей? Лучше всего стирают медицинские лампы для дезинфекции помещений, темно-фиолетовым которые светят... И странно, что с программатором вам лампу его родную не дали, когда я покупал стерх, лампа в комплекте шла, хотя это было в 2005м, может политика у них поменялась...
-
? Voland - 16.01.2012 00:19
Программатор с рук брал, поэтому без лампы.
У купленной лампы написано что она длинноволновая, больше никакой интересной информации. За один час на расстоянии 1 см тоже ничего не стерлось. Интересно, ДРЛ-400 подойдет? Информацию о её длине волны не нашел нигде, но мощность почти в 15 раз больше.
_
Импульс удлинял, количество увеличивал, напряжение тоже увеличивал по максимуму - никаких изменений.
-
? dk_spb@ - 18.01.2012 00:13
А есть ли драйвер для IDEшной части SMK для RT11 (ОС БК 4.1)?
-
? Voland - 18.01.2012 09:14
А что, ОС БК 4.1 видит обычный заводской КЖД, но не видит SMK-КЖД? (я ни разу не работал под ОС БК).
-
? dk_spb@ - 18.01.2012 10:06
Voland: шутить изволите? Неужели в природе есть "обычный заводской КЖД" да еще и IDE да еще и для БК?
-
? Ал-р - 18.01.2012 13:16
Voland - по УФ-стиралке
FF и должно быть в стёртой мс. В старые времена я использовал "косметический прибор ФОТОН" (вроде так он назывался) - там мощность лампы была всего ватт 5 и давала она естественно мягкий-УФ (дезинфекция лица после бритья). Из-за малой мощности и расстояния до защитной сетки в несколько сантиметров мс стиралась довольно долго (20-30мин - уже не помню точно). ДРЛ-400 это мощная и устаревшая - Дорожная РТУТНАЯ Лампа ...
-
? dk_spb@ - 18.01.2012 16:32
Для ДРЛ надо бить внешнюю колбу и самому при включении прятаться
-
? Ал-р - 18.01.2012 16:41
правильно конечно: ДРЛ - Дуговая Ртутная Люминисцентная, описание всяких ламп (в том числе УФ) можно найти тут http://forum.maxiol.com/lofiversion/index.php/t1415.html
-
? Voland - 18.01.2012 21:14
>> шутить изволите? Неужели в природе есть "обычный заводской КЖД" да еще и IDE да еще и для БК?
честно - не в курсе :) ну нет, так нет :)
_
по УФ - я так и не понял, какую взять, чтобы стирала быстро, недорогая была и весь остальной фэншуй соблюсти?
ДРЛ-400 не лучший вариант получается?
-
? dk_spb@ - 18.01.2012 22:09
Voland:
>честно - не в курсе
Это и пугает - когда не в курсе а пишем.
В результате среьезный вопрос пропал....
Вот добавите Вы SMK в БК, а драйверной поддержки и не было.
И её можно сделать до появления новой БК
-
? Voland - 18.01.2012 22:35
Сделайте :)
-
? Voland - 18.01.2012 22:36
Кстати, dk_spb, это правда что Вы демки пишите для БК? Они где-то есть в общем доступе?
-
? Ал-р - 19.01.2012 00:19
УФ:
Вполне подходит та что уже куплена: Camelion LH26-3U/BLB/E27 - она даже мощнее той, что в УФ-стиралке от sterh (ДРБ8-1)
http://www.medrk.ru/shop/index.php?id_group=71&id_subgroup=129&id_goods=21130
Учтите что обязательно нужен экран, чтобы УФ не попадал в глаза и на кожу (это не лампочки для загара).
-
? Voland - 19.01.2012 00:54
>> Вполне подходит та что уже куплена: Camelion LH26-3U/BLB/E27
так почему же она не стирает даже за 3 часа???
-
? dk_spb@ - 19.01.2012 00:56
>это правда что Вы демки пишите
Я уже начинаю пугаться от Ваших шуток
¤
>Сделайте :)
Не программист я. Это Вы тут всех угали что у Вас куча программеров, которым только скажи что написать.
Драйвер SMK для RT-11 - наиполезнейшая вещь.
Я даже не побоюсь назвать её первоочередной.
БК у многих есть. Реплики SMK теперь вседоступны (аж из двух источников).
Драйвер уже можно делать. Не дожидаясь новой СуперБК
-
? Voland - 19.01.2012 01:03
Ну программисты эти изъявляли желание писать именно под новый БК, я попробую конечно спросить у них про драйвер. А про то, что Вы пишите демки, мне один участник форума сказал, я не сам придумал :)
-
? SKcorp. - 19.01.2012 01:04
RT-ха у меня с винта бегала, на контроллере без HALT-а 100%.
Видела правда 2 раздела "С" и "D" - мне хватало.
-
? Ал-р - 19.01.2012 02:08
Уф
http://www.medrk.ru/shop/index.php?id_group=71&id_subgroup=129
а она вообще-то светит? Для проверки доллары ей подсуньте :)
Программатор проверьте на чтение какой-нибудь заведомо не стёртой РФ (он будет показывать чего-нибудь кроме FF ? )
-
? Voland - 19.01.2012 02:12
Конечно светит, я ж не совсем еще :)
Три микросхемы подставлял на три часа под лампу, все читаются на программаторе, и даже встречаются в прошивке какие-то осмысленные куски английского текста, FF там почти нету.
-
? Ал-р - 19.01.2012 03:33
УФ
http://www.sterh.com/sterh-uv01.html
такие есть в продаже, но она почему-то на 127 вольт и как подключать ?
Я стирал когда-то лампой типа ДРЛ (после того как перестал работать Фотон) - сама по-себе ДРЛ УФ не светит - нужно разбить внешнюю защитную колбу и внутри будет мощная кварцевая лампа с жёстким УФ (защитный кожух обязателен и в квартире будет много озона). К ней нужна ещё какая-то схема запуска.
-
? dk_spb@ - 19.01.2012 09:14
550 рублей, месяц ожидания и будет Вам счастье
http://www.ebay.com/itm/Ultraviolet-Light-UV-EPROM-Eraser-Erase-Eraseable-Timer-/260932657080?pt=LH_DefaultDomain_0&hash=item3cc0cc5fb8
¤
SKCorp:
>RT-ха у меня с винта бегала
Какой драйвер был и сохранился ли он?
-
? anonymous - 19.01.2012 14:33
Обычно народ работал с СМК через тот же драйвер BY, что и с флопами. ПЗУ поддерживает обращение к разделам HDD через стандартный вход 0160004, с указанием номера раздела+4(0..3 - дисководы) в байте , на который r3 смотрит+034, потому драйвер дисководов с ним работает, а размер диска ОСБК не подразумевает, как всякие ANDOS, а запрашивает у драйвера - потому правильная работа с СМК обеспечивалась при любом размере <= 32мб. Драйвер специальный был для "пустого" контроллера, самарского.
-
? anonymous - 19.01.2012 14:35
Или там +2 для номера раздела диска - не помню, сколъко дисководов поддерживает пзу СМК, 2 или 4...
-
? SKcorp. - 19.01.2012 15:26
Да, так и было BY0: BY1: флопы, BY2: и BY3: разделы HDD.
-
? dk_spb@ - 19.01.2012 17:08
Спасибо!!!!!
-
? CD-Inc@ - 19.01.2012 21:38
СМК физически адресует только два дисковода, соотв. С: Д: на винте
у меня чей-то слитый РТ-шный раздел Д: лежит на разделе п: в лог. диске МК-Доса размером 6600 блоков
запустил сейчас из-под МК-Доса с помощью эмулятора Лог. дисков его же
называются EMD (by Terra SoftWare), EMAB (by LXE), EM (by CD Inc)
раздел видится целиком.
.
.
то Voland:
неужели вы так уверены в, купленной вами, лампе.
Она же не из Японии и не Швейцарии у Вас.
Тихо мирно собрана в Китае, на китайской линии, китайскими роботами, управляемыми китайцами, вдохновлёнными Солнцем - МаоЦзеДуном
Как она светит? В каком диапозоне? надо узнавать см.выше, телефона не знаю, по своей работе на практике знаю где Филипс светит год там камелион светит неделю, качество под уровнем гуана, и ещё при этом нестабильно, т.е. нестабильное качественное гуано.
можете поступить проще - послать свою вторую половину загорать в обнимку с Рфками в солярий, или сходить в больничку на бактерицидки поглазеть, или купить нормальную лампу, можно и бактерицидную, длина волны та же.
.
.
Всем успехов в Труде Мире Дружбе и заработной плате.
-
? Voland - 21.01.2012 10:33
>> или купить нормальную лампу, можно и бактерицидную, длина волны та же.
Какую конкретно? чтобы сразу в розетку включалась, а не разбивать там колбы и паять схемы запуска...
-
? Ал-р - 21.01.2012 11:42
CD-Inc ... ???
-
? dk_spb@ - 21.01.2012 14:59
Чем лампа по моей ссылке не понравилась?
Дорого?
-
? CD-Inc@ - 21.01.2012 23:03
Да здесь я.
можно такую.http://www.icida.ru/catalog/index/8/15/24/76
вот когда я пахал на "Микояне" так они вообще халявные были.
а на стерх лампа вообще 60р. стоит, короче жлобское какое-то ценообразование
dk_spb тоже вам вариант неплохой предложил.
Всем удачи.
-
? Voland - 21.01.2012 23:21
>> Чем лампа по моей ссылке не понравилась?
Да ждать из Китая месяц неохото...
_
2->CD-Inc: спасибо за ссылочку, пожалуй самый удобный для меня вариант.
-
? Аноним - 22.01.2012 00:42
Товарищи, срочно нужны дизассемблированные прошивки БК0011М (324,325,326) в рамках работ по ПЛИС-эмуляции СМК.
Удалось найти какие-то http://www.fayloobmennik.net/1449603
, но очень похоже, что там от БК0011, в прошивке упоминается 1801ВП1-097 (файл BKDISK.MAC). Проясните кто-нибудь ситуацию, пожалуйста.
Кстати на форумах пишут что 1801ВП1-097 и 1801ВП1-128 - практически идентичны. Быть может попробовать вставить в СМК 1801ВП1-097 на замену исчезающих ВП1-128.
-
? Voland - 22.01.2012 00:42
Выше сообщение от меня было.
-
? SKcorp. - 22.01.2012 01:11
Попробуй вставь. 128 - это исправленная 097.
¤
У кого есть КНГМД от БК0011 без М с 253 прошивкой - там уже 128 стоит?
-
? dk_spb@ - 22.01.2012 01:38
В БК везде 128.
По непроверенной информации 128 - это 097+ФАПЧ
-
? Voland - 22.01.2012 01:58
Лампу нашел еще дешевле, чем по ссылке от CD-Inc, вот тут можно купить за 418 руб, он мощнее в 2 раза, с той же длиной волны:
http://www.medcomp.ru/catalog/furniture/obluchateli/edu_1453.html
-
? Voland - 22.01.2012 01:59
>> По непроверенной информации 128 - это 097+ФАПЧ
Как эта ФАПЧ используется в БК?
-
? SKcorp. - 22.01.2012 04:43
БК не почувствует. А вот дискеты читаться будут хуже.
-
? CD-Inc@ - 22.01.2012 15:45
то SKcorp. +1 ФАПЧ необходимая вещь для дискет. Иначе даже свои диски, через некоторое время есть риск не считать. Кстати, Стас тут, у себя, фотки со второй Бкмании нашёл - прикольно, только не всех узнал.
то Voland. обратите внимание, что там светильники без самих ламп в комплекте, но ход мысли правильный.
Всем удачи!
-
? Дмитрий - 22.01.2012 15:58
С дизассемблированными прошивками могу помочь, но не уверен в наличии 324. В свое время писал дизассемблер ВМ1 под винду. Будем посмотреть дома...
-
? Дмитрий - 22.01.2012 16:05
Да и еще. Текст нужен для компилятора или просто листинг?
-
? Voland - 22.01.2012 16:50
А в чем будет принципиальное отличие? Может и дизассемблером под винду поделитесь тогда? Для благой цели..
-
? Дмитрий - 22.01.2012 16:56
Отличие в том, что будет просто листинг типа:
¤
1000000: 0012706 001000 MOV #1000,SP
¤
без меток и прочего. Т.е. нужно будет дорабатывать ручками для пригодного для компиляции вида.
-
? Voland - 22.01.2012 17:14
Сейчас уточнил у разработчика.. оказывается нужны не столько дизассемблированные прошивки, а сколько именно исходники, написанные разработчиками для заводских экземпляров - в той ссылке, что я выложил, именно такие, но похоже что для БК0011. Если их использовать, то возможны проблемы?
-
? Voland - 22.01.2012 17:20
Если я правильно понимаю, исходники SMK, которые ходят по интернету - не содержат той части прошивки, в которой реализована работа с дисководом? Если так, то нужно хотя бы найти исходники 326й, ведь ее кто-то дописывал до 326 v12 - значит исходники у кого-то есть наверняка..
-
? anonymous - 22.01.2012 17:27
Исходник 326 без блока арифметики плавающей http://qbus.narod.ru/128.mac
-
? Voland - 22.01.2012 19:45
Спасибо!
В прошивке 326 v12 какие отличия, есть ли принципиальные расхождения?
-
? anonymous - 22.01.2012 19:59
Не ведаю, этот исходник компилируется в бинарно идентичный файл с пзу кр1801ре2-326, которая в блоке заводском стоит. Что в v12 наворотили - не интересовался и не копал.
-
? Voland - 22.01.2012 20:06
А не в курсе, в СМК-прошивку без изменений включали этот кусок 326й, или там вообще с нуля всё писали?
-
? CD-Inc@ - 23.01.2012 22:44
Как в свое время писал В.Новак, 326 полностью переработана. Есть где-то дизассемблированная 326 прошивка с комментариями от GAI Software (по моему) с указанием ошибки.
-
? Voland - 23.01.2012 23:05
Найти бы..
Еще вопрос, забегая вперед - как тестировать новый СМК на совместимость со всеми режимами старого. Подозреваю, что помимо стандартной работы с жестким диском, какие-то особенные вещи СМК(например HALT-режим) использует только OS/A WASP (LXE)?
Кстати, у кого-то есть предположение, почему СМК не определяет современные винты (даже где-то читал, что не определяются все, которые выше 2гб объемом)? При этом CF 8гб без проблем определяет.
-
? dk_spb@ - 24.01.2012 01:14
Комментированные исходники 326 были в журнале БК.
¤
>почему СМК не определяет современные винты (даже где-то читал, что не определяются все, которые выше 2гб объемом)?
У Вас не определяется? Или будем пустые слухи обсуждать?
-
? Voland - 24.01.2012 12:00
Конкретно у меня не определялся 30 гб.
-
? dk_spb@ - 24.01.2012 12:02
У меня 100Гб Hitachi 2.5" определяется на ура.
Один раз была хитрая проблема: CF виделся, а винт - нет (у меня винт один, я другие не пробовал).
Вылечилось заменой в SMK АП6 на исправные .
-
? anonymous - 24.01.2012 20:06
У меня никогда не водилось SMK, однако согласно описанию из ПКБК, видить контроллер будет любого объема диски, но работать через драйвер пзу будет только с первыми 2Гб, т.к. они заложились на работу с CHS и стандартным блоком параметров процедуры обмена с диском... Потому бит хватило на 63 сектора / 16 головок и 4096 цилиндров, однако после загрузки можно подгрузить в ДОЗУ, по адресам 0170000 и далее, драйвер, работающий по LBA32 и работать с дисками до 128Гб.
-
? Voland - 31.01.2012 02:09
На данный момент работа по "перегонке" 1801ВП1-128 в ПЛИС фактически завершена. Стоит вопрос о том, загнать ли всю остальную логику во вторую ПЛИС (можно и в одну, но тогда придется использовать корпус с шагом 0.5 - тяжелее для пайки). Далее, что делать с разъемами? IDE предполагаю оставить где был, FDD превратить в разъем, торчащий вверх с лицевой части платы (на том же месте, где сейчас запаяны концы шлейфа FDD) и где-нибудь сбоку развести разъем под CF. Предлагайте варианты, если есть другое видение.
По поводу ПЗУ - думаем заменить их либо флеш-памятью в корпусе plcc-32, либо 2764/ 27128/ 27256, причем можно обойтись одним корпусом, выбирая по 2 байта за раз. Статическую память заменить менее крупными корпусами.
-
? Kisser - 31.01.2012 09:03
Voland, зря Вы в демократию играете )))
Приняли бы волевое решение, а то сейчас опять начнется - запятые не там в ассемблере или еще какие важные вещи.
По мне - лучше не уходить от DIP корпусов, благо место позволяет, повторяемость будет большая, да и м/с понадергать из старых плат проще. Даже программаторы как правило у всех для дип корпусов. Да и саму панельку под ПЛИС технологичнее (в домашних условиях, у кого фена не водится) сделать "с ногами", т.к. для поверхностного монтажа панельку тоже паять крайне весело, но, однако, возможно.
А нужен ли CF, переходники стоят 300р...
ЧТо касается ПЛИС - ради эксперимента загнал дешифратор адреса и управление ОЗУ/ПЗУ в 7032 - влезает (вместе с РТ5). может взять типа 7064 и еще туда что-то. Выводов много не надо, оставьте защелку адреса как есть, с двумя 373ми. А заменить ПЗУ на одно - милое дело. Зато в плисину на 128ю запихните цепи предкоррекции, без них она все равно не юзается, и сможете продавать ее как замену дефицитной уже ВП1-128.
Да, тогда не паять чтоли Ваш набор, дождаться нового? Когда ориентировочный срок выхода?
-
? Дмитрий - 31.01.2012 18:31
>> А нужен ли CF, переходники стоят 300р
Согласен, вряд ли нужен. Давненько уже заказал себе вот такую фтучку - http://www.dealextreme.com/p/40-pin-ide-disk-on-module-flash-memory-256mb-51804 , но пока руки так и не дошли запустить ее на БК с SMK. Лучше продублировать IDE "внутри" платы для подобных модулей. Если у кого есть CF-2-IDE (у меня есть), тот подключит как захочет.
-
? Voland - 31.01.2012 23:32
>> Приняли бы волевое решение
Было бы оно очевидным - принял бы. Нету очевидного.
>> По мне - лучше не уходить от DIP корпусов
Есть мнения, что как раз DIP-устаревшее зло, которое скорее нужно забыть. Хотя лично мне тоже чем-то симпатичен DIP.
>> А нужен ли CF, переходники стоят 300р
Приведенный DOM стоит дороже CF при той же емкости, и выпускают ли их сейчас? А CF точно выпускают. Думаю, большинство все-таки будет цеплять CF, так почему сразу не развести под него гнездо? Чтобы только край СF торчал из корпуса SMK (у кого есть этот корпус).
>> Да, тогда не паять чтоли Ваш набор, дождаться нового?
Месяца два точно ждать. А в чем смысл? Сильно дешевле он не будет, работать будет так же (надеюсь).
-
? dk_spb@ - 01.02.2012 00:09
>А CF точно выпускают
Да ну? Уверены?
Да и цена CF слота - 70 рублей в базарный день. В остальные - дешевле.
-
? Дмитрий - 01.02.2012 01:04
>> Думаю, большинство все-таки будет цеплять CF
В принципе тоже согласен, но на СМК емкость выше 2Гб смысла не имеет. Если тока переписывать драйвер винта и весь формат хранения разделов и прочего на винте.
-
? Kisser - 01.02.2012 09:13
>> DIP-устаревшее зло, которое скорее нужно забыть
Зато оно паяется любым паяльником. Для прочего как минимум нужен фен и навыки работы с ним. Кроме того, для ЛУТа шаг меньше 1,27 мм уже представляет проблему, а значит собственные разработки не будут иметь место. Дырки для ДИПов можно и не сверлить, сделав площадки на одной стороне и отогнув выводы. Крайне технологично в домашних условиях. Не думаю что у многих есть своя отдельная мастерская где можно собирать приспособления и оборудование (которое тоже денег стоит). У меня, вот например, нет. А заняться пайкой порой накатывает. ИМХО, повторюсь, что успех проекта зависит от его повторяемости ))).
>> цена CF слота - 70 рублей в базарный день
А как его паять то? Вылить канифоль и молиться чтобы все растеклось и перемычек не осталось?
Voland, Вы же говорили что установка детали на плату сопоставима со стоимостью самой платы. Если будет плис в какомнить qfp корпусе и разъем CF, сколько будет стоить плата на выходе с ними установленными?
Просто опять же исходя из массовости - Вам нужно делать какойто один набор, но много, чтобы было дешевле. А получается (на сегодняшний день) - ктото сам запаяет плис, кто-то CF, и как заказывать плату? в 4х вариантах? т.е. отдельно плата, плата с установленной плис, плата с уст. разъемом CF, ну и все вместе... А потом, а есть ли рынок у нового СМК (те, кто хотел, уже купили...)?
Если все будет в ДИП-корпусах, заказываете только платы, и или собираете набор деталек, или, сами паяете (как СМК - насколько я понял, Вы продавали готовое изделие). Вы готовы сами запаивать CF-ный разъем? Ну вообщем как-то так... ))) В конце концов предусмотрите место на плате, уж точно не много займет, а дальше будет видно.
-
? dk_spb@ - 01.02.2012 13:40
>А как его паять то? Вылить канифоль и молиться чтобы все растеклось и перемычек не осталось?
Для начала помазать флюсом.
И канифоль уже давно никто не использует - паять надо проволочным припоем, у которого внутри флюс.
-
? Ал-р - 01.02.2012 17:37
Проволочным припоем у которого внутри флюс даже шаг 1.27 не запаяете.
-
? dk_spb@ - 01.02.2012 17:56
CF слоты как-то получается.
И 1515 серия ничего идет.
-
? Kisser - 01.02.2012 18:11
>> CF слоты как-то получается.
Ну если получается, то надо разводить. Кому надо, тот запаяет. Но IDE 40-пиновый однозначно нужен.
-
? Voland - 01.02.2012 20:55
>> Но IDE 40-пиновый однозначно нужен.
Его в неизменном виде оставим.
-
? CD-Inc@ - 02.02.2012 08:28
У меня вопрос:
1. У меня на 5.25" TEAC и на всех моих моделях 3.5" флопах при записи/форматировании на стандартных значениях предкомпенсации 250/500нс возникали проблемы после 40...60ой дорожки, разрешилось её уменьшением при помощи модификации КНГМД.
как это дело будет обстоять в ПЛИС-SMK?
2. И не разумно-ли будет избавиться от сигнала дисковода RDY/СHG, чтобы подключать ПиСи дисковод простым втыканием в разъём, ни чего в нём не делая, а РДИ получать внутри ПЛИС по Индекс-сигналу+ВН0/1+Мотор?
3. будет ли возможность переключать скорость передачи 250/500 кБт/с?
4. На сколько полно использована плис (что бы своё ещё чего-нибудь впихнуть)?
-
? Kisser - 02.02.2012 10:05
>> разрешилось её уменьшением при помощи модификации КНГМД
CD-Inc, а можно подробнее, что перепаивалось? В ветке с обсуждением предкомпенсации чтото так и не нашел... Планирую к смк подключить 3.5", и может сразу сделать изменения, пока плата не распаяна.
>> РДИ получать внутри ПЛИС по Индекс-сигналу+ВН0/1+Мотор
А просто если выпилить ногу он не будет работать? Или это входило в вышеописанные изменения?
-
? tim - 02.02.2012 11:34
Странное дело, у уеня из всех дисководов как раз наоборот лучше всех TEAC работал и на запись и на чтение
-
? Voland - 02.02.2012 16:44
У меня на SMK одинаково хорошо работают как 3.5, так и 5.25 (PCшный, на высокую плотность). Бывают глюки конечно у 3.5, но там вечная проблема с качеством дискет.
-
? Voland - 02.02.2012 16:49
Для подключения 3.5 к SMK я никаких изменений не делал, наколол на шлейф таким же образом соответствующий 3.5 разъем и все. Правда он стал у меня как B:, но наверное это лечится перевертывание нескольких дорожек шлейфа,как на писюковых шлейфах.
-
? Voland - 02.02.2012 23:54
2->CD-Inc: к сожалению ничего из этих пунктов реализовываться не будет, т.к. это не оговаривалось изначально.
Т.е. делается копия СМК и не более, а такие вещи как CF - это скорее косметика.
По размеру ПЛИС сказать пока сложно, но знаю что это будет MAX3000, а при необходимости можно взять MAX II - пообъемнее.
Выяснились еще нюансы. В моем ТЗ предполагались три режима быстродействия: оригинального, чуть ускоренного (1.5-2 раза), полного. Так вот, Работа старых программ БК с дисководом будет возможна только в первом режиме, а в третьем и даже к сожалению во втором будут мешать жестко заданные задержки (для механики дисковода) на уровне ОС и прошивки работы с дисководами. Мой разработчик пояснил, что это можно исправить, поправив задержки на нужные в стопицот местах и заново скомпилировав прошивку и код ОС. Делать это конечно же некому :)
С винчестером подобных проблем, к счастью не будет. Кстати, кто-то в курсе, на турбированных БКшках (6 мгц) были проблемы в работе с дисководами?
-
? CD-Inc@ - 03.02.2012 00:04
то tim - у меня Panasonic как раз работал норм. а TEAC при записи начинал гадить в конце дискеты, на переделанном КНГМД было всё ОК.
то Kisser - http://zx.pk.ru/showthread.php?t=16500&page=4 с 32 поста и далее по теме.
в 34 посте результат двух дневного секаса с разными моделями дисководов и дискетами,
составив таблицу я увидел что для моих моделей дисководов идеален диапазон 125-250нс, так что выпив я рассудил трезво, что...
(кстати дискета с первого прохода могла отформатиться норм. и на большой задержке, а на втором проходе уже спотыкалась)
после долгих пыток и многих крамсаний стандартного КНГМД, сейчас просто перевёл ТМ"ки на 8мгц без каких-либо других переделок (дёшего и сердито),
.
Господа, поверьте, я искренне рад что у Вас всё нормально записывается/форматируется, но замечу, что запись за 60ю дорогу происходит редко на каких дискетах, и потом см.выше с первого или однократного захода всё может писаться нормально.
Я чистосердечно х.з. почему у меня всё диски пишутся отлично от других, может Солнце светит в Павловском-Посаде по другому, или воздушный столб давит сильнее, или как у В.Ерофеева в "Москва-Петушки" про П-П, не знаю, извините.
Но я за надёжное хранение информации.
.
Да и на других платформах такой большой предкомпенсации нигде нет.
Да и в даташитах на буржуйские драйвы, тоже такой богатырской прекомп. нет. В основном, 125 на весь диск.
.
Всем удачи.
Деев Александр.
-
? CD-Inc@ - 03.02.2012 00:25
Извините, пока писал, последний пост не видел.
На 6Мгц-турбо-БК задержки в прошивке на SOB"ах укладывались в допуски, основные тайминги записи/чтения устанавливаются 128ВП и её 4МГц.
А чуть ускоренный битрейт это как? Я знаю на контролёрах дисководов 250 300 500 кбт/с, 250-основной и единственный битрейт на БК 10сект/800кБт, 720кБт - ПиСи 3,5
500 кбт - 1,44МБт 3,5" Писи 1,2МБт - 5,25" Писи 300кбт - 720 кБт 5,25" Я может что не так понял?
-
? Voland - 03.02.2012 00:37
Битрейт к частоте процессора никак не привязан, он и в самом деле задается внутри ВП1-128.
А вот задержки механики - привязаны. Посылается сигнал переместить головку на соседнюю дорожку, затем задержка, затем новый сигнал, пока не найдем нужную дорожку. Если посылать сигналы в 20 раз чаще, то головка в 20 раз быстрее двигаться не станет, и мотор стартовать в 20 раз быстрее тоже не станет, даже в 1.5 раза - проблематично.
По битрейту: чтобы получить битрейт больше 250 кгц, надо вся схему тактировать более высокой частотой, так как там используется цифровая ФАПЧ и точность этой системы при 4мгц будет недостаточна.
-
? CD-Inc@ - 03.02.2012 01:05
>Битрейт к частоте процессора никак не привязан, он и в самом деле задается внутри ВП1-128.
>А вот задержки механики - привязаны. Посылается сигнал переместить головку на соседнюю дорожку, затем задержка, затем новый сигнал, >пока не найдем нужную дорожку. Если посылать сигналы в 20 раз чаще, то головка в 20 раз быстрее двигаться не станет, и мотор >стартовать в 20 раз быстрее тоже не станет, даже в 1.5 раза - проблематично.
.
так я прекрасно понимаю, то что в прошивке КНГМД делается программно, при увеличении частоты процессора всё уплывёт. Я просто думал вы про ВП-Плис.
.
>По битрейту: чтобы получить битрейт больше 250 кгц, надо вся схему тактировать более высокой частотой, так как там используется >цифровая ФАПЧ и точность этой системы при 4мгц будет недостаточна.
.
Я это понимаю. Поставлю вопрос прямо - можно ли будет в дальнейшем применить возможность переключать тактовую 4/8 Мгц в ВП-ПЛИС.
-
? Voland - 03.02.2012 09:23
А как делали "разгон" до 8 мгц, просто заменой кварца? ВП1-128 не умеет определять что за частоту на ее подали и перестраивать под нее предкомпенсацию, поэтому просто начнет удваивать битрейт до 500. С таким битрейтом может диск еще и будет читаться, но писаться точно перестанет.
¤
Для информации: патент номер US4334250- там прекомпенасции +-250 ns на всех дорожках, аналогично и в классических рекомендациях на эту тему фирмы Shugart и прочих.
-
? Ал-р - 03.02.2012 11:39
Тут патенты какие-то начали ... всплывать. ... Конкретнее пзжта?
-
? Voland - 03.02.2012 12:44
А что именно подробнее надо? Я привожу источники, откуда мой разработчик берет значения предкомпенсации для реализации в ПЛИС заменителя ВП1-128.
-
? Ал-р - 03.02.2012 15:18
Разгон дисковода - прикольно ...
ВП1-128 - запатентована ??? :) :) :)
-
Вообще-то если в КД кварц станет из 4 в->8, то из програмной задержки в 250 получится никакие не 500, а 125.
-
? Волька - 03.02.2012 18:10
Разгоняли БК путем замыкания одного из делителей частоты, генератор работал на гораздо больше частоте, чем было нужно. Просто ставился переключатель - Turbo On, Turbo Off.
-
? dk_spb@ - 03.02.2012 18:16
Где Вы отрыли эти патенты?
Вы не забыли что речь идет о 8" дисководах в "классических рекомендациях на эту тему фирмы Shugart и прочих".
Откройте пачпорт хоть на один дисковод и посмотрите рекомендованные значение предкомпенсации.
Если бы Ваш разработчик хоть каким-нибудь боком сталкивался с контроллерами 5.25" дисководов, он был знал что в 99% случаев не бывает _одинаковой_ предкомпенсации "на всех дорожках".
А патенты читать - это прямо какое-то горе от ума......
¤
Вроде уважаемый CD-Inc четко написал: "просто перевёл ТМ"ки на 8мгц".
Очень рекомендую открыть схему КНГМД и просто посмотреть - вс
-
? dk_spb@ - 03.02.2012 18:19
Где Вы отрыли эти патенты?
Вы не забыли что речь идет о 8" дисководах в "классических рекомендациях на эту тему фирмы Shugart и прочих".
Или по дате патента (1979) год об этом не догадаться?
Откройте пачпорт хоть на один дисковод и посмотрите рекомендованные значение предкомпенсации.
Если бы Ваш разработчик хоть каким-нибудь боком сталкивался с контроллерами 5.25" дисководов, он был знал что в 99% случаев не бывает _одинаковой_ предкомпенсации "на всех дорожках".
А патенты читать - это прямо какое-то горе от ума......
¤
Вроде уважаемый CD-Inc четко написал: "просто перевёл ТМ"ки на 8мгц".
Очень рекомендую открыть схему КНГМД и просто посмотреть - всё станет понятно.
Откуда какие-то идеи менять тактовую ВПхи? ОТкуда мысли про смену битрейта?
Такое впечатление что каждый говорит о своем, и никто даже не задумался что написал CD-Inc :-(
Или это чтение патентов так влияет? ;-)
Надеюсь никого не обидел...
-
? Voland - 03.02.2012 20:42
У Вас есть какой-то документальный источник, чтобы все глазами увидели подтверждение перечисленной информации? Хотя бы скан паспорта дисковода? Разработчик делает по тем источникам, которые удалось найти. Думаю он не единственный разработчик, которому далеко не каждый день приходится контроллеры уже почти не существующих 5.25 дисководов разрабатывать. Подозреваю что в одиночку до него это вообще никто не делал.
>> Вообще-то если в КД кварц станет из 4 в->8, то из програмной задержки в 250 получится никакие не 500, а 125.
Можете пояснить? Из чего это следует? Для моего разработчика это не очевидно, для меня и большинства форумчан тем более.
>> просто перевёл ТМ"ки на 8мгц
Т.е. у ВП1-128 при этом осталась частота 4 мгц? За счет чего тогда предкомпенсации поменялись? Распишите все подробно, если за результат болеете, а не если цель просто покритиковать.
_
Поймите правильно, я только за то, чтобы результат лучше получился. Но я же не могу разработчику постоянно говорить: а вы знаете, вот там советуют это, а там это. Документации нормальной по 1801ВП1 нет, вообще никакой документации по сути нет. Если просто все комментарии с форума в кучу сгрести, слишком неоднозначное ТЗ получится, да еще и меняющееся во времени. Нужны четкие справочные данные и обоснования (ссылки, скрины и т.п.), а не куча эмоций "да вы что, да где вы откопали, да кто вам такое посоветовал, да в любом паспорте".
-
? dk_spb@ - 03.02.2012 21:23
>У Вас есть какой-то документальный источник, чтобы все глазами увидели подтверждение перечисленной информации?
Это типа мне погуглить за Вас?
6я страница http://www.techtravels.org/amiga/SAMSUNG-SFD321B-070103.pdf для 3.5"
А вообще в журнале радиолюбитель (вроде в нем) был очень хороший цикл статей С.Рюмика по КНГМД.
Цитирую:
ОБОБЩЕНИЕ РЕЗУЛЬТАТОВ
Оптимальной для дисководов 5,25 дюйма емкостью 800 Кб можно считать двухступенчатую предкомпенсацию:
125 нс — для дорожек 0...43 и 250 нс — для остальных дорожек.
¤
>Думаю он не единственный разработчик, которому далеко не каждый день приходится контроллеры уже почти не существующих 5.25
>дисководов разрабатывать.
Так об том и речь! Гугль в помощь и читаем наработки предыдущих товарищей. Но для 8"-то зачем читать?
¤
>> Вообще-то если в КД кварц станет из 4 в->8, то из програмной задержки в 250 получится никакие не 500, а 125.
>Можете пояснить? Из чего это следует? Для моего разработчика это не очевидно, для меня и большинства форумчан тем более.
Voland, если для Вас не очевидно что если ускорить секундомер в два раза, то час пройдет в два раза быстрее (4->8 это секундомер; 250->125 - это тот самый час), то почему Вы еще не в школьной библиотеке за чтением?
¤
>Для моего разработчика это не очевидно, для меня и большинства форумчан тем более.
Если таков уровень Вашего разрабочика и Вас - не надо так оскорблять форумчан. У большинства из них с логикой и арифметикой проблем нет.
¤
>Т.е. у ВП1-128 при этом осталась частота 4 мгц? За счет чего тогда предкомпенсации поменялись? Распишите все подробно
Вам что расписать-то? Что такое ТМ и как открыть и посмотреть схему? Вы хоть иногда задумываетесь о чем пишите.
Если Вам написали что надо открыть схему и всё будет очевидно, зачем переспрашивать? Может стоит схему таки открыть?
¤
>Поймите правильно, я только за то, чтобы результат лучше получился.
Так приложите минимум усилий. Уж про флопы и прекомпенсацию полно материала: читай - не хочу.
А уж если Вам не очевидно что при ускорении тактовой временные задержки сокращаются - то как тут без эмоций.
¤
¤
-
? Voland - 03.02.2012 22:23
dk_spb, спасибо за информацию. По поводу остального - у Вас эмоции через край, думаю мало кого интересует Ваше мнение о моих и чьих-либо еще умственных способностях. Вы в курсе, что по статистике в среднем у людей IQ едва доходит до 90 (у программистов обычно не ниже 125-130)? Это я не в обиду участникам форума, это я вообще. Никого и не думал унизить или обидеть словами, что не всем очевидно. Все проще, разработчик ошибся, умножив не в ту сторону, а я не вникая скопировал. Или Вы никогда не ошибаетесь?
Я сейчас работаю по 13 часов в сутки и без выходных, времени хватает в основном на копипаст, искать и думать и ни времени, ни сил не остается. При этом, СМК - не единственная головная боль, по которой мне нужно искать ответы. И в сотый раз повторю, я не схемотехник, от того что я посмотрю в схему СМК, мне не полегчает, даже если я буду не отрываясь сутки туда смотреть и изображать умное лицо. Если Вы все знаете, то почему еще не сделали заменителя ВП1-128?
Да, Вы лучше пользуетесь гуглом, да, вы знаете английский, а я нет, да, да да... Бурные аплодисменты. Разве ж я спорю?
-
? CD-Inc@ - 04.02.2012 01:08
Господа, я тоже не хорошо знаю и, больше сказать, не люблю англ.язык, но ВНИМАТЕЛЬНО читаю даташиты, чтобы ясно понимать с чем имеешь дело. Приходится читать без переводчиков (ибо криво переводят), чтобы правильно и однозначно осмыслить входящую в голову информацию.
.
Я уже сильно пожалел что задал свои какие-то вопросы, причём ПРОНУМЕРОВанные, считал что они воспримутся по отдельности, к сожалению тут как-то всё перемешалось, вылилось и размазалось. Вы уж простите меня, колхозника, сирого и убогого.
.
поясню сам:
=? CD-Inc @ - 2 февраля 08:28
=У меня вопрос:
собственно, да
.
=1. У меня на 5.25" TEAC и на всех моих моделях 3.5" флопах при записи/форматировании на стандартных значениях предкомпенсации =250/500нс возникали проблемы после 40...60ой дорожки, разрешилось её уменьшением при помощи модификации КНГМД.
=как это дело будет обстоять в ПЛИС-SMK?
.
(250/500наносекунд - здесь значение предкомпенсации - (не скорость обмена) - (не скорость процессора))
для примера был приведён способ простой переделки СТАНДАРТНОГО (не СМК) КНГМД, линия сдвига которого построена на ТМ9, с заменой их тактовой частоты с 4 на 8МГц, с получением задержек +-125нс на 0..40дорогах / +-250нс на 41..82дор. Данные значения хорошо подходят для оставшихся в живых буржуйских драйвов (не МС5305..13). Почерпнуто из их даташитов (не из сказок и преданий старины глубокой), подтверждённых собственными экспериментами.
Общие усилия в данном вопросе, обсуждались на этом форуме в теме про 3.5дисководы.
.
=2. И не разумно-ли будет избавиться от сигнала дисковода RDY/СHG, чтобы подключать ПиСи дисковод простым втыканием в разъём, ни =чего в нём не делая, а РДИ получать внутри ПЛИС по Индекс-сигналу+ВН0/1+Мотор?
.
Имелась в виду доработка для удобства использования, подключения. Применяется в нормальных контролёрах. Реализация РДИ описана в описании на МС5305..13. На мелкосхемах получается громоздко, а на ПЛИСе, так в самый раз.
.
=3. будет ли возможность переключать скорость передачи 250/500 кБт/с?
.
(250/500кбт/с - (килобит в секунду) - здесь скорость передачи для ДД/ХД плотности. Может быть реализована запуском ВП128 с 4 на 8 Мгц, на реальных чипах не проверялась - ибо может не потянуть, а ПЛИС потянет. Известные и применяемые схемы ФАПЧ (даже исходная из ВП128) при этом работают так как надо, т.к. турбируются тоже, и тайминги окна детектирования уменьшается пропорционально.
.
=4. На сколько полно использована плис (чтобы своё ещё чего-нибудь впихнуть)?
это просто вопрос.
.
Ещё раз искренне извиняюсь, за то что так всё взбаламутил, торжественно заявляю, что впредь такой Херни больше не повториться, ибо рельсы прямые, есть только чёрное и белое; шаг вправо, шаг влево - расстрел, прыжок - попытка улететь. и т.д. По этому поводу у М.Булгакова пр.Преображенский о революции очень в точку выразился.
.
Всем удачи.
-
? dk_spb@ - 04.02.2012 02:34
voland>Я сейчас работаю по 13 часов в сутки и без выходных, времени хватает в основном на копипаст,
voland>искать и думать и ни времени, ни сил не остается.
И что? Я сплю по 5 часов в сутки. Но я же не прошу чтобы кто-то думал за меня.
И ерунду стараюсь не копипастить.
¤
voland>И в сотый раз повторю, я не схемотехник, от того что я посмотрю в схему СМК, мне не полегчает
Это точно, тем более что речь шла не про СМК.
¤
Поймите: если Вы хотите чтобы Вам помогали хотя бы советом, постарайтесь соответствовать хотя бы минимальному уровню.
Если в ответ на дельные советы Вы будете нести бред, то, поверьте, никто не будет вникать в Вашу загруженность и т.д., просто всем быстро надоест Ваше невнимание к людям, которые пытаются Вам помочь. ТОчнее Вы надоедите.
¤
А эмоции... Так больше всего их от Вас и исходит. Вот и на мой удивленно-возмущенный пост Вы в ответ ничего кроме эмоций. А упоминание полезнейшей статьи по кнгмд Вы, похоже, просто проигнорировали. Иначе вместе рассказа как Вам тяжело был бы вопрос где прочитать эту статью. А когда я Вас попросил не выступать от лица всех форумчан, так Вы мне еще и нахамили: "думаю мало кого интересует Ваше мнение".
¤
-
? Voland - 04.02.2012 10:44
dk_spb, давайте оставим мой уровень в покое, я предлагаю Вам лично напрямую пообщаться с моим разработчиком, и посмотрим чем кончится Ваш разговор с человеком действительно компетентным, который как оказалось все приведенные вами ссылки успел изучить до этого и знает что делает. Согласны? Дам Вам его координаты. Мне прямо самому интересно, чья правда победит и где истина.
Кстати, на Ваши намеки на его низкий уровень, он ответил что поступил в МГУ в 13 лет после 7 лет школы, и способен 8-дюймовый дисковод отличить от 5-ти.
>>Так больше всего их от Вас и исходит.
Вы оказывается еще и стрелки переводить любите. Кроме того, вводите людей в заблуждение: я писал изначально про увеличение битрейта в 2 раза 250->500 при увеличении частоты 4->8, а Вы представили это как ошибку в расчете предкомпенсации 250->125.
Интересно, каким образом Вы себе представляете в стандартном СМК разную предкомпенсацию на разных дорожках? Ее величина есть плавная математическая функция от номера дорожки в пределах 0-375ns. Но плавную сделать невозможно, поэтому ее интерполируют с некоторой доступной точностью. У ВП1-128 всего 1 бит для задания режима, так что мы можем выбрать только одно значение, в данном случае 250 ns. Можно выбрать другое, но это пойдет во вред другим дорожкам.
А 125 ns для 3.5 дисковода - это ДЛЯ ПОВЫШЕННОЙ ПЛОТНОСТИ!
¤
P.S. ТЗ озвучено было давным-давно, на мое предложение что-то в него добавить, я услышал только про ком-порт совместимый с 1801ВП1-065 - добавил кстати. Так чего же Вы теперь удивляетесь? Когда я что-то говорю разработчику, он отвечает - этого не было в ТЗ, которое было изначально. И причем тут обычный КНГМД, если мы повторяем СМК.
-
? dk_spb@ - 04.02.2012 13:02
>на Ваши намеки на его низкий уровень
Где Вы такое нашли?
Я всего лишь сказал Вам что негоже обвинять форумчан в том, что они не понимают таких примитивных вещей, как и Вы.
¤
>а Вы представили это как ошибку в расчете предкомпенсации 250->125.
Если Вы своих слов не помните - цитирую:
>> Вообще-то если в КД кварц станет из 4 в->8, то из програмной задержки в 250 получится никакие не 500, а 125.
Voland> Можете пояснить? Из чего это следует? Для моего разработчика это не очевидно,
То есть Вы пишите что Вашего разработчика не очевидно про программную задержку. Явно не про битрейт.
¤
>А 125 ns для 3.5 дисковода - это ДЛЯ ПОВЫШЕННОЙ ПЛОТНОСТИ!
Ссылку на статью я Вас дал. Повторю еще раз
------------
Оптимальной для дисководов 5,25 дюйма емкостью 800 Кб можно считать двухступенчатую предкомпенсацию:
125 нс — для дорожек 0...43 и 250 нс — для остальных дорожек
------------
Не хотите читать - Ваше право. Наслаждайтесь Вашими заблуждениями.
¤
>И причем тут обычный КНГМД, если мы повторяем СМК.
Если Вы так и не поняли после моих комментариев и после комментариев CD-Inc что он вел речь не про CMK - дело Ваше.
¤
>я предлагаю Вам лично напрямую пообщаться с моим разработчиком
После всех Ваших закидонов на мою помощь в Вашем проекте можете не расчитывать. Обещаю впредь игнорировать все Ваши ветки про Ваши проекты. Собственно так делал и раньше, но тут почему-то, увидев косяки в такой простой теме как предкоменсация, зачем-то стал пытаться объяснить Вам простые вещи.
¤
¤
-
? Аноним - 04.02.2012 13:55
>> Собственно так делал и раньше
С предвзятого отношения и надо было начинать. Продолжайте делать так же, мне будет спокойнее. УДАЧИ!
-
? Voland - 04.02.2012 13:56
>> Собственно так делал и раньше
С предвзятого отношения и надо было начинать. Продолжайте делать так же, мне будет спокойнее. УДАЧИ!
-
? Voland - 04.02.2012 14:01
Вам и по реплике SMK в лом было поделиться информацией даже о том, что плата SMK в общем доступе существует, Вы там что-то про свои огромные труды над ней (которыми мол поделиться жалко) мне написали. Ну ничего, как видите обошелся и сделал. И все остальное тоже будет сделано и будет так же отлично работать, без Вашей dk_spb помощи (неоценимой никакими деньгами на свете) и советов.
-
? dk_spb@ - 04.02.2012 16:24
>Вы там что-то про свои огромные труды над ней (которыми мол поделиться жалко) мне написали.
Бредить не надо. И клеветать тоже.
-
? Voland - 04.02.2012 17:53
Цитаты из личной переписки на Pantom.Sannata.ru:
_
>2. Можете дать мне номер заказа платы SMK в Резоните
Не могу. Точнее не хочу.
>3. Аналогично, интересует прямой заказ плат КЖД и КНГМД УКНЦ в Резоните
Аналогично. например за плату КЖД я заплатил за разводку, за подготовку к производству и т.д.
Вы считаете что эти миниум 5 тр только денежных расходов (не считая времени, сил и т.д.) были моим подарком лично Вам?
>P.S. Я примерно понимаю причины,
Вы заблуждаетесь. Причина совсем не в доходе от продажи плат и т.д. Мне непонятно почему я должен тратить время и деньги на Ваши увлечения, я с радостью потрачу их на свои увлечения.
_
Более не имею желания продолжать с Вами общение, dk_spb. Оставайтесь при своих принципах и мнении, а я останусь при своих. Надеюсь, нигде не пересечемся больше.
-
? dk_spb@ - 04.02.2012 18:03
То есть я Вас денег должен был Вам подарить? И отказался?
Вот какой я гад.... ;-)
Я ведь тоже могу вспомнить как мы с Вами договорились об обмене, причем Вы сами очень долго и очень упорно на этот обмен напрашивались, а потом Вы передумали и даже меня не оповестили. И после этого Вы говорите что у Вас какие-то принципы? Бог Вам судья. Да уж, сам искренне надеюсь что не пересечемся. Портить себе настроение об Ваш давно не юношеский максимализм, переросший в мнение что Вам все должны - увольте...
-
? Voland - 04.02.2012 19:15
Да никто мне ничего не должен. Но и за уже бесповоротно потраченные 5 тыс как Вы я не удавлюсь, тем более что я не просил мне ничего дарить, я предлагал оценить в деньгах Ваш труд (понятно что не десятки тысяч, но сделать никому почти ненужную небольшую плату можно недорого на стороне). По SMK Вы тогда могли бы хотя бы сказать, что его плата давно валяется в интернете. Или это настолько большой подарок был бы мне? Ну тогда ладно, извините.
По поводу должен: пока в основном только вкладываю, я уже упоминал сколько стоит проект на ПЛИС'ах, и заметьте, окупить я его не надеюсь, сразу все будет в открытом доступе. А Вы файл чужой платы SMK мне зажали.
То что я хотел получить, я уже получил - я распространяю по доступной цене конструкторы SMK, ради распространения, а не ради чего-то еще. С репликой БК0011М будет так же. И далее во всём буду придерживаться этого же принципа. И я рад, что обошелся без вашей помощи, спасибо, что не помогли тогда, а то еще обязан был бы до гроба.
_
>> причем Вы сами очень долго и очень упорно на этот обмен напрашивались
Моей главной целью изначально был SMK, с него я и начал разговор. Затем Вы сами мне предложили (я не я напросился):
*************
Чтобы совсем Вас не огорчать, могу предложить Вам такой вариант:
С меня - набор КНГМД БК и КНЖМД УКНЦ (900+600=1500 руб)
C Вас - 100 штук микросхем кр1801вп1-128.
Их на радиорынке в Митино продают от 10 до 15 руб
*************
Прикольно да? Т.е. тогда последние хотели по 15 купить у меня, а потом мне же толкать по 100 или по сколько там.
Ваш стиль общения и отношение уже тогда мне стало не нравится, но не это было главной причиной отказа от обмена, а то что 1801ВП1-128 оказались последними на складах, и мне пришлось выбирать между двумя вещами: поменяться с Вами, и оставить людей без контроллеров (у Вас по 5 тыс все равно мало кто их купил бы), либо отказаться от сделки, расстроить тем самым Вас и лишить возможности сидеть на последней в стране кучке 1801ВП1-128 и по-мелочи барыжить ими рублей по 150 за штуку.
-
? dk_spb@ - 04.02.2012 20:15
Во-первых, хватит передергивать: Вы просили не файл платы, а номер платы в резоните, уже с оплаченными расходами на ввод этой платы в производство. Во-вторых, если Вы не умеете пользоваться примитивным поиском - Ваши проблемы.
¤
>Затем Вы сами мне предложили (я не я напросился):
Вам всю переписку привести, как я Вам много раз отказывал в продаже, а Вы всё приставали? Не напросились Вы. ха-ха-ха
¤
>Т.е. тогда последние хотели по 15 купить у меня, а потом мне же толкать по 100 или по сколько там.
Мне они нужны для дела. Если Вы не умеете пользоваться поиском и искать микросхемы у поставщиков - опять же это Ваши проблемы.
Для Вас у меня ВПхи всегда найдутся, от $10 за штуку. Ибо наценка за "сложность" покупателя.
¤
>Ваш стиль общения и отношение уже тогда мне стало не нравится
Я не прошу чтобы Вы меня любили, речь об элементарной вежливости: если Вы вдруг решили отказаться от сделки - надо контрагента предупреждать. Но у Вас же великие цели обеспечить мир контроллеоами, где уж Вам соблюдать приличия в мелочах.
А мо
¤
>и оставить людей без контроллеров (у Вас по 5 тыс все равно мало кто их купил бы)
А Вас нимб не жмет? Вы сами-то по 3 тр продаете. Не боитесь что весь мир останется без контроллеров? Почему бы не спасти мир беплатной сборкой? А наборы продавать с такой прибылью как у Вас - вот где быражнечество.
¤
Кстати, я в наборах контроллеров КНГМД продавал ВП1-128 по 50 руб, то есть рублей на 5-10 выше моей себестоимости.
И всем, выразившим желание приобрести плату СМК продал её очень дешево, при этом в кредит и, некоторые форумчане из Минска мне еще так и не заплатили. А некоторым вообще бесплатно отправил (хотя и в ответ на неоценимую услугу, оказанную мне ранее)
И я не горлопанил как Вы что кто-то сидит на последних м/c, барыжит ими втридорога и т.д.
¤
Предлагаю данный разговор закончить, нет у меня времени Вас развлекать - надо оставшиеся ВПхи скупать ;-)
-
? tim - 04.02.2012 20:44
Господа, предлагаю стреляться на пистолетах !
-
? Voland - 04.02.2012 23:09
Заметьте, я первым предложил разговор закончить :)
Скупайте-скупайте :)
Вы можете сколько угодно сказки рассказывать, как Вы и чего там распространяли, только я говорю как было по факту: от Вас ничего по СМК я не получил, кроме предложения купить спаянный за 5000. Ни фотографий платы, ни фото собранного контроллера, ни доброго слова. По поводу подготовки платы - я тогда даже не в курсе был, что за ее подготовку отдельно платят, мне достаточно было бы просто файла. А номер заказа в РЕЗОНИТЕ я попросил только когда понял, что файл от Вас не получу из каких-то Ваших соображений его нераспространения, и думал хотя бы просто заказать платы, не нагружая Вас почтовыми пересылками и остальными телодвижениями.
Лично мне не жалко даже подготовленных плат в резоните - могу сделать заказ любому, на любое количество плат, предоплата по себестоимости - по счету, который выставит резонит (само собой, одну штуку там не выгодно будет заказывать).
И конструкторы меня интересовали только все вместе - SMK, КНГМД и т.п. Но т.к. Вы сами предложили в итоге всё, кроме SMK, мне ничего не оставалось как согласиться. Дальнейшее общение меня сподвигло назло Вам сделать реплику и продавать.
У меня уже 11 купили, и еще 3-4 собираются. Это только за месяц. Нибм тут не при чем, просто у меня отличная от Вашей цель (у Вас, как я понял - купить/собрать и сидеть любоваться) - я хочу интерес возродить, для этого надо "вооружить" репликами SMK и хотя бы оригинальной БК0011М как можно больше людей. Далее в планах собрать весь софт БК на один винчестер и выложить образ в интернет, чтобы каждый купивший SMK мог без гемора закачать этот образ себе на CF и получить полноценный ретрокомп в боевом состоянии. А когда будет БК0012 - получится полноценная ретростанция.
_
>> Вы сами-то по 3 тр продаете. Не боитесь что весь мир останется без контроллеров? Почему бы не спасти мир беплатной сборкой? А наборы продавать с такой прибылью как у Вас - вот где быражнечество.
М-да.. а бревно ценой 5000 в своем глазу не замечаете? Может Вам сумму озвучить, во сколько мне ПЛИС-SMK обойдется? Оплатить не хотите? Я тогда раздавать по себестоимости их буду, и оригинальные SMK тоже. В моих продажах ключевой момент, что я продаю не только собранное изделие, но и конструктор. Например для провинциала, зарабатывающего 15-20 тыс, 5000, 3500 и 2000 - принципиальная разница цен для принятия решения о покупке.
Разницу между вашим единственным предложением за 5000 и моим конструктором за 2000 чувствуете? Примерно половина покупателей берет конструкторы.
>> И всем, выразившим желание приобрести плату СМК продал её очень дешево
Мне Вы многократно и достаточно жестко озвучивали, что кроме собранного SMK за 5000 предложить ничего не можете (относящегося к SMK).
>> Во-вторых, если Вы не умеете пользоваться примитивным поиском - Ваши проблемы.
Я уже говорил Вам выше что да, Вы БОГ ГУГЛА. А что касается меня, то уже человек 5 покупателей пытались гуглить для меня и себя КР1801ВП1-128, пока никто не нагуглил, ни по каким ценам. А Вы как всегда в своём репертуате - вроде как знаете, где еще осталось, но никому ни за что не скажете.
>> надо контрагента предупреждать.
Надо, но как Вы выразились - "сложность контрагента" и другие обстоятельства сыграли роль. И потом, Вы как-то пострадали от этого? Моральный ущерб десятки тысяч? Или еще и материальный, а там глядишь и упущенная коммерческая выгода?
-
? sav - 05.02.2012 00:21
>>CD-Inc
2. И не разумно-ли будет избавиться от сигнала дисковода RDY/СHG, чтобы подключать ПиСи дисковод простым втыканием в разъём, ни чего в нём не делая, а РДИ получать внутри ПЛИС по Индекс-сигналу+ВН0/1+Мотор?
¤
Насколько я знаю, RDY в стандартной прошивке не используется - в известной расшифровке прошивки я его не нашел. Там стоит простая задержка на раскрутку диска. Кроме того, старые наши 40-дорожечные дисководы без него (RDY) прекрасно работают, надо только время перемещения головки в параметрах увеличить.
-
? Voland - 05.02.2012 00:56
Из новостей по SMK-in-FPGA: в качестве ДОЗУ будет использоваться одна 16-разрядная микросхема CY7C1041D - 512 Кб. Кто знает, как с таким объемом правильно должен работать SMK и есть ли принципиальное отличие от SMK64? Хотя вряд ли есть хоть одна программа, использующая ДОЗУ выше 64 Кб.
-
? dk_spb@ - 05.02.2012 01:01
Voland>> Вы сами-то по 3 тр продаете. Не боитесь что весь мир останется без контроллеров? Почему бы не спасти мир беплатной сборкой?
Voland>Разницу между вашим единственным предложением за 5000 и моим конструктором за 2000 чувствуете?
dk_spb>А наборы продавать с такой прибылью как у Вас - вот где быражнечество.
Разницу между Вашей неграмотно
¤
¤
>> И всем, выразившим желание приобрести плату СМК продал её очень дешево
Мне Вы многократно и достаточно жестко озвучивали, что кроме собранного SMK за 5000 предложить ничего не можете (относящегося к SMK).
>> Во-вторых, если Вы не умеете пользоваться примитивным поиском - Ваши проблемы.
Я уже говорил Вам выше что да, Вы БОГ ГУГЛА. А что касается меня, то уже человек 5 покупателей пытались гуглить для меня и себя КР1801ВП1-128, пока никто не нагуглил, ни по каким ценам. А Вы как всегда в своём репертуате - вроде как знаете, где еще осталось, но никому ни за что не скажете.
-
? dk_spb@ - 05.02.2012 01:29
Voland: Еще раз объясняю свою позицию: Вы на продаже наборов и, тем более, собраных плат зарабатываете денег.
Поэтому не надо делать вид что Вы делаете это из желание обеспечть всех СМК. И, если Вы решили, что часть работы я должен Вам оплатить, То это не так. Если Вы будете продавать СМК по себестоимости - даже я у Вас куплю. Поэтому все Ваши маркетинговые бла-бла-бла (типа я продаю дешевле) оставьте при себе.
Мое предложение продавать с бесплатной сборкой Вы проигнорировали...
¤
Voland>Разницу между вашим единственным предложением за 5000 и моим конструктором за 2000 чувствуете?
Это по себестоимости что ли? Или просто надо было моё предложение перебить? Еще начните возражать что конструктор Вам дороже 1000 руб обошелся. Так это простой бизнес, Не надо делать вид что Вы всегда во всем белом. Если Ваша пайка дешевле - никто же не против, отзывы пользователей пойдут позже. Много ваших клиентов запустило устройство?
А что Вы про барыжнечество умолчали - рад что Вы сознаете.... Хотя думал что тема про бесплатную сборку достойна хотя бы Вашего ответа. Но от барыги ничего и не ждал...
¤
>> И всем, выразившим желание приобрести плату СМК продал её очень дешево
>Мне Вы многократно и достаточно жестко озвучивали, что кроме собранного SMK за 5000
Так то Вам. Надеюсь объяснять причину не нужно?
¤
>> Во-вторых, если Вы не умеете пользоваться примитивным поиском - Ваши проблемы.
>Я уже говорил Вам выше что да, Вы БОГ ГУГЛА.
Спасибо, но я простой пользователь. Если Вам лень учиться - я то тут при чем.
¤
>> надо контрагента предупреждать.
>Надо, но как Вы выразились - "сложность контрагента" и другие обстоятельства сыграли роль.
То есть Вы осознаете что нае..ли c обменом?
¤
>И потом, Вы как-то пострадали от этого?
Да, я зарезервировал платы и компоненты для этого обмена, и отказал нескольким партнёрам (покупателям) ввиду отсутствия плат.
Я понимаю что для Вас партнёры - никто, но я к партнерам привык относится уважительно....
-
? Voland - 05.02.2012 02:25
Я уже устал на Ваш бред отвечать. Но последний раз отвечу, чтобы у кого-то не возникло сомнений в чем-либо.
>> Мое предложение продавать с бесплатной сборкой Вы проигнорировали...
Вы вообще в здравом уме? Не слишком ли передергиваете? По-моему от темы совсем отошли. Я пока не научился жить в астрале и питаться энергией солнца, чтобы делать всё и всем абсолютно бесплатно. К реальности вернитесь. Лично мне в моей жизни за исключением каких-то мелочей, никто не делал подарков, всего достигал сам. И в москву сам приехал, и работу сам нашел, жил на копейки, постепенно рос и спустя 6 лет вот сам ипотеку в Москве беру. Ни родители, ни кто-либо еще деньгами (кроме как в студенчестве на еду) или блатом мне не помогали, вырос я в провинции и не был счастливым коренным жителем одной из столиц.
>> Вы на продаже наборов и, тем более, собраных плат зарабатываете денег.
Я не утверждал ни разу, что торгую изделиями по себестоимости. Но я торгую ими существенно ближе к себестоимости, чем Вы. ПРАВДА ВЕДЬ? ИЛИ И ЭТО БУДЕТЕ ОТРИЦАТЬ?
А вот волшебное слово ЗАРАБАТЫВАЮ я не хочу применять, по той причине, что у меня есть другие источники дохода, позволяющие с намного меньшим усилием, затратами времени и вредом для глаз и легких заработать в 2-3 раза большие суммы, чем с одного собранного СМК. Т.е. для меня это не заработок, а во-первых, компенсация "геморроя" по пайке и закупкам, во-вторых - частичное окупание затрат по ПЛИС-проекту, который вряд ли окупится самостоятельно. Но Вам этого я смотрю не понять.
>> Поэтому все Ваши маркетинговые бла-бла-бла (типа я продаю дешевле) оставьте при себе
Честно - наверное плохо знаю русский, не могу подобрать слово, как охарактеризовать Ваш тип личности, Вы отрицаете АКСИОМУ: я продаю дешевле чем ВЫ!!!!!!!!!!!!!!! Это только сумашедший будет отрицать. Маркетинг тут не причем. Факты говорят сами за себя, 11 проданных и 4 (даже 6 уже) на очереди.
>> Это по себестоимости что ли?
Да причем тут себестоимость. Неужели такие примитивные вещи надо объяснять? Это даже хуже моих ляпов по схемотехнике. Вот есть человек, хочется ему SMK купить, он видит - продаете Вы спаяный за 5000 р, и продаю я спаяный за 3500 и за 2000 конструктор. Купит он конструктор и сэкономит тем самым 3000, по сравнению с тем, если бы купил у Вас. Или купит у меня спаяный и все равно сэкономит по сравнению с Вашим 1500. Теперь понятно надеюсь?
>> Не надо делать вид что Вы всегда во всем белом. Если Ваша пайка дешевле - никто же не против, отзывы пользователей пойдут позже. Много ваших клиентов запустило устройство?
Паяю лично, дорогим импортным припоем, паяю как для себя. Я не в белом, но фуфло не гнал никогда. Отзывов пока нет, но всего месяц-то прошел с первой продажи. А вот за ваши 1-2 года, или сколько там, я не видел по трем(!) проданным по 5000руб SMK восторженных отзывов.
>> А что Вы про барыжнечество умолчали - рад что Вы сознаете.... Хотя думал что тема про бесплатную сборку достойна хотя бы Вашего ответа. Но от барыги ничего и не ждал...
Если я барыга, то кто Вы, супербарыга? если продаете по 5000 и только собранные? Правда глупое барыжничество какое-то, продаж-то нету. Про бесплатную сборку уже ответил выше.
>> Так то Вам. Надеюсь объяснять причину не нужно?
Думаете я совсем дурак? С людьми не общаюсь? Или мне видимо только барыги на этом форуме попадались, раз никто из них тоже от Вас SMK дешевле 5000 не узрел. То что Вы там с кем-то менялись - так и я тоже уже менялся, но не кричу об этом.
>> То есть Вы осознаете что нае..ли c обменом?
Подбирайте выражения. Или не знаете этого смысла этого слова? Нае..л бы я, если бы дохлых ВП1-128 Вам прислал, или еще какую-нибудь хитрую схему Остапо-Бендеровскую придумал бы, по "честному" отъему у Вас конструкторов. А так больше подходит слово ПЕРЕДУМАЛ, в виду ОСОБЫХ обстоятельств. Для Вашего случая могу даже выразиться "обстоятельств непреодолимой силы".
>> Да, я зарезервировал платы и компоненты для этого обмена, и отказал нескольким партнёрам (покупателям) ввиду отсутствия плат.
Ну да, ну да. У Вас конечно же было только по одному набору микросхем и по одной плате, и именно когда со мной обмен назрел.
Вот у меня почему-то лежит 12-15 комплектов микросхем и 12 плат. Но даже если и так, покупатели наверное тут же купили у конкурентов? Или обиделись и больше не хотят покупать? Придумайте что-то посерьезней.
_
P.S. Утомили Вы меня, может перестанете гадить у меня в теме? Вы же так мне когда-то написали? Только я тогда значительно меньше "нагадил".
-
? digitalcrew@ - 05.02.2012 04:46
мда... сижу читаю ваши ссоры) Воланд, бизнес-идея то у вас нормальная, можно
заработать на продаже и реплик контроллера, и реплики БК11М. Сайт надо красивый рисовать, выкладывать товар лицом и вперед... А так, по форумам да по знакомым действительно - много не продаш увы( Ну вы как человек самодостаточный, который все сам всего в жизни достиг думаю прекрасно это понимаете. У меня к примеру есть много знакомых которые уехали работать в штаты и в Канаду и с удовольствием бы купили реплику БК11М. Потому как они учились на БК =) Это святое... Да только не все знают про этот форум. Еще раз - давайте сделаем нормальный сайт с вашим товаром, повесим на нормальный хостинг - и продажи пойдут. Я уверен.
-
? dk_spb@ - 05.02.2012 08:24
Ну и я Вам последний раз отвечу
>Я пока не научился жить в астрале и питаться энергией солнца, чтобы делать всё и всем абсолютно бесплатно. К реальности вернитесь.
и
>Можете дать мне номер заказа платы SMK в Резоните
А я-то почему бесплатно для Вас что-то должен давать?
¤
Еще раз прошу, оставьте Ваш маркетинговый буллшит и горлопанство про продаю дешевле и количество продаж себе.
Все кто хотел (вот в этой ветке http://bk0010.org/forum/?id=4087&page=3) получил от меня платы практически по цене резонита.
И пару других конструкторов-реплик (IDE для УКНЦ, КНГМД для БК, IDE для MXS) я продал в количестве практически без прибыли, в отличие от Вас (хотя ничего, кроме упомянутого Вами геммороя я с этого не получил). Никогда не ставил целью зарабатывать на этом. И никого не прокатил с обменом ссылаясь на то что боюсь "оставить людей без контроллеров". Кстати, рад что вопрос о приличиях (предупредить об Вашем "передумал") Вы не затронули, значит еще не всё потеряно, раз осознаете свою неправоту. Хотя Ваши детские рассуждения о количестве плат у меня - это как "я не буду отвечать соседу в лифте на здравствуйте, потому что он зарабатывает больше".
¤
Еще раз повторю: то что Вы продаете дешевле - это понятно, это обычный маркетинг, иначе бы не продали ничего. Непонятно только одно: почему Вы, продавая наборы с немалой прибылью, так огорчились и так ополчились на меня за то, что я не захотел Вам первоначальный этап работ (по запуску плат в производство) оплатить? Или Вы думали что я "научился жить в астрале и питаться энергией солнца"? Или, по привычке, решили что я Вам должен?
Вы статью-то про КНГМД нашли, или вся энергия ушла на горлопанство?
В общем флаг Вам в руки и барабан на пузо. Больше мешать разгулу Вашего бизнеса не буду. А про продажу наборов с наценкой 50-100 руб - подумайте, а то сколько народу оставляете без контроллеров ;-)
¤
-
? Voland - 05.02.2012 12:21
>> Еще раз - давайте сделаем нормальный сайт с вашим товаром, повесим на нормальный хостинг
Да уже пытаюсь www.bk-fpga.ru, сайт пустой, форум немного успел причесать www.forum.bk-fpga.ru, надеюсь и до сайта руки дойдут... времени пока не хватает. Хостинг у друга пока.
>> У меня к примеру есть много знакомых которые уехали работать в штаты и в Канаду
Ну так сообщите им, пусть покупают и знакомым рассказывают :)
_
>> ополчились на меня за то, что я не захотел Вам первоначальный этап работ (по запуску плат в производство) оплатить?
dk_spb, Вы вероятно невнимательно читаете ответы. Процитирую самого себя: "по поводу подготовки платы - я тогда даже не в курсе был, что за ее подготовку отдельно платят, мне достаточно было бы просто файла. А номер заказа в РЕЗОНИТЕ я попросил только когда понял, что файл от Вас не получу из каких-то Ваших соображений его нераспространения, и думал хотя бы просто заказать платы, не нагружая Вас почтовыми пересылками и остальными телодвижениями."
Богом Вам клянусь, получить платы дешевле первичной себестоимости у меня и мыслей не было. Почитайте переписку в личке еще раз, я там даже предлагал Вам выслать мне 10 плат по себестоимости + 200 руб за каждую. И тогда мне не было принципиально, 300р или 500р за одну плату платить Вам.
>> Или, по привычке, решили что я Вам должен?
Из чего следует, что у меня есть такая привычка? Из того что Вам померещилось, будто я хочу от Вас чего-то дешевле себестоимости? Да не было такого, не было, хватит уже. Я еще раз глянул в переписку - прежде чем просить номер платы в резоните, я просил у Вас конструктор SMK хоть по завышенной цене. Вы были категоричны - ни конструкторов, ни плат, ни номеров в резоните. Файл я даже не стал просить, т.к. не сомневался в том, что будет отказ по причине "авторских прав".
>> Хотя Ваши детские рассуждения
Рассуждения у Вас, у меня аргументы, факты, примеры из жизни.
>> раз осознаете свою неправоту
Осознание неправоты бывает разное. Например Священник может вступиться за кого-то и в порядке самозащиты избить преступника. И будет каяться, что поднял руку на преступника. Для него поднять руку даже на преступника - это переступить через себя, испытать боль, но он был вынужден на это пойти.
>> я продал в количестве практически без прибыли
>> А про продажу наборов с наценкой 50-100 руб - подумайте, а то сколько народу оставляете без контроллеров ;-)
>> Больше мешать разгулу Вашего бизнеса не буду.
Рынок SMK ограничен, и если бы Вы действительно хотели бы его насытить супердешевыми наборами, без труда это сделали бы. Вместо Вас это теперь делаю я, насыщая доступными, но не супердешевыми, уж извините. Именно ввиду ограниченности рынка говорить о "бизнесе" нет смысла, ну продам я 20 - хорошо, продам 40 - тоже хорошо. Но 100-200-300 не продать никогда и ни по какой цене. Так что не волнуйтесь, машину и квартиру на SMK мне не купить. Именно поэтому я считаю, что делаю это больше ради распространения, чем ради прибыли. И про нимб не надо, нету у меня его.
Лучше сделайте полезное общее дело - добейтесь производства реплики клавиатуры от БК0011М по вменяемой цене. И будут у Вас ее покупать, в т.ч. и я по цене =себестоимость х 2, а может и х 3. А мне одним "бизнесом" меньше будет, поверьте, мне этот "бизнес" нахрен не нужен, но кроме как самому сделать, никто больше клавиатуру не сделает.
_
Не пишите в мои темы больше пожалуйста, а то у меня есть одна слабость - не могу не отвечать на Ваши сообщения.
-
? dk_spb@ - 05.02.2012 12:53
>когда понял, что файл от Вас не получу из каких-то Ваших соображений его нераспространения
Соображения-то простые: если Вам лень взять файл самому, лень применить простейший поиск, почему я должен делать это за Вас? Тем более я прекрасно понимал что Вы потом задолбаете сопутствующими вопросами. Про формат Ваших "просьб" я даже упоминать не буду. А когда я не дал Вам файл, так Вы просто стали просить чуть ли не "ключ от квартиры где деньги лежат". Хотите на чем-то заработать - сделайте хоть что-то сами. Никто Вам ничего не должен. Или это непонятно?
Или раз я не обеспечил Вам плату на хяляву на блюдечке с голубой каемочкой, то можно меня и с обменом прокатить, и хамить мне на форуме?
¤
>> Или, по привычке, решили что я Вам должен?
>Из чего следует, что у меня есть такая привычка?
Из Ваших запросов. про плату СМК вроде уже обсудили. Да вот еще один пример:
>Лучше сделайте полезное общее дело - добейтесь производства реплики клавиатуры от БК0011М по вменяемой цене.
Зачем? Клавиатуры и так доступны в нормальной сохранности. Или потому что Вы захотели чтобы я что-то сделал для Вашего развлечения? Лучше сделайте сами. И, еще лучше, научитесь не руководить другими людьми в виде "лучше сделай то-то". Это, как минимум, невежливо. Простите что ответил Вам в вашем же ключе.
¤
>Рассуждения у Вас, у меня аргументы, факты, примеры из жизни.
Три раза "ха". Еще и Бога со священником приплели.
Я же не против: Вы можете делать какие угодно наборы и продавать их с какой угодно наценкой. Только зачем при этом кричать что Ваша цель - спасти мир, обеспечив людей наборами. Если цель такая - откуда высокая наценка?
¤
>а то у меня есть одна слабость - не могу не отвечать на Ваши сообщения
Поверьте, это не главный Ваш недостаток ;-)
-
? Voland - 05.02.2012 13:58
>> Никто Вам ничего не должен. Или это непонятно?
С вами мне давно все понятно. Еще раз повторю, от Вас достаточно было бы фразы "файл есть на ресурсе http://pdp-11.ru/mybk/", или хотя бы "Он есть в интернете, поищите".
>> Тем более я прекрасно понимал что Вы потом задолбаете сопутствующими вопросами.
И что, задолбал я кого-то вместо Вас? Кроме как узнать про диод Д9Д мне особо ничего не понадобилось для реплики. Теперь понимаю, что уж лучше в ад попасть, чем у Вас что-то спросить. Вы даже про 28-ю ногу IDE ответить не захотели. Четыре слова "отпаяй 28-ю ногу IDE" трудно было сказать. Зато столько порожняка тут лить времени и усилий не жалко. Мне кажется у Вас какие-то проблемы, сходите к психотерапевту.
>> так Вы просто стали просить чуть ли не "ключ от квартиры где деньги лежат"
Фантазируйте дальше, не вижу смысла в очередной раз это комментировать.
>> Хотите на чем-то заработать - сделайте хоть что-то сами. Никто Вам ничего не должен. Или это непонятно?
По-моему давно уже сделал и сделаю еще, не беспокойтесь. Не от Вас же чего-то ждать, в конце концов. Сделали реплику, сидите на ней и радуйтесь и никому ее не давайте и дальше. Ни на один вопрос не отвечайте тому, кто сам захочет сделать.
Вы мне напоминаете "отличников" в школе, которые на просьбу списать всегда говорили - "фигасе, я на это время потратил, учил, решал, а ты спишешь и 5 получишь" - напомню Вам, таких в школе все очень не любили, и во взрослой жизни тоже не уважают.
Будьте проще, не придавайте столько смысла и значения Вашим "усилиям" по изготовлению реплики.
>> Зачем? Клавиатуры и так доступны в нормальной сохранности. Или потому что Вы захотели чтобы я что-то сделал для Вашего развлечения?
Извините, но Вы все понимаете через большую ж%пу. Вы ж тут пишете про мой сверхприбыльный бизнес, ну вот я и предложил Вам взять один из таких бизнесов на себя. Заработаете ведь? А то иначе опять я буду зарабатывать, вот же досада. Доступные клавиатуры - это наверное у Вас дома в количестве 20 штук? Ну так это Ваша коллекция, которой Вы любуетесь, не надо тут рассказывать о всеобщей тотальной доступности.
>> Это, как минимум, невежливо.
Невежливы Ваши комментарии по всему форуму, которые Вы как правило делаете в насмешливо-надменной манере. А все остальное - уже следствие из них.
>> Если цель такая - откуда высокая наценка?
Поверьте, затраты времени и сил на все, что связано с контроллерами и проектами по ПЛИС, очень сильно снижают мой доход от другой деятельности (потому что на нее остается мало времени), сильно не сопоставимо "прибыли" от SMK-"бизнеса", поэтому раздавать по себестоимости и с бесплатной сборкой было бы уж совсем альтруистично, следующий этап был бы астрал.
>> Поверьте, это не главный Ваш недостаток ;-)
Перечислять Ваши я даже не хочу, мне страшно становится, как много их может быть в одном человеке.
-
? dk_spb@ - 05.02.2012 15:31
Voland: Да, хам Вы еще тот.
-
? CD-Inc@ - 05.02.2012 15:57
Народ, каюсь, самого иногда "заносит на поворотах", но с годами всё таки научился себе говорить СТОП.
подобные неприятные ситуации раньше и в БК-клубе на Свиблово были.
совместные перетяжки одеяла, кто хороший - кто нет, в принципе, и в кончину БК, внесли большой вклад.
Лично я признателен и Назиму и Денису за то, что хотя бы что-то делается их руками для БК.
,
БОЛЬШОЕ СПАСИБО ВАМ.
.
Давайте, всё таки, СЧЁТЧИК СБРОСИМ, для жизни БК как компьютера, я считаю, это будет ПОЛЕЗНЕЙ.
-
? Аноним (П-Посад) - 05.02.2012 16:17
to CDoun Inc. - Саня, забей, пусть передерутся, зато контроллеры и реплики всякие дешевле будут - конкуренция однако ;)
Да и так всегда было у БК-маньяков, стоит кому-нить что-нить головой или паяльником сделать однотипного - обязательно пересрутся в эфире...
И вообще... давай по пЫву!
-
? Voland - 05.02.2012 20:41
dk_spb: Стараюсь Вам соответствовать.
_
Приношу всем извинения за этот срач в эфире. Постараюсь сдерживаться в будущем.
-
? Voland - 09.02.2012 13:51
Завершено проектирование аналога ВП1-128. По поводу ФАПЧ, реализованной в ВП1-128: разработчик ознакомился с её описанием, предоставленным CD-Inc, и ответил, что в его реализации тоже используется счетчик с коррекцией, но схема посложнее, к тому же она еще отслеживает текущий прочитанный бит и распознает адресный маркер, поэтому вряд ли имеет смысл копировать один в один ФАПЧ от 128-й.
Все что касается предкомпенсации - реализуется в точности как у стандартного SMK (0ns до 30-й дорожки и 250ns после).
Прошивка РТ5 перемещена в ПЛИС, заняла 12 ячеек.
ДОЗУ, как я уже и говорил, будет устанавливается одним корпусом 256К*16 (CY7C1041D), но сам доступ к объему 512 Кб - оказывается сделан был в стандартном СМК очень "хитро": используется регистр состояния от ВП1-128 в качестве сквозного, а через выходы ВП1-128 происходит запись во внешний регистр. Т.е. надо сначала записать в регистр ВПхи, потом с выходов дисковода во внешний регистр U1004, там надо 2 раза записать число, а потом на всякий случай остановить двигатель дисковода. Собственно ВП1-128 используется именно что на время, потому что когда данные достигают U1004, ВП1-128 уже становится не нужна. Сделано так видимо потому, что для расширенного регистра пришлось бы какой-то адрес выделять в адресном пространстве, а так - сэкономлено. Но для программиста это очень кривое решение. Можно сделать более красиво, но тогда будет условная несовместимость (с несуществующим софтом).
Далее, если в комплексном решении БК0012 делать диспетчер памяти по типу pdp11-70, то там все равно свой способ расширения адресов до 4 мб, так что будет конфликт подходов. Для обеспечения совместимости, в объединенной машине это ДОЗУ будет урезано до стандартных для СМК 64 кб, а дальнейшее переключение емкости уже будет возможно с помощью диспетчера. Все равно софта, использующего выше 64 кб ДОЗУ СМК, не существовало.
-
? tim - 09.02.2012 19:45
> но сам доступ к объему 512 Кб - оказывается сделан был в стандартном СМК очень "хитро": используется регистр состояния от ВП1-128 в качестве сквозного
Поздравляю с открытием ! :)
-
? Дмитрий - 09.02.2012 22:52
>> Все равно софта, использующего выше 64 кб ДОЗУ СМК, не существовало.
Это потому, что СМК был сделан в самом конце расцвета БК. Далее было только падение. Документации не было, следовательно, писать было нечего. Так что делать отдельным регистром (177134,177136 например). Сделать 512Кб и доступ как в дисководе (сильно упрощенно): выставил бит установки номера страницы в 177134, занес 177136 номер, установил бит смещения, занес в 177134 смещение в странице, установил бит чтения (или записи) в 177134 - считал (записал) данные из/в 177136 (адрес автоматом увеличился на 2, т.е. чтение осуществлять в цикле уже без занесения адресов). Можно добавить бит готовности. И все - будет RAM-диск по сильно упрощенному типу дисковода. Для БК12 вообще это ОЗУ отключить и не ставить м/с - если будет 4Мб, то 64Кб это смех...
-
? tim - 10.02.2012 04:52
Я вот вообще не вкуриваю зачем нужна сейчас полная эмуляция ВП-128. Вы хотите сидеть на дискетах ??? Я и в лучшие времена как только купил винт, отказался от коробочек с парой-тройкой сотен дискет и вспоминал про них лишь в самом крайнем случае. Неудобно было включать еще дополнительный блок питания к нему, да и скорость конечно. А сейчас-то он вам зачем ? Образы снять можно и на ПЦ. Что мешало сделать просто регистр 177130 и 177132 для полной совместимости и работать уже без ВПшки ?
-
? Voland - 10.02.2012 10:34
>> Для БК12 вообще это ОЗУ отключить и не ставить м/с - если будет 4Мб, то 64Кб это смех...
Будет ли там без этих 64 кб работать OS/A WASP?
>> Я вот вообще не вкуриваю зачем нужна сейчас полная эмуляция ВП-128
Мой разработчик придерживается этого же мнения, поэтому не понимает такие переживания по поводу предкомпенсации (реально нужно лишь чтобы хоть как-то читались старые архивы с дискет), но во избежание всевозможной критики решили делать всё один-в-одни как в СМК, ФАПЧ даже лучше чем в 128-й.
>> Так что делать отдельным регистром (177134,177136 например)
переговорю с разработчиком.
-
? Аноним - 10.02.2012 13:57
>> Так что делать отдельным регистром (177134,177136 например)
>> переговорю с разработчиком.
¤
Зачем так изголяться над архитектурой ?
¤
> выставил бит установки номера страницы в 177134, занес 177136 номер, установил бит смещения, занес в 177134 смещение в странице, установил бит чтения (или записи) в 177134 - считал (записал) данные из/в 177136 (адрес автоматом увеличился на 2, т.е. чтение осуществлять в цикле уже без занесения адресов). Можно добавить бит готовности
¤
Так же можно зубы рвать через одно, не скажу какое место. А не проще все оставить как есть ? Обращаться к окну памяти нормальными (читай привычными) методами адресации. Оставить регистры 177130, 177132. Неважно в составе чего они будут: либо в эмуляции ВП-128, либо без поддержки дисковода в каком-то другом контроллере памяти.
-
? tim - 10.02.2012 13:58
почему-то меня за "Анонима" комп посчитал
-
? Дмитрий - 10.02.2012 14:19
2 tim: Я написал к примеру, спецы разберутся что и как сделать. И причем тут изголяться? БК12 по задумкам (если я правильно понял) будет не точной копией pdp11 или бк, а новым компом на ее основе. Так что можно не придерживаться точностей и тонкостей. Все равно софт будет писаться под имеющуюся архитектуру, либо старый адаптироваться под новую архитектуру.
..
>> Обращаться к окну памяти нормальными (читай привычными) методами адресации
Тогда нужно сделать не так, как было сделано в СМК - при обращении к памяти за каким-то хреном контроллер "дрыгает" дисководом.
-
? Дмитрий - 10.02.2012 15:04
А реплика СМК на ПЛИСе сможет работать с дискетами 1.44Мб на БК или только 800Кб?
-
? Voland - 10.02.2012 15:22
Нет, к сожалению не сможет, для этого нужны доработки. И смысл? 1.44 - такой же раритет почти, как 800кб. КНГМД по сути нужен для перегонки софта со старых дискет 800кб на винт, ну и для того, чтобы поностальгировать, работая с дискетами. Думаю, ностальгический эффект не сильно изменится от перехода на дискеты 1.44, ведь другого смысла быть в этом не может.
-
? tim - 10.02.2012 18:43
>> Тогда нужно сделать не так, как было сделано в СМК - при обращении к памяти за каким-то хреном контроллер "дрыгает" дисководом.
Это что уменьшит Вам каким-то образом вышеупомянутый "ностальгический эффект" ?? Меня например дрыгание головок не утомляло, дисковод был не то г-но (вроде МС5305 ?), которое электромагнитом загрузки головок клацало. Я честно не понимаю почему все упирается в какие-то дискеты ? Они еще реально продаются ?
PS: меня в "ностальгический эффект" привела бы 8-ми дюймовая дискета :)
-
? anonymous - 10.02.2012 19:33
「>> Так что делать отдельным регистром (177134,177136 например)
переговорю с разработчиком.」
Ээээ! Андромедовский IDE-контроллер не трогать! 017777134..017777157 - адреса PATA-регистров там.
-
? foot - 10.02.2012 23:52
tim>>Я честно не понимаю почему все упирается в какие-то дискеты ? Они еще реально продаются ?
Реально уже не продаются даже IDE винчестеры, а Вы всё про какие-то архивы собрать на один диск.
ИМХО SMK умер ещё до его реплики.
Реально нужен контроллер для флеш-карт, SD или пусть USB.
-
? Дмитрий - 11.02.2012 00:00
SMK замечательно работает с CompactFlash. IDE винты уже неактуальны.
-
? tim - 11.02.2012 04:57
Реально все будет работать. Китайцы переходников самых разных напилили, есть переходник IDE - SDcard, и даже такая экзотика как SDcard, вставляемая в переходник на CompatrFlash
-
? Voland - 11.02.2012 11:22
IDE жив в виде CF и еще долго будет жить, причем даже самые недорогие CF сейчас при подключении через переходник к IDE дают при линейной записи скорость не менее 100 мб в сек, и используются в современных фотоаппаратах.
Ну и плюс недорогие переходники SD2IDE, SATA2IDE, так что проблемы мертворожденного SMK не существует. При желании, конечно можно взять и включить в схему SMK целиком оба SD2IDE, SATA2IDE - но зачем нагромождение, если CF валом в продаже?
-
? Voland - 11.02.2012 12:38
Еще пару организационных моментов:
1. Куда выводить разъем FDD - на бок, как IDE, или прямо там, где сейчас распаивается шлейф (вверх пинами)?
2. плата SMK была длиннее стандартного КНГМД и торчала неуклюже с обоих концов. Предполагаю ее укоротить до размеров стандартного КНГМД, поделится ли кто-то размерами этой платы и крепежных отверстий?
-
? SKcorp. - 11.02.2012 12:59
1. Если речь про реплику, то делать как было. Предусмотрев длину шлейфа, чтобы поставить над IDE.
2. Мне проще сделать удлиненный корпус по плате.
-
? Voland - 11.02.2012 13:11
1. - большинство юзает без корпусов, шлейф быстро отваливается. можно в разъем этот короткий шлейф вставить и вывести к IDE.
2. Жду еще мнений, т.к. опять же, у многих есть старые корпуса, куда вместо старого контроллера встанет отлично.
-
? CD-Inc@ - 11.02.2012 14:26
конечно, надо чтоб в обычный корпус (от МСТД, например) помещался, какой смысл повторять вынужденный ход Новака.
-
? Voland - 11.02.2012 15:11
CD-Inc, у Вас же есть стандартный КНГДМ? Можете прислать хотя бы от руки нарисованные контуры платы с проставленными размерами?
-
? CD-Inc@ - 11.02.2012 21:55
Ок, только завтра, лады?
-
? Voland - 11.02.2012 22:54
Да, конечно, как сможете, да и не горит пока.
-
? Kisser - 12.02.2012 13:26
Собираю SMK, оно не работает конеш, но это кажется мои проблемы - замкнул одну дорожку, наверняка есть чтото еще... буду копать. Но вот вопрос - а что за сигнал он выводит на В6? в схеме БК-11М (да и 10ки) такого нет, и у меня в БК-0011 (без М) он тоже не подключен. Там нужно было делать какие-то доработки?
Для БК-10 я так помню что в последних моделях были выводы для отключения бэйсика - это как раз А14, А29, В1. Для 11й есть сигнал обозначенный М11 - тот самый В6. Что это? и куда идет сигнал от А22 (Р4О по схеме SMK)? по схеме 11й конца 66го шлейфа не найти, правда у меня карандашом есть пометка что на 3 вывод D32.1.
-
? Voland - 12.02.2012 13:51
Могу помочь только с поиском ошибок монтажа, остальное к сожалению не в моей компетенции. Можете привозить или кидать качественные фото, поищем чего не так. Либо привозите, так будет проще найти проблему.
На БК0010-01 должен работать без проблем, как и на 11м, без каких-либо доработок.
-
? Kisser - 12.02.2012 14:07
Voland, спасибо конечно, но с монтажом я как-нить сам пока ))). С В6 разобрался:
"По многочисленным пpосьбам в А16М пpедусмотpена возможность отключения монитоpа БК0011М, сигнал отключения выведен на контакт B6 pазъема МПИ(как было пpедложено в статье в жуpнале "Пеpсональный компьютеp БК"). Контакт B6 в БК незадействован - для того, чтобы отключение монитоpа БК11М pаботало, необходимо сделать доpаботку, аналогичную пpедложенной для БК0010 - только B6 отделять от схемы не надо и номеp микpосхемы дpугой: DS17"
Сейчас попробую запаять этот вывод, т.к. он выставляет его низким при включении, а значит хочет отключения.
-
? Kisser - 12.02.2012 14:16
Туплю я, ничего он не хочет, если низкий. Лан, копаем...
-
? tim - 12.02.2012 14:42
http://vak.ru/doku.php/proj/bk/bk-a16tech
B6 - отключение ПЗУ Монитора
-
? dk_spb@ - 12.02.2012 16:01
Kisser: СМК по умолчанию не работает с 11 без М. Разбираться пока нет времени. С 11М работает без всяких доработок в 11М.
Если найдёте причину - пишите.
-
? Voland - 12.02.2012 16:12
>> у меня в БК-0011 (без М)
Пардон, я сразу не понял что про 11-ю речь. Да, с ней не работает SMK, что надо дорабатывать - не знаю.
-
? Kisser - 12.02.2012 16:13
dk_spb, это реальный опыт? Если так, то как именно он не работает? Думается, он не должен запускаться просто, или не видеть СМК. У меня он вот в пульт долбится... Пока то что нашел - что адрес не верно защелкивается. Но у меня другие аналоги стоят ))) Так что еще пока порою...
-
? dk_spb@ - 12.02.2012 17:38
Kisser: у меня с 11 без М просто машинка не стартует. Да, это реальный опыт. Даже попробовал машину в опыте заменить. С другой 11безМ тоже не стартует. С 11М - всё нормально.
-
? Kisser - 12.02.2012 18:32
Не стартует? Ууу ну тогда да, дело не в монтаже... покопаюсь еще чутка, и наверное опять брошу DDD
-
? tim - 12.02.2012 19:18
http://vak.ru/doku.php/proj/bk/bk-a16tech
B6 - отключение ПЗУ Монитора
¤
Доку никто не хочет почитать ?
-
? dk_spb@ - 12.02.2012 20:29
Скорее всего при старте биос СМК пишет что-то в регистр 177716 для управления страницами ОЗУ/ПЗУ.
Но для этого в 11 (в отличии от 11М) 11-й бит должен быть установлен, а не сброшен.
В результате имеем конфликт страниц и ничего не работает.
¤
Или более банально: в 11М не разведены на МПИ сигналы отключения ПЗУ.
-
? Kisser - 12.02.2012 21:17
>> Доку никто не хочет почитать ?
А форум никто не читает? )))
Kisser - сегодня 14:07:
... С В6 разобрался: ...
¤
При инвертирование 11 бита и так ясно - только и монитор тоже надо ей менять, но это уже пофигу, т.к. по ходу доломал я ее - она и так стартовал через раз, собственно давно не дочинил... А теперь пускается на 10й, инициализация не до конца проходит и клаву не чувствует. Видимо в плате механическое чтото - т.к. нажимаешь в разные места он вроде запускался. Все пропаивал, но бестолку - она и так в ахтунговом состоянии, до меня ее ктото юзал нещадно. Попробую создам конечно ветку чтобы плату купить, но... Жалко конечно, уже столько идей появилось...
А по СМК кстати вопрос - ЛИ2 с ОК, а в схеме предкоррекции нет резисторов на выходы, она и так может работать?
¤
>> в 11М не разведены на МПИ сигналы отключения ПЗУ
так и есть, в том же описании http://vak.ru/doku.php/proj/bk/bk-a16tech это заявляется как опция, с отпаиванием CE DS17 и вешанием его через резистор на землю, как в 10ке.
-
? dk_spb@ - 13.02.2012 01:43
Kisser: будем ждать что если у кого-то есть исходники или время и опыт - кто-нибудь подправить ПЗУшку СМК, чтобы он с 11безМ работал. То есть чтобы было две версии: та что есть для 11М, и подправленная для 11безМ
-
? tim - 13.02.2012 04:36
я в шоке :) Прошивка SMK работала со всеми БКшками, не надо ничего исправлять.
-
? dk_spb@ - 13.02.2012 08:50
tim: есть чем подтвердить на опыте?
У меня три разных 11 без М и три SMK.
Счастья нет ни в одной из комбинаций. Хотя с 11М (тоже три ;-) ) проблем нет.
-
? Kisser - 13.02.2012 09:34
Были бы еепром а не с уф-стиранием, можно было бы попробывать. Но смысл? помоему 11безМ это все же экзотика, даже бОльшая чем 10без01. проще 11ю в 11М наверное переделать.
Однако, возвращаясь к СМК. Читая выше пропагандируемое руководство:
Номер версии доступен программно - он содержится в последнем слове ПЗУ (по адресу 167776). В старшем байте закодирован номер модели контроллера, в младшем - номер версии прошивки ПЗУ:
174000 - A16;
174400 - A16 + контроллер “винта” с доп. ОЗУ 4 Кб (170-177000);
175000 - A16M;
175400 - не использ.;
176000 - 64 Кб
176400 - 128 Кб
177000 - 256 Кб
177400 - 512 Кб
Смотрю на прошивку - и вижу что там 374205 - это как (хотя конечно я могу не туда смотреть - беру первые байты из H и L файлов, ну и инвертирую)?
Voland, а вообще какая версия по железу и по ПЗУ использовалась? Так, для общего развития... (значение взято из Ваших файлов)
-
? Voland - 13.02.2012 12:11
По железу - SMK64, по ПЗУ - 2.05
-
? dk_spb@ - 13.02.2012 12:22
>и вижу что там 374205 - это как
Это как???
Максимум для беззнакового 16-ти разрядного слова в восьмеричной системе 177777
Надо брать слово, а Вы побайтно балуетесь
-
? Kisser - 13.02.2012 14:23
АААААА туплю туплю туплю... 176205 конеш, извиняюсь...
-
? Дмитрий - 13.02.2012 15:23
SMK64 (176000) версии 2.05 (205) = 176205
-
? tim - 13.02.2012 16:32
>> tim: есть чем подтвердить на опыте?
эээ упс, память подводит :) все мои 11-е прошли доработку до 11М конечно. 11 это было некруто :( да и софта много не работало.
-
? dk_spb@ - 13.02.2012 17:53
tim: ну вот, а сразу пугаете ;-)
Я уж думал мне к дохтуру....
-
? tim - 13.02.2012 18:02
видимо настолько заглушил в себе неприятие БК-0011, что уже моменты отдельные забываются :) так сложилось, что 11 без "М" было у меня несколько, а чистой 11М ни одной, тем не менее все они благополучно пережили реинкарнацию в букву "М" Переделок там не так и много было, самое сложное - добыть ПЗУшки нужные
-
? dk_spb@ - 13.02.2012 23:45
tim: а вот сейчас 11безМ - уже вещь коллекционная. Переделывать неохота. Вот и думаю может кто прошивку в SMK подправит.
Самому по времени не понятнуть никак :-(
-
? CD-Inc@ - 14.02.2012 03:26
Вот накрапал:
Эскиз платы стандартного КНГМД с монтажными отверстиями.
.
http://zx.pk.ru/showpost.php?p=466784&postcount=64
-
? Voland - 14.02.2012 09:51
Cпасибо, CD-Inc!
-
? alexkop - 15.02.2012 12:44
tim а по подробней про переделку? у меня переделанная
На d39 болтается отпаявшийся провод Судя по всему должен либо к 8 либо к 9 ноге быть подпаян Это входило в переделку?
На сколько я знаю там инвертировался какой то бит Это не оно?
-
? tim - 15.02.2012 18:38
смогу ответить 19-го только
-
? ugoaleks - 15.02.2012 20:48
В моих записях дб соединено D33/4 - D32/10 , D13/9 - D34/6 , D13/13 - с шиной AD12
-
? Voland - 15.02.2012 21:47
Микросхемы, которые войдут в новый SMK512:
..
EMP3256ATC144-10 -ПЛИС. На самом деле 100 ног хватило бы, и дешевле было бы, но проблему 3.3 вольта вышло бы решить дороже.
CY7C1041D - на 5 вольт
74ALS245 - SO
74ls244 - SO
74ls14 - SO
2764 - DIP
-
? Ал-р - 15.02.2012 22:21
А зачем для работы с HDD нужна ставшая вдруг дефицитной ВП1-128 ?
-
? Дмитрий - 15.02.2012 23:35
Она нужна для обратной совместимости с реальным SMK. ИМХО можно было бы отказаться от использования флопа, оставив только IDE-винт, но многие имеют архивы на дискетах. Так что для перелива флоп понадобится...
-
? sav - 16.02.2012 00:23
А как вообще залить систему на HDD без флопа? Например есть SMK, есть чистый HDD, но нет флопа и что дальше???
-
? Voland - 16.02.2012 00:32
только скопировав образ винчестера БК на чистый винчестер.
-
? sav - 16.02.2012 00:39
чем?
-
? sav - 16.02.2012 00:44
В догонку - как добавлять файлы на хард БК? по сети? по USB?
-
? alexkop - 16.02.2012 10:20
ugoaleks Спасибо вчера половину вызвонил :-) Нашел еще 2 разрыва дорожек видимо для инверсии
-
? alexkop - 16.02.2012 10:22
tim спасибо ждемс
-
? Voland - 16.02.2012 10:38
>> чем?
Вчера нашел маленькую программку под винду, 200 кб, вечером выложу - снимает образ CF и записывает на другую CF.
Для непосредственно винтов есть куча увесистых программ типа Acronis True Image.
>> как добавлять файлы на хард БК? по сети? по USB?
наверное никак :) но если будет образ винчестера со всем существующим софтом БК, то ничего добавлять и не понадобится.
-
? Дмитрий - 16.02.2012 11:04
Я вообще-то пишу свою многофункциональную утилиту для работы с образами дискет, винтов и самими винтами. Там будет возможность копировать как угодно и куда угодно образы. Только времени маловато, но, надеюсь, завершить ее. Ибо, судя по вопросам, она понадобится.
-
? Voland - 16.02.2012 22:40
Вот эта утилитка маленькая и уже проверенная:
http://freesoftspace.com/ru/usb-image-tool-154-.html
-
? sav - 17.02.2012 09:21
Спасибо, но к ней бы еще образ диска добавить...
-
? Voland - 17.02.2012 11:38
ПОлноценного нет, пока я перенес на винт только пару систем, пару дисков с сервисным ПО и пару дисков с небольшими играми (horror snow, pereval и т.п.).
-
? sav - 17.02.2012 12:21
Пойдет! Хоть что-то будет для начала.
-
? CD-Inc@ - 17.02.2012 18:13
11-11м В.Новак
http://zx.pk.ru/showpost.php?p=467671&postcount=66
.
Всем успехов в труде и заработной плате!
-
? Аноним - 18.02.2012 20:50
CD-Inc Огромное спасибо!
-
? tim - 19.02.2012 22:02
Посмотрел переделку 11 в 11м что записано у меня, совпадает с вариантом №2 от Новака
-
? Murzik@ - 19.02.2012 22:17
Где бы еще взять Кр1801РЕ2-324 и 325... Чет я их в продаже не нашел
-
? Voland - 19.02.2012 22:23
1801РР1 теперь только шить. Могу прошить, если принесете микросхемы.
-
? CD-Inc@ - 06.03.2012 04:13
выложил в ПДФ
СМК 64-512 переключение режимов и распределение памяти
http://zx.pk.ru/showpost.php?p=476024&postcount=78
-
? Voland - 18.03.2012 23:36
Есть у кого-нибудь идеи, чем можно две ПЗУ в СМК заменить на одну микросхему 16-бит, ПЗУ или ФЛЕШ и желательно в DIP-корпусе? Или может еще какие-то варианты?
-
? Kisser - 18.03.2012 23:51
вариант 1:
http://www.terraelectronica.ru/pdf/ST/M27C160-100F1.pdf
у них же по 130 рублей. Но это все экзотика. Есть чем ее программировать?
Вариант 2:
Впихнуть в плис (у Вас же там какаято большая используется) переводчик из 8 бит в 16 - за время выборки считать из 8ми битного пзу 2 байта и поставить их на шине. В свое время "по схеме" (до опытного образца не дошло) это влезало у меня в мах7032 + LS374 (или около того).
Вариант 3:
Тоже самое что и 2, только по SPI-протоколу (если будут проблемы с ногами и местом). Но тогда нужен будет кварц чтонить на 30 мГц или около того. Но больше всегда можно поделить в меньшее )))
-
? Voland - 19.03.2012 00:19
Спасибо! Пожалуй 27C160 самый приемлемый вариант. Для опытного образца можно и по 130 взять, а потом все равно в китае буду массово закупаться, там не больше $1.5 будет.
-
? Voland - 19.03.2012 00:46
Правда та позиция которая есть в терре - однократной прошивки наверное? Хочется (для первой отладки по крайней мере) перезаписываемую..
-
? Voland - 19.03.2012 00:47
По поводу программирования, вроде мой sterh st-007 её поддерживает.
-
? Voland - 19.03.2012 00:54
Хех.. да их в России похоже даже 1 штуку не найти.. ((
-
? anonymous - 19.03.2012 03:19
Я не так давно мешок cat28f102 покупал в plcc, панельки plcc-в-pga имеют шаг 2.5 - все равно, что dip, только квадратом.
-
? Аноним - 19.03.2012 12:20
Вроде они и в DIP производились.. А где брали и почем? Поисковики не показывают наличие в России..
-
? Kisser - 19.03.2012 13:19
Вот эти вроде есть под заказ по 300 р правда
http://www.terraelectronica.ru/pdf/ST/M27C322-100F1.pdf
и вроде как они УФ-стираемые... а там х его з
-
? Аноним - 19.03.2012 13:58
Ну 300 это уже как бы теряет смысл )
Похоже проще оставить те же старые 573РФ5...
-
? Voland - 19.03.2012 13:59
Аноним - это я два раза был.
-
? anonymous - 19.03.2012 19:52
Не помню, как контора называется, она в том же здании, что и fulcrum, но несколькими этажами выше. Везли месяц из-за границы.
-
? Voland - 19.03.2012 20:33
Нашел 27С1024 - 64к*16бит = по 200 руб. Жесть. И за что на это старье такие цены.
-
? Kisser - 19.03.2012 22:35
Voland, хотя бы электроперепрограммируемые 27512(256) поставьте вместо РФ5, РФ5 все-таки жесть... В плане что предусмотреть 28ножую панель, т.к. их кучи, даже в старых мамках и видеоконтроллерах РСшных можно вытащить. 2764 и менее уже гораздо реже встречаются. А уж что туда кто поставит - дело хозяйское. В 28 ножную кстати с помощью перемычки или ножичка и проводка можно впихнуть 24 ноги РФ5, обратная же операция крайне затруднительна.
-
? Voland - 19.03.2012 23:57
Я все-таки склоняюсь к 27С1024, UV-вариант. В дельта-электронике нашел по 120, но пока непонятно, однократные или UV. Пока одну для пробного образца, а потом в китае закажу дешево и много.
Есть принципиальные возражения? Кстати, возможно сделаем, чтобы была возможность адресовать из ПЗУ более 16 кб - можно будет туда зашивать чего-нибудь еще.
-
? Kisser - 20.03.2012 08:43
да какие, нафиг возражения ))) главное что не РФ5.
-
? Ал-р - 21.03.2012 13:30
Но зачем же опять УФ да ещё и 16х - почему не поставить пару нормальных Flash на 32-ноги, в свободное место без всяких программаторов можно будет чего-нибудь полезное записывать.
-
? Voland - 21.03.2012 14:42
PLCC-32 имеете ввиду?хочется уйти от двух корпусов ПЗУ в пользу одного ПЗУ или флеш. Может тогда уж 16-разрядную флеш cat28f102 в plcc ..
-
? Ал-р - 22.03.2012 00:10
Больше подходит что-то типа M29F102 (5v), у CAT28F102 для стирания-программирования нужно 12в.
-
? Mad_Killer - 22.03.2012 00:20
Насчёт 27с512,редковато уже стало их.РФ-5 у меня десятка три,поэтому я за РФ5;) плюс программатор старый поэтому новомодные Флеш да ещё и не в дипе.
-
? Voland - 22.03.2012 01:00
M29F102 - штучно в наличии не найти, только под заказ.
Нашел вот по 87 рублей 27c210 в корпусе FDIP-40W (UV-вариант), купить правда надо сразу 20 штук. В митино есть в наличии штучно по 167 руб. Пожалуй на этом выбор можно остановить. Запросил также цену напрямую у 60-ти китайских поставщиков.
-
? Ал-р - 22.03.2012 01:32
Я вообще-то тоже за ДИП (M29F102 приведено просто ввиду "неправильности" CAT28F102), но против РФ (или 27C512, хотя есть штук 30-40). Что-нибудь типа парочки AT29C010 и т.п. было бы нормально.
-
? dk_spb@ - 22.03.2012 07:27
А почему бы не взять старые добрые at28c64b
-
? Voland - 22.03.2012 08:48
at28c64b - опять два корпуса, а хочется один.
-
? Voland - 24.03.2012 16:53
Приобрел 27c1024 в FDIP40W (UV), программируется быстро (хотя почему-то программатор ругается, что вставлена неправильно), стирается без проблем. Думаю, может сделать разводку и под DIP40 и под plcc44, т.к. в последнем случае более доставабельно.
Кстати, всё остальное, кроме разве что резистивных сборок, будет поверхностного монтажа.
-
? Voland - 01.04.2012 13:08
Нужно окончательно определиться с двумя вопросами:
1. Точное расположение разъемов IDE и FDD на новом SMK. Угловые или прямые. Пока предполагаю IDE -прямой, как и был в SMK64, FDD -прямой,с лицевой части платы,на месте пайки шлейфа.
2. Т.к. емкость новой ПЗУ 128 кб, теоретически можно реализовать всю её адресацию. Но как это сделать практически, чтобы не нарушить обратную совместимость?
_
Т.е. по второму вопросу фактически нужно переделать/дополнить вот эту таблицу соответствия:
http://rsc-team.ru/index.pl?rzd=1&descr=articles&id=2
Прошу помощи.
-
? Дмитрий - 01.04.2012 16:55
Мот зашить туда ОСи (АНДОС+МКДОС+CSIDOS), а загрузчик будет копировать выбранную ОСь в ОЗУ по адресу 120000?
-
? Voland - 01.04.2012 19:23
Ну пока вопрос не в том, что зашивать, а как сделать доступными 128 кб емкости ПЗУ вместо 16ти, не нарушив при этом обратной совместимости.
-
? Voland - 06.04.2012 20:36
Никто не сможет помочь?
_
SMK512 уже в стадии разводки печатной платы. Размеры и форма платы как у заводского КНГМД. Разъемы IDE и FDD - угловые, как разъем FDD у заводского КНГМД.
Разъем CF с лицевой стороны платы, смотрит налево (если держим плату разъемом МПИ к себе), отцентрирован между крепежными отверстиям и утоплен заподлицо с краем платы, т.е. флешка будет наполовину торчать из корпуса. В корпусе придется пропилить соответствующее отверстие.
Разъем IDE находится там же, где и был у оригинального SMK, только теперь можно будет паять как угловой, так и прямой разъем.
Разъем FDD находится вдоль правого края платы, можно будет запаять прямой, подсоединить шлейф и вывести из корпуса шлейф как и ранее - впритык к разъему IDE. Если запаять угловой - придется пропилить под него отверстие в корпусе.
-
? tim - 07.04.2012 04:48
Помочь со 128 Кб без схемы довольно затруднительно. Смотрю на схему SMK-64, думаю что если адресные линии ПЗУ повесить параллельно ОЗУшным, дальнейшие переработки можно ограничить перезаливкой конфигурации РТ5 (или таблицы ее сответствия в ПЛИС, не знаю как у Вас реализовано) и перепиской прошивки самой ПЗУшки. Ну и пара-тройка или десяток :) перемычек по поверхности, если понадобяться.
-
? Voland - 07.04.2012 12:38
Ну собственно в схему принципиальные изменения не вносились, просто часть её перешла в ПЛИС.
Тут скорее надо таблицу переделать (с расчетом что бит адресации например добавить), чтобы и не поломать ничего и результата добиться. А согласной новой таблицы мой разработчик всё сделал бы в железе.
-
? Voland - 25.04.2012 20:34
ИТАК, SMK-512 близится к финишу, завтра производится передача печатной платы в производство. Прошу всех заинтересованных просмотреть PCB-файл на предмет наличия каких-либо эстетических недостатков и других возможных минусов:
http://forum.bk-fpga.ru/viewtopic.php?f=21&t=492
-
? Kisser - 30.04.2012 01:03
У меня был глюк - винт в виде CF виделся, все писалось, каталоги были видны, но при запуске программ происходил завис. Да и не грузилась система естественно. CF - transcend 4gb 133x Через переходник. Думал, что дело в том, что у меня стоят НС245 (не Т). Вот купил и ALS и F, а ситуация та же.
Изучение вопроса показало, что в нижний уровень на выводах 11-18 245х (АП6) не опускается ниже 1,5В. Уж фиг знает что там не то с флешкой, или еще что - вылечилось напаиванием резисторных сборок 3,3 кОм на соотв. выводы и сажанием на +5 В.
Кто-то говорил что не все CF работают с БК - ну может в этом дело?!
Не знаю, стоит ли вносить это Voland'у в новую плату, но может пригодится кому при наладке. Раньше не мог сказать - только закончил изыскания )
-
? Kisser - 30.04.2012 01:04
У меня был глюк - винт в виде CF виделся, все писалось, каталоги были видны, но при запуске программ происходил завис. Да и не грузилась система естественно. CF - transcend 4gb 133x Через переходник. Думал, что дело в том, что у меня стоят НС245 (не Т). Вот купил и ALS и F, а ситуация та же.
Изучение вопроса показало, что в нижний уровень на выводах 11-18 245х (АП6) не опускается ниже 1,5В. Уж фиг знает что там не то с флешкой, или еще что - вылечилось напаиванием резисторных сборок 3,3 кОм на соотв. выводы и сажанием на +5 В.
Кто-то говорил что не все CF работают с БК - ну может в этом дело?!
Не знаю, стоит ли вносить это Voland'у в новую плату, но может пригодится кому при наладке. Раньше не мог сказать - только закончил изыскания )
-
? Voland - 30.04.2012 13:27
Может стоило с разными переходниками и разными флешками проверить? А также кинуть +5В на плату СМК извне? Мне кажется что это была какая-то неисправность. У меня были разные флешки и такая же в том числе, все работали без проблем.
-
? Kisser - 30.04.2012 14:27
Переходников у меня нет, других флешек тоже (да и мне это все нужно для следующего этапа а не для экспериментов). +5 В идет на плату отдельно, а на флешку - вообще отдельно ))) (у переходника внешнее питание). Я фиг знаю в чем дело, но факт в том, что надежность передачи со сборкой возрастает. Это все так, для информации, если у кого не работает - можно попробывать. Благо там делов на 2 минуты. А уж вводить ли это в серию - нужна статистика. вот если бы найти те флешки с которыми не работает, и посмотреть разницу...
-
? Voland - 30.04.2012 15:37
Просто есть вероятность, что проблема в конкретном экземпляре контроллера была.
-
? Kisser - 30.04.2012 16:33
Есть. Но, во-первых, такая проблема уже у кого-то возникала, а во-вторых, когда одна и та же картина на всех 16ти линиях (а это 2 разных м/с). которые, кроме как с CF больше ни с чем не соеденены, как бы дело или в м/с или в CF... м/с менял 6 штук разных серий. Флешек других нет.
Voland, ей богу, я вообще без каких-либо претензий ))) просто со времени разработки СМК схемотехника шагнула далеко вперед, и те решения, которые работали 15 лет назад, сейчас уже могут требовать доработок. А учитывая малую нагрузочную способность CF само собой просится ей помочь (правда в данном случае как раз запись в CF нарушается а не чтение из нее).
Просто когда-нить кто-то спросит: "а вот CF не работает с БК", а ему можно и сказать - попробуй резюков напаять...
-
? anonymous - 30.04.2012 17:33
「Изучение вопроса показало, что в нижний уровень на выводах 11-18 245х (АП6) не опускается ниже 1,5В. 」 Это в режиме входа или выхода для указанных выводов? И при передаче какого уровня 1.5ж там, при нуле не опускает или единицу не вытягивает? По описанию интерфейса CF в режиме IDE, на входные для CF сигналы, ноль должен быть не выше 0.6v для 3.3v версии интерфейса и не выше 0.8v для 5v, единица должна быть не ниже 2.4v для 3.3v и не ниже 4v для 5v версии, согласно спецификации от Transcend.
-
? Kisser - 30.04.2012 21:03
anonymous, понимаю что звучит глупо, но вот осциллограмма была такая что высокий уровень - +5В, а низкий - 1,5В. Не сфоткал за позднотой времени да и смысла не видел.
Единицу он поднимал, ноль не опускал (причем не понятно - как это помогло подтягиванием на +5 в а не на ноль). И видимо в режиме Выхода, т.к. читалось то все нормально, писалось кажется плохо. Причем постоянная составляющая 1,5В была всегда. Почему 1,5 а не 3,3 или 0,7 - не знаю. Ну хотите отпаяю сборку и сфоткаю осциллограмму...
Может и я накосячил, не отрицаю - но одновременно на всех 16 линиях?
Вообщем поделился опытом, блин...
-
? Voland - 30.04.2012 21:27
Как пояснил мой разработчик, проблема скорее всего в том, что было использовано HC/HCT, а не ALS245 (как в исходнике). Но там не в уровнях вопрос, а в том, что у LS245 выходы идут на разъем напрямую, у LS входы токовые, а у НС - высокоомные, в данном случае буферы работают в два направления, при включении - по сути, на вход, остальным микросхемам на плате все равно, какая там серия. HC245 тоже особого криминала не содержит, но входы в самом деле следовало бы на землю или питание через резисторы присоединить на всякий случай.
-
? sav - 01.05.2012 22:52
Некоторые переходники CF-IDE и IDE Flash Disk (DOM) можно запитывать через 20 контакт разьема IDE непосредственно от БК. У меня SMK64 так доработан и все работает. http://www.acceed.com/manuals/PQI-DOM-Lform.pdf
-
? Voland - 21.05.2012 00:09
Итак, SMK-512-ПЛИС вступает в фазу отладки, и надеюсь, к концу мая уже будет в продаже:
_
http://s019.radikal.ru/i633/1205/01/e0c5a6224aad.jpg
http://s019.radikal.ru/i616/1205/e6/f35a9d8de40c.jpg
_
Форм-фактор платы выдержан в формате заводского КНГМД БК, разъемы FDD и IDE можно паять как угловые, так и прямые. В случае запаивания прямого FDD-разъема, в корпусе заводского КНГМД не потребуется выпиливать под него отверстие, можно будет внутри воткнуть шлейф и вывести его так же, как он ранее выводился вместе с разъемом IDE контроллера SMK-64. Под CF однозначно придется выпиливать в корпусе доп. отверстие. Поскольку большинство пользователей не имеет лишних корпусов КНГМД и скорее всего будет использовать контроллер без корпуса, было принять решение разместить кнопку RESET прямо на плате.
Общая емкость новой ПЗУ - 128 Кб, адресуется из которых всего лишь 4. Все адресные линии новой ПЗУ заведены в ПЛИС, т.е. при доработке прошивки ПЛИС (если кто-то может это сделать и представляет как именно это сделать) можно будет использовать всю емкость ПЗУ.
_
Предварительная методика тестирования:
1. Загрузка с дисков A:, B:, C:, D, F: (зажимая соответствующую букву после нажатия RESET) операционных систем MK-DOS, ANDOS, CSI-DOS.
2. Копирование образа дискеты с ОС на логический диск винчестера (и наоборот) с последующей проверкой возможности загрузки с диска-приемника.
3. Форматирование дискет с проверкой читаемости всей области форматирования; тиражирование дискет с верификацией.
4. Проверка работоспособности HALT-режима посредством проверки функциональности OS/A WASP.
_
Есть проблема тестирования новой емкости ОЗУ. Если кто-то поможет написать тест, буду благодарен.
Если есть какие-то замечания или дополнения к методике тестирования - пишите.
-
? Voland - 21.05.2012 00:12
Итак, SMK-512-ПЛИС вступает в фазу отладки, и надеюсь, к концу мая уже будет в продаже:
_
http://s019.radikal.ru/i633/1205/01/e0c5a6224aad.jpg
http://s019.radikal.ru/i616/1205/e6/f35a9d8de40c.jpg
_
Форм-фактор платы выдержан в формате заводского КНГМД БК, разъемы FDD и IDE можно паять как угловые, так и прямые. В случае запаивания прямого FDD-разъема, в корпусе заводского КНГМД не потребуется выпиливать под него отверстие, можно будет внутри воткнуть шлейф и вывести его так же, как он ранее выводился вместе с разъемом IDE контроллера SMK-64. Под CF однозначно придется выпиливать в корпусе доп. отверстие. Поскольку большинство пользователей не имеет лишних корпусов КНГМД и скорее всего будет использовать контроллер без корпуса, было принять решение разместить кнопку RESET прямо на плате.
Общая емкость новой ПЗУ - 128 Кб, адресуется из которых всего лишь 4. Все адресные линии новой ПЗУ заведены в ПЛИС, т.е. при доработке прошивки ПЛИС (если кто-то может это сделать и представляет как именно это сделать) можно будет использовать всю емкость ПЗУ.
_
Предварительная методика тестирования:
1. Загрузка с дисков A:, B:, C:, D, F: (зажимая соответствующую букву после нажатия RESET) операционных систем MK-DOS, ANDOS, CSI-DOS.
2. Копирование образа дискеты с ОС на логический диск винчестера (и наоборот) с последующей проверкой возможности загрузки с диска-приемника.
3. Форматирование дискет с проверкой читаемости всей области форматирования; тиражирование дискет с верификацией.
4. Проверка работоспособности HALT-режима посредством проверки функциональности OS/A WASP.
_
Есть проблема тестирования новой емкости ОЗУ. Если кто-то поможет написать тест, буду благодарен.
Если есть какие-то замечания или дополнения к методике тестирования - пишите.
-
? Дмитрий - 21.05.2012 09:48
Емнип, в программе SERVICE есть функция тестирования ОЗУ контроллера. Или в комплекте с утилитами была тестилка контроллера и его ОЗУ.
-
? dk_spb@ - 21.05.2012 09:59
В SERVICE тест только маленькой части (буфера вроде).
Есть отдельная тестилка ОЗУ в комплекте, контроллер она не тестирует, Только ОЗУ и считает контрольку ПЗУ.
-
? Аноним - 21.05.2012 13:58
dk_spb, название утилиты не подскажете? А лучше сразу файл, или образ, откуда её дернуть можно..
Она именно весь объем 512 кб умеет тестировать, или только 64?
-
? Voland - 21.05.2012 13:59
Это моё сообщение предыдущее.
-
? Voland - 21.05.2012 14:50
anonymous, подскажите пожалуйста, как отключить старт ПЗУ СМК, чтобы сразу после старта остаться в мониторе БК0011М и как в том же мониторе посмотреть содержимое по диапазону адресов? (хотим проверить, что лежит по адресам начиная с 160000, 170000).
Предполагаю, надо чего-то подать на А22?
-
? SKcorp. - 21.05.2012 15:23
Пробел нажать вроде.
-
? tim - 21.05.2012 15:57
Неужели За полгода не обзавелись описанием монитора того железа, которое хотите сделать ?
http://www.emuverse.ru/wiki/БК-0011М_-_Руководство_системного_программиста курим раздел "2.2.1. Команды монитора"
-
? Дмитрий - 21.05.2012 16:24
>> В SERVICE тест только маленькой части (буфера вроде)
Точно. Там тест ОЗУ буфера, находящегося в контроллере винта.
..
>> Есть отдельная тестилка ОЗУ в комплекте, контроллер она не тестирует, Только ОЗУ и считает контрольку ПЗУ.
Значит это она и есть. Помню, что она считала объем ОЗУ СМК. Контроллер она (или другая в том же комплекте) тестировала - это я хорошо помню. Ибо запомнилась строка, в которой говорится, что при тестировании могут появляться ошибки (указаны какие), других быть не должно. А мой СМК128 (тот самый, что выжил при "палеве" моей БК11М) на БК0010.01 выдавал "ошибка ю". Поэтому я и не знаю - выжил ли он полностью.
-
? Voland - 21.05.2012 16:34
2->tim: так курил уже, нету там команд, позволящих отображать на экран содержимое заданной области памяти (есть вывод области на ленту). И там так и не дается ответа на второй вопрос по поводу отмены старта ПЗУ СМК.
-
? dk_spb@ - 21.05.2012 16:39
Утилита наз ALT_test. Встречал нескольких версий. Умеет тестировать разные по объему памяти SMK. Образа нет под рукой. Вообще странно - Вы столько SMK занимаетесь, а утилит так и не собрали. А как Вы продаваемые SMK тестировали????
Навскидку образ наз altpro.img Или .bkd. В интернетах точно имеется.
Не найдёте - пишите.
-
? dk_spb@ - 21.05.2012 16:43
Там можно смотреть память выводя на экран по ячейке по очереди (смена ячеек одной клавишей). В 99.99% случаев этого достаточно.
-
? Voland - 21.05.2012 16:46
>> А как Вы продаваемые SMK тестировали????
Я не знал о существовании программы теста всего ДОЗУ СМК. Думаю если среди 20-ти проданных контроллеров и затесались битые ОЗУ (не более 1-2 штук) - заменить не проблема, за мой счет естественно, включая пересылку.
-
? dk_spb@ - 21.05.2012 16:47
Как делать отмену старта ПЗУ СМК (то есть выход в монитор без загруки; да и вообще все варианты управления стартом SMK) написано в доке на SMK в том же образе, что и утилита тестирования памяти.
-
? dk_spb@ - 21.05.2012 16:50
>Я не знал о существовании программы теста всего ДОЗУ СМК.
Я к тому что тиражируя устройство крайне полезно ознакомится с родными доками на него и с родным комплектом утилит, тем более что всё вышеперечисленное легко доступно в интернете.
-
? Дмитрий - 21.05.2012 17:34
>> Не найдёте - пишите.
А зачем искать? Давно уже все выложено в отдельную папку - http://pdp-11.ru/mybk/Altpro/
-
? Voland - 21.05.2012 21:03
Может я плохо смотрю, но я так и не нашел в архиве ответа на вопросы:
1. Что надо изменить в прошивке РФ5 SMK-64, чтобы превратить её в прошивку для СМК512?
2. Аналогичный вопрос по прошивке РТ5 SMK-64.
3. В чем отличие принципиальной схемы SMK-512 от SMK-64 ?
..
Прошу ответить конкретно и буквально, чтобы взять и сразу это учесть в новом СМК-512, а не мучаться в догадках и чтении документации между строк.
-
? anonymous - 21.05.2012 21:10
Организуете генератор псевдослучайных чисел с периодом повторения, большим, чем размер дозу, после чего, благодаря ему, убеждаетесь в незалипании адресов, а затем тестируете по страницам. Самый простой способ.
-
? CD-Inc@ - 21.05.2012 21:11
Всё что собрано на БК по АльтПРО, доки читать полностью т.к. в одном проскакивают важные вещи про другое.
http://narod.ru/disk/50010416001.c705768cf7cf2f48f54d95b27a47ff5e/AltPRO_ReLoad.IMG.html
Совсем недавно, наконец-то расковырял наш с ASR corp"ом БКвинт перевёл на ПиСи, так что может ещё что про АльтПРО наковыряется.
-
? dk_spb@ - 21.05.2012 21:21
1. вроде только размер озу в последнем байте поправить
2. много изменений. Надо искать или образец или собирать из исходников (у меня есть только для 64 и 128)
3. В наличии ОЗУ большего размера
В общем в идеале найти образец. Я без образца упарился в своё время .bin для рт5 делать.
-
? anonymous - 21.05.2012 21:22
Выше я написал по тесту озу. По поводу отключения старта с пзу смк - это ваш разработчик должен сделать опцию такую в прошивке плиски, где идет перехват адреса старта процессора, первое чтение SEL1 после сброса, где адрес старта выставляется. СМК я никогда не имел, потому по нему консультировать возможностей не имею.
-
? CD-Inc@ - 21.05.2012 21:30
Ответ:
1. Ничего
2. Судя по схеме ничего.
3. кроме доп.концов на 512к и батарейки, скорее всего тоже ничего.
Давно На ХЗ.ПЦ.ру, впринципе, спешал ту Воланд, выкладывал режимы памяти в СМК, там было и про 512кб как включать, ( дока в формате БК есть в образе выше назыв. AltBIOS.DOC в ней данная инфа в приложениях находится. ) вот оттуда и смотреть.
Всем Удачи!
-
? dk_spb@ - 21.05.2012 21:37
CD-Inc: ТАМ ВРОДЕ В пзу в предпоследнем байте размер ОЗУ хранится. Или это не важно?
-
? CD-Inc@ - 21.05.2012 21:40
Ну да погарячился, но для запуска он по...
-
? dk_spb@ - 21.05.2012 21:43
CD-Inc: за консенсус ;-)
-
? CD-Inc@ - 21.05.2012 21:46
Я За.
-
? CD-Inc@ - 21.05.2012 22:28
Вот в своём архиве нашёл.
[url=http://narod.ru/disk/50025347001.c9172097e0903b01762fea25f78c7df4/%D0%A1%D0%9C%D0%9A.%20%D0%A0%D0%B5%D0%B6%D0%B8%D0%BC%D1%8B%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B%20%D0%B8%20%D1%80%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8..pdf.html]СМК. Режимы работы и распределение памяти..pdf[/url]
-
? Voland - 21.05.2012 23:52
>> 2. Судя по схеме ничего.
Но утверждается что у SMK-64 и SMK-128 разные прошивки РТ5. Как тогда понимать?
-
? dk_spb@ - 22.05.2012 00:01
У 64 и 128 точно разные прошивки РТ.
-
? Voland - 22.05.2012 01:12
Нашел я на образе утилиту ALT_TEst.v37 - она показывает 64 кб ДОЗУ, но вопрос - она просто показывает (взяв это значение из того самого байта прошивки) или тестирует фактически доступную емкость ДОЗУ? Вроде как бы тестирует судя по скорости подсчета емкости, но как-то слишком быстро, быстрее чем service тестирует 4 кб ... или это нормально?
-
? CD-Inc@ - 23.05.2012 00:19
Чего-то в прошлый раз я звезданул не подумав, вот правильные ответы:
1. Отличие только, в прописанном размере ОЗУ, который смотрит АльтТест и этот размер и тестирует.
2. Т.к. в СМК64 2чипа 256кбит"ной памяти. в смк128 4чипа ей же. в смк256 предпологалось 2чипа 1мбит"ной, в СМК512 их же 4шт., то прошивка РТ5 менялась при увеличении корпусов. Конкретно, выходы КС0 и КС1 по разному работают. и соотв. прошивки 64 = 256 и 128 = 512
3. 38пин ВП128 - 14пин ТМ9, 41пин ВП128 - Доп. Д-Триггер со сбросом, ну и доп. концы на память с них.
.
Опус по осмыслению переключения страниц СМК:
<a href="http://narod.ru/disk/50170307001.d0096018d295d10235565ae4f978195a/%D0%A0%D0%B5%D0%B6%D0%B8%D0%BC%D1%8B%20%D0%90%D0%BB%D1%8C%D1%82%D0%9F%D0%A0%D0%9E.pdf.html">Режимы АльтПРО.pdf</a>
Помоему теперь всё верно.
Всем удачи.
-
? Voland - 23.05.2012 00:57
CD-Inc, спасибо!
Так, т.е. нужна прошивка РТ5 для SMK-128. Есть у кого-то, поделитесь? Только нужно в формате, вычитанным и сохраненном программатором, чтобы быть 100% уверенным в правильности прошивки. Если в Москве - могу подъехать с программатором и вычитать.
Доверия к лежащим в архивах прошивкам нет, хочется точно вычитанную с микросхемы оригинала SMK-128.
-
? Дмитрий - 23.05.2012 10:40
А у Новака разве не все выгребли по СМК? Там же куча исходников. По идее должны быть и прошивки РТ. С чего-то ведь они их шили?
-
? tim - 23.05.2012 11:33
Они им не верят :)
-
? Voland - 23.05.2012 12:03
Там вроде бы нет прошивки формата программатора. Есть шанс в итоге всех манипуляций получить не то, что стоит в оригинале SMK-128, и этот шанс надо полностью исключить.
-
? Дмитрий - 23.05.2012 15:00
Но сами-то бинарные данные для РТ есть? Почему не считать с СМК64, имеющегося в распоряжении, прошивку РТ и сравнить ее с тем исходником, который был взят у Новака? По той же аналогии преобразовать исходник для СМК128 в файл, который поймет программатор. Да и неплохо было бы сравнить исходники Новака от разных вариантов СМК.
-
? dk_spb@ - 23.05.2012 17:25
Вообще как-то всё напоминает поговорку про то, что под лежачий камень вода не течет.
Чтобы исключить нездоровые шансы надо попробовать сделать .bin, а потом провести тестирование стандартными утилитами.
Или ждать манны небесной в виде готового .bin.
-
? Дмитрий - 23.05.2012 18:02
Смотрю на сырец прошивки РТ СМК64:
..
P=0267 ; DI, CRF ПЗУ
.WORD P,P,P,P ;170-177000
..
и на строку ПОСЛЕ ТРАНСЛЯЦИИ УБАЙТИТЬ СЛОВА !!! А кто мешал написать .BYTE P,P,P,P??? Получилось бы тоже самое, но без извращения.
PS: Кстати, а где остальные сырцы, от СМК128 и далее?
-
? Voland - 23.05.2012 18:06
Так вот же, нету 128-й в этом архиве даже в исходном виде.
-
? dk_spb@ - 23.05.2012 18:14
Странно, в моем архиве из инета (от Макса Багаева) есть и smk64.mac и smk128.mac
-
? tim - 23.05.2012 19:04
smk128.mac
¤
http://www.sendspace.com/file/uz44ze
-
? Дмитрий - 23.05.2012 20:41
Чет никак не въеду. Ув. CD-Inc говорил, что 64 = 256 и 128 = 512. А теперь по вышеуказанному smk128.mac получается, что 64 = 128? И как это понимать? Получается, что все прошивки идентичны во всех версиях? А что вообще дает эта прошивка в РТ? Для чего она нужна?
-
? tim - 23.05.2012 21:10
Скорее всего прошивка от 128 действительно и под 64 подходит, это нужно рыть, проверять, на это сейчас нет времени. А прошивки отличаются и не идентичны. Нужна она собственно для управления микросхемами памяти в зависимости от установленного режима работы ОЗУ.
-
? Voland - 23.05.2012 21:27
Произвел ручное преобразование файлов SMK64.MAC, SMK128.MAC в бинарники, полученный бинарник SMK64.rom совпал с вычитанным из прошивки SMK64. Следовательно, полученный бинарник SMK128.rom должен быть правильным:
http://www.fayloobmennik.net/1910107
_
И они действительно разные - SMK64.rom и SMK128.rom.
_
Касаемо схемотехнических отличий SMK64 и SMK128, кто-то еще может подтвердить, что кроме озвученных CD-Inc различий
>> 38пин ВП128 - 14пин ТМ9, 41пин ВП128 - Доп. Д-Триггер со сбросом, ну и доп. концы на память с них.
больше ничего менять не надо?
-
? tim - 23.05.2012 21:48
Все-таки порылся, отличия прошивок касаются логики сигналов CS0 и CS1. На 512 видимо ставятся перемычки SW1, SW2 в каком-то сочетании. смотрите ссылку, там 2 файла
¤
http://www.sendspace.com/filegroup/zPFScxVRqlbES8GBdu3%2F4A
-
? CD-Inc@ - 23.05.2012 22:08
Всё правильно smc64.mac под один этаж памяти, smc128.mac под два этажа памяти ИСХОДНОГО НОВАКОВСКОГО СМК.
У меня вопрос.
какие конкретные схемотехнические отличия исходного смк64,128,256,512, если NewСМК512 выполнен на ПЛИС со одной МС памяти и уже зашитой РТ"шкой, не... ?
Всем Удачи.
-
? CD-Inc@ - 23.05.2012 22:35
Кстати, судя по тому, что в режиме (ОЗУ10) №120 присутствует HALT-режим, прошивка smc128.mac - ещё и старой версии. По библии Новака в "новой" версии Халта там уже не было.
Ну... Как то так.
-
? Voland - 23.05.2012 22:48
>> какие конкретные схемотехнические отличия исходного смк64,128,256,512, если NewСМК512 выполнен на ПЛИС со одной МС памяти и уже зашитой РТ"шкой, не...
Мой разработчик не знает нюансов БК, он делает точную копию СМК 512 и то что он внешне будет выглядеть совсем иначе - ничего не меняет, ему нужна максимально полная и очевидная информация, чтобы для репликации особых вопросов не было.
..
Получается, негде брать актуальную версию smc128.mac ?
-
? CD-Inc@ - 23.05.2012 23:12
Да нет, два байта (5й и 6й) во втором режиме заменить с IH на N, т.е. офсет 0х82 и 0х83 заменить 0х6f на 0xff
-
? CD-Inc@ - 23.05.2012 23:15
Народ проверьте меня на всякий случай, а то мало ли что...
-
? dk_spb@ - 23.05.2012 23:15
Заметьте, часто в текстах про СМК написано "если у Вас старая ПЗУ - поменяйте на новую 2.05".
Но НИГДЕ нет ни слова о замене РТ.
-
? CD-Inc@ - 23.05.2012 23:25
В последних "режимах работы и распределения памяти" в пояснении к таблице написано:
.
"Буква 'W' после номера сегмента означает, что ОЗУ доступно только по
записи, 'R' - только по чтению, через дробную черту - старая версия
контроллеров / новая (по номеру версии ПЗУ не определяется), '-' - не
подключается ничего."
.
http://narod.ru/disk/50025347001.c9172097e0903b01762fea25f78c7df4/%D0%A1%D0%9C%D0%9A.%20%D0%A0%D0%B5%D0%B6%D0%B8%D0%BC%D1%8B%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B%20%D0%B8%20%D1%80%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8..pdf.html
-
? Voland - 23.05.2012 23:44
>> два байта (5й и 6й) во втором режиме заменить с IH на N, т.е. офсет 0х82 и 0х83 заменить 0х6f на 0xff
Кто-то еще может подтвердить, что больше менять в прошивке ничего не нужно?
¤
Еще есть вопрос от разработчика: может ли SMK работать без ДОЗУ? Вроде как на практике оригинал SMK-64 работает при извлеченных 62256, но на самом деле драйвер HDD лазит в эту память за своими переменными..
-
? CD-Inc@ - 23.05.2012 23:54
Новак.
-
? Дмитрий - 24.05.2012 00:54
Насколько я помню, драйвер лазает в память 170000-177000. Но она, походу, является частью ОЗУ, установленного на плату.
..
Кстати, вопрос: поскольку софта, использующего память СМК, так и не появилось, может имеет смысл сделать новую идеологию страничного доступа к памяти? Без всяких РТ. Хотя бы по аналогии со страничным обменом "а-ля БК11М". Выделить слово, младший байт будет отвечать за подключение страницы к 40000, старший - к 100000. А там хоть гигабайт ставь... Хотя можно было бы засунуть в ПЛИС от БК12 "менеджер" такой памяти и рулить оттуда.
-
? Voland - 24.05.2012 07:45
Сделать можно как угодно, только если будет четко продуманное и согласованное решение. Сейчас ведь даже (офсет 0х82 и 0х83 заменить 0х6f на 0xff) подтвердить кроме CD-Inc некому. Я не специалист в проектировании таких вещей, разработчик мой не хочет брать ответственность, да и не знаток БК он. Если найдется кто-то, кто предложит новую модель, полностью проработанную, почему бы и нет.
Кстати в БК-0012 и не будет такого ДОЗУ, совместимость с СМК будет на уровне ДОЗУ 64 кб, т.к. в целом будет полностью диспетчер ОЗУ PDP-11.
-
? Дмитрий - 24.05.2012 09:54
Не понял последнюю фразу. Если в БК12 будет более чем 128кб ОЗУ, то смысла в ДОЗУ СМК нет вообще. На ней, разве что, РАМ-диск смастерить.
-
? tim - 24.05.2012 11:43
Менять надо не 2 байта, ну посмотрите-же в файлик Excel, там я вроде более чем подробно разжевал. ВСЕ режимы отличаются сигналами CS0 и CS1. Контроллер работать будет, но без ДОЗУ проблематично.
-
? Voland - 24.05.2012 13:14
>> Не понял последнюю фразу
ДОЗУ СМК 512 по своей изначальной концепции несовместимо с ОЗУ 4мб, организованой по стандарту диспетчера PDP-11; как мне объяснил разработчик мой, совместимость можно обеспечить только в пределах 64 кб. Таким образом предполагается, что СМК, встроенный в БК0012 как бы вообще не будет иметь своего ДОЗУ, но в общем объеме 4мб-ной памяти первые 64 кб за пределеми стандартных (для БК0011М) 128-ми кб будут обеспечивать совместимость с тем софтом, который рассчитан на СМК64.
Вот примерно так я понимаю, может есть нюансы, готов выслушать любые мнения и пожелания.
-
? tim - 24.05.2012 13:26
В добавление к предыдущему: прошивка 64 от 128 отличается целиком, это я имел ввиду. Поправляя CD-inc. Поправки вносить в скомпилированный файл прошивки SMK128.mac: а) по адресам 0X84 - 0X85 заменить 6F на FF, б) по адресам 0X189 - 0X18F заменить AF на 2F
-
? Дмитрий - 24.05.2012 13:50
>> с ОЗУ 4мб, организованой по стандарту диспетчера PDP-11
То есть в БК12 предполагается сделать 4мб ОЗУ (в расширенном режиме) и 128кб+64кб за ними в режиме БК11М?
..
>> СМК, встроенный в БК0012 как бы вообще не будет иметь своего ДОЗУ
Тогда все понятно. Значит нет смысла разыскивать другие прошивки. Есть от СМК64 - ее и хватит.
-
? Voland - 24.05.2012 20:02
>> То есть в БК12 предполагается сделать 4мб ОЗУ (в расширенном режиме) и 128кб+64кб за ними в режиме БК11М?
Пока не могу точно сказать, но рассчитываю что режим будет в основном актуален для процессора (ВМ1/ВМ3), а остальное будет видно по ходу реализации. Надеюсь, что в обоих режимах будут доступны полные аппаратные ресурсы.
..
>> Тогда все понятно. Значит нет смысла разыскивать другие прошивки. Есть от СМК64 - ее и хватит.
Ну собственно уже всё вроде нашли/восстановили благодаря участникам обсуждения...
-
? CD-Inc@ - 24.05.2012 20:17
Спасибо tim, чуствовал что накосячил с адресом, а второй изменённый режим вообще незаметил.
-
? Voland - 24.05.2012 23:24
Сейчас в последнем слове прошивки моего оригинального SMK64 лежит 177367 (по смещению 7776 (восьмер) лежит байт F7h, по смещению 7777 - байт FEh). Когда смотрю из монитора БК0011М содержимое адреса 167776, пишет 177205. Не пойму, что я не так делаю, почему различные значения? Для СМК-512 что надо прописать, 177400?
Еще в доке странная фраза: "если младший байт > 0 - то это старая версия ПЗУ совмещенного контр. винчестера и дисковода SMK64 - ее нужно заменить" -так у меня старая версия, или все-таки 205 означает 2.05 (самая последняя прошивка)?
-
? dk_spb@ - 24.05.2012 23:37
Если содержимое ПЗУ Вы смотрите программатором, то не надо забывать что у 1801 инверсная шина адреса/данных со всеми вытекающими.
-
? Дмитрий - 25.05.2012 00:23
>> или все-таки 205 означает 2.05 (самая последняя прошивка)?
Именно. У меня СМК128 тоже с 2.05.
-
? dk_spb@ - 25.05.2012 00:27
Дмитрий: А прошивка РТшки в Вашем СМК128 совпадает с собранной из smk128.mac ?
-
? Voland - 25.05.2012 00:46
Прошивка SMK128.rom для программатора, собранная из smk128.mac с учетом замечаний tim:
http://www.fayloobmennik.net/1914957
неплохо бы с чем-то сверить...
-
? Дмитрий - 25.05.2012 10:19
>> А прошивка РТшки в Вашем СМК128 совпадает с собранной из smk128.mac?
Понятия не имею. Программатора нет, считать нечем. А без оного, я так понимаю, содержимое РТ недоступно.
-
? Voland - 25.05.2012 10:21
Дмитрий, а если я к Вам с программатором приду (если в Москве конечно) ? Вы где территориально?
-
? Дмитрий - 25.05.2012 11:02
Архангельская обл.
-
? anonymous - 25.05.2012 17:36
Дмитрий, если есть паяльник и минимальный навык владения им, то можно считать РТшку через параллельный порт БК за неимением программатора.
-
? Дмитрий - 25.05.2012 17:41
Есть и паяльник, и навык. Но нет желания уродовать работающий контроллер. РТ в нем на панельке или впаяна? Если впаяна, то не буду. Если на панельке, то мамке нет ни LPT, ни COM.
-
? tim - 25.05.2012 18:14
Я прошивку D20 556РТ4А на БК0011м считывал без программатора, и LPT не стал мучить. Напаял DIP-переключателей и светодиоды, взял в руку карандашик и вперед! :)))
-
? Дмитрий - 25.05.2012 19:24
Сурово!!!
-
? tim - 25.05.2012 19:53
Как оказалось там из 256 байт емкости используются всего 64, так что напрягать мозг неохота было, так быстрее. Хотя изначально чесались руки подключить это дело к АТмеге, но лень пересилила.
-
? Voland - 25.05.2012 21:50
Так все-таки, на что нужно заменить 176205 по адресу 167776 чтобы распознавался как SMK512? На 177400 ? Тогда не поменяется ли версия с 2.05 на 4 ?
-
? Дмитрий - 25.05.2012 22:01
176205 - SMK64 (176000) + v2.05 (205), 177605 - SMK512 (177400) + v2.05 (205).
-
? Voland - 25.05.2012 23:43
Еще вопрос от разработчика, помогите пожалуйста:
В чем смысл логики формирования сигнала RESA1 (вывод A1) в СМК64 ? Кто и как эту функцию контроллера использует ?
Если мы нажимаем кнопку, то выход элемента u1000b через диод закорачивается на землю, что за схемотехнический прием там использован ? Типа того, что выход ТМ9 на землю садит ?
-
? SKcorp. - 26.05.2012 00:37
Смысл в переключении режимов или загрузочного устройства при нажатой кнопке.
Или вопрос не в этом?
-
? Voland - 26.05.2012 01:39
>> Смысл в переключении режимов или загрузочного устройства при нажатой кнопке.
Ну это итак уже работает, непонятно для чего вешать кнопкой выход микросхемы на землю (пока это не сделано в SMK512 и непонятно - надо ли).
..
Пробую тест ALT_test.v37 (c образа AltPRO_ReLoad.IMG), в случае использовании точной копии прошивки SMK-64 он на подсчете памяти виснет, а в случае, когда прописываю в прошивку по адресу 167776 число 177605, показывает 16 кб.
И кстати ALT_test.v37 судя по заголовку после запуска программы, выше 256 кб тестировать и не умеет? Есть какие-то еще утилиты для тестирования СМК? Почему режимы можно этими утилитами только на БК0010 тестировать?
-
? tim - 26.05.2012 08:29
Сигнал RESA1 является входным для контроллера. В БК-шке A1, как мы наверное помним все :) , привязан к аппаратному сбросу процессора. Т.О. если пользователь нажмет кнопку сброса на БКшке (А1+В1), либо от БКшки придет сигнал INIT, тогда на U1004 придет сигнал сброса регистра режима ДОЗУ и установиться режим 0, с кодом 160 (P4, M10, M11 = 0), контроллер инициализируется.
-
? Voland - 26.05.2012 11:08
Кстати судя по исходникам тестов Альтпро, последней была прошивка 2.44. Наверное там много изменений по сравнению с 2.05, интересно, есть ли она у кого-то?
-
? Дмитрий - 26.05.2012 13:16
>> по исходникам тестов Альтпро
Оо, это в каком имидже они есть? В AltPRO_ReLoad.IMG не нашел.
-
? Voland - 26.05.2012 22:17
Вот тут в архиве, который ранее tim выкладывал (если не ошибаюсь):
http://www.fayloobmennik.net/1920611
Файлы Test2.mac, Test3.mac, Test5.mac
Скомпилировать сможете?
-
? Дмитрий - 27.05.2012 00:35
Все, нашел в другом архиве. Компилировать нечем, к сожалению.
..
Да, тесты предназначены для вариантов 16-128кб. Для 256-512 не подойдут. Судя по сырцу test5.mac:
VKLSTD:_MOV @#500,R0______;word для TREZ
VKL:____MOV #177130,R1____;портит R1 (,R0)
MOV #6,@R1
MOV R0,@R1
CLR @R1
RTS PC ;R1=177130 используется!
не будет работать с контроллерами с ДОЗУ более 128кб, ибо:
----------------------------------------------------------
Режимы включаются следующим обpазом:
..
MOV #6,@#177130 ;стpобиpующий код
MOV CODE,@#177130 ;код включения pежима
MOV #0,@#177130 ;очистка
..
Для очистки в данной модели контpоллеpа можно использовать и команду CLR, команда "MOV #0,..." пpиведена для совместимости с контpоллеpами с доп. ОЗУ 128Кб и выше - там CLR использовать нельзя (MOV #0 и CLR - не одно и то же).
----------------------------------------------------------
Вполне возможно (имхо!!), в этом кроется причина зависания тестов.
-
? tim - 27.05.2012 06:41
Забывается уже. Чем отличаются команды кроме методов адресации и количества слов на команду ?
R1=177130
¤
a) MOV #0, (R1)
b) CLR (R1)
-
? anonymous - 27.05.2012 07:32
CLR делает перед записью нуля фиктивное чтение, MOV сразу заносит значение. См. тему http://bk0010.org/forum/?id=3799 , сообщение от меня 09.02.2011 21:12.
-
? CD-Inc@ - 27.05.2012 20:06
господа, исходники ТЕСТх.МАС это разные варианты прошивок.
Эсли вы посмотрите в АльтТЕСТ там всё немножко по другому.
-
? Дмитрий - 27.05.2012 21:19
А где его исходник? А то сам тест запакован bkpack'ом...
-
? Voland - 04.06.2012 14:47
Может кто-то подсказать самый удобный способ запуска на БК-0011М программ на ассемблере? Есть вообще такие средства, или только компиляция и запуск бинарника?
Или есть какой-то отладчик хороший? Буду благодарен, если образом поделитесь.
(Пытаемся отлаживать работу с дисководом на СМК-512, нужно простые самописные ассемблерные тесты позапускать, чтобы понять, чего не так).
-
? SKcorp. - 04.06.2012 18:26
Под МК-ДОСом можно командный файл по расширению сделать.
-
? anonymous - 04.06.2012 18:32
Вам типа такого? http://www.retrocmp.com/tools/macro-11-on-windows
-
? anonymous - 04.06.2012 18:37
Или ассемблер, что на самой БК исполняется? Тогда выбор огромен...
А отладчик - чем не устраивает пультовый отладчик? Я им уже 30 пользуюсь, со школы еще, и ничего удобнее не видел, если не плавучую математику отлаживать, а работу с устройством.
-
? Voland - 05.06.2012 00:46
В общем для начала нужно ассемблерный текст запустить на самой БК. Какой самый простой путь? Желательно интуитивно понятное средство, или с очень доступной документацией.
-
? tim - 05.06.2012 05:50
Voland, Вы не перестаете меня удивлять! Тут уже столько образов пролетало, на которых есть все что Вам нужно. Вы их хотя бы просматриваете или просто даже не заглядываете ? Ну поищите Turbo Королёвский из последних, либо что там Вам по вкусу приглянется, инструментов полно.
-
? Дмитрий - 05.06.2012 15:57
Сорри за оффтоп, спрошу тут, чтоб не заводить тему отдельную.
Смотрю щас сырец вышеуказанного макро11, а конкретно parse.c (ф-ция parse_float). Так вот там непонятно написано следующее:
..
/* The following big literal is 2 to the 49th power: */
ufrac = (ulong64) (frac * 72057594037927936.0); /* Align fraction bits */
..
Вообще-то 2^49 = 562949953421312.0, а указанное число - это 2^56. По идее число верное, ибо в FLT4 мантисса занимает как раз 56 бит, а не 49. Не совсем понятно сказанное в описании ф-ции: "Note: there are probably degenerate cases that store incorrect results. For example, I think rounding up a FLT2 might cause exponent overflow. Sorry."
-
? Voland - 17.06.2012 21:13
Прошу помочь с ответами на вопросы:
1. В SMK64 перемычка SW1 (вывод 7 микросхемы ТМ9 и выводом 26 ДОЗУ) разомкнута, а SW2 (вывод 14 микросхемы РТ5 и вывод 26 ДОЗУ) замкнута. В SMK512 что-то меняется?
2. Для адресации страниц ДОЗУ 512 кб нужно 4 бита. Два бита на ТМ9 есть, ну еще один там запасной, остается еще один. Где он располагается?
-
? Voland - 20.06.2012 09:09
Неужели никто не знает?
Пока не удается с режимами разобраться, CSI-DOS при загрузке вместо пляшущих человечков выдает черный экран и виснет.
-
? tim - 21.06.2012 21:15
А хз как в авторском варианте было. Судя по схеме еще три бита в адрес нужно добавить. Может откликнется счастливый обладатель смк-512, как оно у него там?
-
? Ал-р@ - 22.06.2012 08:12
Оплата по России на адрес в СпБ.
(Мелочёвку тоже могу добавиить - Минск-Интеграл ...был :)
-
? Ал-р@ - 22.06.2012 08:19
Продам: БК и контроллер-плата HDD(FDD) с ПЗУ (2xHA5 + HN%).
-
? Voland - 22.06.2012 08:21
А что там за плата HDD+FDD, оригинальный smk512 что ли? :)
-
? SKcorp. - 22.06.2012 21:31
2Ал-р: Куплю. Рабочесть? Цена? Фото? Как связаться? Моя почта skcorp+mail.ru где + там @
-
? Voland - 22.06.2012 22:20
Помогите кто-нибудь откомпилировать TEST2.mac, TEST3.mac, TEST5.mac? Я пытался скомпилировать тем turbo7k, который идет в составе МК-DOS, дохлый номер, выдает какую-то ошибку непонятную. Точнее немного понятную, но устранить у меня не получается.
-
? Ал-р@ - 22.06.2012 22:25
(128 нету)
-
? tim - 22.06.2012 22:35
Что за ошибку выдает ?
-
? gid@ - 23.06.2012 15:33
Voland, забирай - http://files.mail.ru/3YNLVH
в архиве скомпиленые тесты в виде бин файлов, а также образ, в котором эти же файлы, компилятор turbo8dk, в котором всё абсолютно без проблем скомпилировалось,и ещё более продвинутый компилятор asm11, но мне как то привычнее turbo8.
-
? Voland - 23.06.2012 18:46
gid, спасибо огромное!
2tim: ошибка на какую-то макрокоманду ругалась, .LA кажется.
-
? Voland - 23.06.2012 19:28
gid, а перенос файлов для компиляции с PC на БК делали через дискеты ANDOS, или каким-то еще хитрым способом?
-
? gid@ - 23.06.2012 20:24
Перенос файлов я научил делать свою утилитку BKDE http://files.mail.ru/NEAM0E
она теперь как извлекает файлы из образов, так и завлекает их обратно, но только в ANDOS, MKDOS и AODOS и только отдельные файлы.
потом образ цепляется к эмулятору и всё остальное делается там.
Правда, судя по программке cputest Алекса Савельева ни один из эмуляторов (которые под Windows), кроме эмулятора Юрия Калмыкова не проходит тесты #1..#7, а некоторые даже и до их выполнения не доходят, то правильность компиляции в них у меня вызывает некоторое сомнение.
Сам-то я пользуюсь сильно модифицированным эмулятором Калмыкова, в правильности эмуляции команд процессора которого уверен, но публиковать его пока считаю преждевременным.
-
? Voland - 23.06.2012 22:03
gid, очень полезная утилита, просмотр содержимого - это крайне удобно. Думаю все будут очень рады её дальнейшему развитию.
-
? wm - 24.06.2012 02:41
"ни один из эмуляторов (которые под Windows), кроме эмулятора Юрия Калмыкова не проходит тесты #1..#7, а некоторые даже и до их выполнения не доходят, то правильность компиляции в них у меня вызывает некоторое сомнение." Мой эмуль (SPC) в режиме БК-0010 проходит все #1..#7, в режиме же БК-0011 и правда пока виснет, но тут скорее не из-за проца (он ведь одинаковый и там, и там), а из-за чего-нить в эмуляции аппаратуры/системных регистров.
-
? wm - 24.06.2012 02:52
А может просто .bin не совсем корректно в БК-0011 грузится...
-
? gid@ - 24.06.2012 09:22
wm, поправлю себя: ни один из известных мне эмуляторов, ну т.е. тех, на которые полно ссылок в интернете.
И ещё поправлю себя: B2M не проходит только тест таймера, но в остальном он эмулирует точно.
Если не уверен в .bin, скачай архив http://files.mail.ru/3YNLVH, там внутри образа в том числе есть дизассемблированый cputest, а так же его вариант, с убранной командой START, на которой вылетают BKBTL, BK2010, B2M и просто проверка таймера и ТЧ, для эмуляторов, которые не могут пройти тесты 1-6.
И кстати BK2010 тоже виснет при проверке ТЧ, т.к. некорректно обрабатывает обращения к системным регистрам по нечётному адресу.
-
? wm - 24.06.2012 13:56
gid, спасибо, с диска всё нормально проходит. Единственное, что с картинкой Савельева не совпадает - CPU Speed (на реале должно быть 5.6Мгц?), но тут у всех эмулей разнобой. Может, используется какая-нибудь тонкость типа разного времени обращения к системным регистрам и т.п. Попробую разобраться с помощью дизассемблированных исходников - за которые отдельное спасибо :) P.S. Эмуль я имел в виду, который на http://soviet-pc.narod.ru в разделе "песочница" лежит.
-
? Voland - 24.06.2012 13:56
Запустим test5.bin на БК0011М + оригинальный SMK64(v2.05), виснет с выводом надписи Halted. Есть предположения, в чем дело?
-
? gid@ - 24.06.2012 16:24
wm, правильное определение частоты - больной вопрос, я над ним уже полгода бьюсь (с перерывами), решения пока нет. Хотя у меня показания такие же, как у B2M, BKBTL и BK2010 - 3.4МГц, на компах с более быстрым процом значение больше, с более медленным - меньше. Хотя должно быть ровно 4МГц.
-----------------------------
Voland, просто так запустить его не достаточно, ибо сам по себе этот тест не самостоятелен, там должны быть проинициализированы регистры проца. Суть работы там такая: код этого теста копируется из ПЗУ по адресу 04000, в регистры заносятся начальные значения, и делается jmp 4000. Что конкретно и в каком регистре должно быть, надо смотреть в коде прошивки.
-
? wm - 24.06.2012 17:20
gid, у B2M, BKBTL и BK2010 похожи, возможно, потому, что тайминги из одного источника взяты (у Зальцмана?). Emulator3000 показывает >7Мгц, SPC 2.8Мгц, на картинке Савельева в теме про утилиту 5.6Мгц (то ли это из его эмулятора, то ли реал?). Интересно точное значение с реала, тогда проще определить, в каком месте может быть погрешность в данном случае. P.S. Сорри за оффтоп, больше не буду.
-
? gid@ - 24.06.2012 22:36
wm, Кроме таймингов Зальцмана никаких других нету.
На картинке скорее всего скриншот из его эмулятора.
Точное значение с реала правдивое - 4МГц, я проверял.
Для расчёта ТЧ используется плавающая арифметика, таймер 50Гц, и встроенный ВМ таймер, результат зависит от точности эмуляции всего этого.
-------------------------------------
Voland, я тут немного поразбирался, этот test5 является частью прошивки контроллера А16М v2.44. Я сейчас специально смотрел эту прошивку и выяснилось, что если запускаться с метки BEG:, то в R5, должен быть номер стартового режима 0..8, соответствующий нажатой клавише при старте контроллера, если там число больше 8 то просто делается выход в монитор БК10. Когда контроллер стартует, или если нажать длинный ресет, он начинает работу с метки PZP:, там никаких параметров не требуется, но поскольку А16М и SMK работают по-разному, то этот тест всё равно не будет работать без модификации. См например п/п VKL
VKL: MOV #177130,R1 ;портит R1 (,R0)
MOV #6,@R1
MOV R0,@R1
CLR @R1
RTS PC ;R1=177130 используется !
в SMK требуется делать MOV #0,@R1 вместо CLR @R1
Далее, поскольку у меня никогда не было SMK, а по описаниям я плохо себе представляю, как он работает, то я рискую более навредить неправильными советами, чем помочь.
-
? Voland - 24.06.2012 23:30
Выходит, нечем тестировать SMK :(
-
? gid@ - 25.06.2012 11:22
Теоретически должны быть программы для тестирования, может они просто где-то лежат всеми забытые.
И в принципе я мог бы на основе данного test5 написать прогу для тестирования памяти SMK, т.к. эта тема мне интересна. Но при условии, что мне на пальцах и в картинках покажут, как осуществляется доступ ко всей возможной памяти. В файлах "СМК. Режимы работы и распределение памяти.pdf" и "Режимы АльтПРО.pdf", которые давал CD-Inc есть описания режимов и коды подключения страниц, и вроде бы всё понятно, но всё же что-то не понятно, как оно работает в реальности.
-
? dk_spb@ - 25.06.2012 11:28
Программу тестирования памяти SMK тут выкладывали совсем недавно. За что борьба идёт?
-
? Voland - 25.06.2012 11:36
Тестирование памяти есть, но подозреваю что не более 128 кб. Кроме того, есть тестирование режимов, заявленное только для БК-0010-01 - не проверял в реальности, как работает, так как нету десятки.
Получается на SMK512 и память пока нечем тестировать и режимы. В реальности на SMK-512 сейчас не грузится CSI-DOS, подозреваю что как раз из-за некорректной работы режимов, которые нечем тестировать.
И единственный путь для отлова ошибки - использовать логический анализатор, который сейчас собирает мой разработчик.
CD-Inc, tim, расскажете gid'у необходимую информацию?
Я готов предоставить живой контроллер SMK64/512.
-
? dk_spb@ - 25.06.2012 12:23
>но подозреваю что не более 128 кб
Пробовали?
¤
>так как нету десятки
У Вас нету 1000 руб? Или просто лень?
Думаю что в msk 10ку Вам на время даже бесплатно дадут.
¤
Вот я и спрашиваю, за что боремся? Чтобы gid от нечего делать написал новый тест памяти, если фирменный никто даже не попробовал запустить?
-
? Voland - 25.06.2012 12:28
>> У Вас нету 1000 руб? Или просто лень?
Будет через месяц.
¤
>> Пробовали?
Не на чем. На SMK-512 пока только 16 кб тестируется, а оригинальных 128/256/512 я в глаза не видел. Да и писал уже tim кажется выше, что этот тест 512 кб наверняка не сможет оттестировать.
-
? dk_spb@ - 25.06.2012 12:39
Вообще странно. А почему не сделать чтобы пока SMK512 работал как SMK64/128.
А потом уже, когда этот шаг будет пройден, идти дальше.
Тем более для этого шага всё есть: и софт тестирующий, и живой пример железки (которая понятно как работает).
-
? Voland - 25.06.2012 12:44
Есть ли исходник того теста памяти, который запускается нормально (а не как TEST5.mac) ? Если есть, то вопросов нету.
Разработчик, просит от меня рабочий ассемблерный тест, как раз для того, чтобы заставить SMK512 работать хотя бы как оригинальный SMK64 сначала. Но поскольку рабочего теста нет, будет решать проблему логическим анализатором.
-
? gid@ - 26.06.2012 10:34
Хотели исходник? Получите - http://files.mail.ru/LQ0HA3
В архиве распакованный тест ALT_test.v37.bin и его дизассемблированный как бы исходник.
При компиляции получается бинарно 1:1 оригинал, так что всё корректно.
А я пойду разбираться как оно работает и почему отключили тест режимов на БК11М (подозреваю, что из-за того, что у неё есть окно ОЗУ по адр. 100000-137777, хотя не знаю.)
-
? tim - 26.06.2012 13:24
dig пишет: Voland, я тут немного поразбирался, этот test5 является частью прошивки контроллера А16М v2.44. Я сейчас специально смотрел эту прошивку....
¤
У вас, dig, есть в наличии прошивка 2.44 ? может поделитесь ? интересуют любые материалы по контроллеру и RAM-BIOS, как этим пользоваться
-
? gid@ - 26.06.2012 14:32
tim, вот - http://files.mail.ru/VIKCXR
Но смею заметить, это прошивка только для контроллера А16М, и она по моему личному мнению отличается в худшую сторону от прошивки v2.41 для того же А16М. Никакого отношения к SMK данные прошивки не имеют.
А16М штука сильно примитивная по сравнению с SMK, единстнвенный известный материал по этому контроллеру - техническое описание http://vak.ru/doku.php/proj/bk/bk-a16tech, RAM-BIOSа у него нет.
А всё, что есть в интернете по SMK лежит тут - http://pdp-11.ru/mybk/Altpro/ Там, в одном из архивов есть даже краткое описание, как пользоваться SMKшным RAM-BIOS.
-
? tim - 26.06.2012 17:37
а, ну да, A16 был в моих руках как-то давным-давно, там только допОЗУ для 10-ки
-
? Voland - 26.06.2012 19:37
>> Хотели исходник? Получите
gid, спасибо! Если нужен SMK для экспериментов - готов предоставить, Вы в Москве же?
-
? gid@ - 26.06.2012 21:50
>>Вы в Москве же?
Отнюдь. Относительно далеко от Москвы, и посещать её не планирую в ближайшую сотню лет.
Сильной надобности в SMK нет, но при возможности я был бы не прочь приобрести в собственность SMK-512. Где-то, кто-то, когда-то предлагал реплики, но узнал я об этом только читая ветки форумов, и как с этим делом сейчас обстоят дела, не знаю.
Меня SMK интересует больше в плане его эмуляции, поэтому железка на руках желательна, но необязательна.
А пока что я медитирую над исходником ALT_test.v37, доками к SMK и постигаю логику их мудрёного алгоритма теста режимов, всё остальное там просто и ясно.
-
? Voland - 27.06.2012 00:44
Реплики оригинального SMK64 есть в продаже у меня, вроде бы еще есть у dk_spb.
Выход в продажу SMK512 немного затягивается, в связи с тем что некоторые проблемы пока не удается устранить (глючит форматирование дискет и работа режимов).
Собственно пока нет гарантии 100% соответствия воссоздаваемой плис-реплики SMK512, тому оригинальному (теперь скорее виртуальному) SMK512, который выпускался в АльПро.
-
? gid@ - 27.06.2012 15:02
Ну раз нет, то подождём.
А для ускорения процесса, надо бы переписать ALT_test.v37 чтобы он не просто зависал при ошибках, а выводил на экран максимум информации, прежде чем зависнуть. Чем я и занимаюсь в силу понимания логики работы диспетчера памяти контроллера.
-
? Voland@ - 27.06.2012 18:44
Да, было бы просто замечательно иметь утилиту, полностью тестирующую СМК вдоль и поперек на корректность всего его функционала с выводом максимум диагностической информации. Там еще есть вроде бы какое-то долгое удерживание RESET (более 2 сек) с возвратом в оболочку ОС, это пока даже на оригинальном СМК64 не понял как работает. И какие-то режимы, переключаемые по ресет с удерживанием кнопок 1...8.
-
? gid@ - 28.06.2012 15:07
Насчёт долгого ресета могу сказать только как оно устроено на А16М. Там просто кнопка, резистор и конденсатор. Нажимаешь быстро - просто выдаётся лог.0 на RESET МПИ и происходит обычный перезапуск, жмёшь долго - успевает разрядиться конденсатор, и в контроллере принудительно включается режим 160, и происходит перезапуск по адресу в ПЗУ контроллера. Насчёт SMK сказать не могу, на схеме этой кнопки нет, то ли забыли нарисовать, то ли ресет делается как-то по-другому.
Поковырявшись в прошивке SMK 2.05, вот выяснилось, какие кнопки обрабатываются:
кнопка КТ - очень похоже на выход в монитор.
кнопки с кодами 40..47 (пробел и почему-то не просто цифры 1..7, а шифт-цифры 1..7)
1 - jmp 100000
2 - jmp 120000
3 - jmp 130000
4 - jmp 140000
5 - jmp 150000
6 - jmp 137000
7 - jmp 157000
пробел - обычная загрузка ОС
кнопки с буквами. - тоже загрузка, возможно с указанного привода или с лог. диска HDD, не могу точно понять.
все остальные кнопки, или ничего не нажато - устанавливается режим 2160 и делается попытка перехода на страницу, если там что-то определённое (что именно - без понятия), если нет, то как пробел - обычная загрузка ОС.
-
? Voland@ - 28.06.2012 16:20
>> пробел - обычная загрузка ОС
Да, как-то не очень понятно назначение пробела/2160...
..
А из этих тестов и прошивки нет ли хоть примерного понимания, как организовывалось обращение к 512 кб ДОЗУ в оригинальном СМК?
-
? Ал-р - 28.06.2012 16:42
Да не было никаких мифическо-оригинально-реальных СМК-512 с двух-этажными мегабитками - такой контроллер в то время стоил бы как парочка БК-11Мее ...
Более-менее реальное фото есть только про единичное как-бы СМК-64 с парочкой мегабиток (это it izz estь 256К) при "сопливых" доработках - ничего этого ни в одной БК-программе не использовалось и уже не могло быть использовано - козлик здох, завяли помидоры ...
-
? gid@ - 28.06.2012 17:17
Обращение к 512 кб организуется сугубо аппаратным способом. Всё зависит от того, какие микросхемы ОЗУ использовались. Чем меньше адресных линий у МС тем их нужно больше, и тем сложнее (по кол-ву лог.элементов) будет схема их выборки и формирования адреса, нужно воротить конструкции из дешифраторов и демультиплексоров.
А пока попробуйте вот это - http://files.mail.ru/A4L41R
В архиве модифицированный ALT_test, исходник и бинарник. Он теоретически должен понимать 512кб, как на самом деле, необходимо проверить практикой, Включен тест режимов на БК11М, но коды ошибок там частично десяточные, поэтому, если будет ругаться - то это не факт, что ошибка, тоже нужно проверить.
Voland, хотелось бы, чтобы Вы запустили тест как на реальном SMK-64, так и на текущем варианте SMK-512.
И привели всё, что будет выведено на экран после строки "Подготовка..." и до подсказки с расшифровкой кодов ошибок. Если тест зависнет - то когда и как зависло.
-
? Voland@ - 28.06.2012 17:20
Сделаю через пару часов...
-
? Ал-р - 28.06.2012 17:42
gid - ?
...но коды ошибок там частично десяточные ...
(понятно что имелось в виду слово "десятичные", но Вы хоть понимаете что написали? - коды ошибок они есть КОДЫ ОШИБОК и даже в Бейсике-БК они в восьмеричном виде, ведь для преобразование в десятичное сложнее чем в восьмеречное и будет через доп-подпрограмму с возможностью ещё доп-ошибок и искажениями этого кода :)
-
? gid@ - 28.06.2012 20:13
Ал-р, нет. Именно "десяточные", происходит от "БК-0010". Уверяю вас, я знаю что написал. Все проблемы недопонимания друг друга происходят из-за разной интерпретации специфической терминологии и сленга.
Расшифрую, что я имел в виду.
Для проверки правильности работы режимов контроллера существует так называемая таблица кодов ошибок результатов проверки каждого сегмента по 10000 байт в диапазоне 100000-177777, по одному коду на сегмент.
Режимы работы контроллера на БК10 и БК11 различаются. Соответственно и таблицы для десятки и одиннацадки различаются. Сейчас, таблица кодов ошибок для БК11М некорректная, поскольку она построена на основе таблицы для БК10.
К тому же здесь слово ошибка трактуется не в человеческом смысле, а в программистском, это просто число, которое интерпретируется так, как задано программой.
-
? Voland@ - 28.06.2012 20:47
запустил, вот результат на оригинальном smk-64:
ДОЗУ, кбайт: 64кб
тест режимов:
160: 10-10(0) 11-10(0)
60: 10-10(0) 11-10(0)
120: OK
20: OK
140: OK
40: 10-6(2) 11-6(2) 12-6(2) 13-6(2)
100: 10-5(4)
0: 10-12(2) 11-12(2)
_
результат на smk-512 (ПЛИС):
_
ДОЗУ, кбайт: 0 Error I
32 Error I
64
тест режимов:
160: 10-10(0) 11-10(0)
60: 10-10(0) 11-10(0)
120: OK
20: 17-6(4)
140: OK
40: 10-6(2) 11-6(2) 12-6(2) 13-6(2)
100: 10-6(4)
0: 10-6(2) 11-6(2) 12-6(2) 13-6(2)
-
? gid@ - 28.06.2012 22:20
Спасибо. По smk-64 можно видеть, что в целом тест адекватен.
режимы 160 и 60 - косяк неверной таблицы, там всё в порядке.
режим 40 говорит о том, что тест не различает ОЗУ контроллера и БК, хотя алгоритмически должен, надо смотреть, где ошибка.
режим 100 - непонятно почему ОЗУзз стало кодом 5. Это означает что при записи не случилось прерывание по вектору 4, запись в ОЗУ с защитой от записи была просто проигнорирована.
режим 0 - Hlt11, что-то непонятное, но там я забыл отключить проверку Монитора БК10, пока игнорируем.
-----------
Теперь по smk-512. Тут интереснее.
Error I говорит о битой памяти, как только придумаю, тест будет даже выводить адрес, на котором случился сбой.
Число 64 говорит о том, что обрабатывается и доступно всего 64 кб памяти, видимо схему SMK-64 до SMK-512 не довели, не добавили биты 3, 2 и 0 регистра 177130 для выборки остальной памяти
режимы 160, 60 и 40 - в порядке.
в режиме 20 по официальной таблице должно быть ОЗУзз по адресам 177000-177777, у Вас же сделано упрощение и там просто ОЗУ, это не критично, но идеологически не верно.
в режиме 100 опять сделано упрощение. По официальной таблице в сегменте 100000-107777 должно быть ОЗУзз, а на самом деле - просто ОЗУ
режим 0 опять отличился, теперь он показывает именно то, что должно быть - ОЗУ, но считает это ОЗУ своим.
В скором времени предоставлю исправленный вариант теста.
-
? Voland@ - 28.06.2012 23:57
То, что в smk-512 пока доступно только 64 кб - нормально, т.к. во-первых прогружена прошивка РТ5 от смк64, а не от смк128, во-вторых пока еще не доделана поддержка 512 в упомянутом регистре.
По тесту памяти будет очень полезным выдавать битые адреса, тогда прогнав тест на разных экземплярах мы смогли бы точно понять, битая ли память, или же косяк в чем-то другом.
Еще, мой разработчик сказал, что память в идеале надо тестировать несколькими разными тестами, поскольку простые запись-чтение могут не выявить такие неисправности памяти, как замыкание соседних битов на матрице и т.п. Сможете немного усложнить сам тест?
-
? gid@ - 29.06.2012 16:49
Сейчас тест памяти делается примерно так:
для каждого слова, адрес в R0{
clr (r0)
com (r0)
add r0,(r0)
inc (r0)
cmp r0,(r0)
если не равно, значит слово битое по этому адресу
r0+=2
}
этот тест наименее надёжен для случаев, когда в адресе много нулевых битов, а вообще - вполне сносно работает.
Я вообще подумывал сделать набор тестов, примерно как в memtest86, но т.к. тестирование памяти происходит в цикле, где определяется её количество, то добавление чего-то туда портит логику развития событий.
Тут проще заново переписать весь алгоритм определения кол-ва памяти и её тестирования.
Так что свежая версия теста задержится.
-
? tim - 29.06.2012 23:03
Кто-то в курсе: обращение в ПЗУ БК было только пословным ? И туда же - ранее я поднимал вопрос о байтовом обращении в область ДОЗУ http://bk0010.org/forum/?id=4087&page=6 см.сообщение от 04.10.2010 21:58. Так и не разрешил я тогда для себя вопрос: почему Новак пишет что байтовые команды не работают, а на схеме получается что должны работать. А у вас, Voland, как будет ?
-
? Voland@ - 29.06.2012 23:20
gid, не знаю, надо ли сейчас весь алгоритм переделывать, тем более если это времени много займет..
tim, разработчик мне говорит что байтовые команды должны работать. Как на оригинале, так и на СМК512. Но лучше конечно это проверить.
-
? gid@ - 30.06.2012 18:21
tim, Тут есть такой момент. Процессор 1801вм1 общается по шине с другими устройствами всегда словами, просто если нужен из этого слова всего лишь байт, выставляется сигнал WTBT, и из этого слова берётся 8 младших либо 8 старших бит, в зависимости от младшего бита адреса.
А будет ли в ОЗУ или ДОЗУ байтовое обращение, зависит целиком от контроллера ОЗУ/ДОЗУ.
Поскольку для ПЗУ контроллер памяти не нужен (т.к. запись в ПЗУ невозможна), оно также всегда отдаёт процессору всё слово. Но при байтовой операции процессор сам выбирает нужный ему байт из слова. Т.е. Чтение из ПЗУ работает как пословно так и побайтно.
Судя по схеме SMK64 в ОЗУ байтовые команды работают замечательно. Единственное место, где не работают байтовые команды - это область регистров HDD, они ведь там все нечётные, но 16 разрядные.
Т.е. там сигнал WTBT используется для того, чтобы определить, что это обращение именно к регистру HDD, или что-то типа того, тут я могу ошибаться, т.к. не в курсе тонкостей работы.
----------------------
Voland, уже почти переделано, осталось додумать некоторые моменты и отладить, всё будет зависеть от того, насколько работа будет мешать заниматься этим делом.
Но пока не готово, можно пользоваться этим вариантом http://files.mail.ru/EHVZRC
Исправлена таблица ошибок для БК11М, тест теперь различает ОЗУ БК и ОЗУ SMK и определяет тип контроллера и ожидаемое кол-во памяти по содержимому слова 167776.
Если не затруднит, хотелось бы снова увидеть результаты теста режимов, вдруг я что-то ещё не учёл.
-
? Voland@ - 30.06.2012 22:38
Проверю, отпишу чуть позже. Я тут выяснил, что все-таки память была битая. Собрал второй экземпляр контроллера СМК-512, тест показал 64 кб, как и должен был, без ошибок.
У меня такой вопрос, возможно глупый (в силу плохого представления об внутреннем устройстве СМК): когда будем тестировать 512 кб, есть ли вероятность, что тест какие-то окна памяти проскочит, а какие-то прогонет дважды? Ну т.е. есть ли необходимость предусмотреть в тесте проверку на то, что вся емкость 512 кб - доступна, и что нигде нет выпавших страниц, вместо которых повторно включается какая-то другая страница?
-
? tim - 30.06.2012 22:52
Упс. Про ПЗУ я совсем запарился, оно же только по чтению, WTBT там не нужен.
-
? gid@ - 01.07.2012 09:23
Позже, я подробно опишу логику работы теста. Вкратце, в новом варианте делается так: тест определяет повторно подключаемые страницы и говорит об этом. Соответственно, если какая-то страница подключена повторно, то какая-то просто недоступна, тест это отражает в меньшем количестве доступной памяти.
Вся трудность переделки алгоритма была в том, что тест претендует на некоторую универсальность, и при кол-ве ОЗУ, меньше 512, по-любому возникают повторы подключения страниц, т.к. всегда тестируются все возможные коды подключения страниц. Надо было сделать так, чтобы это не считалось ошибкой, и при этом не страдала общая информативность.
-
? Voland@ - 01.07.2012 12:13
Прогнал тест 4.1. Что-то теперь примерно 1 раз из 5-ти тест для СМК-512 выдает ошибку на каждые 16 кб ДОЗУ из 64 Кбайт (Error I). Т.е. либо ошибки нет совсем, либо она на 16, 32, 48, 64 килобайтах. Что это, нестабильные чипы памяти, бракованная партия?? Или некорректно схемотехнически обмен с памятью сделан? Может сделать какой-то цикличный тест, для выявления проблем нестабильности памяти...
Пропал писк динамика сразу после запуска теста - так задумывалось?
Неверно сделано определение типа контроллера.
_
результат на оригинальном СМК 64:
Обнаружен контроллер А64М версия ПЗУ 205
тест режимов:
160: OK
60: OK
120: OK
20: OK
140: OK
40: OK
100: 10-5(4)
0: OK
¤
_
результат на СМК 512 (ПЛИС):
Обнаружен контроллер А512М версия ПЗУ 205
Код 164 - уже подключали с кодом 160
Код 64 - уже подключали с кодом 60
Код 2164 - уже подключали с кодом 2160
Код 2064 - уже подключали с кодом 2060
Код 170 - уже подключали с кодом 160
Код 70 - уже подключали с кодом 60
Код 2170 - уже подключали с кодом 2160
Код 2070 - уже подключали с кодом 2060
Код 174 - уже подключали с кодом 160
Код 74 - уже подключали с кодом 60
Код 2174 - уже подключали с кодом 2160
Код 2074 - уже подключали с кодом 2060
Код 161 - уже подключали с кодом 160
Код 61 - уже подключали с кодом 60
Код 2161 - уже подключали с кодом 2160
Код 2061 - уже подключали с кодом 2060
Код 165 - уже подключали с кодом 160
Код 65 - уже подключали с кодом 60
Код 2165 - уже подключали с кодом 2160
Код 2065 - уже подключали с кодом 2060
Код 171 - уже подключали с кодом 160
Код 71 - уже подключали с кодом 60
Код 2171 - уже подключали с кодом 2160
Код 2071 - уже подключали с кодом 2060
Код 175 - уже подключали с кодом 160
Код 75 - уже подключали с кодом 60
Код 2175 - уже подключали с кодом 2160
Код 2075 - уже подключали с кодом 2060
тест режимов:
160: OK
60: OK
120: OK
20: 17-6(4)
140: OK
40: OK
100: 10-6(4)
0: OK
¤
-
? gid@ - 01.07.2012 16:42
Всплыл косяк с определением имени контроллера SMK/A, это не страшно.
Пропажа звука - задумана, я убрал там возникающий halt, из-за чего задержка стала слишком маленькой. Видимо пищалка не успевает колебаться, или звук звучит в области ультразвука.
Насчёт ошибки I, это может быть и наведённая ошибка, из-за того что где-то что-то не учтено. тест 4.1 в этом плане крайне не информативен. Тест 4.2 уже лучше, завтра в течения дня я его предоставлю. А потом можно подумать и над расширенным циклическим тестом, который будет тестировать память разными методами.
-
? gid@ - 02.07.2012 19:01
Итак, вот тест v4.2 - http://files.mail.ru/9XZOYY
в архиве также находится слегка подправленная версия теста v4.1, а так же описание работы тестов памяти.
Ожидаю критики и предложений (если что не так, конечно).
-
? Дмитрий - 02.07.2012 19:54
Если нужно - могу на БК10.01 + ориг. SMK128 прогнать этот тест. Я так понял его просто нужно загрузить по нужному адресу и передать управление? Или нужно выполнять какие-то подготовительные действия?
-
? gid@ - 02.07.2012 21:46
Дмитрий, на БК10 было бы тоже интересно. т.к. я только на БК11 тестировал.
Собственно исполняемый файл в формате bin, который рассчитан на использование его в эмуляторах, если копировать его напрямую с ПиСи на дискету БК, то сперва надо будет вырезать 2 первых слова в любом hex-редакторе. адрес запуска программы 01000.
-
? foot - 02.07.2012 22:31
А можно исправить первые два слова на 1000 и загрузить с адреса 774
-
? Дмитрий - 03.07.2012 00:01
Тогда вопрос - тест после завершения вываливается обратно в оболочку ОС или ждет нажатия на любую клавишу (чтобы успеть прочитать резалты)?
-
? Voland@ - 03.07.2012 00:39
>> Итак, вот тест v4.2
Сегодня не успеваю, завтра затестирую вечером на БК0011М.
>> сперва надо будет вырезать 2 первых слова в любом hex-редакторе
А я до этого ничего не вырезал и всё работало...
-
? gid@ - 03.07.2012 12:51
Просто я не в курсе кто как переносит файлы с ПиСи на БК, поэтому как бы традиционно даю исполняемый файл в формате BIN, для загона файла в образ дискеты любым удобным способом, а потом образ дискеты сбросить на реальную дискету, либо записи файла какими-либо спец-утилитами (вдруг такие есть).
Далее, я не в курсе под какой ОС всё это потом запускается, сам я использую Andos, т.к. у него самая простая для манипуляций с файлами ФС, просто знаю, что только у RT-11 нет такого понятия как адрес загрузки программы, для остальных это критично.
А так, сама по себе программа запускается с адреса 01000 и не перемещаема.
>>тест после завершения вываливается обратно в оболочку ОС или ждет нажатия на любую клавишу
тест после завершения ждёт нажатия на СТОП, т.к. запускает циклический тест CRC, но перед этим ждёт нажатия на любую клавишу. Однако в случае большого количества ошибок памяти, на экран все они всё равно все не поместятся.
При работе тест портит ОЗУ БК, и всё ОЗУ контроллера, так что оболочки ОС просто не остаётся, поэтому он вываливается в монитор БК.
-
? Дмитрий - 03.07.2012 13:29
>> либо записи файла какими-либо спец-утилитами (вдруг такие есть)
Есть плагин к Total'у, который открывает образы FAT12 и может как писать в них файлы, так и копировать оттуда. Единственное "НО" - это поправить адрес загрузки. Вроде MASTER под АНДОС умеет это делать, а вот MC под МКДОС нет. В случае дискеты вообще все просто - копируем файл без первых 4 байт на дискету АНДОС, меняем адрес загрузки и запускаем из-под MASTER'а.
-
? anonymous - 03.07.2012 18:51
offtopic
gid: 「просто знаю, что только у RT-11 нет такого понятия как адрес загрузки программы,」
- У RT11 адрес загрузки задается в самом исполняемом файле, как и карта используемой памяти, и значение указателя стека, и адрес запуска. Первый блок исполняемого файла - заголовок, в котором описывается, как с этим файлом обращаться в памяти.
-
? gid@ - 03.07.2012 21:47
Признаю, был неправ. Нашёл документ http://www.bitsavers.org/pdf/dec/pdp11/rt11/v5.6_Aug91/AA-PD6PA-TC_RT-11_Volume_and_File_Formats_Manual_Aug91.pdf почитал. Оказалось, что я ничего не знаю об RT-11.
Зато возникли вопросы по регистрам HDD. Я то думал, что регистры 177740-177756 16 разрядные, а при чтении документации об интерфейсе ATA, оказалось, что регистры 8 разрядные, и только регистр чтения-записи данных 16/8 разрядный. В связи с этим вот такой вопрос: архитектурно какой разрядности в SMK эти регистры? Чисто 8 или 16, но из них используется только мл.байт?
-
? tim - 03.07.2012 22:30
Регистры эти не принадлежат адресному пространству SMK, он их только дешифрирует. Сами регистры физически располагаются на плате HDD/CFcard или любого другого устройства с интерфейсом IDE-ATA. Соответственно они такие, какие описаны в стандарте интерфейса.
-
? gid@ - 04.07.2012 09:44
Прошивка 2.05 оперирует с этими регистрами как с 16 разрядными. Значит и я буду считать, что с точки зрения ПО они таки 16 разрядные, но HDD использует только мл.байт регистра, старший - игнорируется HDD, кроме регистра чтения-записи данных.
-
? Voland@ - 04.07.2012 23:43
Запустил последние тесты. Идентификация СМК64, СМК512 - корректная.
Тест 4.1 на СМК64 отрабатывает корректно, выдавая одну ошибку теста режимов:
100: 10-5(4)
_
Тест 4.1 на СМК512 выдает как и прошлый раз сообщения о повторных подключениях страниц и ошибки режимов:
20: 17-6(4)
100: 10-6(4)
_
Тест 4.2 на СМК64 доходит до текста
"Тест памяти на ошибки
Этап 1
0120 - синхро" и на этом виснет со щелчком динамика и очисткой экрана. Нажатие на ресет возвращает на экран последнее содержимое, добавляя случайных точек по экрану.
_
Тест 4.2 на СМК512 пишет многократно сообщения
64-я страница с кодом ... уже подключали с ...
затем
"Тест памяти на ошибки
Этап 1
0120 - синхро" и на этом виснет со щелчком динамика и очисткой экрана. Нажатие на ресет возвращает на экран последнее содержимое, добавляя случайных точек по экрану.
¤
доходит до текста
-
? gid@ - 05.07.2012 10:39
Что означают ошибки теста режимов я уже писал ранее. Эта часть работает корректно и ожидает результатов работы режимов в строгом соответствии с официальной таблицей режимов SMK.
Тест 4.2 виснет из-за досадной ошибки, во время вывода сообщения об ошибке синхротеста. Вот исправленная версия http://files.mail.ru/JJIWML
Вот только сейчас всплыл один недочёт. Я проверял тест на упрощенном эмуляторе SMK512, который эмулирует только менеджер памяти. Винчестер я ещё не заэмулировал, и может ещё что-то не доделал, поэтому у меня всё работает замечательно. А на реальной железке с подключенным винчестером, по адресам 170000-177700 подключено ОЗУ, где находятся всякие текущие данные винчестера. Есть вероятность, что что-то может мешать синхротесту, внося какие-то свои данные в другие страницы ДОЗУ, пока проверяется текущая страница.
Поэтому в архив добавлен тест v4.2s с отключенным синхротестом.
Ещё небольшая просьба. Запустите пожалуйста тест v4.2 на SMK64 как с подключенным, так и с физически отключенным винчестером, будет ли разница в результатах?
Так же в архиве теперь два вида исполняемых файлов, в формате BIN и просто файл, записав который на дискету, потом надо исправить его адрес запуска на 01000.
-
? Дмитрий - 06.07.2012 11:07
То ли леший нынче рьян, то ли воздух нынче пьян,
То ли в ухе приключился у меня какой изъян? (с) Филатов
..
Пытаюсь сегодня отформатировать дискету на 800кб - фигвам. Окно заклеил, 800.com подгрузил, ДОС православный, а при попытке форматирования пишет, что повреждена нулевая дорожка и увы. Хотя давным-давно отформатированная дискета на 800кб отлично читается с заклеенным окном на этом же дисководе. Сначала подумал, что дискете каюк. Ан нет! Формат 1.44 проходит на ура. В хрюше вообще пишет, что использованы неприменимые параметры, т.е. /T:80 /N:10 низзя! Причем еще один интересный факт. Дискета (старая, давно форматированная и на нее записан АНДОС 3.30) в проводнике открывается (скопировал туда тесты), а в тотал командере не хочет показывать содержимое.
-
? gid@ - 06.07.2012 11:32
Есть такая штука, fdrawcmd.sys http://simonowen.com/fdrawcmd/ позволяющая в виндах читать, а главное писать и форматировать дискеты в нестандартных форматах.
А ещё есть полезная прога ukdskp http://zx.pk.ru/showthread.php?t=15545&highlight=ukdskp с помощью которой можно делать образы дискет и записывать их обратно на дискеты.
Самый простой способ сделать дискету 800кб - это записать на неё образ дискеты, т.к. ukdskp по умолчанию предварительно форматирует дорожку, при условии что не надо сделать именно MS-DOS 800кб, тут наверно стандартный format поможет, но утверждать не берусь, т.к. ни разу надобности не было.
А мой личный опыт показывает, что лучше форматировать дискеты на БК, так они читаются и на БК и на РС, а если форматировать на РС - они читаются на РС, но не всегда читаются на БК.
-
? Дмитрий - 06.07.2012 13:43
>> Есть такая штука, fdrawcmd.sys
Известно. Плохо работает. На форуме уже отписывались по ее граблям.
..
>> позволяющая в виндах читать, а главное писать и форматировать дискеты в нестандартных форматах
Читать и писать винда может и своими средствами, главное иметь отформатированную дискету. А вот формат там как раз хромает, емнип.
..
Образы дискет я уже давно научился писать на дискеты и делать с них образы. Пришлось самому писать утилиты. Именно поэтому много позже и решил сделать многофункциональную утилиту для работы с образами дискет и винтов (пока только в формате контроллеров Новака), ибо ничего из существовавшего на тот момент не устраивало. А насчет чтения дискет, отформатированных на РС, могу сказать только ХЗ почему одни дисководы читают на БК эти дискеты, а другие нет. Так как сам форматировал дискеты и на БК, и на РС - после заливки образа дискета нормально грузилась на БК. Только одно "но" - перепробовал много вариантов открытия диска А на запись, пока скопированный образ успешно загрузился на БК. До этого либо считывался загрузчик и все повисало, либо зависало на заставках. И только окончательный вариант заработал как надо.
..
Насчет ukdskp - спасибо, попробуем, пока не допишу свою. Кстати, в своей тоже намеревался использовать этот драйвер.
-
? Дмитрий - 06.07.2012 13:55
В догонку. Жаль, что никто не делал попыток создать "контроллер" USB-2-FDD. Мне вот с современной мат. платой без FDD очень неудобно. Так-то он мне не нужен, но, поскольку вожусь с БКшкой (и не собираюсь бросать) оченно нужен.
Современные USB-FDD дисководы крайне убоги и кривы. Мы их в нашем СЦ десятками отправляем по гарантии - то не пишут, то не форматируют, то не могут читать самими же отформатированные дискеты и самим же записанные данные. Короче мрак...
-
? foot - 06.07.2012 14:57
Дмитрий, нужно работать именно с физическими дискетами?
А то нете кок-то попалась небольшая утилитка виртуального FDD.
-
? Дмитрий - 06.07.2012 15:21
Да, с физическими. С файлами/образами можно поработать и на РС, а потом залить образ на дискету и грузануться/использовать на БК. Виртуальные я видел, но, опять же, на выходе будет образ, как я понимаю?
-
? Аноним - 06.07.2012 16:53
Шоу комиков :)
Похоже никто не слышал про чередование секторов :)
И что именно поэтому нужно форматировать на БК :)
-
? Дмитрий - 06.07.2012 23:48
Я пас, сорри.
Ни один дисковод не форматирует на БК дискеты. Тот старый, что покупался у Новака на 720кб, форматирует, но при проверке на каждой дорожке ошибка - он изначально глючил. Современные (пробовал 2 разынх производителей - 100% исправны) также не хотят работать - при попытке форматирования ANFORMAT выдают "Нет сигнала 0 дорожки". Нашел USB дисковод - не понимает обычную плотность, хотя заявлено, и не виден в ДОСе на современной мамке, если загружены с виртуального диска А (всякие Hiren и иже с ними). Вобщем аллес...
-
? RADIX50 - 07.07.2012 01:00
прошу прощения,что влезаю,и если вдруг %оффтоп%..
¤
Вот существует такая вещь: электронный диск. Нет,не ramdrive.sys,не
"qdisk.sys"(драйвер "квазидиск" у ДВК),а именно диск.
Известный мне экземпляр выглядит как "коробочка" типа МСТД или побольше,
в габаритах самого FDD.
Подключается - к 34-контактн. разъему контроллера КНГМД... Емкость - 720К
или даже 1.44МБ... Элементная база - микросхемы стат.памяти типа 537РУ10.. РУ17
(или имп.аналоги,либо 1 чип бОльшей емкости для вар. 1.44М)...
Все сигналы "ответной" части интерфейса(со стороны накопителя FDD) формируются
логикой схемы(т.е.,получается,дешифратором ОЗУ объемом 0.72..1.44М);предусмотрена
аппаратная защита от записи(любой переключатель на 2 положения,отключающий линии
записи в м/сх);вроде бы,даже есть светодиодная индикация сигналов(TR00,DS,RD/WR,
обращение к приводу),хотя,это может быть и необязательным(за искл. индикатора
обращения,как на фасаде у обычного FDD).
¤
Для ОС и контроллера эта "электронная дискета" видится как набор сегментов по 512Байт
каждый(т.е.,как уже отформатированная стандартным способом),правда,сигнал выборки
дорожек(00..79) тоже надо как-то формировать(полагаю,что тоже делается аппаратно в
самой схеме "диска"?)...
¤
Я не помню,точно,у кого и где,но такая разработка попадалась...
¤
По крайней мере,для "РК-86" и для ДВК(в "М.П.С.С." публикация должна
быть),вроде,такая вещь была реализована: в случае ДВК,на этом "э-флоппи"
(настоящий,невиртуальный,электронный диск!) у автора статьи размещались
временные файлы программ пользователя и системы и ее же файл подкачки.
Определялся этот диск обычным драйвером ОС (если не путаю,RT11-образная),
т.к. был разработан как раз "под нее". Насколько помню,обращение к этому
"электронному флопу",по отзывам автора,было практически мгновенным,и
системные дискеты перестали изнашиваться...
¤
Опять же,не помню,когда,где и у кого,но такая схемка пробегала...
Подкиньте,если кто помнит,вдруг завалялось.. Мож,полезно было бы
сделать/оживить такую штуку.. Допустим,один такой использовать взамен
диска A:\ (системный/бутовый),а вторым - физический флоппик,с дискетой
(БКшный интерфейс,насколько помню,позволяет подцепить аж до 4 FDD, A:\..D:\),
в отличие от IBM PC'шного...
Правда,при отключении питания вся информация на таком "диске" исчезнет,
если не предусмотреть резервное питание(от бат. CR-2032 или АКБ).
¤
Если кому-то "говорю под руку",извиняюсь.. Но вот была такая фишка,я
насколько помню.
¤
А если реализовать такой "Э-Ф-диск" на м/сх типа "1801РР" или аналогичных
ей современных нужной емкости(кроме типа "28F1000...",ничего больше не
вспоминается),получается что-то типа флэшки на 1.44М(720К,2.88М) с интерфейсом FDD,неизнашивающийся электронный флоппик...
¤
Зато удобно: сделал загрузочным,тумблер защиты записи передвинул - и
неси куда хошь,на любой БКшке будет работать точно так же... И образ с него или
на него сделать - тоже можно(я так понимаю) будет....
А если еще предусмотреть свой собственный контроллер(для этого "FDD")... чтоб
сразу на МПИ вешалась,без "посредников"(как один из программаторов БКшных,не
помню,чьей разработки) - так и вообще "вкуснотищща" :)
¤
¤
А то народ с дискетами/USB-дисководами мучается,мучается...
-
? RADIX50 - 07.07.2012 01:07
TO: Дмитрий
RE:"Я пас, сорри.
...Современные ...также не хотят работать - при попытке форматирования ANFORMAT выдают "Нет сигнала 0 дорожки". Нашел USB дисковод - не понимает обычную плотность, хотя заявлено, и не виден в ДОСе на современной мамке..."
¤
Не только вы намучались..
Мы тоже так же..
Причем,поставщики говорят,что большинство современных "внешних" флопиков(точнее,их
USB- и прочие встроенные контроллеры) часть сигналов не вырабатывают вообще- т.е.,
никакой совместимости не получается(производителям не надо,делают по остаточному
принципу)...
¤
Хотя,на обычном,"нормальном" 3.5"-флопике(который к FDC на материнке подключается),
дискеты на 720К форматировал,заклеив окно высокой плотности...
-
? RADIX50 - 07.07.2012 01:26
RE: "вдогонку"
¤
...А про "электронный флопик" - может,если до ума довести,все же
в хозяйстве полезной вещью окажется?.. Схему бы вот только внятную...
А если собирать - то желательно на рассыпухе(не на ПЛИСках и не в стиле
"контроллеров USB-2-F-DD")... можно ж ведь не один такой сделать,и
применять в комбинации,или как "А:\" и "B:\",в простейшем случае...
-
? Дмитрий - 07.07.2012 12:07
>> дискеты на 720К форматировал, заклеив окно высокой плотности
Вот поэтому и не могу взять в толк что случилось. Когда пробовал разворачивать образ на дискету, юзал обычный флоп Mitsumi. На БК он нормально форматировал дискеты на 800кб. А сейчас отказывается.
..
>> неизнашивающийся электронный флоппик
Если на м/с типа 28F1000, то не подойдет. Очень ограниченное кол-во циклов перезаписи. Умельцы разработали эмулятор флопа на SD - http://hxc2001.free.fr/floppy_drive_emulator/ проще уж такой юзать. Схема там есть, плата и прошивка тоже.
-
? RADIX50 - 07.07.2012 18:18
RE: %"hxc2001.free."%...
¤
Хм.. А подключение?.. Неужели у ATARI/ST в те годы был USB-порт? %)
И потом,тот-то Read-ONLY(у них же и сказано там),и USB,и без джамперов(только
программно задается)...
¤
Тот,что я видел,-тот стандартный,FDDшный.. был.. :(
¤
¤
To: Дмитрий
...А если 28F1000 не подходит,то можно полагать,что м/сх "РУ17" были
разработчиком выбраны правильно(позволяет и read,и write без потерь циклов
перезаписи)... А встроенная батарейка позволит сделать этот "E-флоппик"
энергонезависимым... Только скоко ж корпусов надо,чтоб на 720К хотя бы
набрать... ((((
А ищо и дешифрация/выборка... Мда.. (((
Жаль.. Как всегда - для "РК-86"(или какой он там был) сделали,а для БКшки
- нету...
¤
¤
Я почему вот и спросил у уважаемого "%ALL%",не было ли таких задумок
вообще,в принципе.. А мож,у кого схема завалялась,чем черт не шутит..(тоды
проще было бы немного...- а то сварганишь что-нидь,а оно не ко всем подойдет,
допустим...)
¤
-
? RADIX50 - 07.07.2012 18:28
RE: " скоко ж корпусов надо,чтоб на 720К хотя бы..."
Хотя,если как у тех умельцев,что на "hxc2001.free",то там в ихнем
эмуляторе стоИт одна м/сх емкостью вроде 2МБит*8(на 1.44 хватает,и на 1.77МБ,
если нестандартно форматнуть),можно в тот,что типа "РКшный" такую же
запихнуть.. Правда,всю логику придется переделывать...
...И плохо еще,что у них нет записи в тот "электро-флоппик"(интересно,как
они туда данные тогда загружают?)
-
? RADIX50 - 07.07.2012 18:40
RE: "hxc2001.free"
...или я что-то не понял,или там схема-прошивка только для USBшного,"hXc" который.. %)
А для первого варианта - только печатная плата...
-
? Дмитрий - 07.07.2012 22:20
>> И потом,тот-то Read-ONLY(у них же и сказано там),и USB,и без джамперов (только программно задается)...
http://hxc2001.free.fr/floppy_drive_emulator/index.html#SDCARDFloppyemulator - внизу после описания есть все: схема, плата, прошивка, сырцы прошивки.
-
? Дмитрий - 07.07.2012 22:28
http://www.shlock.co.uk/Utils/OmniFlop/OmniFlop.htm - вот еще драйвер для форматирования, чтения и записи нестандартных дисков. Формата БК не нашел, но можно попробовать подобрать.
-
? Voland@ - 24.08.2012 14:28
gid, я проверил тесты 4.1, 4.2, 4.2S на оригинальном SMK-64 на БК-0010-01, тесты памяти и режимов проходят корректно, кроме одной особенности: в тестах 4.2 и 4.2S объем памяти показывается только 16 Кб.
_
На БК-0010-01 + SMK512 версия 4.1 выдает ошибки "уже подключали" - явно проблемы с режимами, а 4.2, 4.2S виснут на слове ПОДГОТОВКА. Сколько памяти всего, не показал ни один из них.
_
Вопрос: какая логика в оригинальном тесте 3.7 - тест режимов на БК-0010-01 запускается без выдачи каких-либо результатов? А то непонятно, проводился он или нет, визуально все выглядит как и при запуске на БК-0011М.
-
? gid@ - 24.08.2012 15:30
Навскидку могу ответить только на последний вопрос.
Если на БК-0010-01 запустить тест 3.7 и он по режимам ничего не написал, типа "Ошибка Ю", "Ошибка Ч", то значит всё нормально, все режимы работают корректно.
По остальным вопросам смогу ответить, как только создам в эмуляторе конфигурацию БК10+СМК512 и перетестирую свои тесты. То ли я где-то ошибся в подсчётах памяти, то ли не учёл какой-то особенности БК10.
-
? gid@ - 24.08.2012 20:40
Итак, по первому пункту - неправильное отображение количества памяти - мой косяк. Проявлялось только на БК0010. Исправлено.
По второму пункту - думал-думал, так и не придумал, из-за чего виснет, добавил в алгоритм проверки вообще всех, даже невозможных случаев. А так же визуализировал процесс. Теперь во время подготовки на экран выводятся точки. Их должно быть 32 штуки, по количеству всех кодов режимов СМК512. Единственное объяснение, почему виснет - происходит прерывание по вектору 4 и что-то идёт не так, как должно быть теоретически. Надо подумать над пультовым режимом для отладчика эмулятора.
Вот архив с исправленными тестами http://files.mail.ru/5G11FT Я забыл уже как они там были поименованы, поэтому имена файлов скорее всего не такие, как в прошлые разы были. Файлы без расширения - исполняемые файлы, запускать с адреса 01000, с расширением .BIN - они же, но в формате БИн для эмуляторов, так же там исходники и описания, всё в одной куче.
-
? tim - 25.08.2012 14:27
dig, Вы в какой среде пишете и компилируете тесты: на БК или РС? Если второй вариант, то ссылкой поделитесь плз.
-
? gid@ - 25.08.2012 15:29
Тексты я пишу на РС, т.к. там это не в пример удобнее делать. А компилирую и отлаживаю в эмуляторе БК. С помощью утилитки BKDE http://files.mail.ru/VQ305W копирую текст в образ дискеты, потом гружусь с неё в эмуляторе и компилирую.
------------------------
Подумав на досуге, я придумал, как сэмулировать хоть частично неисправный СМК512, и погонял на нём тесты.
В общем тест 4.2 можно смело выкинуть, он совсем никуда не годится. Поэтому написана следующая версия теста
http://files.mail.ru/I7CRK0 из нововведений: правильная обработка ошибок и прерываний по вектору 4, надеюсь теперь всех. Кнопка СТОП как не блокировалась, так и не блокируется, так что нажимать на неё не надо, во избежание. Проверку текущего кода страницы можно пропустить нажатием клавиши. Это на случай, если подключена несуществующая страница и там все 8192 слова буду вызывать прерывание по вектору 4, чтобы не ждать, сразу перейти к следующей странице.
-
? Voland@ - 25.08.2012 17:14
gid, я собирался уже на почту, вдруг увидел что Вы мне отчество не написали. Отпишите пожалуйста в почту, почта не отправит без указания отчества, а если отправит - не сможете получить.
-
? severyanin - 25.08.2012 17:42
А я отправлял с нашей почтой из Москвы без отчества и ничего, в Воронеж нормально пришло и получено. Сорри за офтоп...
-
? Voland@ - 25.08.2012 21:13
Видимо раз на раз не приходится. Ну по крайней мере ближайшие ко мне почты капризничают насчет отчества.
gid, на БК-0010-01 для SMK-64 все отрабатывает корректно (и 4.3 и 4.3S).
для SMK512 на БК-0011М теперь выводится 32 точки, без зависаний, ошибки памяти само собой прежние, все время присутствуют ошибки синхронизации.
для SMK512 на БК-0010-01 происходит зависание после появления 9-й точки, при этом в момент зависания начинает вращаться дисковод.
-
? gid@ - 25.08.2012 22:18
SMK512 на БК-0011М ругается на все страницы, что их уже подключали? сколько показывает в конце концов памяти?
ошибки синхротеста начинаются вообще с самой первой страницы? 4.3S без синхротеста, должен определять только факт наличия битой ячейки памяти, либо отсутствие доступа к ячейке памяти, он хоть на одной странице отрабатывает без halt ошибок?
Поскольку, при точном воспроизведении железа от SMK64, должно полностью корректно отрабатываться хотя бы первые 4 кода: 120, 20, 2120, 2020.
SMK512 на БК-0010-01 работает более загадочно.
9-я точка - это проверка установки режима 170 = (SYS + код 10). код режима устанавливается так:
1) mov #6,@#177130
2) mov #code,@#177130
3) mov #0,@#177130
следовательно, вращение означает, что команда 2 выполнилась - это она включает двигатель, а команда 3 - нет,
т.е. проблемы где-то в железе, после выполнения команды 2 что-то на шине МПИ завесило БКшку, вместо отключения ПЗУ бейсика.
Тут нужны знания и возможности посерьёзнее моих, нужно пультовым отладчиком поглядеть, что творится на шине А/Д, не нарушаются ли циклы ввода-вывода, не прут ли посторонние сигналы куда не следует.
-
? gid@ - 26.08.2012 10:15
Я тут вспомнил вот что. Цитата: "На контроллерах с доп. ОЗУ менее 256 Кб на БК10 может быть подключено ПЗУ Бейсика традиционно записью #10 в 177130, правда на режимы ОЗУ это никак не влияет."
А вот на SMK256 и SMK512 код 10 используется для подключения страниц ОЗУ. т.е. там, если не исправить схему SMK64 должно получаться для БК10 наложение ОЗУ на ПЗУ. В схемах SMK256 и SMK512 сигнал с ноги 38 ВП1-128 не должен передаваться на контакты МПИ А14 и А29, на них надо завести +5В, чтобы отключить ПЗУ Бейсика, он всё равно не нужен, а сигнал с ноги 38 завести на регистр-защёлку кода страницы памяти 74LS174N (555ТМ9),
правда для SMK512 в нём всё равно не хватает одного разряда, так что лучше заменить его на 8 разрядный.
-
? Дмитрий - 26.08.2012 14:46
А вообще были рабочие варианты СМК512 у Новака? Что-то мне подсказывает, что нет. Если он отдал все наработки по СМК, то почему среди сырцов нет прошивок для 512? Сдается мне, вариант с 512 был в проекте, а не готовые к продаже изделия. А поскольку их не заказывали - этот вариант забросили. Может быть забросить эту совместимость в ПЛИС и просто тупо по кодам подключать к адресному пространству окна ОЗУ? Один черт софта для работы с памятью СМК нет вообще, кроме теста.
-
? Voland@ - 26.08.2012 15:45
gid, на БК0011М + SMK512 тест 4.3 показывает 64 кб, 30 ошибок повторного подключения страниц, привожу первую и последние строки:
64 стр. с кодом 0124 уже подключали с 0120
..........................................
64 стр. с кодом 2035 уже подключали с 2020
64
Далее, по 4 ошибки синхронизации на обоих этапах тестирования:
Этап 1
0120 - синхро 137130:ОШИБКА
0020 - синхро 137130:ОШИБКА
2120 - синхро 137130:ОШИБКА
2020 - синхро 137130:ОШИБКА
2020 - 0000000000000000
Этап 2 - аналогично
¤
Заметил какой-то странный глюк, не знаю тест ли виноват или аппаратура, но иногда тест выдает 0 (или 32 кб памяти) и при этом не 30, а 32 строки ошибок повторного подключения, первая строка уже другая:
0 стр. с кодом 0120 уже подключали с 0120
..........................................
0 стр. с кодом 2035 уже подключали с 2020
0
¤
При такой ошибке тесты памяти вообще пропускаются и сразу выдается тест режимов, где добавляются две ошибки, обычно отсутствующие:
160: 12-2(6) 13-2(6) 14-2(6) 15-2(6)
60: 12-2(6) 13-2(6) 14-2(6) 15-2(6)
-
? gid@ - 26.08.2012 18:55
1) Не должно быть 30 ошибок. с кода 0124 до 2035 их всего 28.
2) То есть на реальном железном СМК64 ошибок синхронизации нет?
Если так, то это означает следующее. Ваша схема СМК512 неверная. Изменение в ячейке 137130 - это изменения в 177130, когда ОЗУ налагается на область регистров.
Судя по таблице режимов работы и распределения памяти, в режиме 120 по адресам 177000-0 не должно быть ничего. У вас же там 7й сегмент памяти (по старой схеме это верно, по новой - нет), в режиме 020 по адресам 177000-0 должен быть сегмент 3 в режиме только для чтения, у вас же он в режиме чтение-запись.
3)Пока нет идей. Похоже на наведённую ошибку. Всё что творится после подготовительного этапа, зависит от таблицы ошибок страниц, которая заполняется сначала. И если делать подготовку 2 раза подряд, не выполняя других этапов, например как-либо перезапустив тест, результат может быть как раз таким.
-
? Voland@ - 02.09.2012 13:25
gid, у меня тут досадная промашка вышла, тест 4.3 на БК-0011М с родным СМК-64 все-таки тоже пишет ошибки синхронизации на каждой странице. То ли я не заметил ранее этого, то ли вообще не тестировал в такой конфигурации. Ну или у меня сдыхает БК-0011М, т.к. разные экземпляры контроллера дают один и тот же результат. На БК-0010-01 при этом ошибок синхронизации с СМК-64 не наблюдается.
-
? gid@ - 02.09.2012 17:37
БК 11М тут ни причём.
Ошибка синхронизации, это не совсем ошибка, а просто недоработка схемы СМК, как я уже писал выше, это просто наложение ОЗУ на область регистров, при этом когда мы что-то пишем в регистры, данные в ОЗУ повреждаются. При манипуляции страницами и хранении и обработке там каких-либо оперативных данных, например таблиц баз данных это чревато непредсказуемыми глюками в базе данных, которые можно будет заметить далеко не сразу.
На БК-0010-01 ошибок синхронизации с СМК-64 и не может быть в принципе, т.к. в режимах 160 и 60 по адресам 177000-177777 либо ПЗУ, либо ничего нет.
На БК 11 для работы со страницами используются режимы 120 и 20.
Судя по документу, в ранних версиях контроллера в режиме 120 по адресам 177000-177777 было ОЗУ в режиме только запись, но в поздних версиях контроллера это исправили, теперь там не должно быть ничего. Исправили именно по причине повреждения данных в ОЗУ при записи в регистры. В режиме 20 адресам 177000-177777 ОЗУ должно быть в режиме только чтение.
В общем-то тест режимов отлавливает эти ситуации, и если он на все режимы говорит ОК, но тем не менее присутствует ошибка синхронизации, то мы имеем какой-то изначальный, никем не замеченный глюк самого СМК.
Например в режиме 20 в диапазоне 177000-177777 если мы попытаемся записать данные куда-либо кроме регистров, - контроллер отрабатывает штатно - не выдаёт сигнал RPLY. А если мы что-то пишем в какой-либо регистр, то БК вырабатывает сигнал RPLY и зачем-то в СМК срабатывает разрешение на запись данных в своё ОЗУ.
Вот такая теория, пока других мыслей по этому поводу нет. Хотя она не объясняет, почему это проявляется только на БК11М, а на БК10 при тех же условиях - нет, т.е. в режиме 60 при неправильной работе тоже должна быть ошибка синхронизации, т.к. в нём в сегменте 170000-177777 должна быть абсолютно идентичная ситуация с режимом 120 на БК11М.
Плохо то, что мои тесты не гоняли другие люди на своих бкашках и своих контроллерах, не хватает статистики.
-
? Voland@ - 06.09.2012 00:42
Ни у кого нет мыслей, как это пофиксить? Не хочется в БК-0012 тащить врожденный глюк СМК-64...
-
? tim - 06.09.2012 12:08
Надо поправить "паршивку" дешифратора страниц 556РТ5.
-
? Voland@ - 06.09.2012 12:18
tim, сможете помочь?
а я бы прошил и протестил.
-
? tim - 06.09.2012 12:21
Хорошо, постараюсь в ближайшие сроки
-
? tim - 06.09.2012 12:23
И еще. выложите какой прошивкой вы залили его сейчас (ну либо в виде таблицы состояний, не знаю как у вас конкретно реализовано)
-
? Voland@ - 06.09.2012 12:31
А бинарники подойдут, непосредственно из ПЗУ?
-
? gid@ - 06.09.2012 12:35
С целью более уточнить, кто виноват, я немного модифицировал тест V4.3, теперь при записи данных в 177130 для смены режимов, ещё пишутся данные в 177716. Чтобы наверняка узнать где косяк. Будет ли теперь возникать ошибка синхронизации кроме 137130 ещё и в 137716 ? в качестве побочного эффекта тест теперь сопровождается звуковыми эффектами. http://files.mail.ru/0TEDUR
А насчёт мыслей, есть одна. Я долго и упорно разглядывал схему SMK-64 даже постиг смысл и сущность прошивки 556РТ5, смотрел даташит на микруху ОЗУ HM62256LP (если я угадал и там действительно используются такие).
Если ошибка синхронизации будет возникать только по адресу 137130, то это только из-за ВП1-128. это его регистр. И значит в схеме не учтены какие-то особые временные характеристики.
у HM62256LP запись происходит если ~CS = L и ~WE = L, состояние ~OE не важно.
Мысль такая: при записи в регистры ВП1-128 в схеме ненадолго на вход ~WE попадает L и этого оказывается достаточно микрухе ОЗУ, чтобы сработать на запись.
Если же по адресу 137716 тоже будет ошибка синхронизации, то я полностью не прав.
-
? Voland@ - 06.09.2012 12:36
ОК, вечером проверю, прошивки тоже вечером выложу.
-
? Дмитрий - 06.09.2012 15:46
Ребят, а если изначально разделить регистр 128-ой и регистр памяти? 177134, например. Как я уже говорил, софта под память СМК не существовало вообще, кроме пресловутого теста. Так может в БК12 и разделить их сразу? Это разве не должно убрать вышеупомянутые грабли?
-
? Voland@ - 06.09.2012 15:47
А останется ли при этом совместимость со всякими OS A/WASP и т.п.?
-
? gid@ - 06.09.2012 16:49
это не решит проблему. В регистр 177130 пишутся не только коды переключения режимов памяти контроллера, но ещё и команды управления дисководом. Ошибку вызывает сам факт записи в 177130 (это ещё не проверено, только ли в 177130), а что туда записывается - не столь важно.
-
? Voland@ - 06.09.2012 21:33
gid, вот результаты БК0011М + СМК64:
Этап 1:
0120 - синхро 137130:ошибка
0020 - синхро 137130:ошибка
0020 - синхро 137716:ошибка
2120 - синхро 137130:ошибка
2020 - синхро 137130:ошибка
2020 - синхро 137716:ошибка
2020 - 0000000000000000
Этам 2 - аналогично
Тест режимов только одна ошибка, как и раньше:
100: 10-5(4)
-
? Voland@ - 06.09.2012 22:52
tim, прошивки РТ5 для смк64 и смк 128 в этом архиве:
http://www.fayloobmennik.net/2176495
rom 64 получена один к одному из MAC 64,
rom 128 получена из MAC 128 с применением рекомендации:
_
? tim - 24 мая 13:26
В добавление к предыдущему: прошивка 64 от 128 отличается целиком, это я имел ввиду. Поправляя CD-inc. Поправки вносить в скомпилированный файл прошивки SMK128.mac: а) по адресам 0X84 - 0X85 заменить 6F на FF, б) по адресам 0X189 - 0X18F заменить AF на 2F
-
? gid@ - 06.09.2012 23:54
Как можно увидеть, в режиме 120 запись в 177716 ошибки не вызывает.
Вот я не понимаю, как тест режимов для режима 20 говорит ОК. Ведь явно ОЗУ не в заданном режиме работает.
Не поленился и ещё раз протрассировал работу теста режимов. Тест на математической модели - эмуляторе СМК работает совершенно корректно.
В тесте область регистров 177000-177777 проверяется на ячейке 177172. Её поведение полностью укладывается в таблицу режимов.
Тут надо в мониторе БК11М вручную сперва включить на контроллере режим 20
а потом выборочно записывать что-нибудь в ячейки из диапазона 177000-177777 и смотреть реакцию, будет возникать ошибка записи или нет.
И ещё этот невозможный код ошибки 5. Глядя на исходник, у меня он получается только в одном случае. Когда запись не происходит, но сигнал RPLY, тем не менее, вырабатывается. Проблема опять-таки в сигнале, который получается на 17-ноге 556РТ5 (О8).
Либо повреждена прошивка, либо сама микросхема, либо где-то сопля на плате замыкает с чем-то ногу 1 микросхемы U1000 (74LS32N), там не всегда присутствует высокий уровень, когда это нужно.
------------------------
кстати, прошивки 555РТ6 никак не зависят от количества набортной памяти в контроллере. прошивка только управляет поведением сегментов памяти в каждом из 8-ми режимов т.е. вкл./откл., разрешено чтение/запись, выборкой 16-килобайтных половинок.
так же ловит адреса регистров HDD, чтобы на них генерировался сигнал RPLY. и чтобы по адресам 170000-177000, всегда было ОЗУ - RW, если по режиму положено.
Просто исходник SMK64.MAC - это как раз старая схема, в которой надо поправить те самые 4 байта.
-
? Voland@ - 07.09.2012 00:03
Как включать вручную режим 20?
Но smk64.rom и smk128.rom отличаются друг от друга не четырьмя байтами...
Таким образом, нам надо использовать smk128.rom на всех контроллерах?? Можете проверить файл smk128.rom на полную корректность?
-
? gid@ - 07.09.2012 07:15
Вот к сожалению сам без инструкции не умею пользоваться командами монитора, мне проще написать прогу, чтобы она сама делала то, что нужно.
надо в ячейку 177130 последовательно записать 6, 020, 0 - включится режим 20, потом так же записывать в разные ячейки любые числа и смотреть, если записалось - монитор никак не прореагирует, если не записалось - нарисует "?". кажется так.
На выходных напишу специальный тест, который будет проверять диапазон 177000-177777 во все режимах и как это влияет на память.
На всех контроллерах нужно использовать одну и ту же прошивку. smk128.rom проверю завтра-послезавтра и скажу результаты.
-
? gid@ - 07.09.2012 23:27
Итак, у меня две новости, и все три хорошие.
1. Насчёт одинаковости прошивки РТ5 для всех контроллеров я оказался полностью не прав. Небольшие нюансы зависят от типа используемых микросхем ОЗУ в контроллерах.
2. CD-Inc окинувши свежим взглядом исходник теста нашёл таки багу, которая доставила кучу неприятностей. Ждите новую версию теста.
3. Про 4 байта - это я опять облажался, не 4, а 10, и как раз именно те, и такие, как говорил CD-Inc, но зато сейчашний файл smk128.rom Volandа капельку неправильный, по адресу 0х188 находится AF, а должно быть 2F. В этом архиве http://files.mail.ru/3OXGNP набор файлов:
SMK64OLD.MAC - исходник для компиляции в ассемблере Turbo, старая версия прошивки для СМК64
SMK64OLD.ROM - скомпиленная и убайченная прошивка старой версии для СМК64
SMK64NEW.MAC - исходник для компиляции в ассемблере Turbo, новая версия прошивки для СМК64
SMK64NEW.ROM - скомпиленная и убайченная прошивка новой версии для СМК64
SMK128OL.MAC - исходник для компиляции в ассемблере Turbo, старая версия прошивки для СМК128
SMK128OL.ROM - скомпиленная и убайченная прошивка старой версии для СМК128
SMK128NE.MAC - исходник для компиляции в ассемблере Turbo, новая версия прошивки для СМК128
SMK128NE.ROM - скомпиленная и убайченная прошивка новой версии для СМК128
W2BCNV.ASM - примитивнейшая убайтивалка скомпилированной прошивки, работает в ANDOS, MKDOS, так что теперь каждый может сам делать какую ему захочется прошивку для РТ5
Вся проблема в том, что в ассемблере Turbo нельзя писать конструкции типа .BYTE P,P,P,P
т.к. P - это метка, а метка - это адрес, а адрес только 16 разрядный и в байт не влазит, поэтому тут ассемблер выдаёт ошибку.
Из-за чего .BYTE заменили на .WORD, чтобы можно было таки скомпилировать, а не набивать всё вручную, а затем ужать каждое слово до байта.
-
? Voland@ - 07.09.2012 23:58
Итого, и в SMK-64 и в SMK-512 теперь надо шить SMK128NE.ROM ?
Так в итоге, бага получается была и в тесте и в SMK64? Что конкретно явилось причиной ошибки синхронизации, или обе эти баги сразу?
-
? gid@ - 08.09.2012 13:00
Нет. В реальный оригинальный SMK-64, в котором две микросхемы ОЗУ HM62256LP надо шить SMK64NEW.ROM. Т.к. SMK128NE.ROM по другому управляет сигналами CS0 и CS1, и при этом SMK-64 просто не будет работать в некоторых режимах.
А вот что надо шить в SMK-512, я вообще без понятия, т.к. даже не представляю какое ОЗУ там используется, и как реализовано схемотехнически. Если по типу SMK-64, то прошивку от SMK-64, если по типу SMK-128, то от него.
-----------
Я вчера был уставший и невнимательный. Сегодня всё ещё раз перечитал и пересмотрел. Оказалось, я рано радовался, баг всё таки аппаратный, и связано как раз с записью значений в 177130. Порча данных в 137716 - это следствие старой прошивки РТ5. Так что новую версию теста писать незачем, разве что из спортивного интереса.
-
? tim - 08.09.2012 13:21
По поводу правки прошивок мой косяк, недосмотрел тогда со смещением, нужно было менять AF на 2F по адресам 188 - 18F. Данный баг должен вылезти про обращении в область 167000-167777 в режиме 6 с кодом 100.
-
? Voland@ - 08.09.2012 19:04
tim, со своей стороны можете подтвердить, что последние выложенные SMK64NEW.ROM и SMK128NE.ROM - окончательно корректны?
-
? tim - 08.09.2012 22:45
Да, теперь вроде верно с учетом того, что было сказано ранее:
-----------Нет. В реальный оригинальный SMK-64, в котором две микросхемы ОЗУ HM62256LP надо шить SMK64NEW.ROM. Т.к. SMK128NE.ROM по другому управляет сигналами CS0 и CS1, и при этом SMK-64 просто не будет работать в некоторых режимах.
А вот что надо шить в SMK-512, я вообще без понятия, т.к. даже не представляю какое ОЗУ там используется, и как реализовано схемотехнически. Если по типу SMK-64, то прошивку от SMK-64, если по типу SMK-128, то от него.
-----------
-
? blopp - 10.09.2012 10:28
tim, Там используются четыре микросхемы 621024 или 431000 "бутербродами". По сети гуляет фото, на котором видно как CSы туда паяются. А вот прошивки для РТ5 на эту кучу памяти не видел.
-
? Voland@ - 10.09.2012 21:59
tim, gid, а при установке SMK64NEW.ROM в оригинальный SMK64 что должно произойти, пропадет ошибка 137716, но останется ошибка 177130 (нет чистых РТ5, чтобы проверить) ?
тогда как аппаратно устранить ошибку 177130 ?
-
? gid@ - 11.09.2012 09:34
должны пропасть вообще все ошибки. там проблема в том, что в режиме 120 ОЗУ в режиме только запись, а в режиме 20 - ОЗУ в режиме только чтение. Ошибка 177130 и 137716 появляется как раз из-за того, что в режиме 120 ОЗУ в режиме только запись. А в режиме 20 ошибка 177130 появляется из-за того, что в момент смены режима со 120 на 20 прежний режим работы ОЗУ остаётся на один лишний цикл дольше, и ОЗУ успевает испортиться. Вот решение, которое предложил CD-Inc http://files.mail.ru/N38S9K
-
? Voland@ - 11.09.2012 11:12
Так ошибка пропадет только после аппаратной доработки? Интересно, влезет ли на плату СМК64 еще одна микросхема...
-
? gid@ - 11.09.2012 12:14
ненене. Не совсем так.
После аппаратной доработки ошибка пропадёт при переключении из режимов 120, 100 и 0 в режим 20 если используется СТАРАЯ версия прошивки.
Если используется НОВАЯ версия прошивки, то при переключении из режимов 120 в 20 ошибка не будет проявляться даже без аппаратной доработки, а при переключении из 100 и 0 в 20 нужна доработка, чтобы ошибки не появлялось.
555ТМ2 - 14 ножечная, можно напаять вторым этажом над любой другой 14 ножечной, которая будет ближе к месту.
Вот рекомендация, опять же, от CD-Inc:
Процесс простой:
1) Находим микросхему ЛП8 (стоит первой параллельно МПИ)
2) Аккуратно откусываем и подымаем от платы 8 ногу.
3) Берём 555ТМ2 и отгибаем вверх все ноги кроме питания 7 и 14.
4) Припаиваем вторым этажом на любую 14ти ножечную микросхему за ноги питания, совместив ключи. Я паял на ЛЛ1.
5) Кидаем проводом перемычку с 9(5) ноги ТМ2 на то место куда паялась 8я нога ЛП8. (в скобках для другого триггера, кому как удобно)
6) Кидаем провод с 11(3) ноги ТМ2 на 20ю ногу РТ5.
7) С 12(2)й ноги ТМ2 на 8ю ЛП8
8) Внимательно смотрим что ничего на закоротили, питание ТМ2 правильно, отсутствие соплей.
9) Включаем тест радуемся отсутствием мусора в 3й странице. А при наличие новой прошивки ещё и в 7й.
-
? Voland@ - 11.09.2012 12:59
Классно, сегодня попробую.
-
? Voland@ - 13.09.2012 00:20
Попробовал прошить новую прошивку SMK64NEW.rom в оригинальный SMK64, на БК0011М при тестах памяти нет теперь ни одной ошибки, только одна при тестах режимов (но это как я понял штатно). Так для чего аппаратная доработка, если память итак тестируется правильно? Или чтобы ошибку режимов устранить?
-
? gid@ - 13.09.2012 09:35
В общем, я как обычно всё перепутал. То, что я выше написал, почти так, но задом наперёд.
Поправляю сообщения от 11 сентября 09:34 и 11 сентября 12:14. Должно быть так:
При прошивке SMK64NEW.rom даже без аппаратной переделки должны пропасть вообще все ошибки при переключениях между режимами 120 и 20 (только и только между ними).
Там проблема в том, что в старой прошивке в режиме 120 ОЗУ в режиме только запись, а в режиме 20 - ОЗУ в режиме только чтение. Ошибка 177130 и 137716 появляется как раз из-за того, что в режиме 120 ОЗУ в режиме только запись. Это исправляется только прошивкой НОВОЙ версии, аппаратная доработка на это никак не влияет.
А в режиме 20 ошибка 177130 появляется из-за того, что в момент смены режима с 20 на 120, новый режим работы (120) устанавливается немного раньше задуманного. Поэтому ОЗУ портится. Именно для этого и нужна аппаратная доработка. Исключить порчу данных при переключении из режима 20 в 120 на СТАРОЙ версии прошивки. На НОВОЙ версии прошивки ошибка пропадает без аппаратной доработки потому, что в режиме 120 ОЗУ там отключено, так что портиться нечему.
А так же аппаратная доработка нужна, чтобы исключить порчу данных при переключении из режима 20 в 100 и 0 на ЛЮБОЙ версии прошивки.
Вся фигня в том, что ошибка проявляется уже после переключения режима, данные портятся при раскладке предыдущего режима, а проявляются в раскладке нового, поэтому это сбивает с толку и путает.
----------------------
Итак. Аппаратная доработка нужна, чтобы контроллер отрабатывал корректно смену всех режимов, а не только переключение между 120 и 20. Кстати, без доработки, при переключении между режимами 20 и 100 или 0 ошибка отлично проявит себя и на БК10, и на БК11, на любой версии прошивки.
>>только одна при тестах режимов (но это как я понял штатно)
Отнюдь. У CD-Inc ошибок тестов режимов не было.
только одна при тестах режимов (но это как я понял штатно)
-
? Voland@ - 13.09.2012 11:50
gid, если я правильно понял, сейчас тест у нас отлавливает не все ошибки, которые на самом деле есть, мы их сейчас просто не видим? Тогда можете доделать тест, чтобы он показывал все без исключения ошибки, чтобы было четко видно, как они уходят после аппаратной доработки?
-
? CD-Inc@ - 13.09.2012 20:25
Разрешите вставить свои пять копеек.
Спасибо огромное gid'у за то что написал нормальный тест, Который проявил всякие каки.
.
Смотрим Таблицу режимов СМК.
Аппаратный глюк вызван тем, что СМЕНА РЕЖИМА контроллера происходит в середине ЦИКЛА ЗАПИСИ ПО ШИНЕ.
Портится ТРЕТЬЯ страница ОЗУ СМК (Видится в 20м режиме)
Простейшая доработка сводит ПЕРЕКЛЮЧЕНИЕ РЕЖИМА СМК в конец ЦИКЛА ОБМЕНА ПО ШИНЕ, исправляя аппаратный глюк
Смена прошивки ситуацию НЕ МЕНЯТ. Остаются режимы 100 и 0 в которых ПРОИСХОДИТ ТОЖЕ САМОЕ при входе в 20.
Новая прошивка это ПОПЫТКА НОВАКА ОБОЙТИ НЕДОСМОТРЕННЫЙ ГЛЮК малой кровью.
Для корректной работы контроллера доработка НЕОБХОДИМА.
.
Переключение режимов в СМК и пр. через 177130 - это особенность.
Срач в ТРЕТЬЕЙ странице ОЗУ СМК - ЭТО ГЛЮК.
.
Всем удачи.
-
? CD-Inc@ - 13.09.2012 20:49
В прошлом посте:
Портится ТРЕТЬЯ страница ОЗУ СМК (Видится в 20м режиме)
НЕОБХОДИМО ЧИТАТЬ:
Портится ТРЕТЬЯ страница ОЗУ СМК (Видится в 120м режиме)
.
Извините за неточность.
-
? gid@ - 14.09.2012 21:46
Предположительно доделанный тест режимов. http://files.mail.ru/O0XT8U
Тест режимов перенесён в начало, перед тестом памяти.
Затем добавлен тест переключения страниц. Только в проблемных режимах, остальные тестировать нет смысла.
120->20, 20->120, 120->100, 100->20, 20->100, 100->0, 0->20, 20->0
тест 100->0 и 20->0 пропускается, т.к. в режиме HLT11 по нужным адресам не ОЗУ СМК, но без аппаратной доработки оно всё равно портится, порченный сегмент просто не подключается в этом режиме.
С новой прошивкой и аппаратной доработкой ошибки должны проявляться только в 100->20 и 0->20, т.к. таковы режимы работы контроллера.
С новой прошивкой и Без аппаратной доработки ошибки должны проявляться в 120->100, 100->20, 20->100 и 0->20
Со старой прошивкой и аппаратной доработкой ошибки должны проявляться в 120->20, 100->20 и 0->20.
Со старой прошивкой и Без аппаратной доработки ошибки должны проявляться во всех режимах.
Насчёт поведения с аппаратной доработкой - данные достоверны, проверено в эмуляторе.
Насчёт поведения без аппаратной доработки - это мои теоретические предположения, так ли это на самом деле, покажет практика.
-
? Voland@ - 15.09.2012 15:36
Попробовал протестить аппаратную доработку и меня постигла неудача.
Итак, установил новую прошивку РТ5, напаял 1533ТМ2 ногами 7 и 14 на микросхему ЛЛ1.
Отсоединил 8ю ногу ЛП8 от 9й ноги ТМ9.
Соединил 5ю ногу ТМ2 с 9-й ногой ТМ9.
Соединил 3ю ногу ТМ2 с 20й ногой РТ5.
Соединил 2ю ногу ТМ2 с 8-й ногой ЛП8
Прогоняю тест - ошибки:
0100->0020
0020 - cинхро 137130:000000:ошибка
0020 - cинхро 137716:000000:ошибка
...
0000->0020
0020 - cинхро 137130:000000:ошибка
0020 - cинхро 137716:000000:ошибка
Что я сделал не так?
-
? gid@ - 15.09.2012 21:24
>>Что я сделал не так?
Невнимательно читали написанное мной. Всё так и должно быть. 100 и 0 - Halt режимы, в которых ОЗУ в режиме только по записи. Там должно портиться ОЗУ по задумке авторов контроллера.
.
Хотя лично я бы в режиме 0 дал бы ОЗУ полный режим RW, чтобы организовать возможность пультового режима. Правда перед этим надо обязательно обнулять 7й сегмент. Но это уже другая история.
-
? Voland@ - 15.09.2012 21:57
Так а зачем нам тогда выводить эти две "штатные ошибки" в тесте? Они же будут смущать подавляющее большинство пользователей, которые не разбираются в режимах и особенностях, даже если всё внимательно прочтут.
-
? anonymous - 15.09.2012 22:15
При реализации СМК в плис, избавиться от этих ошибок не составит труда и ввести корректный пультовый режим. Когда я сделал первую БК с пультовым отладчиком, я поставил туда 556рт7 (под 556рт1/2 у меня не было программатора, а PAL/GAL в ссср были малодоступны, как и программаторы под них), посадив ее на адресный регистр и селект старшего банка озу, прописав в нее адреса всех регистров БК, чтоб чтение-запись в м/с памяти аккуратно блокировались только по их адресам. Когда разрабатывался СМК, AMD PAL/MACH и GALы уже вовсю продавались у нас в стране, странно, что Новак не использовал их, можно было бы достичь куда большего сервиса в контроллере.
-
? gid@ - 16.09.2012 12:09
2 Voland.
1. Вывод штатных ошибок делается для упрощения алгоритма. Всё делается в одном простом цикле, используются уже готовые элементы других этапов теста, не надо городить монструозные конструкции.
2. Подавляющее большинство пользователей, которые не разбираются в режимах и особенностях и не будут гонять тесты, оно им и не надо, они не занимаются отладкой и модификацией контроллеров, а вот тем, кому это надо, не поленятся разобраться хотя бы в таблице режимов работы и распределения памяти.
3. Отсутствие штатной ошибки на своём месте означает, что контроллер работает как-то не так.
И опять же отлавливание таких ситуаций - усложнение алгоритма.
Да мне проще текстовое описание написать к тесту. Нету пока желания делать интеллектуальный сервис.
-
? Voland@ - 16.09.2012 16:16
Кстати, только что погонял тест, и заметил, что разницы по ошибкам при новой прошивке РТ5, между контроллером с аппаратной доработкой и контроллером без неё - нету. Т.е. все-таки какой-то проверки не хватает сейчас?
-
? gid@ - 16.09.2012 20:39
Всё хватает. Теоретически всё так, как я написал в посте от 4 сентября 21:46.
С одним уточнением, при переключении 120->100 на любой прошивке без аппаратной доработки ошибка появляется, но не отлавливается, т.к. в этих режимах расположение сегментов памяти одинаковое. Тест эту ошибку просто не может увидеть, и исправить это просто невозможно, т.к. для этого надо переключиться в режим 20, а это даст наведённую ошибку на контроллере без аппаратной доработки. Поэтому результат будет недостоверен.
То же самое для переключения 100->120 для контроллера со старой прошивкой без аппаратной доработки.
Почему не проявляется ошибка при переключении 20->100 с новой прошивкой и без аппаратной доработки, просто не знаю, т.к. это переключение по таблице равно переключению 20->120 на контроллере со старой прошивкой без аппаратной доработки. Может и мой косяк, но мне легче свалить это на особенности работы ВП1-128.
-
? Voland@ - 16.09.2012 22:02
Просто вот какая ситуация складывается:
1. На оригинальном SMK64 с новой прошивкой РТ5, без аппаратной доработки, имеет место никак не отлавливаемая тестом ошибка
2. На новом SMK512, пока что отлаживаемом в режиме оригинального SMK64, имеют место ошибки синхронизации на любом из этапов теста. Связано это видимо с тем, что синхронизация, реализуемая в ПЛИС совсем по-другому, сделана пока что неправильно
3. После устранения некорректной синхронизации в ПЛИС и устранения видимых ошибок синхронизации теста, возможно, невидимая ошибка тоже будет автоматически устранена и без учета аппаратной доработки оригинального СМК в ПЛИС-версии (т.к. по словам разработчика, сейчас синхронизация итак выполнена им таким образом, что ПЕРЕКЛЮЧЕНИЕ РЕЖИМА СМК происходит в конце ЦИКЛА ОБМЕНА ПО ШИНЕ). Но возможно и не будет устранена, поэтому тащить аппаратную доработку в ПЛИС придется однозначно, даже если она там и без надобности. Но даже перетащив доработку туда, не получится проверить, устраняется ли невидимая ошибка в новом СМК.
Путано получилось, но надеюсь смысл понятен. Может в моих опасениях и нет смысла...
-
? gid@ - 17.09.2012 10:45
1. На оригинальном SMK64 аппаратная доработка гарантированно устраняет ошибку раннего переключения режима работы ОЗУ и повреждение памяти там, где это НЕ ПРЕДУСМОТРЕНО режимом. Просто есть такие режимы работы, в которых память гарантированно портится, а есть такие - где не должна ни при каких условиях.
Режимы 20, 120 на БК11 и 60, 160 на БК10 предназначены для манипуляций банками памяти, чтобы можно было копировать данные в разные страницы, и тут естественно, повреждение памяти не желательно, остальные режимы служат для своих специфических целей, и при работе с ними нужно учитывать нюансы. только и всего.
2. Новый СМК512 судя по результатам тестов, приводимых здесь ранее, вообще работает не так, как велит ему таблица режимов. Там ОЗУ всегда в режимах RW, даже там, где этого быть не должно, поэтому оно и портится.
3. Совершенно не разбираюсь в программировании ПЛИС, даже не знаю, логические ИС там эмулируются по своему поведению, вплоть до временных задержек, или описываются как математико-логические функции.
Не знаю что имелось в виду под концом ЦИКЛА ОБМЕНА ПО ШИНЕ, но знаю точно, что ПЕРЕКЛЮЧЕНИЕ РЕЖИМА СМК должно происходить только после того, как будет записан 0 в 177130, после записи кода режима в 177130. Соблюдение этого условия гарантированно устраняет все ошибки порчи памяти, там где это не предусмотрено режимом работы.
-
? Аноним - 17.09.2012 18:21
Нам видимо никогда не "разобраться" с 512 Кб ОЗУ. Они нас победили! Ура спектрумисты! Я иду к вам
-
? CD-Inc@ - 17.09.2012 19:24
gid +100
Тест верный.
гонял новый тест и с доработкой и без.
см. таблицу режимов.
у меня оригинальный СМК64
без доработки в Режимах 100-20 0-20 120-20 (у меня старая РТ) ПОРТИТСЯ(ЧИТАЕМ ВНИМАТЕЛЬНО-Портится) страница 3 (одна ячейка кот. видится в 137130 в 120м) ОЗУ СМК.
при новой РТ тоже самое будет в 100-20 0-20
С доработкой там (в ТРЕТЬЕЙ странице) чисто.
При переключении 100-20 0-20 (А со старой РТ и 120-20) ПИШЕТСЯ(ЧИТАЕМ ВНИМАТЕЛЬНО- ПИШЕТСЯ) в страницу 7 СМК (в тесте две ячейки кот.
вылезают в 137716 и 137130 в 20м).
Это не ошибка это такие режимы СМК.
В тесте это всё ловится и происходит ровно так как писал gid 14 сентября.
.
Единственное что по моему мнению надо добавить в тест, это корректировку ошибки 10-5(4) в 100м режиме на 11м.
Так как этот режим для бк10 и он не отключает верхнюю память 11й отсюда и лишний INC R0 в тесте по логике теста.
.
Да и наверно в последней версии теста нужна PRESS ANY KEY между тестами, а то пока клювом щёлкаешь листинг убегает вверх.
.
VOLAND не вступайте в жёсткие половые отношения с мозгом gid'а. он хороший и ещё пригодится БК.
Можете распечатку ваших ошибок кинуть на почту, распишу что не так.
.
Всем Удачи.
-
? Voland@ - 17.09.2012 19:41
>> Нам видимо никогда не "разобраться" с 512 Кб ОЗУ. Они нас победили! Ура спектрумисты! Я иду к вам
Всё нам победить, просто разработчик сейчас занимается разводкой mini ITX, как только разведет, она пойдет в производство на 2-3 недели, а он переключится на жесткую отладку SMK-512.
¤
>> VOLAND не вступайте в жёсткие половые отношения с мозгом gid'а.
CD-Inc, gid, прошу прощения, понимаю что уже измучал своими пожелалками и хотелками.
-
? gid@ - 17.09.2012 22:11
Вот жеж блин. Я только сейчас заметил, что в режиме 100 на БК11М ОЗУ СМК накладывается на ОЗУ БК. Тыщу раз до этого разглядывал таблицу, но не замечал, пока носом не ткнули. Я то в эмуляторе не эмулировал поведение до такой степени.
CD-Inc, этот INC не лишний, он нужен, лучше таблицу ошибок поправить и считать 5 нормой.
И где вставить PRESS ANY KEY? Перед началом теста памяти? Или между тестами режимов?
-
? Ал-р - 17.09.2012 22:37
to Voland
- да бросьте Вы эту бредятину с 512К - такого ОЗУ в БК никогда не существовало и ни одна программа такое не могла использовать, в БК это бессмысленно
-
? gid@ - 18.09.2012 09:26
Ну, вообще-то, если так рассуждать, и сам БК бессмыслен, и 1801ВМ1 со своей 16 разрядной шиной памяти бессмыслен, и сидеть, придумывать что-то тоже бессмысленно.
А не приходило в голову, что "ни одна программа такое не могла использовать" потому, что "такого ОЗУ в БК никогда не существовало", а как только такое осуществится, и программы, использующие такое постепенно появятся.
-
? Аноним - 18.09.2012 09:54
gid, +1
-
? Дмитрий - 18.09.2012 17:31
Также поддерживаю ув. gid!!!
-
? CD-Inc@ - 18.09.2012 19:20
По поводу СМК512 Позняк уже метаться, железка готова, осталось только допилить, хотя бы ради ВП-128.
.
то gid:
Я имел ввиду, что исполняется лишний ИНК Р0. В общем мы поняли друг друга.
Вообще в этом месте теста прикольные коды, голову поломать можно перебирая все комбинации.
А клавиша в скроллинге в идеале нужна после каждого заполнения экрана.
Ну а так и после каждого теста вполне себе подойдёт.
.
то Voland:
Назим а у тебя БК11 с доработанным СМК64 при включении питания сама пускается?
А то у меня только с Ресета пускалась.
Пришлось допилить доработку лишним проводом.
.
Всем Удачи.
-
? gid@ - 22.09.2012 12:45
Пользуясь случаем, погонял СМК512. Т.е. попытался, и меня постиг облом. С 3.5" дискеты загрузиться невозможно.
У меня дисковод Epson SD-800 - раритетный сдвоенный, 3.5" и 5.25" в одном. После долгого шаманства с перемычками я заставил работать у него оба дисковода с контроллером А16М. А с СМК512 нифига, либо 3.5" работает, либо 5.25", вместе - ни в какую. Зато с 5.25" СМК512 грузится. А нужен то 3.5", так что проверить работу с винчестером не удалось, как и погонять тесты памяти. С отдельным 3.5" каким-то стареньким NEC тоже ничего не получилось. Может есть какая-то особенность? типа использования плотности записи HD вместо DD?
-
? dk_spb@ - 22.09.2012 12:49
gid: "дырочку" на дискете 3.5 заклеивали?
-
? Etc. - 22.09.2012 12:57
Кто бы знал особенности СМК512 :)
Говорят, что при подключении 3.5 дисководов, не все удавалось заставить работать, т.к. на некоторых не было джамперов ограничивающих скорость вращения диска и выбирающих плотность HD/DD. Соответственно скорость неплохо бы ограничить джампером, плотность - заклеиванием окошка на дискетке...
-
? Etc. - 22.09.2012 12:59
Ещё есть особенности сигналов на шлейфе, которые нужно чтобы мопали на нужные входы разъёма FDD, это выбор FDD A/B, и замуск двигателя...
Итого - 2*2*2*2 итерации вариантов подключения :)
-
? gid@ - 22.09.2012 13:28
Снова процитирую себя же: "После долгого шаманства с перемычками я заставил работать у него оба дисковода с контроллером А16М." Т.е. я активно пользуюсь 3.5" дисководом, т.к. живых 5.25" дискет у меня всего 4 шт. И с контроллером А16М оба имеющихся у меня 3.5" дисковода работают отлично. А вот с Воландоаским СМК512 - ни один не работает. С нулевой дорожки загрузчик грузится, а дальше, система не грузится, то ошибка #4, то ошибка #5.
¤
-
? Voland@ - 22.09.2012 14:20
to CD-Inc:
>> Назим а у тебя БК11 с доработанным СМК64 при включении питания сама пускается?
БК11 или БК11М? На БК11 я не проверял, т.к. у меня её нет.
Сейчас проверил, да, картина такая: на БК11М при включении сам не стартует, после RESET стартует; далее, если выключать питание на 2 секунды, то при включении стартует, если на 4 и более секунды - то уже не стартует при включении. Какой провод куда кидать (тогда его в pdf-схему добавить бы тоже надо)?
.
то gid:
>> Может есть какая-то особенность? типа использования плотности записи HD вместо DD?
У меня к сожалению сдвоенного дисковода нет, я сам такой искал, но не нашел. Если кто-то в Москве хотя бы для отладки может временно предоставить или продать - буду благодарен.
На отдельном 3.5" всё грузится нормально, и у меня и у моего разработчика. Сейчас еще раз записал дискету 3.5" на СМК64, загрузился с нее на СМК512, затем успешно слил её образ при помощи СМК512 на логический диск CF.
Есть нюанс: когда цепляете дисковод 3.5" писишным шлейфом к СМК512, необходимо в дисковод вставлять тот разъем, который расположен на шлейфе до скрутки.
Если будет опять грузиться только часть дорожек, то надо обязательно проконтролировать, чтобы дискета была записана тем же дисководом, с которого пытаетесь грузиться.
Вполне возможно, что не со всеми дисководами СМК512 будет работать, тогда надо бы конечно один-два таких дисковода заполучить моему разработчику и подогнать и под них параметры ФАПЧ/задержки в ПЛИС.
-
? CD-Inc@ - 22.09.2012 14:21
попробуй подтянуть входные дисководные линии через резисторы на 5в.
неплохо бы было глянуть на схему входов-выходов СМК512.
для 3.5 дисковода перемычки не нужно выставлять, достаточно заклеить окно, читает всегда
А/В меняется перекруткой 10-12 жилы в шлейфе.
скорость ХД/ДД 3.5 одна 300 об.
для чистоты эксперимента можно отключить 1-7 жилы кабеля от СМК512 - я просто не знаю что в нем там заведено на 2 жилу.
на А16м смк они не используются
если с А16М работает, то при совпадении схемы входных-выходный цепей с 512 де факто должен читать.
Удачи.
-
? CD-Inc@ - 22.09.2012 14:27
Воланду: ок.
-
? Voland@ - 22.09.2012 14:40
Принципиальная схема смк512:
http://narod.ru/disk/61380443001.719a9a5e915d2bae318affa6f6fdabee/smk.sch.html
-
? gid@ - 23.09.2012 10:54
Voland, а какими моделями дисководов пользуетесь вы и разработчик?
Не сильно разбираюсь в вопросе, но разве параметры ФАПЧ/задержки не должны либо автоподстраиваться под дисковод, либо иметь рабочий диапазон достаточной ширины, чтобы работать со всеми, или хотя бы с большинством моделей дисководов?
.
Ещё провёл эксперименты. Отсоединил от Epson SD-800 3.5" дисковод, оставил только 5.25" и попробовал грузиться с двумя дисководами. Второй - 3.5" NEC FD1231H.
Так вот.
Сажал 3.5 в нижний разъём, 5.25 - в верхний, и наоборот. В любом случае выбираются либо оба дисковода сразу, либо ни одного.
Возможно это связано с особенностями функционирования Epson SD-800, это сложное и хитрое устройство, но все возможные комбинации выставления перемычек никакого результата не дали.
Позже, если удастся найти на работе живой классический 3.5 Mitsumi, выпуска 90-х годов, или ещё более древний 3.5 TEAC, попробую их, и ещё попробую прицепить к А16М стандартный дисководный разъём, чтобы использовать стандартные писишные шлейфы вместо впаянного родного, и продолжу эксперименты.
-
? Voland@ - 23.09.2012 12:20
Там со слов разработчика у 1801ВП1-128 всего 3 сигнала на 2 дисковода, вместо положенных 4-х. Т.е. сигнал управления вращением дискет - общий, выбор дисковода - отдельные, с этим проблем не должно быть. Есть еще 2 сигнала на выбор 3-4го дисковода, но они ни в оригинале, ни в СМК512 не используются.
ФАПЧ, как мне сейчас пояснил разработчик, там достаточно универсальная, так что обязаны работать все 3.5 дисководы.
Дисководы у нас самые обычные, у меня например MITSUMI D359M3, у разработчика MITSUMI D359T6. Есть у меня еще какой-то, не митсуми кажется, попробую вечером еще с ним проверить.
-
? dk_spb@ - 23.09.2012 14:01
>у 1801ВП1-128 всего 3 сигнала на 2 дисковода, вместо положенных 4-х
Кем и куда положенных? СТандартный Шугарт, еще не испорченный IBM'ом.
-
? CD-Inc@ - 23.09.2012 16:43
? dk_spb @ - сегодня 14:01
>у 1801ВП1-128 всего 3 сигнала на 2 дисковода, вместо положенных 4-х
Кем и куда положенных? СТандартный Шугарт, еще не испорченный IBM'ом.
¤
+100
-
? gid@ - 23.09.2012 17:47
Оказывается, невозможность загрузиться - мой косяк. Внезапно кто-то на проверенной дискете испортил 9-е сектора на 0й, 1й и 2й дорожках. Потому и не грузилось. Обнаружилось это, когда я не смог загрузиться и на А16М. Оказывается, всё замечательно работает. Но только с одним дисководом.
В процессе выяснилось, что в реплике есть косяк.
Двухдисководная конфигурация такого типа: 5.25 A: и 3.5 B: на оригинальном ВП1-128 отлично работающая, в реплике не работает.
Т.е. дисковод А: не выбирается совсем, Мотор вращается, лампочка на дисководе не загорается, т.е. на ногу 10 разъёма FDD ничего не поступает. БК выдаёт ошибку #3.
Подозреваю, что разработчик не дореализовал, схему упомянутого Шугарта, т.к. в писишной схеме выбор дисковода А: делается на 14й ноге. Хотя на принципиальной схеме всё как надо нарисовано.
-
? gid@ - 24.09.2012 13:46
По просьбам трудящихся добавил в тесты паузу с надписью "нажмите любую клавишу". Забирать там http://gray-gid.narod2.ru/altpro_test.html номер версии менять не стал, т.к. слишком несерьёзные изменения.
-
? Voland@ - 24.09.2012 15:08
От разработчика:
Там на схеме выведены те же сигналы управления, что и в 1801ВП1-128. Они там прописываются в регистр состояния и выводятся наружу. Никаких особых "схем” там нет.
У стандартного Шугарта нужно подавать два сигнала - выбор дисковода и включение мотора. Понятное дело, сейчас подается один, ибо оставшиеся два идут на 3.5 дюйма. Новые IBM выбираются одним сигналом, старым дисководам нужно два сразу.
как из трех сигналов корректно сделать четыре, мне не ведомо. В любом случае будет какое-то шулерство. Если ориентироваться на старые Шугарты, то там вообще одно включение мотора на всех, а выборы дисководов отдельные. На новых 5-дюймовых все выбирается одним сигналом включения мотора, так что логика по-любому различная.
-
? Etc. - 24.09.2012 15:25
Извиняюсь, переведите на русский.
"У стандартного Шугарта нужно подавать два сигнала - выбор дисковода и включение мотора. Понятное дело, сейчас подается один"
Какой именно подаётся?"оставшиеся два идут на 3.5 дюйма"
Какие именно два?"Новые IBM выбираются одним сигналом"
Каким именно сигналом?
¤
Это что же получается? Разработчик где-то смухлевал удалив однин сигнал :?)
Вот так и хоронят хорошие начинания ;)
-
? Voland@ - 24.09.2012 15:32
http://pinouts.ru/Storage/InternalDisk_pinout.shtml
там вверху разводка для старых и новых дисководов
-
? gid@ - 24.09.2012 15:37
Вообще то ВП1-128 и реализует старую добрую схему Шугарта. Там так и есть один сигнал включения мотора на все 4 привода. А нужный привод выбирается сигналами DS0-DS3
Никаких ни трёх ни четырёх сигналов не надо. Надо делать MOTOR On это один сигнал. И выдавать DS0 или DS1 - это второй сигнал. т.к. в любой момент времени выбран только один из 4х приводов.
По сути DS3-DS0 это тупо значения битов 3..0 регистра 177130 по записи с приоритетом мл. бита.
Т.е. если выставлен бит 0, то выбран DS0 независимо от того, выставлены или нет биты 3..1,
если выставлен бит 1, то выбран DS1 независимо от того, выставлены или нет биты 3..2,
и т.п.
-
? dk_spb@ - 24.09.2012 15:42
Да, и у нового IBM надо два сигнала (как и у старого Шугарта): включить мотор и выбрать привод.
Разница лишь в том, Что у старого Шугарта включение мотора общее на все приводы, а у IBM - раздельное включение моторов А и B.
И за счёт этого лишнего второго сигнала включения мотора покоцаны старые сигналы выбора 3 и 4го приводов.
А у Вас одним сигналом всё управляется, отсюда и проблема.
-
? Voland@ - 24.09.2012 16:00
от разработчика:
ну так это все давно понятно. Только я не вижу конструктивных выводов, а теорию о том, какой дисковод как управляется, я вынужден был ранее изучить.
У меня эти биты регистра 117130 на выходы как раз и выдаются, разве что в какой-то версии прошивки случайно напутано. Тут еще не описана интересная комбинация двух дисководов 3 дюйма, когда один из них подключается после скрутки, что становится совсем загадочно на фоне трех управляющих сигналов.
-
? Etc. - 24.09.2012 16:30
@Voland, а какая разводка реализована со стороны контроллера?
Та что "Controller pinout" или та что "Floppy Diskdrive pinout (Shugart interface)"?
-
? dk_spb@ - 24.09.2012 16:32
От здравомыслящего: а кого волнует какие и как дисководы подключены?
Это как-то меняет назначение трех сигналов (MotorOn, DS0, DS1) на _разъеме_ SMK, к которому флопы подключены?
¤
>после скрутки
Мы опять же про что? Про скрутку для Шугарта? Или про стандартную IBM скрутку (которая заведомо непригодня для этого типа контроллеров)? И вообще зачем скрутка? Это ведь из серии "лень сделать как надо, сделаем на соплях". В стандартном варианте нет никаких скруток у Шугарта.
-
? dk_spb@ - 24.09.2012 16:35
>Только я не вижу конструктивных выводов
...
>а теорию о том ... я вынужден был ранее изучить
Так давайте тогда реализуем стандартный Шугарт, который из теории и из практики всем понятен. Зачем выдумавать помесь Шугарта с IBM?
-
? Etc. - 24.09.2012 16:36
Похоже косяк разработчика :))) Реальный косяк :)
-
? gid@ - 24.09.2012 17:10
Похоже всё перепуталось. В схеме Шугарта нет никакой скрутки. И проблема двух 3.5 дисководов на таком шлейфе решается резкой шлейфа и перенаправлением 10й линии выбора привода А на 12 линию для второго 3.5 дисковода.
Причем это проблема не разработчика, и не ВП1-128, это проблема сугубо пользователя. Хочет он повесить 2 одинаковых 3.5 дисковода на один шугартовский шлейф - вот пусть сам и думает, как это сделать. Во времена Шугарта так и было.
А уж если сильно хочется реализовать IMBскую схему и использовать шлейфы со скруткой, то делается это более чем просто. Вот по такой схеме http://files.mail.ru/X9ONM8?t=1
-
? Voland@ - 24.09.2012 17:13
Как же тогда объясняется это:
>> Двухдисководная конфигурация такого типа: 5.25 A: и 3.5 B: на оригинальном ВП1-128 отлично работающая, в реплике не работает.
?
Вот у меня такая конфигурация идентично работает на оригинале и на СМК512.
-
? dk_spb@ - 24.09.2012 17:27
>И проблема двух 3.5 дисководов на таком шлейфе решается резкой шлейфа
Ну это в условиях дефицита. А вообще все решается перемычками на флопах.
¤
>Причем это проблема не разработчика
>>От разработчика:У стандартного Шугарта нужно подавать два сигнала - выбор дисковода и включение мотора. Понятное дело, сейчас подается один
¤
Всё-таки в данном случае явно проблема разработчика, Который из 3 сигналов делает один.
-
? Дмитрий - 24.09.2012 17:44
У меня стандартный кабель FDD (2 разъема), шедший с флопом 5,25 и 3,5 и СМК128. Все работало в любых комбинациях (перемычки на флопах переставляешь и все). Теперь же на том же контроллере, на том же кабеле, на тех же флопах, ток БК10.01 вместо 11М с 3,5 (А, 5.25 B) не грузится. С 5.25 (А, 3.5 B) грузится.
-
? Voland@ - 24.09.2012 18:03
Пока что ни мне, ни разработчику не удается понять, в чем проблема и есть ли она.
Лично у меня все отлично работает на SMK512, если вешать два дисковода А:=5.25, B:=3.5 до скрутки. Обращения идут раздельно (светодиоды загораются в разное время).
А если вешать 3.5 после скрутки, так он и на оригинальном SMK64 не станет работать.
-
? Etc. - 24.09.2012 18:07
Пожалуй повторю вопрос... ? Etc. - сегодня 16:30
@Voland, а какая разводка реализована со стороны контроллера?
Та что "Controller pinout" или та что "Floppy Diskdrive pinout (Shugart interface)"?
-
? Voland@ - 24.09.2012 18:16
Ответ разработчика:
Это ближе к Шугарт, но без сигналов DS2 и DS3.
-
? CD-Inc@ - 24.09.2012 18:34
? gid @ - сегодня 13:46
По просьбам трудящихся добавил в тесты паузу с надписью "нажмите любую клавишу". Забирать там http://gray-gid.narod2.ru/altpro_test.html номер версии менять не стал, т.к. слишком несерьёзные изменения.
.
Ну ты просто молоток.
Спасибо.
-
? gid@ - 24.09.2012 20:13
>Voland @ - сегодня 17:13
>Как же тогда объясняется это:
Возможно 2 объяснения: 1) недоработка конкретно только моего экземпляра. 2) я где-то туплю.
Я использую кабель по классической схеме ШУгарта: 4 разъёма для 4-х приводов, и никаких скруток. Поскольку у меня только 2 дисковода (один из них сдвоенный, и его 3.5 без разъёма нельзя использовать как самостоятельное устройство), причем у современного 3.5 нету никаких перемычек и он всегда на кабеле будет диском B: у 5.25 дисковода перемычкой можно выбрать быть ему А: или B: так вот. По отдельности оба дисковода как В: работают, а 5.25 как А: не работает, он просто не выбирается. Других дисководов с перемычками у меня просто нет, повторить результат не на чем.
.
>dk_spb @ - сегодня 17:27
>Ну это в условиях дефицита. А вообще все решается перемычками на флопах.
Речь шла о двух современных 3.5 дисководах, на которых уже давно нет никаких перемычек. На плате нету даже контактных площадок, которые можно замкнуть.
.
>Voland @ - сегодня 18:03
>А если вешать 3.5 после скрутки
Не смущайте людей скрутками. Либо реализуйте стандартную IMBскую схему, для 2-х приводов это не трудно. либо ясно дайте понять что точно соблюдаете стандартную схему Шугарта, в которой никаких скруток не предусмотрено конструкцией.
-
? CD-Inc@ - 24.09.2012 20:57
Может я чего недопонимаю, поправьте.
gid у тебя ведь есть обычный 3.5 флоп, я так понял?
.
С СМК и КНГМД я использую два Митсуми 3.5 перемычек в них нет, т.е. они оба как В:
на последнем разъёме для 3.5 я перекрутил 10-12 жилы, чтобы верхний дисковод жил как А:
сигнал "мотор" так и остался на 16й жиле. Видимо внутри флопа сигналы мотор А и Б по или складываются, проблем с этим на 4х разных дисководах у меня не было.
Всё это пашет на КНГМД и СМК. Верхний как А: нижний как В:
ИБМ"овские скрутки нах 100%
.
Предлагаю отложить Комбо-Драйв пока всторонку, а подцепить просто моно 3.5 на вилку с перекрученными 10-12 жилой.
И порадоваться, наконец-то, своему тесту на СМК512.
.
Удачи.
-
? Voland@ - 24.09.2012 21:08
>> Либо реализуйте стандартную IMBскую схему, для 2-х приводов это не трудно. либо ясно дайте понять что точно соблюдаете стандартную схему Шугарта
-схему IBM реализовать мы не можем, т.к. там надо 4 сигнала управления на 2 дисковода, а у ВП1-128 есть только 3. Делать доработку ВП1-128 не имеет смысла, т.к. эту доработку не сможет использовать ни одна из уже существующих программ, потому что для выставления нового сигнала надо и новый бит будет устанавливать в регистре.
-схема шугарта сейчас итак сделана, только без сигналов DS2 и DS3 - управления активностью 3 и 4 дисководов. Не выводились эти сигналы только потому, что они не выведены и в оригинальном СМК64, хотя и имеются на ВП1-128. Сигнал управления двигателем один на всех, как в текущем виде, так и если будут выведены сигналы DS2 и DS3.
Если кому-то крайне необходимы 3-й и 4-й дисководы, то выведем, но непонятно, кому и зачем оно может понадобиться. Все делалось в точности как в оригинальном СМК.
-
? Etc. - 24.09.2012 21:25
@Voland, спасибо за честный ответ!Получается что дабы исправить баг разработчика, придётся пользоваться советом GID`a, а именно - http://s008.radikal.ru/i305/1209/7d/83352883968d.jpgИ эту доработку проще всего всунуть между ВП1-128 и внешним разъёмом контроллера...Косяки надо исправлять! Не так ли Voland???
-
? CD-Inc@ - 24.09.2012 21:30
::-схему IBM реализовать мы не можем, т.к. там надо 4 сигнала управления на 2 дисковода::
И сделано было это, совместно с запаинными перемычками на В: и ИБМ-перекруткой исключительно что юзеры-сборщики не путались с перемычками и больше не для чего.
.
::Делать доработку ВП1-128 не имеет смысла::
И это правильно товарищи.
.
::только без сигналов DS2 и DS3 - управления активностью 3 и 4 дисководов. Не выводились эти сигналы только потому, что они не выведены и в оригинальном СМК64, хотя и имеются на ВП1-128::
В СМК они не выведены,"раз" потому-что 4 флопа не нужно (тем более с винтом),"два" используются для переключения триггера режимов.
.
::Сигнал управления двигателем один на всех, как в текущем виде, так и если будут выведены сигналы DS2 и DS3.::
Тоже верно.
.
::Если кому-то крайне необходимы 3-й и 4-й дисководы, то выведем, но непонятно, кому и зачем оно может понадобиться. ::
Нах не нужно (см.выше)
.
::Все делалось в точности как в оригинальном СМК.::
Это главное.
-
? CD-Inc@ - 24.09.2012 21:49
Если не терпится использовать кабель с ИБМ-перекруткой и импортными флопами,то на колодке кот. вставляется в СМК и КНГМД нУжно:
поднять 10 жилу и засадить на 16й пин разъёма, совместно с тем проводом кот. там уже есть.
поднять 14 жилу и засадить на 10й пин.
и вуаля, сажаете ИМПОРТНЫЕ флопы как в писях. (Если 5.25 то установив в нем перемычкой 300об\мин)
-
? Voland@ - 24.09.2012 21:53
>> Косяки надо исправлять! Не так ли Voland???
Etc., быстрый Вы на выводы. Косяки исправлять никто не отказывался, если они будут. Но пока косяка я не смог увидеть, всё сделано в точности как в SMK64, если кто-то не докажет обратное.
-
? gid@ - 24.09.2012 21:58
>Voland @ - сегодня 21:08
>-схему IBM реализовать мы не можем, т.к. там надо 4 сигнала управления на 2 дисковода, а у ВП1-128 есть только 3.
А для кого я давал картинку, как сделать из 3 сигналов: одного мотора и двух выборов привода, 4 сигнала: два мотора и два выбора привода. Это не требует доработки ВП1-128 нужно только добавить 2 логических элемента ИЛИ между ВП1-128 и буферными элементами выходов на FDD разъём.
3-й и 4-й дисководы вообще нафиг не нужны, ибо винчестер. Который традиционно C, D и т.д.
---------
Видимо таки не удастся обойтись малой кровью и придётся притащить с работы ещё 3.5 дисковод и шлейфы, чтоб резать их на лоскуты и экспериментировать дальше.
А пока прекращаем срач. Раз у всех всё работает, а только у меня - нет. Значит это сугубо моя проблема.
-
? CD-Inc@ - 24.09.2012 22:16
::А для кого я давал картинку, как сделать из 3 сигналов: одного мотора и двух выборов привода, 4 сигнала: два мотора и два выбора привода.::
Так, кстати, сделано в ИМС КНГМД ИБМ судя по даташитам.
.
::Видимо таки не удастся обойтись малой кровью и придётся притащить с работы ещё 3.5 дисковод и шлейфы, чтоб резать их на лоскуты и экспериментировать дальше.
А пока прекращаем срач. Раз у всех всё работает, а только у меня - нет. Значит это сугубо моя проблема.::
Не боись, разберёшся в трёх-четырёх концах-то.
-
? Voland@ - 25.09.2012 11:50
to gid:
>> А для кого я давал картинку, как сделать из 3 сигналов
Дело в том, что новые дисководы 5 дюймов запускаются от одного единственного сигнала. Им пофик на два сигнала и всю эту логику. И сей грустный факт портит всю идиллию от получения 4-х сигналов. Идея с четирьмя сигналами была бы уместна, если бы и программы были в курсе этой мульки. Но программы думают, что дисководу надо сделать выбор, а потом мотор запустить, поэтому в ходе испытаний получалось, что при существующих программах при имитации четырех сигналов из трех, начинали крутиться сразу оба дсиковода. Если бы все дисководы работали только при наличии одновременно двух сигналов, то такой вариант был бы уместен.
Еще дело в том, что даже в спецификациях на дисковод нового типа указывается, что надо 2 сигнала. А на практике получается для 5-дюймового диска нужен только один.
Сделав таким образом 4 сигнала из трех, мы сможем подключать два 3-дюймовых дисковода через скрутку, но 5 и 3 дюймовый уже не получается.
Получается, что что ввести какой-то новый режим можно только пожертвовав каким-то иным.
-
? Дмитрий - 25.09.2012 14:32
Стоп, а разве нельзя иметь два кабеля - один для 3.5+3.5 со скруткой и 5.25+3.5 без? На оригинальном СМК FDD-кабель вообще впаян на плату. Я вот на своем-то и не могу теперь понять, почему раньше все работало, а теперь нет. Перемычки переставил на своих старых флопах и все - подключай родным кабелем как душе угодно. Но новые 3.5" не пашут (у многих в разъеме FDD вообще отсутствует серия контактов, которые ближе к плате). И кабель с перекруткой нет возможности использовать - кабель впаян. Но почему перестала работать старая конфигурация (оба флопа с перемычками выбора "буквы")???
-
? gid@ - 25.09.2012 14:49
Т.е. если новому 5 дюймовому дисководу по ИБМской схеме подавать 2 сигнала он тупо не работает?
Ладно, забейте, пусть всё остаётся как есть.
Я тут нашёл раритетные девайсы 3.5" TEAC FD-235HF 217-U, 3.5" Mitsumi D359T2, который может нативно работать в DD режиме. И говно мамонта 5.25 TEAC FD-55GFR не знаю, живой он или нет. Каждый из них поддерживает и схему Шугарта и IBM, перемычками можно выставить любую желаемую конфигурацию.
Надеюсь теперь СМК512 испугается и начнёт выдавать на 10-ю ногу FDD разъёма сигнал выбора привода А:
-
? gid@ - 25.09.2012 14:52
to Дмитрий - сегодня 14:32
Нельзя. Потому что нельзя одновременно на одном разъёме реализовать схему Шугарта и IBM.
-
? Voland@ - 25.09.2012 15:04
to gid:
>> Надеюсь теперь СМК512 испугается и начнёт выдавать на 10-ю ногу FDD разъёма сигнал выбора привода А:
По словам разработчика, с 10-й ногой должно быть все в полном порядке, на неё выдается именно сигнал выбора А:
Хотя.. есть еще предположение, что в Ваш экземпляр по досадной ошибке могла попасть прошивка ПЛИС, на которой как раз ставились эксперименты с этими сигналами... Если так и не заведется, то придется искать чем прошиться. Это маловероятная версия, но как крайний вариант...
-
? Дмитрий - 25.09.2012 15:24
>> Нельзя
Хорошо, тогда возникает вопрос. Как использовать имеющийся у меня 5.25 TEAC (модель щас навскидку не помню) и современный 3.5 в связке?
-
? Voland@ - 25.09.2012 15:27
>> Как использовать имеющийся у меня 5.25 TEAC (модель щас навскидку не помню) и современный 3.5 в связке?
Очень просто, накалываете разъем 3.5 на шлейф СМК полностью идентично тому, как наколот разъем 5.25, без всяких скруток. Дисковод 5.25 выставляете его собственной перемычкой как А, дисковод 3.5 автоматически станет дисководом B:.
-
? Дмитрий - 25.09.2012 15:40
у меня родной впаянный шлейф с 2-мя стандартными 5.25 разъемами без скруток + переходник на 3.5 (вставляется в разъем 5.25). С новым 3.5 не грузится нифига, с 5.25 - без проблем. При попытке форматирования на новом 3.5 АНФОРМАТ выдает ошибку 3. Перепробовал 2 разных флопа 3.5 - без толку. Вот щас нашел старый mitsumi со всеми контактами.
-
? Voland@ - 25.09.2012 16:13
У меня тоже 3.5 флоп почти не имеет контактов в одном из рядов, ближе к плате, но тем не менее он отлично работает как с оригинальным смк, так и с новым смк512, и там и там как B:.
Переходник такой у меня тоже есть, и с этим переходником 3.5 у меня работает как А:.
Ищите, где-то есть несоответствие контактов, попробуйте поколдовать перемычками на переходнике, если они есть.
-
? Etc. - 25.09.2012 16:26
@Voland, пожалуй Вы правы, выводы поверхностные, но...
... почему бы не воткнуть возможность одной кнопочкой переключать шугарта в ибм на выходе контроллера?
Это же какая-никакая унификация...
-
? Voland@ - 25.09.2012 16:37
Да никому оно на самом деле особо не надо. Иначе Новак бы сделал еще тогда... Похоже что в СМК64 как раз самый оптимальный вариант сделан.
-
? Etc. - 25.09.2012 17:11
@Voland - у меня нет CVR 512 ;) я таки жду БК0012 :), если надо будет, допилю сам для себя... но Вы не правы! Надо! Если это "серийная" доработка - это и удобно и приятно, что самому не дадо допиливать... Неужели это так дорого? Потратиться на кнопку и одну микросхему. Не хотите - как хотите!@Дмитрий - "Стоп, а разве нельзя иметь два кабеля - один для 3.5+3.5 со скруткой и 5.25+3.5 без?"
... откопал старый шлейф, смотрю и вижу:
4 разъёма для FDD, по порядку - 2 для 5.25, один для 3.5, и на самом конце, через перевёрнутую часть шлейфа один для 3.5...
... всё это работало с 2-мя FDD в разных комбинациях с обычным КНГМД, но:
- у меня небыло новых 5.25 (под IBM дисководов, кроме Teak 720Kb), только МС5ххх, которые позволяли перемычками на себе выбирать и Drive A/B/C/D и Motom ON (Enable/Disable)
- был один NEC 3.5 без перемычек, и 2 Epson SMD-3xx c полным набором перемычем (Drive A/B, DD/HD ...)...помню что моторы на 2-х дисководах могли запускаться одновременно при обращении к одному из них, но работе это ни коим образом не мешало.
-
? Дмитрий - 25.09.2012 17:22
>> поколдовать перемычками на переходнике, если они есть
Их как раз нет. Переходник вот такой http://ay.by/lot/retro-perehodnik-s-3-5-diskovoda-na-razyom-v-shlejfe-pod-5-25-509106550.html
Перемычки есть на флопах. Но новые 3.5 без них. Я вот и не втыкаю - почему то, что раньше работало, теперь отказывается даже со старым FDD без HD-плотности 3.5 с перемычками. Причем 5.25 до сих пор работает на ура - и читает, и форматирует, и пишет.
-
? foot - 25.09.2012 21:05
>> Etc. - сегодня 17:11
>> ...помню что моторы на 2-х дисководах могли запускаться одновременно при обращении к одному из них, но работе это ни коим образом не мешало.
¤
С 3,5 дюймовыми дисководами не работал, только с 5,25 , но...!!!
В ОС БК11 версии 4 и выше драйвер выставлял Motom ON чуть ли не до выборки дисковода, причем всегда запускались двигатели всех подключенных приводов. Мало того, после окончания сигнала выборки драйвер не отключал двигатели примерно 5 секунд. При копировании большого количества маленьких файлов (частых повторных обращениях) сильно экономило время.
-
? gid@ - 25.09.2012 22:12
to Voland.
Позор мне, я слепо верил своему кумиру, сдвоенному Epson SD-800. А эта падла оказалась с дефектом, там где-то КЗ, и он намертво зафиксирован как B: и если выставить перемычкой его как A:, то он начинает одновременно выбираться и как А:, и вместе со вторым дисководом на шлейфе как B:. Потому-то ничего и не работало. Старые добрые 3.5 с перемычками показали, что всё нормально. Я зря бочку катил.
Причём читается офигенно. С помощью ukdskp заливаю образ на PC на дискету попутно форматируя её. А потом она на БК читается как родная. ВП1-128 менее способен на такое.
Но вылез другой косяк, портящий весь кайф. Читать-то дискеты читаются, но нифига не пишутся. Запись на дискету просто портит разметку дорожки. Испортив сектор, СМК зацикливается и больше ничего не происходит. Никаких ошибок не выдаётся, можно сидеть и ждать, пока не надоест. Искать причину даже не пытался, нету времени. Но насколько я помню прошивку работы с флоповодом, там всё рассчитано, если при записи не найден какой-либо маркер, адресный или данных, сразу делался выход с ошибкой. А все задержки там делались циклами SOB, так что если просрал цикл - маркер не найден - выход. Тут такого не происходит. Такое ощущение, что повреждена прошивка ПЗУ контроллера.
Заодно запустил тест. Результаты получаются более чем странные.
Тест режимов говорит, что почти всё ОК, а тест переключения страниц говорит, что нихера не ОК. Вообще все режимы переключаются неправильно. Из выводов теста малопонятно, в чём дело, опять надо дорабатывать.
-
? Voland@ - 26.09.2012 01:40
А я уже даже нашел где купить сдвоенный дисковод, к выходным может разживусь))
Насчет форматирования и записи я вроде бы предупреждал, что пока это не отлажено, как и проблемы с режимами, вот-вот разработчик должен начать решать эту проблему.
-
? Voland@ - 03.10.2012 21:12
Сегодня получил от Вадима Новака подтверждение, что SMK-512 в реальности не существовал, максимум собирали 256.
-
? Дмитрий - 04.10.2012 10:41
И каковы дальнейшие действия? Как тестировать режимы и использовать память, если никаких данных нет? Урезать до 256? Или мб забить на это и сделать подключение памяти СМК по принципу доп. памяти 11м - подключать страницами по 16кб к 40000 или 100000 с сохранением статусов R/W/RW (а то и вообще забить на эти статусы)? Один черт софта не было, кроме теста и OS/WARP.
-
? Voland@ - 04.10.2012 10:44
Да нет, то что ни одного экземпляра в реальности не было - это не является препятствием его сделать, так и Новак тоже сказал - там вся память, сколько бы ее ни было, подключается однообразно. Вобщем-то разводка БК-0012 закончена, на днях отдаю плату в производство, и думаю что на днях разработчик начнет решать все проблемы с СМК.
-
? Дмитрий - 04.10.2012 10:59
Дело в том, что косяк с порчей данных уже найден. А прошивки РТ под 512 получается вообще не существовало. В РТ прошивка, если я правильно понял, содержала данные о том, с каким режимом подключать сегменты памяти - R/W/RW? Или там что-то другое?
-
? Voland@ - 04.10.2012 11:02
По прошивке РТ лучше пусть прокомментируют CD-Inc, gid или tim. Если я правильно понял, там она не особо должна меняться из-за объема памяти, а в основном из-за способа подключения доп. объема.
-
? gid@ - 04.10.2012 12:40
С прошивками уже давно разобрались и тут же в теме выше всё расписали.
Вкратце. Существует 2 варианта прошивки, под 2 микросхемы ОЗУ и под 4. Сам объём ОЗУ значения не имеет. Только количество микросхем. Если бы у регистра 177130 можно было бы задействовать ещё больше бит, то можно было бы сделать и СМК-1024, и СМК-4096, причём с этими же двумя существующими прошивками РТ.
Внутри прошивки содержатся данные, формирующие сигналы управления регистрами винчестера, отлов обращения к этим регистрам - формирование RPLY на обращение к адресам регистров винчестера, управление режимами работы памяти в разных режимах контроллера, и управление выборкой микросхем ОЗУ. Как раз разными алгоритмами для 2-х и 4-х МС прошивки и различаются, во всём остальном - идентичны.
-
? Дмитрий - 04.10.2012 13:55
Помницца в те далеко-лохматые годы, когда только-только появилась инфа об СМК, у АльтПро была линейка СМК64...СМК1024. Потом СМК1024 исчезла. Не потому ли, что разрядов не хватило? :))
-
? Etc. - 04.10.2012 14:31
Скорее денег не хватило бы у потенциального покупателя на такой изыск :)
-
? Дмитрий - 04.10.2012 14:38
Так что делать с граблями железного СМК и его реплики в ПЛИС? Как исправлять баги в ПЛИС?
-
? Voland@ - 04.10.2012 15:23
Это не проблема, в ПЛИС все легко будет поправлено, там только понять осталось что конкретно и где поправить.
Что касается названия компании АльтПро, то зарегистрировать их можно сколько угодно, вот например по ссылке http://egrul.nalog.ru/# - если ввести название АльПро, то вылазит куча АльтПром, и одна новосибирская АльтПро. ООО АльПро могут существовать сотнями, никто ни на кого за это в суд подать не может.
-
? Voland@ - 16.10.2012 15:28
Итак, отладка СМК512.
Разработчик проанализировал озвученную здесь информацию по особенностям режимов СМК и говорит, что она не соответствуют имеющейся у него документации. Например, не раз говорилось, что при обращении к адресам 177000-0 в некоторых режимах память не должна либо читаться, либо вовсе доступаться, но вот тут
http://rsc-team.ru/index.pl?rzd=1&descr=articles&id=2
в таблице видно, что у СМК по этим адресам кроме режима SYS один из сегментов ОЗУ доступен как по записи, так и по чтению, в отличие от контроллера A, где все ближе к сути проблемы. Но при такой раскладке, как по ссылке, контроллер вроде как и не должен корректно работать, ибо тогда чтение из памяти накладывается на чтение из регистров внешних устройств, что вообще недопустимо. Так что похоже, где-то в документации лажа...
-
? gid@ - 16.10.2012 16:03
Ну что ж, начнём с начала.
Давайте контроллеры серии А рассматривать вообще не будем. Поскольку они не используют винчестер, и поэтому устроены проще, там сегмент 170000-000000 неделимый и работает как задано в таблице.
С контроллером СМК ситуация немного сложнее. Для работы с винчестером сегмент 170000-000000 делится на две части: (1) 170000-176777 и (2) 177000-000000.
Так вот, в части (1) в любом режиме кроме 160, ВСЕГДА присутствует ОЗУ в полноценном режиме чтения-записи, независимо от того, что написано в таблице. Какая страница ОЗУ - указано в таблице.
А в части (2) - в последней 1000 байт всё происходит, как указано в таблице. Где надо - ничего нету, где надо - ОЗУ в режиме только чтение, где надо -в режиме только запись.
А чтение из памяти накладывается на чтение из регистров внешних устройств - это такая фича, именно так и задумано разработчиками. В доках Новак особенно упоминает, что перед подключением режима 20, во избежание всяких казусов надо очищать 3й сегмент доп.ОЗУ, который наложится на область регистров.
Вот в режиме 160 на БК 11М по адресам 140000-157777 ОЗУ на ПЗУ накладывается и ничего, всё работает. Причём в режиме 160 ПЗУ накладывается на область регистров и тем самым изменяется стандартный адрес запуска 140000 на 164400.
-
? Voland@ - 16.10.2012 16:37
Так а в какой конкретно доке эти все хитрые нюансы описаны? Ну и собственно РТ5 бралась без изменений, все эти фокусы с адресами тоже должны её содержимому соответствовать. Вообще в классических PDP-11 верхние 4K адресов - это были чисто адреса внешних устройств, и ничего там на них не накладывалось ни при каких условиях.. Из всех предпологаемых косяков в SNK512 пока реально ничего не подтверждается. Например, утверждение, что запись данных была после посылки 0 в регистр 177130. Это не так, 0 там посылается только чтобы привести регистр в начальное состояние и остановить мотор.
-
? gid@ - 16.10.2012 17:03
Ну да. содержимое РТ5 полностью соответствует таблице.
А БК10-11 совсем не PDP-11.
На БК от желаемых 4К осталось только жалких 1К (восьмеричное). А при наличии бейсика на 10ке или блока МСТД на 10-11ке от этого диапазона вообще оставалось 0200 байтов.
Из косяков было не сделано правильное поведение диапазона 177000-0. Чтобы соответствовало таблице. т.е.
режим значение
--------------
160 ПЗУ
60 пусто
120 пусто
20 только чтение
140 пусто
40 пусто
100 только запись
0 только запись
-
? Voland@ - 16.10.2012 17:12
То, что приведено - это как раз похоже что для "A", а не для СМК.
Всё же, из каких док эта инфа? Разработчик говорит что из тех док, что у него есть, и из таблицы никак не следует "в последней 1000 байт всё происходит, как указано в таблице. Где надо - ничего нету, где надо - ОЗУ в режиме только чтение, где надо -в режиме только запись",
там вроде всегда допускается чтение и запись, по крайней мере, ничего другого не обозначено.
-
? gid@ - 16.10.2012 20:30
Ещё раз ткну носом в то, что давал CD-Inc
СМК. Режимы работы и распределение памяти..pdf
http://narod.ru/disk/50025347001.c9172097e0903b01762fea25f78c7df4/%D0%A1%D0%9C%D0%9A.%20%D0%A0%D0%B5%D0%B6%D0%B8%D0%BC%D1%8B%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B%20%D0%B8%20%D1%80%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8..pdf.html
.
В этом образе оригинальные доки Новака ALTBIOS1.EDP ALTBIOS2.EDP ALTBIOS3.EDP
http://narod.ru/disk/50010416001.c705768cf7cf2f48f54d95b27a47ff5e/AltPRO_ReLoad.IMG.html
Откуда CD-Inc и взял то, что собрал в pdf.
.
Процитирую специально кусок файла ALTBIOS2.EDP:
================================================================
При подключении ОЗУ параллельно чему-либо (ПЗУ, регистры) в
случае конфликта данных (в одном - 0, в другом - 1) в подавля-
ющем большинстве случаев читается 1 (для микросхем такой кон-
фликт не страшен, все они имеют внутреннюю защиту - хотя, конеч-
но, конфликты снижают помехоустойчивость и потому нежелательны).
Поэтому при параллельном подключении ОЗУ и ПЗУ в ОЗУ надо пред-
варительно записывать копию ПЗУ, а при параллельном подключении
ОЗУ и регистров в ОЗУ должны быть нули.
=======================================
Идём далее.
Ещё цитата из файла ALTBIOS2.EDP:
================================================================
В контроллерах "SMK" ("винтовых") во всех режимах, кроме
SYS, в адресах 170000-177000 подключено ОЗУ, в дисководных -
нет, выше 177000 - во всех одинаково.
=====================================
Расшифрую, что означает это предложение. Для работы с винчестером сегмент 170000-0 делится на две части: (1) 170000-176777 и (2) 177000-177777.
Так вот, в части (1) в любом режиме кроме 160, ВСЕГДА присутствует ОЗУ в полноценном режиме чтения-записи, как и написано в таблице, в самой первой строке. Какой сегмент ОЗУ - указано в таблице.
А в части (2) - в последней 1000 байт всё происходит, как указано в таблице, во второй строке.
.
Теперь смотрим таблицу.
Смотрим первую строчку таблицы (заголовок игнорируем): "АДРЕСА | HDD: 170-177000" - эта строчка относится ТОЛЬКО и ТОЛЬКО к контроллерам СМК, и показывает, что в диапазоне 170000-177000 всегда ОЗУ, кроме режима 160.
Смотрим вторую строку таблицы: "170(177000hdd)-0" - это хитрое сокращение обозначает следующее:
Для контроллера СМК в диапазоне 177000-0, и для контроллера А в диапазоне 170000-0 истинны следующие комбинации и дальше то, что я уже описал выше или см. таблицу.
.
Итог и закрепление материала. Собрав всё вышесказанное воедино получаем следующую таблицу:
-----------------------------------------------
режим | .......... значение
......| 170000-176777 | 177000-177777
-----------------------------------------------
160 ..| ПЗУ ..........| ПЗУ
060 ..| сегмент 7 RW .| пусто
120 ..| сегмент 7 RW .| пусто
020 ..| сегмент 3 RW .| сегмент 3 только чтение
140 ..| сегмент 7 RW .| пусто
040 ..| сегмент 7 RW .| пусто
100 ..| сегмент 7 RW .| сегмент 7 только запись
000 ..| сегмент 7 RW .| сегмент 7 только запись
Эта таблица истинна только для СМК и только для новой прошивки РТ.
¤
-
? Voland@ - 17.10.2012 20:53
Прошу прощения, а как корректно открыть *.EDP-файл на PC? При попытке перекодировать из КОИ-8 остаются косяки с переводами строки и другими разделителями и спецсимволами...
-
? SKcorp. - 17.10.2012 21:20
BKTEXT.EXE
-
? gid@ - 17.10.2012 22:55
Ещё можно этим http://gray-gid.narod2.ru/f/BKDE.rar
Открываете образ, выбираете нужный файл, жмёте кнопку enter, или дважды кликнуть мышкой, или нажать кнопку "Смотреть".
-
? Voland@ - 17.10.2012 22:57
Спасибо!
-
? Voland@ - 18.10.2012 15:12
После изучения указанной информации у разработчика остались вопросы:
1. В одном файле размеры сегментов ОЗУ - 10000 байт, в другом месте они же - 20000 байт. Правильное значение видимо первое?
2. В той схеме, что отрисована была от руки (sxm512.png) как бы для 512K должен быть замкнут на оригинальной плате SW2, а не SW1. А так ли оно на самом деле ?
Собственно, основной вопрос - какие сигналы заводить на 5 старших адресов ОЗУ. В принципе, можно и как на этой схеме, но не факт, что она достоверная, хотя тут понятие достоверности размыто, т.к. СМК-512 в реальности не существовало, а 256 тоже никто тольком в руках не держал.
Перезалил файл sxm512.png:
http://files.mail.ru/DOTE3G
-
? Etc. - 18.10.2012 15:28
@Voland - Я извиняюсь, аппаратный глюк явно не от CDInc, его авторства - исправление ;-)
-
? Voland@ - 18.10.2012 15:30
Я в курсе :) Схему-то sxm512.png не я рисовал, а gid, если не ошибаюсь. Если все корректно, то даю отмашку разработчику делать именно так.
-
? gid@ - 18.10.2012 17:18
1. Существует терминологическая путаница с сегментами и страницами. Что есть что, надо догадываться по контексту.
Собственно для себя, я называю сегментом кусок памяти размером 10000 байтов, тем более, что я где-то читал, что на БК10 изначально реализована аппаратная сегментация памяти такими участками.
Под 20000 скорее всего имелось в виду логическое разбиение памяти в AltBiose, например на БК11 в режимах 20 и 120, см. в таблице выделенный квадратом участок.
2. Посмотрим на схему СМК-64, там возможны следующие комбинации переключателей
SW1 SW2
----------------------
off off - бессмыссленно
off .on - управление 2 МС ОЗУ
.on off - управление 4 МС ОЗУ
.on .on - бессмыссленно
----------------------
управление 2 МС ОЗУ - сигнал CS1 с РТ5 подаётся на линию A13 ОЗУ, сигнал PG1A, являющийся сигналом выбора накопителя 3, являющийся кодом 4 подключения страницы памяти для СМК-128, игнорируется для СМК-64. Поскольку там всего 64Кб ОЗУ.
управление 4 МС ОЗУ - сигнал CS1 с РТ5 подаётся на CS второй пары микросхем ОЗУ, а сигнал PG1A подаётся на линию A13 ОЗУ. В результате получается СМК-128.
Вот и вся сущность этих переключателей. Для СМК 256 и СМК 512 адресные линии надо заводить из соображений логики и наличия элементной базы под рукой, в частных случаях переключатели вообще не нужны.
Для случая, как на картинке sxm512.png, надо делать примерно так, как нарисовано на картинке, можно произвольно менять местами сигналы на 3-х старших адресных линиях.
На 5 старших адресов надо подавать сигналы кодов переключения страниц.
на А13 и А14 в точности как на схеме СМК-64, чтобы соблюсти традицию.
На остальные 3 линии - сигналы с ВП1-128 DS0, DS2, DS3, являющиеся кодами подключения страниц памяти 1, 4 и 10 соответственно. Т.о. мы обеспечиваем 8 комбинаций из СМК-64 или 16 комбинаций по 32кб, как и задумывалось изначально.
-
? Voland@ - 19.10.2012 14:19
CD-Inc, разработчик говорит что после внесения Вашей доработки в СМК-512 он вообще не хочет работать, видимо по той причине, по которой оригинальный SMK64 с этой доработкой стартует через раз на БК. Известно уже, что там за перемычки не хватает?
-
? Voland@ - 19.10.2012 20:13
Итак, победили проблему зависаний, вызванных доработкой. Проблема вероятно в том, что при включении питания на сигнал sync приходят импульсы, которые стимулируют запись какой-то фигни в регистр режима, после чего происходит распределение и получаем левое распределение страниц памяти. Чтобы обойти это, добавили в схему дополнительный триггер, так сказать для холодного старта. Теперь синхронизация регистра режимов блокируется до тех пор, пока не произойдет первого реального обращения к регистру состояния FDD по адресу 177130.
Тест 4.6 отрабатывает теперь идеально, тестирует весь объем 512 кб, говорит что прошивка РТ5 - новая, и выдает только две "штатные" ошибки теста режимов. Только вот все равно на старте CSI-DOS получаем зависание, и причины пока совсем не ясны, теста недостаточно для проверки всех нюансов СМК :(
-
? Voland@ - 20.10.2012 00:01
На БК-0010-01 пока все так же печально, контроллер не "видит" винт и тест по-прежнему виснет на 9-й точке.
-
? gid@ - 20.10.2012 01:00
На БК10 не видит винт из-за того, что не обрабатываются обращения к регистрам винта. Судя по схеме СМК64 работа с регистрами вообще никак не должна зависеть от типа БК. Т.к. у меня нету БК10, могу придумывать только теории, иногда мало относящиеся к реальности.
Зависает не сам Ксидос, а заглавная демка с пляшущими человечками. Если её отключить, это файл startup.bat в директории CSIDEMOS, то сама система работает.
Причину зависания надо выяснять дизассемблированием, я глянул мельком внутрь - всё сильно переусложнено с целью показать крутость самарских программистов, как минимум 2 точки входа - основная и ложная, куча кусков кода перемещаемых с места на место по ходу работы и вообще, дизассемблировать придётся долго и вдумчиво.
Но интуиция мне подсказывает, что причина в том, что СМК512 мешает переключаться страницам памяти в верхнем окне, либо накладывает своё ОЗУ на ОЗУ БК, чего в режиме 140 быть никак не должно, да и тесты режимов показывают корректность работы режима 140.
Потому что:
1. ксидос не подозревает о наличии контроллера альтпро и не пытается переключать режимы работы. Во время работы всегда установлен режим 140.
2. перед самым зависанием видно как какие-то данные перемещаются в страницу экрана, чего быть явно не должно. Возможно подключается не та страница, что нужно.
.
И кстати, не забудьте убрать сигнал с DS3 ВП1-128 на BAS (МПИ А14) и BAS2 (МПИ А29) через диод D3. Иначе на БК10 при выборе кода подключения страниц 10 вместе с ОЗУ будет подключаться ПЗУ Бейсика когда этого совсем не нужно.
-
? gid@ - 20.10.2012 15:18
Сейчас проверил. СМК512 нисколько не мешает переключаться страницам памяти в верхнем окне.
Причину зависания демки startup.bat логически выяснить не получается. Придётся таки дизассемблировать.
-
? CD-Inc@ - 20.10.2012 23:46
Извиняюсь за молчание, комп. навернулся выуживал данные с него.
Вот схема доработки, с правкой запуска + 1 провод.
http://narod.ru/disk/62721956001.e6133806eaf5c3f987de74d3bd10dbca/%D0%94%D0%BE%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0.JPG.html
.
У меня вопрос:
Назим, а зачем доработка СМК64 в ПЛИСсмк512, ты вроде писал, что там регистр состояния и так в конце обмена по шине прописывается?
или я что-то не допонимаю.
.
Купил современный корпус под свой СМК64, почти подходит по размерам, попилю
выложу результат.
.
Всем удачи.
-
? Voland@ - 20.10.2012 23:53
>> убрать сигнал с DS3 ВП1-128 на BAS (МПИ А14) и BAS2 (МПИ А29) через диод D3
А что тогда подключать на выводы BAS и BAS2 вместо него ?
***
Проконсультируйте по форматированию, кто понимает суть дела, вот вопрос от разработчика:
***
Смотрю, как выполняется команда форматирования (FORMAT) и не врубаюсь, как она вообще должна работать.
Там происходит следующая последовательность действий :
Вызывается подпрограмма ENGINE, которая сначала активизирует включение двигателя, затем через задержку (500 мс) – выбирает нужный накопитель.
Далее устанавливается нулевая дорожка (в данном случае если мы вначале, то ничего не делается)
Проверяется, нет ли индекса. Ясен пень – его нет, ибо двигатель еще не успел раскрутиться, так что сразу идем дальше. Выполняется запись 4E4E по всей дорожке для очистки ее от предыдущего хлама. Тем временем зорко бдим за появлением индекса. Ясное дело, он не появляется – ибо двигатель просто еще не раскрутился. Поскольку индекс не появился 200 с небольшим мс, то считается, что его как бы нет и происходит выход на ошибку.
Теперь вопрос – где тут подвох ?
Когда происходит чтение, то сначала ожидается индекс, а потом уже начинается процесс. При форматировании почему-то процесс начинается, как только индекса нет ?
***
***
Тут еще подключил анализатор , чтобы посмотреть загрузку CSIDOS. Там примерно на 1.9 сек от начала загрузки в регистр режима вместо 0140 оказывается 0. Но кто его туда засылает, посмотреть не получается, но конфликта адресов вроде в режиме 0140 нет, по крайней мере на симуляторе разные адреса писал и без подозрительных эффектов.
***
-
? CD-Inc@ - 21.10.2012 00:21
1) как в МСТД через резистор 300 ом на 5в
2) по записи/форматированию ничего не могу сказать не копал, а при чтении физический индекс не используется.
3) Первые новые версии КСИДоса3 не работали на СМК из-за "войны" Самарских и Московских, попробуйте другую версию из другого архива.
а на железном смк64 она идёт?
-
? Voland@ - 21.10.2012 00:44
>> зачем доработка СМК64 в ПЛИСсмк512
Уберем.
...
>> попробуйте другую версию из другого архива. а на железном смк64 она идёт?
Так в том-то и дело, что именно эта CSI-DOS без проблем идет на оригинале SMK-64, вот и пытаеся её же заставить работать на SMK-512.
...
>> как в МСТД через резистор 300 ом на 5в
Может, проще туда подать логическую единицу (внутри ПЛИС), чтобы на плату ничего не добавлять ?
Получается, на оригинальном СМК64 тоже "на БК10 при выборе кода подключения страниц 10 вместе с ОЗУ будет подключаться ПЗУ Бейсика когда этого совсем не нужно" ? Почему в оригинале СМК64 там была другая логика, это тоже ошибка автора?
-
? Voland@ - 21.10.2012 01:08
>> а при чтении физический индекс не используется.
Видимо не совсем так. Там есть подпрограмма FINDH поиска адресного маркера, которая в свою очередь вызывает подпрограмму INDEX, которая как раз ищет индекс, по адресу 162246 она находится. При начальной раскрутке диска по любому индекс надо проверять, чтобы определить момент, когда диск вышел на нормальные обороты.
-
? CD-Inc@ - 21.10.2012 03:33
про Индекс:
У меня в смк64 он отвалился, при этом дискеты читались, при записи портились заголовки.
про Бэйсик-10:
Можно и лог.1
А gid молодец, я вот даже за 512 и 10точный Бэйсик и не думал.
Про КсиДОС:
Тады ОЙ.
-
? MM - 21.10.2012 04:24
Интересно, а когда CD-Inc спит ? Мне, вот, например, на работу в 10 утра вставать...
-
? MM - 21.10.2012 04:36
Маленький коммент о разнице между форматами MFM-Ибм и MFM-дек.
1.В Дек при чтении не используется сигнал "маркер вращения". Поиск происходит программно, в т.ч. и на МХ.
2.В Ибм Наличие сигнала Маркера вращения автоматически означает прохождение 0 сектора на треке. - именно по этому форматы плохо совместимы, (т.е.заголовок 0 сектора в Ибм-формате практически отсуствует)
по другим (кроме 0 сектора на треке) секторам в треке хорошо совместимы.
3.(п.с.) На БК0010 с 3 мгц камнем быстродействие достаточно для операций с ВП1-128 только при замене ОЗУ с адресами 0-40000 на
1-такт ЦПУ статику. (типа 62256-хх) и т.п. Очень хорошие результаты дает и замена РЕ2-326 на 1-такт ЦПУ статическое ОЗУ - эмуль ПЗУ.
-
? MM - 21.10.2012 04:54
Кстати, а есть ли какое решение об использовании формата 1.44 для БК?
Помнится, контроллер МХ можно было разогнать в 4 раза на 5-мгц ВМ3 и вроде как удавалось прочитать трек. Почему ВМ3 - там поток
данных очень большой, и ВМ1 только на 6 мгц со статикой 0-тактовой (62256-25нс) поспевал отчасти. - драйвер не писали, только
пробовали отрезками машкода для проверки самой возможности в 1992 г. Если собирать примочку с 0 для БК11 - двойная платка КНГМД
выходит и 1.5 А, не менее. - Самые предварительные прикиды. (никаких дорогих ИС - а заманчиво получается...) Вот где сигнал
"Маркер вращения" необходим!
-
? SKcorp. - 21.10.2012 04:56
Тут никто не спит. По ночам все берут в зубы магистральный разъем в рот, втыкаются в порт БК и входят в БК-шную матрицу. Или в БК-шный матрац, если у кого виснет.
-
? gid@ - 21.10.2012 09:53
Voland
1) [ Получается, на оригинальном СМК64 тоже "на БК10 при выборе кода подключения страниц 10 вместе с ОЗУ будет подключаться ПЗУ Бейсика когда этого совсем не нужно" ? Почему в оригинале СМК64 там была другая логика, это тоже ошибка автора? ]
На СМК64 код подключения 10 не используется. Он используется только на СМК 256 и 512. Поэтому на СМК 64 и 128 ничего не надо трогать. Там просто есть функционал по подключения ПЗУ бейсика на БК10. А вот на СМК 256 и 512 уже конфликт, либо подключать страницы, либо бейсик. Разумеется лучше страницы, ибо нафиг тогда набортная память, которую использовать не получится.
2) про форматирование.
В процедуре ENGINE не просто включается двигатель, там ещё выполняются задержки на ожидание его раскрутки, так что после выхода из процедуры исправный двигатель гарантированно вращается.
Затем проверяется исчезновение индекса, если не исчезает - диск не вращается (тут я не совсем понимаю логику).
Затем снова ожидаем появления индекса (Вот тут по моим прикидкам, если диск не вращается и сигнала маркера не было и нет, наступает полное и гарантированное зацикливание, мы будем вечно ждать появления индекса.), а потом, как только индекс пропадет, только тогда начинаем запись 4E4E.
3) Раз есть логический анализатор, посмотрите, не вызывает ли команда RESET нежелательных действий по смене режима контроллера.
-
? Voland@ - 21.10.2012 11:58
>> про форматирование
Так дело в том, что в процедуре ENGINE задержка по времени происходит ДО того, как генерируется сигнал выбора нужного дисковода. Так что двигатель раскрутиться не успевает. Когда же выполняется чтение, то после выполнения ENGINE подпрограмма INDEX ждет появления индекса, а уже потом его исчезновения. На все про все уходит примерно 800 мс. А FORMAT начинает сразу гнать запись 4E4E и при этом ждет появления индекса за определенное число циклов записи (по анализатору проходит 205 мс, что совпадает с кодом программы - 3200 циклов записи по 64 мкс на слово). После этого программа, так и не дождавшись индекса, желает всем здравия и вываливается на ошибку - ясен пень, двигатель-то еще не раскрутился. В общем, непонятки пока программой форматирования, интересно, как же это тем не менее работает на оригинальном СМК ?
Просто подпрограмма FORMAT может подразумевать какое-то свойство ВП1-128, выведенное авторами эмпирическим путем (недокументированные фичи ВП1-128). Потому что там что в ENGINE, что в FORMAT некоторый бессмысленный с точки зрения здравгого смысла - код. Как то - делать циклы задержки до выбора нужного дисковода и проверять отсутствие индекса, как признак его вращения, не проверив сначала его наличия (как это делается в подпрограмме INDEX). И то и другое абсурдно, но как-то же работает на практике.
-
? Voland@ - 21.10.2012 12:19
>> На СМК64 код подключения 10 не используется. Он используется только на СМК 256 и 512.
вопрос в том, что там получается для 0010 и 0011 разная логика - в первом случае сигналы BAS/BAS2 должны идти на 1, во втором -на DS3. А вот одновременно так не бывает, как быть?
gid, а можно Вас попросить в тест добавить проверку, как команда RESET влияет на текущий регистр режима памяти? На симуляторе разработчику это не так просто проверить.
На оригинальном СМК в левом нижнем углу схемы какая-то убойная логика на элементах U1000B и U1000C вместе с диодом и резистором. Не факт, что удалось точно её воспроизвести, ибо до конца не ясен ее смысл.
Там в процессе загрузки демки от CSIDOS происходит на конце второй секудны обнуление регистра режима памяти в СМК, вполне возможно это и есть следствие неправильной реакции на какую-то команду RESET.
-
? gid@ - 21.10.2012 14:07
Вы забываете, что включение двигателя и выбор привода никак между собой не связаны. Сигнал включения двигателя подан - все двигатели включаются независимо от того, выбраны приводы или нет. Это не голимый ИБМ, это Шугарт.
И если в 3.5 дисководе движок не включается без выбора привода - в помойку такой дисковод, и возьмите старую модель.
ВП1-128 прост как автомат калашникова и в точности и достоверно реализует схему пресловутого Шугарта, никаких тайных недокументированных фич там нет.
Всё, что написано в Voland @ - сегодня 11:58 как раз и есть абсурд. На самом деле, всё работает так, как написано в ассемблерном листинге прошивки, а не так, как вам хотелось бы.
.
>>А вот одновременно так не бывает, как быть?
Ясно как, забейте на встроенный бейсик на 10ке. Всё равно он нахер никому не нужен. А если кому нужен - тот подключит туда ОЗУ и загрузит туда бейсик с дисковода.
На СМК512 во всех случаях с DS3 должно идти на триггер ТМ9, т.к. это код для выбора страниц памяти, а не как было раньше - опция для подключения бейсика на 10ке
.
100% достоверно могу сказать, что команда RESET процессора 1801ВМ1 никак не должна влиять на режимы работы контроллера. С тестом пока не могу, т.к. не представляю что нужно делать.
Логика на U1000B и U1000C тоже очень проста. Когда на выходе DS2 лог 0, т.е. в 177130 записан 4, на ВП1-128 запрещается прохождение сигналов DIN (U1000C) и INIT (U1000B) с МПИ, там кстати между диодом D1 и резистором R3 забыли нарисовать кнопку ресет. Диод нужен, когда замыкаешь кнопку, выход U1000B не был замкнут на землю. А так же, чтобы когда жмёшь кнопку ресет, на вход INIT ВП1-128 ничего не попадало.
RESA1 - это выход, чтобы обресетить бкшку кнопкой с контроллера.
Даже я, не занимающийся электроникой, легко читаю схему, а уж человеку, профессионально занимающемуся разработкой и проектированием должно быть ещё проще.
¤
-
? dk_spb@ - 21.10.2012 14:20
Мда, в 100500 раз мы делаем открытие что MOTORON никак не связан в выбором дисковода. :-(
МОжет пора уже FAQ по мотивам повторяющихся вопросов Voland'а написать? И попросить Voland'а его регулярно перечитывать....
Раз уж RTFM в данном случае совсем не прокатывает.....
-
? MSV - 21.10.2012 14:28
Хорошо бы базу знаний замутить. (Кто бы знал, что это такое)
-
? Voland@ - 21.10.2012 18:22
>> в 100500 раз
Так ясное дело - там 5-дюймовый дисковод одним сигналом вообще управляется. Только какое это имеет отношение к данному сюжету? Логика из U1000B и U1000C настолько "проста", что при замыкании кнопки сброса там получается банальное КЗ, хотя это, похоже, стиль отечественных разработчиков - уже не первый случай такого рода. Проблема в том, что если выход ПЛИС закоротить, то у него ток логической 1 намного больше. Хотя может и не сгорит. Собственно, там КЗ нетрудно увидеть - выход U1000B в состоянии логической 1 (нормальный режим) -> диод D1 -> кнопка -> Земля.
>> Может пора уже FAQ по мотивам повторяющихся вопросов Voland'а написать?
Вопросы не мои, а разработчика. Я уже говорил, что он не знаток БК, да и пока никто не может толком сказать, в чем там может быть дело.
-
? Voland@ - 21.10.2012 18:35
С D3 значит оставляем как было в оригинале СМК-64, бейсик БК-10 идет лесом.
Еще от разработчика:
вроде бы я подробно описал суть проблемы - сигналы выставляются так, как прописано в программе, а индекс появляется через определенное время. Где тут 100500?
Пока надежды только на идею о том, что надо отвязать сброс регистра режимов памяти от основного сброса. Позже проверю. Только проблема в том, что там больше нет нормальных сигналов сброса, ибо RESA1 - плохо подходит в качестве такого сигнала, т.к. это вход RC-цепочки, так что сигнал там нарастает плавно по обратной экспоненте, а пороги могут у разных типов логики существенно различаться. Но может быть это прокатит нормально. А нормальный общесистемный сброс находится в недрах БК и идет на вход DCLO процессора. Это как раз RESA1, который пропущен как положено через пару триггеров Шмитта.
-
? gid@ - 21.10.2012 19:15
Чем дальше в лес. тем толще партизаны.
>>Так ясное дело - там 5-дюймовый дисковод одним сигналом вообще управляется.
Ядрён батон. Ну сколько можно повторять. В схеме Шугарта любой, повторяю ЛЮБОЙ, дисковод управляется двумя, повторяю ДВУМЯ, сигналами: Включение мотора, и выбор устройства. Всегда двумя и только двумя, как бы вам не хотелось обратного. Соответственно в ВП1-128 так же любое устройство управляется также ДВУМЯ сигналами. Просто один из сигналов, а именно включение мотора - общее на все устройства. Ну никак невозможно ничего читать/писать выбрав устройство и не включив двигатель. И наоборот, включив двигатель и не выбрав устройство, так же невозможно ничего читать/писать. НО конкретно в случае с ВП1-128 не важно с чего начинать, с раскрутки двигателя или с выбора устройства. Логика подсказывает, что сперва раскручивают движок, а потом выбирают устройство. Но я могу написать программу, которая будет делать наоборот, сперва выберет дисковод, а потом раскрутит мотор. И это спокойно будет работать, потому что работа с дисководом делается полностью программно.
>>получается банальное КЗ
Банальное КЗ получается в случае идеального диода, который в одну сторону пропускает, и имеет нулевое сопротивление, а в другую - нет, и имеет бесконечное сопротивление. В случае же реального диода и советской ТТЛ логики никаких КЗ, всё в пределах допустимого.
Кстати в схеме А16М последовательно с кнопкой стоял керамический кондёр, кажется на 100n. А параллельно кнопке стоял электролит на 100mk для организации длинного ресета.
Разработчик на то и разработчик чтобы думать своей головой и разрабатывать свои идеи. Боитесь КЗ - ставьте буферный элемент.
И кстати, U1000B и U1000C - отключает регистры 177130 и 177132 по чтению, что так же нужно только на БК10 с бейском, т.к. эти адреса попадают на ПЗУ бейсика. Вообще этот рудимент можно смело удалить.
>>С D3 значит оставляем как было в оригинале СМК-64, бейсик БК-10 идет лесом.
Если оставить как в оригинале СМК-64, то наоборот, вся память выше 128Кб на БК10 пойдёт лесом.
...
>>сигналы выставляются так, как прописано в программе, а индекс появляется через определенное время
Я правильно подозреваю, что вы там программную прошивку работы с дисководом пытаетесь аппаратно в плис реализовать? Или мы тут просто взаимно друг друга не понимаем?
-
? dk_spb@ - 21.10.2012 19:19
Боюсь они просто в логике работы Шугарта запутались. Видят в прошивке запуск мотора, задержку, выбор привода и форматирование.
И удивляются почему после выбора привода нет задержки на раскрутку мотора.
И в 100500 раз просят им повторить что после запуска мотора и задержки, к моменту выбора привода мотор УЖЕ раскрутился.
-
? gid@ - 21.10.2012 19:40
Теперь немного про RST и RESA1. Тут я могу ошибаться, и те кто более в теме, пусть поправят.
RST - это сигнал INIT, который выдаётся с 1801ВМ1. Выдаётся он по команде RESET и при инициализации процессора.
И если смотреть на схему СМК64 - ресет должен сбрасывать режимы памяти, что на самом деле не так. В схеме чего-то не хватает. Например в А16М как я писал выше стоит кондёр на 100mk одной ногой к R3, между R3 и U1004, второй - на землю. Он, кроме организации длинного ресета, ещё держит высокий уровень при программном RESETе и не даёт сбросить регистр режимов памяти, т.к. не успевает разрядиться.
А на RESA1 у всех бкшников с давних времён сделана кнопка ресет - тупое замыкание RESA1 на землю. У особо продвинутых может быть через резистор или ещё как. У меня там с самого начала стоит простая кнопка.
-
? gid@ - 21.10.2012 20:59
>>>>С D3 значит оставляем как было в оригинале СМК-64, бейсик БК-10 идет лесом.
>>Если оставить как в оригинале СМК-64, то наоборот, вся память выше 128Кб на БК10 пойдёт лесом.
Уточню сам себя. Проще как говорил CD-Inc на каждый вход BAS и BAS2 подать +5в через резисторы 300Ом
А если из ПЛИС выходят 2 отдельных сигнала на BAS и BAS2, занимая 2 ноги, то проще дать туда лог 1. Опять же не силён в тонкостях, зачем нужен диод, наверно входы ПЗУшек 1801РЕ2 нельзя замыкать между собой.
-
? Ал-р - 21.10.2012 21:32
Про диод: если сигнал отключения подаётся туда где плюс диода - отключаются оба ПЗУ, если на минус - второе ПЗУ не отключается.
-
? Voland@ - 21.10.2012 22:35
Проблема с заставкой разрешилась.
Из ПЛИС выходят именно 2 отдельных сигнала на BAS и BAS2, поэтому можно обойтись без резисторов, напаяв один провод.
>> Я правильно подозреваю, что вы там программную прошивку работы с дисководом пытаетесь аппаратно в плис реализовать?
Нет конечно. В ПЛИС она даже не влезла бы. Просто пока неясно, где косяк с форматированием.
-
? CD-Inc@ - 21.10.2012 22:59
диод Д3 в смк стоит из-за того, что сигнал BAS это CE на две первые мкс. Бейсика.
а BAS2 это DIN с ВП37 на 3 мксхему Бэйсика.
Смешивать их на прямую не получиться.
.
(Проблема с заставкой разрешилась. )
Ну и в чём дело оказалось?
-
? Voland@ - 22.10.2012 21:01
>> Ну и в чём дело оказалось?
толком разработчик пока не ответил, но что-то с RESET не то было. Сейчас полурабочий вариант, демка работает, но кнопка ресет не работает))
-
? gid@ - 22.10.2012 21:48
Вот я смотрел-смотрел на схему smk64 оригинал, и мне вот что в голову пришло.
Если всю схемотехнику с U1000B и U1000C оставить как есть, но просто выкинуть нафиг диод D1, всё должно заработать так, как должно.
Кнопка ресет, которая замыкает RESA1 на землю, ресетит всю БКшку, как и было традиционно, заодно обнуляется регистр режимов, потом, после отжатия кнопки ресет, происходит цикл инициализации процессора, он выдаёт сигнал INIT, который на схеме обозначен как RST, и он инициализирует ВП1-128, вроде бы всё работает, все микросхемы довольны. Программный RESET без диода не может дотянуться до регистра режимов, поэтому на него не влияет.
Или в столь простом и лежащем на поверхности решении есть какой-то подвох, которого я не вижу?
.
CD-Inc, а что в СМК64 действительно отказались от идеи длинного ресета, как было в А16? Я считаю эту возможность полезной. Или при запуске монитора БК11М из него командой B невозможно было загрузиться с винчестера?
-
? CD-Inc@ - 22.10.2012 22:58
Да нет, всё осталось, только весь функционал на цифро-буквы переехал.
и точки входа в дрова (160000 ...) все стандартны. В описании есть.
Новак избавился от элекролита в схеме.
А Д1, походу, нужен чтоб ВП128 не бултыхалась при пуске и втечении цикла DCLO(RESA1) и затем до окончания цикла ACLO(INIT,RES),
чтоб записи какой в ТМ9 не произошло, там и ресет на ТМ9 растянули резистором для этого.
Согласен что схема натянута под конкретное железо, но в СМК64 много таких играющих на грани фола мест.
Хрень со сменой режима посреди цикла из той же оперы.
Тормозящяя схема выбора байта тоже.
Экономия мс/корпусов Новаком, плата и так из ИРПСного корпуса пухнет.
А Самарцы, кстати любили клаву ресетом глушить. Да и часто пихали его везде, даже когда не надо было.
-=RUS=- (ASRcorp) раньше, когда ковырял их проги, об этом часто говорил.
.
Фух..., ну и раскатал же...
Всем Удачи.
-
? tim - 22.10.2012 23:14
Диод D1 нужен чтобы не закоротить на землю выход U1000B сигналом RES1A, который является для этой схемы ВХОДНЫМ, а не наоборот. Кнопка сброса была не на плате контроллера, а на самой БКшке как правило.
-
? Voland@ - 22.10.2012 23:47
На данный момент проблема в том, что на МПИ нет нормального системного сброса, что идет на вход DCLO процессора. Так что регистр режимов памяти придется сбраcывать от входа RESA1, который далек от идеала ибо это вход, хотя это в данном случае скорее всего не вызовет проблем. Диод в данном случае не нужен, ибо логика будет внутри ПЛИС.
Но проблема не в том, как отсечь INIT от сброса регистра режимов, а чем таки его сбрасывать. При включении питания он итак в 0, а вот на кнопку в сейчас не реагирует.
-
? CD-Inc@ - 23.10.2012 00:46
tim посмотрите схему кнопка=RESA1=DCLO=A1мпи=(к.з. при нажатии) как раз коротит на землю u1000b на INITе ВП128.
при чем тут кнопка в БК не в БК - конец то один.
voland: А сейчас он чем сбрасывается?
регистр состояния обнуляется кнопкой (RESA1), при этом держится INIT на ВП128, затем на u1000b приходит INIT с процессора(RES)
за счёт растяжки RESA1 резистором на CLR ТМ9 он находится в сброшенном состоянии несколько дольше чем RESA1
поэтому туда мусор не может быть записан во время сброса ВП128.
INIT (RES) с процессора регистр состояния не сбрасывает.
смотрите схему и запуск ВМ1.
логикой в плис делается
-
? Voland@ - 23.10.2012 01:01
Разработчик говорит что выводы насчет растягивания сброса резистором не соответствуют действительности: можно просто посчитать постоянную времени RC, где C - входная емкость входа R триггера и понять, что ничего там толком не растянется.
-
? CD-Inc@ - 23.10.2012 01:05
Скажу по простому:
Ликвидируется дребезг кнопки, иглы всеразличные и пр. переходные состояния.
Так лучше?
-
? Voland@ - 23.10.2012 01:10
Дребезг кнопки измеряется миллисекундами, а постоянная времени RC там намного меньше. Ибо входная емкость единицы пикофарад.
-
? CD-Inc@ - 23.10.2012 01:13
поставьте вместо концов диода "и" выходом на ИНИТ ВП128 и будет счастье
-
? CD-Inc@ - 23.10.2012 01:18
А НАХРЕНА ЕГО ТУДА ПОСТАВИЛИ
там не миллисекунды там фронта у игл крутые
миллисекунды на электролите в БК фильтруются.
-
? gid@ - 23.10.2012 09:44
Кстати, хочу ещё немного уточнить. Если не убирать U1000B и U1000C, то когда мы подключаем доп ОЗУ кодами
4,2004,14,2014,5,2005,15,2015, т.е. в половине случаев, перестанет работать дисковод. Т.к. 4 с помощью U1000B и U1000C отключает ВП1-128 по чтению.
В общем-то эта проблема коснётся только заядлых дисководоводов. Винчестероводы ничего и не заметят. Но боюсь, когда проблема у кого-то случайно всплывёт, будет много срача и упрёков.
-
? gid@ - 23.10.2012 11:09
Я тут ещё посмотрел и подумал. Диод D1 не только замыкает выход U1000B на землю, он ещё и вход INIT ВП1-128 на землю замыкает. Примерную сущность диода можно заменить логическим элементом "И", я тут нарисовал пару примерных вариантов:
http://files.mail.ru/Z6LRRE?t=1
http://files.mail.ru/Y41D6A?t=1
А самарцы не только клаву ресетом глушили, но и AYшку и вообще активно его использовали, так же команда RESET использовалась, как все помнят, для организации распознавания нажатия сразу нескольких клавиш из-за то ли глюка, то ли конструктивных особенностей ВП1-14. Там просто скан коды после ресета накладывались друг на друга.
-
? gid@ - 23.10.2012 11:12
Блин. до меня как-то очень долго доходит. CD-Inc уже всё рассказал, а я че-то сижу, изобретаю.
-
? Voland@ - 23.10.2012 12:43
С логикой сброса разработчику уже все понятно, всё будет учтено. Косяк с Форматированием сегодня попытается диагностировать сравнением с работой орригинала при помощи ЛА.
Вот как бы понять, почему на БК-10 некорректное поведение... Пока совсем неясно куда копать.
-
? Voland@ - 23.10.2012 12:53
Регистры жесткого диска находятся по адресам 177740 и далее. Вроде с виду ничего криминального нет, учитывая что регистры fdd находятся по адресам 177130-2, что в том же сегменте и при этом работают на 0010. Так что навскидку не видно, где там конфликт, почему винт не виден на БК-10.
-
? gid@ - 23.10.2012 15:15
Т.е. что дело в регистрах HDD я угадал, или мне на слово поверили?
А с отрывом DS3 от BAS и BAS2 на десятке перестало виснуть на 9-й точке проверки?
А то в коде теста я заметил неприятный косяк.
Когда из-за внезапно подключившегося когда этого не ждали ПЗУ бейсика регистр 177130 накладывается на ПЗУ
тест зависает из-за того, что не может правильно переключать страницы, мешает возникающий trap to 4.
Исправление этого недостатка тут: http://gray-gid.narod2.ru/f/alt_test_v4.61.rar
-
? Voland@ - 23.10.2012 22:29
>> Т.е. что дело в регистрах HDD я угадал, или мне на слово поверили?
Пока это проверить не удалось.
>> А с отрывом DS3 от BAS и BAS2 на десятке перестало виснуть на 9-й точке проверки?
Перестало, тест полностью работает корректно, но настораживают нюансы:
1. На БК0010-01 "штатные" ошибки переключения режимов выдают код ошибки 004260, как на оригинале, так и на СМК-512; на 11М СМК512 выдает код 000000. Это нормально?
2. Первая часть теста (до циклических тестов памяти) почему-то работает заметно медленнее, чем на оригинале СМК64, возникают значительные паузы перед выводом текстовой информации (трескающий звук в динамике не прекращается), это объем памяти что ли влияет так?
...
Также через раз вылазит ошибка (еще встречалась для 2021):
Этап 1
2024 - 1111111111111111 100000:1111111111111111
2035 - 0000000000000000
И случилось зависание в этом месте (пока повторно не проверял):
Этап 2
2134 - 1111111111111111
...
Ну вот, Бейсик БК10 теперь будет недоступен :(.
-
? CD-Inc@ - 23.10.2012 22:48
Бейсик доступен через СМКшную версию (реж.20) как на 10 так и на 11м, встроенные РОМы не используются
-
? gid@ - 24.10.2012 10:14
1. Это не совсем нормально, видимо я что-то где-то как-то не учитываю. Видимо моё понимание работы БК10 отличается от реального, пока ничего с этим не поделать.
2. Трескающий звук в динамике когда на экране ничего не делается означает что происходит переключение режимов работы контроллера. Причем вхолостую. Это тоже только на БК10 или и на БК11 также?
Я тут задумал добавить в тест
1)проверку доступности регистров HDD
2)реакцию на RESET
3)работу с битом 2 (код 4)
4)работу с битом 3 (код 10)
¤
А вот кстати. СМКшная версия бейсика тоже занимает адреса с 120000 по 177577 ? или учитывая, что она должна работать с дисководом, её подсократили в размерах?
-
? Voland@ - 24.10.2012 13:30
>> Причем вхолостую. Это тоже только на БК10 или и на БК11 также?
Это именно на SMK-512, на обоих БКшках.
_
Так а что можно сказать по поводу ошибок
2024 - 1111111111111111 100000:1111111111111111
2021 - 1111111111111111 100000:1111111111111111
??
_
>> Я тут задумал добавить в тест
Это будет здорово, спасибо!
_
По HDD, как удалось установить, адреса регистров HDD 177740-177756 на БК-0010 не конфликтуют ни с чем. А вот драйвер HDD использует всякие ячейки памяти вроде 176676, 175774 по адресам ниже 177700. Вот как раз они и могут конфликтовать с кем-то, хотя по таблице эти адреса вроде как должны отображаться на ОЗУ СМК и проблем как бы не должно быть. На адреса Бейсика эта область налазит, но если ПЗУ Бейсика принудительно отключить подачей логической 1, то вроде тут больше конфликтовать не кому. В общем нужны идеи, пока ничего не понятно ((
-
? Voland@ - 24.10.2012 13:55
>> 1)проверку доступности регистров HDD
Еще по поводу HDD от разработчика:
Там еще смотреть бы тестом не столько решистры HDD, сколько управляющие ячейки самого драйвера HDD, вроде 176676, где записана всякая информация о параметрах и состоянии жесткого диска. Как раз регистры HDD скорее всего будут видны, потому что я так и не нашел, что там с ними может конфликтовать. Даже в описании для БК-0010 адреса 177740-177756 вроде как обозначены для HDD и ни для чего другого.
-
? gid@ - 24.10.2012 16:58
>>Так а что можно сказать по поводу ошибок
Могу сказать, что это чудесные, невозможные ошибки. Но раз они случаются, то опять происходит нечто такое, что мне просто в голову не пришло и я это не учёл в тестах. Гляжу в исходник, и не понимаю, как -1 может быть не равно -1. Разве что происходит дребезг в регистре переключения режимов, пока записали - нужный режим, потом пока делаем контрольное чтение - какой-то не нужный режим, вызывающий вывод сообщения об ошибке, при выводе которого опять выставляется нужный режим, и дальше уже держится до конца.
.
Поскольку разные забавные глюки и зависания добавились после изменения прошивки плис, есть вероятность того, что теперь что-то где-то подсаживает шину +5В из-за чего БК в целом работает нестабильно. Есть возможность поглядеть потребляемый ток, или потрогать руками, может что-то греется сильнее, чем надо бы.
.
Ещё могу добавить в тесты проверку памяти в диапазоне 170000-177000. Просто имеем контрольный массив с известной контрольной суммой, запишем его в этот диапазон, а потом проверим КС записанного. Просто проверить работу с HDD вообще не знаю как, я не хочу вдаваться в тонкости какие данные выдаёт винт в ответ на данные которые передают ему, уж слишком там всё мудрено.
А пока опробуйте новую версию теста. http://gray-gid.narod2.ru/f/alt_test_v4.7.rar или другой вариант http://gray-gid.narod2.ru/f/alt_test_v4.7F.rar - у этого варианта немного отличается вывод результатов ошибок синхротеста, отчего - совершенно не понятно.
-
? Voland@ - 24.10.2012 17:51
Да вроде ничего особо не греется.
Попробую еще раз погонять тест на предыдущих прошивках ПЛИС и на оригинале, вдруг где-то еще выловлю такие же ошибки. Проверка памяти в диапазоне 170000-177000 лишней не будет, давайте добавим, раз уж можно...
Результаты по новым тестам сообщу позже.
-
? Voland@ - 24.10.2012 22:26
=============БК0010-01 + СМК512=============
Переключения в холостую сохраняются (звуки есть, а текст не выводится).
Ошибки при циклическом тестировании памяти воспроизводятся стабильнее чем на БК0011М:
Этап 1
0060 - 1111111111111111 140000:read-halt
2160 - 1111111111111111 140000:1111111111111111
0174 - 1111111111111111 140000:1111111111111111
2161 - 1111111111111111 140000:1111111111111111
_
Во всех случаях тест 47 выдает некорректную фразу:
Тест влияния RESET...
Адрес: 100000 изменений
Адрес: 120000 изменений
Адрес: 140000 изменений
Адрес: 160000 изменений
_
Других ошибок нет.
=============БК0010-01 + СМК64(ориг)=============
Нажмите любую клавишу...
Тест влияния бита 2...
ОШИБКА! Регистры 177130, 177132 должны блокироваться!
Тест влияния бита 3...
ОШИБКА! не подключается ПЗУ Бейсика.
Других ошибок нет.
=============БК0011М + СМК64(ориг)=============
Нажмите любую клавишу...
Тест влияния бита 2...
ОШИБКА! Регистры 177130, 177132 должны блокироваться!
Тест влияния бита 3...
На БК11(М) бит 3 влияния не имеет.
Других ошибок нет.
=============БК0011М + СМК512=============
Ошибки только в циклическом тесте памяти, как и ранее.
==========================================
Тест 47F совсем глючит по выводу текста во всех сочетаниях контроллеров и БК, все куда-то уезжает, часть информации теряется.
Теперь тест режимов не выдает ни одной ошибки не только на БК10, но и на БК11М, это так задумано?
-
? gid@ - 24.10.2012 23:06
>>Переключения в холостую сохраняются
Естественно. у меня-то их нет, поэтому я и не знаю. в какую сторону ковырять.
>>Ошибки при циклическом тестировании памяти воспроизводятся стабильнее
эффект самовнушения. алгоритмы абсолютно не менялись.
>>0060 - 1111111111111111 140000:read-halt
а это наводка на то, что скорее всего я прав, и в регистре режимов происходит нежелательная чехарда с режимами.
что-то типа длительных переходных процессов, окончательное значение долго не устаканивается.
>>Во всех случаях тест 47 выдает некорректную фразу:
Это реальный косяк, на самом деле должно было выводиться " - без изменений"
т.е. всё в норме.
причина в том, что заготовка теста делалась немного в других условиях, и при внесении её в основную программу не всё оказалось учтено.
>>Тест влияния бита 2...
тут надо разобраться. почему регистры не блокируются, хотя схема и доки говорят об обратном.
>>На БК11(М) бит 3 влияния не имеет.
это как бы тонкий намёк, что эта проверка актуальна только на БК10.
>>Тест 47F совсем глючит по выводу текста во всех сочетаниях контроллеров и БК
Это да. он нормально работает только в эмуляторе. т.к. эмулятор не досконально строго эмулирует процессы. есть над чем подумать.
>>Теперь тест режимов не выдает ни одной ошибки не только на БК10, но и на БК11М, это так задумано?
да. теперь он на реальных БК не выдаёт ошибок, зато в эмуляторе, из-за не строгого соблюдения всех тонкостей - выдаёт. Раньше было наоборот, и я решил, что реальное железо таки важнее.
-
? Voland@ - 24.10.2012 23:29
>> эффект самовнушения. алгоритмы абсолютно не менялись.
Я имел ввиду, что на БК10 стабильнее, чем на БК11, т.к. ранее на БК10 я до конца тект не доводил.
>> это как бы тонкий намёк, что эта проверка актуальна только на БК10.
Ну это я понял, просто для информации привел, что как надо отработало.
>> что-то типа длительных переходных процессов, окончательное значение долго не устаканивается.
Разработчик на это сказал "только там регистр из триггеров состоит, как там могут быть переходные процессы?"
-
? Voland@ - 25.10.2012 01:17
Итак, протестил все имеющиеся прошивки ПЛИС и пришел к двум выводам:
1. Ошибки
2024 - 1111111111111111 100000:1111111111111111
2021 - 1111111111111111 100000:1111111111111111
были во всех без исключения версиях прошивки ПЛИС, просто иногда лишь с четвертого прогона теста удается их выловить.
2. Фиктивные переключения режимов со звуковым треском, появились после того, как в ПЛИС была применена схема доступа к объему ДОЗУ свыше 64 Кб.
Помогает ли эта информация выявить источник проблем?
gid, у Вас есть чем шить ПЛИС? могу выслать последнюю прошивку.
-
? gid@ - 25.10.2012 12:00
Ну, насчёт переходных процессов это я образно, чтобы было о чём представление иметь. Если на вход C триггера достаточно долго подавать паразитные импульсы, он будет достаточно долго гнать херню.
>>Фиктивные переключения ... схема доступа к объему ДОЗУ свыше 64 Кб
Вот теперь понятно о чём речь. Это не фиктивные переключения. Там каждый раз, перед каждой проверкой заново прописываются данные в каждую страницу доп ОЗУ, для чистоты эксперимента. А поскольку ОЗУ теперь больше, то и времени это занимает больше. И вот, даже стало ощутимо заметно, в эмуляторе это занимает около 3 секунд, как в реале - не знаю.
>>есть чем шить ПЛИС
ранее не практиковал, поэтому вообще представления не имею, чем это делается. Нужно какое-то спец оборудование? или можно собрать на коленке прошивальщик из подручных материалов?
-
? gid@ - 25.10.2012 16:52
исправил тест 4.7, ссылки те же, файлы те же.
-
? Voland@ - 25.10.2012 22:18
Протестил, некорректных фраз больше нет.
"Тест буфера ОЗУ HDD в норме." - для всех сочетаний БК и СМК.
А может так должно быть, что на БК10 для СМК64 регистры дисковода не блокируются, ПЗУ Бейсика не подключается? Может просто ошибка в срисованной схеме, а на оригинальной плате всё правильно?
Больше ни у кого нет идей, как найти причину, по которой БК10 не видит винт на СМК512?
-
? gid@ - 25.10.2012 23:05
Пока не знаю. Все доки говорят о том, что таки должны регистры отключаться при установке кода 4, иначе при подключенном ПЗУ бейсика на БК10 при чтении из ПЗУ бейсика по адресам 177130 177132 вместо того, что нужно будет мусор, и в каких-то редких случаях, проги бейсиковые будут тупо виснуть. Я кстати при написании эмулятора на примерно подобную граблю наступил. Ибо совсем не учёл, что ПЗУ бейсика заканчивается на 177600. И без этих 600 байтов некоторые бейсичные проги не работают.
В тесте была ошибка, я имел в виду блокировку регистров 177130 177132 по чтению при установке кода 4, а сам делал туда запись. Естественно тест давал неправильные результаты. сейчас это исправлено, и в эмуляторе на А16М отрабатывается корректно, правда для этого пришлось править сам эмулятор, чтобы он точнее эмулировал.
А на реальном железе смогу проверить максимум на выходных только.
-
? Voland@ - 25.10.2012 23:34
>> или можно собрать на коленке прошивальщик из подручных материалов?
У меня например для этого используется LPT-байтбластер, в нем всего одна микросхема HC244A, LPT-разъем, разъем IDC-10. Что-то вроде этого:
http://radiokot.ru/start/mcu_fpga/avr/03/
Есть такие, чуть универсальнее:
http://we.easyelectronics.ru/plis/altera-byteblaster-mv-sovmeschennyy-s-lpt-programmatorom-avr.html
Или еще проще, USB-byteblaster:
http://bsvi.ru/prostoj-usb-blaster-dlya-altera/
_
>> при подключенном ПЗУ бейсика на БК10 при чтении из ПЗУ бейсика по адресам 177130 177132 вместо того, что нужно будет мусор
Блин, что-то столько непоняток, даже с оригиналом СМК...
-
? gid@ - 26.10.2012 12:54
Я бы не сказал, что USB-байтбластер проще, поглядел про них в инете, все они построены на PIC, и там люди пишут, что их перед использованием надо программировать.
Лучше уж я сделаю LPT-байтбластер, он сильно проще. А какие программы используются для прошивания?
Первое, что нашлось в гугле - какой-то Quartus II, нету ли чего по-проще? Главное, чтобы было под x64.
-
? Voland@ - 26.10.2012 21:48
Да, я использую quartus ii programmer, насчет других средств не в курсе. Там вроде бы можно только его скачать, чтобы всю альтеровскую систему не ставить.
Он теоретически может работать под x64, но т.к. у меня не было встроенного LPT, пришлось купить PCI-LPT, который увы полноценно под Win7 не встал (точнее встал, но описанные в инете шаманства по поводу того как подружить его с quartus ii - не прокатили), пришлось ставить WinXp, под которым все заработало. Если есть встроенный LPT то должно получиться под Win7 x64.
-
? gid@ - 27.10.2012 16:33
Значит, и я квартусом воспользуюсь. На собирание устройства может уйти неопределённое время, как соберу - отпишусь.
А пока я тут заметил одну принципиальную ошибку. Подключение ПЗУ бейсика и блокировка регистров 177130,177132 совершенно никак не связана с режимами. Это моя ошибка и я тут ввёл всех в заблуждение.
При простой записи числа 014 в 177130 на БК10 подключается бейсик и блокируются регистры.
НО! Если подключение ПЗУ бейсика на БК10 для СМК512 не нужно, да и на СМК64 по большому счёту тоже, потому что у СМК нет специального режима для этого.
То блокировка регистров 177130,177132 всё таки нужна. потому что, как я поглядел, дисковый бейсик так же занимает место по адресам с 120000-177600. При этом регистры 177130,177132 необходимо блокировать, для корректной работы с бейсиком как на БК10, так и на БК11. микросхемы U1000B и U1000C всё таки нужны.
Всвязи с открывшимися обстоятельствами обновились тесты.
http://gray-gid.narod2.ru/f/alt_test_v4.71.rar
http://gray-gid.narod2.ru/f/alt_test_v4.71f.rar
причем я заметил, что в тесте с буквой F не глючит скроллинг на настоящем железном А16М, а на имеющейся у меня реплике СМК - глючит.
¤
-
? Voland@ - 27.10.2012 21:59
Сейчас есть только одна ошибка и только в сочетании БК0010-01 + СМК64 (ориг):
Ошибка, не подключается ПЗУ Бейсика.
_
Глюки со скроллингом текста в тесте 4.71F есть во всех сочетаниях БК10/11M и СМК64/512.
-
? gid@ - 29.10.2012 11:18
Небольшое уточнение алгоритмов проверки реакции на биты 2 и 3
http://gray-gid.narod2.ru/f/alt_test_v4.7.rar
http://gray-gid.narod2.ru/f/alt_test_v4.7f.rar
(я решил уточнять версии, но ссылки на файлы всегда сохранять одни и те же, чтобы гарантированно не иметь мёртвых ссылок.)
1) блокировка регистров проверяется во всех режимах контроллера, и если хотя бы в одном будет отловлена - тест считается успешным.
2) при подключении ПЗУ бейсика на БК10 + СМК64 из-за того, что ПЗУ накладывается на ОЗУ, могло не срабатывать trap to 4 при записи в область бейсика. Теперь дополнительно к этому производится контрольное чтение. Если не будут прочитаны ожидаемые значения - значит подключение произошло.
Так же произведена попытка починить глюки скроллинга в тесте с буквой F - удачно или нет, проверить на реальном железе не удалось по некоторым причинам, но теоретически, всё должно работать, т.к. теперь при выводе на экран символа включается стандартный режим для заданной модели БК.
.
Насчёт ошибок вида
2024 - 1111111111111111 100000:1111111111111111
пока нет никаких идей. Посмотрите логическим анализатором, точно ли не происходит множественного переключения станиц памяти при проверке.
-
? tim - 29.10.2012 13:55
Просто число "нехорошее" :)
-
? Voland@ - 29.10.2012 23:55
gid, проблема со скроллингом устранилась. Ошибка как и ранее только одна
"БК0010-01 + СМК64 (ориг):
Ошибка, не подключается ПЗУ Бейсика."
Обратил внимание, что ошибка циклического теста на БК0010-01 + СМК512 моделируется практически всегда с первого раза на странице 0160. Может это как-то поможет в локализации проблемы..
-
? gid@ - 30.10.2012 10:58
Ещё раз уточнил тест реакции на бит 3.
Теперь дополнительно проверка делается в режиме 140. Там на БК10 по адресам 120000-160000 ничего нет, и если при установке кода 10 оттуда можно читать, то бейсик подключается. Ещё, теперь по умолчанию считается, что на СМК64 бейсик не подключается. И если он таки подключается, то будет выводиться "Ошибка, подключается ПЗУ Бейсика."
.
если ошибка циклического теста на БК0010-01 + СМК512 практически всегда с первого раза на странице 0160 получается по адресу 140000 и никогда по адресу 120000, то намечается такая тенденция.
На БК10 в режиме 160 по адресу 140000, а на БК11 в режиме 120 по адресу 100000 всегда находится секция 0 доп.ОЗУ. И как можно заметить, проблема всегда в первом слове этой секции, причём с разными кодами подключения страниц доп.ОЗУ. Т.е. имеем привязку ошибки к номеру секции. Есть подозрение, что в прошивке плис применён какой-то костыль, который либо теперь начал мешать, либо является причиной неполадки.
-
? Voland@ - 01.11.2012 23:11
Теперь в конфигурации БК0010-01 + СМК64 (ориг) выдается ошибка "Ошибка, подключается ПЗУ Бейсика."
А ранее была "Ошибка, не подключается ПЗУ Бейсика."
-
? gid@ - 02.11.2012 09:22
А я ведь предупреждал. Я так и знал, что бейсик подключается, вот только правильная проверка получилась столько с третьего раза.
-
? gid@ - 02.11.2012 10:03
Вернул всё назад. Теперь как обычно, для А16, СМК64, СМК128 подключение бейсика считается нормой. Для СМК256 и СМК512 - ошибкой, ибо излишество ненужное на всех СМК вообще.
Файлы по прежним ссылкам, отличаются только датой создания, т.к. исправить надо было там только 2 байта.
-
? Voland@ - 04.11.2012 12:14
Теперь все корректно, на БК10 + СМК64 (ориг) пишется - Норма, подключается ПЗУ Бейсика,
на БК10 + СМК512 - Норма, не подключается ПЗУ Бейсика.
-
? Kisser - 12.11.2012 20:20
Господа, а ответьте на дурацкий вопрос: что там подключается после 177000? И как это коррелирует с областью регистров БК? В таблице описания режимов СМК есть такая строчка 170(17700hdd)-0. Вот "-0" смущает - реально ли ПЗУ/ОЗУ СМК вклинивается в 177000 и выше? А как же 177130 не говоря уже про родные 177716 и 177714?
-
? gid@ - 12.11.2012 22:39
Отвечаем.
После 177000 в режиме 160 подключается ПЗУ, в режиме 20 - ОЗУ в режиме только чтение == ПЗУ по принципу действия, в режимах 100 и 0 - ОЗУ в режиме только ЗАПИСЬ. В остальных 4-х режимах - ничего не подключается.
Как это коррелирует с областью регистров БК?
в режиме 160 - хорошо коррелирует, т.к. там по адресам, попадающим на регистры записаны 0, т.о. ТТЛ логика не замечает помех и работает как будто ничего не было, по адресу попадающему на 177716 записано 164400, для подмены стартового адреса, что тоже не противоречит канонам ТТЛ и формированию сигналов на шине А/Д.
в режиме 20 - пользователь сам должен заботиться об обнулении ОЗУ попадающего на регистры, иначе обеспечены всякие забавные казусы. Например я столкнулся с хаотическим и неправильным скроллингом.
в режимах 100 и 0 - наложение совершенно не критично. данные записываются в ОЗУ но из него на шину МПИ не поступают и никто никому не мешает.
ПЗУ/ОЗУ реально вклинивается. Но. Критичен только режим 20. Но в этом режиме вместо ПЗУ дисковода находится так же ОЗУ, поэтому регистры 177130 можно использовать только умышленно, своей программой. И предполагается, что человек, делающий это в трезвом уме и твёрдой памяти сам знает что и зачем он делает, и что из этого может выйти. Насчёт 177716 и 177714 - не забудет очистить ОЗУ попадающее на эти адреса - всё будет хорошо, а не очистит - сам виноват, при чтении будет получать мусор.
В общем ничего страшного. СМК - обычный инструмент, которым нужно уметь пользоваться и учитывать его функциональные особенности.
-
? Kisser - 15.11.2012 11:38
Может я что и не понимаю, но выходы ПЗУ и ОЗУ - 3state, а не ОК. Из-за этого например елку не удалось подружить с 245ми а лишь только с 641ми. Просто если даже записать эл."1" в ПЗУ/ОЗУ, то не факт что ноль регистра в итоге вытянет на такой уровень. И как показала практика, не вытягивает - получается прим. 3,45В, т.е. 3state побеждает.
А реально именно этими возможностями СМК какая-то программа пользуется? Про расширение памяти понятно, но с подключением наверх ПЗУ/ОЗУ кажется нужны очень веские причины, это наверное экзотика.
Собственно спрашиваю потому как после сборки приставки на ВМ2 ММ, думаю взять ее для испытаний и попробывать совокупить с СМК. Хочется хотя бы понять принципиальную возможность такого соития.
-
? gid@ - 15.11.2012 16:03
Единственное реальное и полезное применение наложения - СМК меняет адрес старта БК на 164400, чтобы сперва запускалась прошивка СМК. При этом читается только содержимое 177716 (там на шине А/Д соединяются выходы D34.5 D34.6 (кажется так, под рукой нет качественной схемы) и выходы ПЗУ контроллера, низкий лог.уровень + низкий лог.уровень = всё ещё низкий лог.уровень, а остальные биты адреса берутся из ПЗУ, там ничего ни с чем не конфликтует), потом включается обычный режим, без наложения.
В режимах 100 и 0 поскольку там только запись, ничьи выходы ни с кем не соединяются. Назначение - выдать на МПИ сигнал RPLY при записи в 177674, 177676. Но т.к. читать по этим адресам по-прежнему нельзя, полноценный пультовый HALT режим сделать невозможно.
Про оставшийся режим 20 ничего сказать не могу. По-моему, там наложение - побочный эффект, Используется ли кем-то - не знаю, но думаю, что нет.
Там ведь выходы 62256 соединяются с выходами ВП1-14, ВП1-37, ВП1-128, или с регистрами, на которых 177714 и 177716 сделаны, вроде бы больше не с чем.
-
? Voland@ - 20.11.2012 20:15
Продолжаем исследования на тему форматирования.
Обнаружилось, что при попытке записи ВП1-128 сама задерживает сигнал готовности, пока не обнаружит индекс с диска. Если предположить, что она при первом слове записи ждет индекса, то тогда непонятно, как это будет делаться в середине дорожки, если мы просто пишем, а не форматируем. Все-таки, получается недокументированная функция!!! Ну либо следствие отсутствия нормальной документации.
В скудной доке на 1801ВП1-128 четко написано "В режиме 'запись' 7-й разряд РС (TR) устанавливается в единицу после того, как младший байт РДЗ переписался в сдвиговый регистр." и больше ничего дополнительного, и в структуре не обозначено ни каких дополнительных узлов, разве что в многозначительное " устройство управления" может входить все, что угодно.
Пока что получается так, что после записи первого слова в регистр данных 177132 выдается готовность к приему следующего слова в аккурат вместе с приходом индекса.
С точки зрения работы с микросхемой запись и форматирование никак не отличаются, там есть регистр данных 177132, как только мы в него что-то записываем, микросхема автоматом переходит в режим записи, пока поток слов не закончится, тогда он записывает контрольную сумму и возвращается в исходное состояние. Или если в процессе записи считать данные из регистра 177132, то также режим записи заканчивается. В общем, как-то микросхема определяет, вращается ли диск в данный момент, а если не вращается, то задерживает запись и сигнал готовности тоже.
Самое интересное, что в коде FORMAT уже два куска сомнительного назначения: если внутри микросхемы аппаратный детектор вращения, то и второй цикл ожидания индекса не имеет смысла (там цикл на 6200 записей, который в реальности один раз проходит, ибо внутри него цикл ожидания готовности, который отрабатывается аппаратно внутри 1801ВП1-128).
-
? Voland@ - 20.11.2012 20:18
На языке Cи эта логика с лишним циклом выглядит так:
[20:16:28] Алексей: for (i= 0; i < 06200; i++)
{
DATA_REG= 0x4E4E;
if ((STATE_REG & 0x8000) != 0) // index marker
{
// index detected
flag= 1;
break;
}
while (((state=STATE_REG) & 0x80) == 0) ; // wait for controller ready
}
, где STATE_REG - это регистр 177130, а DATA_REG - 177132
-
? gid@ - 20.11.2012 22:44
Вообще говоря, код форматирования не самый нормальный вариант для изучения принципа записи. Он сильно упрощен и предполагает слишком много допущений и не обрабатывает всякие нештатные ситуации.
В коде формата нету лишних циклов. Там после раскрутки двигателя ждём начала дорожки, потом 06200 слов - это вся дорожка целиком вместе с данными, маркерами и гапами - заполняется заполнителем, причём 06200 - это некий теоретический максимум, на самом деле записывается меньше, и если диск вращается, то мы выходим из цикла при появлении индекса - т.е. заполнили всю дорожку кодом 0x4E4E, затем, на втором обороте происходит собственно форматирование - разбивка на секторы, их заголовки и межсекторные расстояния.
Код в прошивке говорит, что если умудрились записать все 06200 слов и маркер не появился - то значит или диск не вращается, или скорость вращения медленная, что в прошивке считается за ошибку.
--
По остальному - появление готовности вместе с индексом, это экспериментальные, полученные логическим анализатором результаты или умозрительные, полученные медитированием над кодом прошивки?
---
а вот как у меня получилось перевести ассемблерный алгоритм в си. почти весь алгоритм, без некоторых непринципиальных мелочей.
При использовании некошерного goto получилось бы попроще.
void format(){
engine();
gotrk();
corr();
if (STATE_REG & 0x4){
;error 1: защита записи
return;
}
int sectors = wrk_area[060]; //кол-во форматируемых секторов
int sec_num = 01001; //номер сектора и код длины сектора. -- т.е. начинаем форматировать всегда с первого сектора
bool isIndex = false;
for(int i=0; i < 01750){
if (STATE_REG & 0x8000){
isIndex = true;
break;
}
}
if (!isIndex){
WORD read = DATA_REG;
;error 6: диск не вращается
return;
}
int i = 06200;
isIndex = false;
DATA_REG = 0x4E4E;
do{
if (STATE_REG & 0x8000){
isIndex = true;
break;
}
while (((state=STATE_REG) & 0x80) == 0) ;
DATA_REG = 0x4E4E;
} while (++i < 06200);
if (isIndex){
//тут основной цикл форматирования
int gap_len = 020;
for (int s = 0; s < sectors; s++){
wrmar(0xFEA1, gap_len); //запись маркера адреса FEA1 и 16. слов 4E4E
while (((state=STATE_REG) & 0x80) == 0) ; //ждём готовности
DATA_REG = номер стороны и дорожки;
STATE_REG = wrk_area[0]; //перешлём управляющее слово
while (((state=STATE_REG) & 0x80) == 0) ; //ждём готовности
DATA_REG = sec_num; //номер сектора и код длины сектора
while (((state=STATE_REG) & 040000) == 0) ; //ждём записи CRC
wrmar(0xFBA1, 11); //запись маркера данных FBA1 и 11. слов 4E4E
int sector_len = wrk_area[064];
while (((state=STATE_REG) & 0x80) == 0) ; //ждём готовности
DATA_REG = wrk_area[036]; //записываем первое слово
STATE_REG = wrk_area[0]; //перешлём управляющее слово
for(int i = 0; i < sector_len-1; i++ ){ //записываем остальные слова.
while (((state=STATE_REG) & 0x80) == 0) ; //ждём готовности
DATA_REG = wrk_area[036];
}
sec_num++; //увеличим номер сектора
while (((state=STATE_REG) & 040000) == 0) ; //ждём записи CRC
gap_len = (long_sectors) ? 072 : 022;
}
//окончание записи дорожки
do {
while (((state=STATE_REG) & 0x80) == 0) ; //ждём готовности
DATA_REG = 0x4E4E;
} while (((state=STATE_REG) & 0x8000) == 0);
while (((state=STATE_REG) & 0x80) == 0) ; //ждём готовности
DATA_REG = 0x4E4E;
WORD read = DATA_REG;
}
else{
;error 6: диск не вращается
}
}
-
? Voland@ - 20.11.2012 23:26
>> или умозрительные, полученные медитированием над кодом прошивки?
Это отладчик в коде на C показывает. Значения регистра состояния экспериментальные. На самом деле, весь этот цикл якобы на 6200 записанных слов реально вообще одну итерацию проходит, потому что вся задержка - во внутреннем цикле, который ждет готовность.
Так что на деле всё ведет себя совсем не так, как следует из кода FORMAT, проходится одна итерация внешнего цикла вместо 6200.
Так, как ЯКОБЫ должна работать программа - все равно она работать не будет, ибо двигатель еще не разогнан, т.к. в программе ENGINE он запускается почему-то после задержки, а не до, что тоже экспериментально установленный факт.
Попытки чисто логического объяснения этого кода практического результата не дают, ибо в реале маленькие "тонкости" приводят к тому, что код делает совсем не то, что кажется по здравой логике. Например, вроде как двигатель заводят в начале программы ENGINE, до задержки. Но без быбора сигнала дисковода он не заводится, более того, в дисководах 5 дюймов и выбирается и заводится он одним сигналом, что впрочем ничего не поменяло бы.
_
gid, разработчик (глядя на то, как ловко у Вас получается перевод на Cи), просит, если это не очень затруднит, перевести участок кода циклического теста памяти на Си, чтобы понять было проще, на чем там ошибка валится. Поможете?
-
? MM - 21.11.2012 10:10
Сообщаю Уважаемым Гуру ЭВМ, что 326 писалась под НГМД-6022, в котором пуск движка и выбор диска - разные сигналы.
А для китайской мелкоты надо ручками движок постоянно включать или другие аппаратные мероприятия. - 10 лет пользовался Мицуми на БК,
в курсе этого. (Правда, уже лет 10 как не пользуюсь...).
-
? dk_spb@ - 21.11.2012 10:20
MM: воланду тут уже 100500 раз объясняли все кто только можно что у старого флопового интерфеса (Шугарт) включение мотора одно на все приводы и не зависит от выбора дисковода. Но он регулярно (раз в месяц) про это забывает и снова переспрашивает. Уже все привыкли и не отвечают ;-) Я ему предлагал FAQ по его вопросам сделать и скопировать туда ответы из этой ветки, чтобы ежемесячных повторов не было. Он обиделся. Сказал что он вложил в разработку уже 100500 млн рублей, а я его все каким-то непонятным Шугартом попрекаю....
-
? MM - 21.11.2012 10:27
Вы намекаете, что скорее я ВМ3А на мать БК11М1 (предварительное наименование) воткну, чем Мир увидит железный и рабочий БК-ПЛИС ?
(А я никуда не спешу...)
-
? Voland@ - 21.11.2012 10:28
dk_spb, в очередной раз повторю Вам, вопросы не мои, а разработчика. А он прекрасно помнит про Шугарт, вопрос не в Шугарте совсем. Если всё там так просто, то расскажите всем, и мне в том числе, как нам решить проблему. Объясните очень доступно, как самому тупому.
>> Сказал что он вложил в разработку уже 100500 млн рублей, а я его все каким-то непонятным Шугартом попрекаю....
Если я скажу что Вы передергиваете, то выражусь очень мягко. Можно цитату, где я такое сказал?
Вы постоянно тут меня моими вопросами попрекаете, но если всё очевидно там так, то может Вы нам всё и расскажете? Или как всегда, жаба душит поделиться информацией?
-
? MM - 21.11.2012 10:36
Маленькое предложение любителя: Делайте для 6022 (вариант - 5309). А перемычку для 3.5 на маме (лучше - кабеле) поставьте - так будете в рамках стандарта. (Исследуйте этот вопрос внимательно - в 3.5 какой-то другой алгоритм включения мотора, отличный от 6022. Сейчас на уровне номеров ножек не помню... - но лет 20 назад это было для меня гадким сюрпризом.)
-
? Voland@ - 21.11.2012 10:43
dk_spb, еще, Вам не приходило в голову, что если СМК512 уже давно умеет грузиться и в плане подключения дисководов на шлейф, выбора активного и раскрутки двигателя ведет себя полностью как оригинал, то из этого следует, что с Шугартом уже давно разобрались??
-
? dk_spb@ - 21.11.2012 10:47
Воланд: что Вам объяснить? Ну хорошо, объясню еще 100501 раз.
Вот Вы писали вчера:
"Например, вроде как двигатель заводят в начале программы ENGINE, до задержки. Но без быбора сигнала дисковода он не заводится"
Объясняю - Вы продолжаете сильно заблуждаеться. Двигатель заводится от включения мотора (то есть до задержки, задержка как раз для раскручивания мотора). "быбора сигнала дисковода" не имеет никакого отношения к управлению мотором. Это Вам уже многие на этом форуме написали.
Если у Вас без выбора дисковода двигатель не раскручивается - значит у Вас что-то не так (Ваша схема с ошибкой, софт испорчен, дисковод не той системы, в Вашей лабе магнитная и прочие аномалии и т.д.).
Если Вы таки признаете что после включения мотора двигатель сразу включается, то все Ваши вопросы про форматирование будут выглядеть совсем по-другому. И Вам это много раз объясняли
¤
ММ>Вы намекаете, что скорее я ВМ3А на мать БК11М1 (предварительное наименование) воткну, чем Мир увидит железный и рабочий БК-ПЛИС
Я ни на что не намекаю, я с прискорбием констатирую факт что аксиома о том, что двигатель раскручивается по сигналу МОТОРОН вне зависимости от сигналов выбора дисковода, уже около года воспринимается менеджером проекта в штыки.
-
? dk_spb@ - 21.11.2012 11:07
Voland>что если СМК512 уже давно умеет грузиться .....то из этого следует, что с Шугартом уже давно разобрались??
ТОгда к чему вопросы про форматирование, если "уже давно разобрались" и если и так все работает?
-
? MM - 21.11.2012 11:14
Примерно до 1995 г. на 3.5 бывали перемычки для установления режима "Мотор Он"->"Движок крутится". Потом они совсем исчезли,
и есть только режим "Выбор накопителя" -> "Движок крутится". Если не так, поправте меня.
-
? dk_spb@ - 21.11.2012 11:27
Мы о чем? О том как работает оригинальный контроллер? Или о том что не все современные железки подходят в старые применения.
Если про второе - слово против не услышите. Если про первое - мильон раз осбудили.
Если речь идет о переписывании 326 и переделке железа под современные реалии (в том числе, например, кабель с PCшной перекруткой) - то это одно. Если хочется чтобы было по функционалу как раньше и совместимо со старым софтом и старым железом - другое.
-
? gid@ - 21.11.2012 14:25
Как тут у вас оживлённо-то.
@Voland: [Это отладчик в коде на C показывает.]
Но на реальной ВП1-128 и реальном дисководе (любом, 5.25 или 3.5) форматирование происходит за два оборота. на первом, в цикле 06200 слов - полностью затирается вся дорожка, на втором - делается собственно форматирование. Если у вас это не так, то видимо дисковод действительно не той системы.
[участок кода циклического теста памяти]
конкретнее, какой участок?
.
И кстати да. При выходе из процедуры engine(), перед входом в gotrk() у нормального исправного советского дисковода и правильного 3.5 дисковода двигатель полностью раскручен и стабильно вращается.
.
Не скажу за все 3.5, но все 4 разных дисковода, 2 mitsumi старый и поновее, старый teac и samsung образца 2003 г. отлично поддерживали схему шугарта. т.е. при подаче MOTOR ON без выбора привода мотор раскручивали, т.е. движок и выбор привода делались двумя разными сигналами (при этом никто не мешает включать мотор только при выборе привода, потому что в прошивке всегда сперва включается мотор, потом делается программная задержка на раскрутку и только потом, конкретно когда надо читать/писать делается выбор привода). Про современные модели ничего не скажу. т.к. давно отказался от использования дисковода.
Сейчас у меня под рукой есть 3.5 samsung образца 2003 г., древнейший mitsumi с перемычкой DD/HD и кучей всяких других и комбо привод Epson SD-800.
Контроллер А16М отлично работает со всеми ими. а вот реплика СМК с комбоприводом не работает, починили это или нет, не могу проверить, т.к. до сих пор не собрал LPT байт-бластер.
-
? Patron - 21.11.2012 15:35
Описание различий интерфейсов Shugart и PC FDD: ( http://pinouts.ru/Storage/InternalDisk_pinout.shtml ).
Мой опыт подключения привода 3.5" вместо 5.25": ( http://zx.pk.ru/showthread.php?postid=219030 ).
-
? dk_spb@ - 21.11.2012 20:24
Ну вот, в очередной раз вроде всё разъснили про раскрутку мотора.
Напомню (прошел ровно месяц):
"Voland @ - 24 сентября 15:32
http://pinouts.ru/Storage/InternalDisk_pinout.shtml
¤
gid @ - 24 сентября 15:37
Вообще то ВП1-128 и реализует старую добрую схему Шугарта. Там так и есть один сигнал включения мотора на все 4 привода. А нужный привод выбирается сигналами DS0-DS3"
-
? Voland@ - 22.11.2012 23:37
dk_spb, все бы ничего, да вот только на оригинале не подтверждается описанное Вами. На ОРИГИНАЛЕ двигатель не заводится от MOTORON, 1801ВП1-128 не выдает сигнал готовности после записи первого слова, пока мотор реально не раскрутится, из этого следует, что 1801ВП1-128 умеет детектить по какому-то признаку факт раскрутки мотора. Так вот, вопрос остается один и он не про Шугарт: каким образом 1801ВП1-128 детектит факт раскрутки мотора?
Еще пояснение от разработчика:
вот код на C, который соответсвует ENGINE:
[23:31:39] Алексей: void ENGINE(struct fdd_data* p)
{
unsigned unit;
¤
p->FLAGS &= ~04;
if ((p->CSRW & 020) == 0) // engine off
{
// start engine
p->CSRW |= 020;
STATE_REG= p->CSRW;
if (p->SIDE)
p->CSRW |= 040;
}
else p->FLAGS |= 04;
p->UNIT &= 0xFFFC; /* 0177774 */
unit= p->UNIT;
p->CSRW |= (1 << unit);
p->CURTRK= &p->TRKTAB[unit];
p->FLGPTR= &p->FLGTAB[unit];
// wait for engine start
if ((p->FLAGS & 04) == 0)
delayMs(500);
STATE_REG= p->CSRW;
}
после посылки сигнала включения мотора он НЕ включается, после последнего оперетора записи в регистр состояния выборки дисковода мотор включается. Все это установлено ЭКСПЕРИМЕНТАЛЬНО НА ОРИГИНАЛЬНОМ СМК64. Выяснить экспериментально способ детектирования нельзя, потому что детектор находится внутри ВП1-128. Если в режиме формата он может быть привязан к появлению индекса, то в режиме записи ведь надо писать в любом месте дорожки и тут остается неясность.
-
? Voland@ - 22.11.2012 23:42
То есть - микросхеме 1801ВП1-128 совсем не мешает то, что при выходе из ENGINE движок еще не крутится, потому что она просто не выставляет готовность при записи, пока он не раскрутился. Всё это видно по реальным сигналам во времени, на ОРИГИНАЛЬНОМ ЖЕЛЕЗНОМ СМК64!
Все сигналы на выходе проверялись не раз - они туда приходят как нужно, и на оригинале и на СМК512.
-
? Voland@ - 22.11.2012 23:43
gid, нужен участок кода, на котором валятся подобные ошибки:
2024 - 1111111111111111 100000:1111111111111111
2021 - 1111111111111111 100000:1111111111111111
-
? dk_spb@ - 23.11.2012 00:04
Вы хотите сказать что при установке бита 4 в 177130 в реальном КНГМД и СМК64 ВП1-128 не выставляет сигнал MSW?
Вы уверены?
-
? Voland@ - 23.11.2012 01:05
Не так. Сигнал MSW не идет на 5 дюймов никак, в Шугарт - идет, в IBM - нет.
Т.е. этот сигнал выставляется на 3.5, но не выставляется на 5.25.
Давно еще я про это писал - там 3 сигнала на выходе вместо 4-х, так что 5-дюймовому дисководу остается только один, это же очень просто - 14-я ножка на разъеме FDD на СМК никуда не подключена и висит в воздухе и никакими магнитными полями это не объяснить, а сигнал мотора честно достается 3-дюймовому дисководу, у Шугарта там система декодирования другая, один мотор на всех,в смысле один общий сигнал и четыре выборки дисководов.
На 5дюймовод дисководе мотор включается сигналом выборки именно в конце ENGINE, но это на данном этапе не есть проблема.
-
? Patron - 23.11.2012 01:29
Но ведь контроллер всегда точно знает, когда последний раз начал раскручиваться мотор.
Не удивительно, если в течение определённого времени после этого он просто ничего не делает и только считает обороты по индексам.
Если за установленное время число подсчитанных индексов не меньше требуемого - контроллер начинает читать заголовки секторов в ожидании того сектора, который ему приказано читать или писать.
Ведь не может же диск раскрутиться, не сделав ни одного оборота. Время после начала "раскрутки" контроллер знает, число оборотов - тоже.
В чём проблема..
-
? dk_spb@ - 23.11.2012 01:30
>Не так.
ЧТД
В том смысле что это полный тупик. Объяснять Вам что Вы заблудились в 3х проводах в очередной раз я по трезвянке не буду. Я берегу свою психику. Похоже именно Вы будете тем человеком, который вгонит (или уже вогнал?) последний гвоздь в гроб БК: так было много красивых слов, у многих людей появилась надежда на новые разработки.... А Вы насмерть застряли на простейшем вопросе подключения дисковода к ВП1-128.
¤
>а сигнал мотора честно достается 3-дюймовому дисководу
Интересно, а если Вы 3" и 5" дисководы на шлейфе местами поменяете - насколько сильно это Вас удивит? Может хоть это сподвигнет Вас задуматься......
-
? dk_spb@ - 23.11.2012 01:35
Patron: и Вы туда же. Какой может быть индекс до выбора дисковода? Пока Вы дисковод не выбрали - индекса у Вас на ВП не приходит.
Ну уже столько раз говорили что как только выставили 4й бит - пошел сигнал MSW - раскрутились ВСЕ дисководы, а выбор дисковода только потом и его может и не быть.
Уж задача проще некуда: разработчик должен решить тупую и наипримитивнейшую задачу: как только выставлен бит 4 - ВСЕ!!!!!! дисководы закрутились. Задача на уровне "сложить из трех пальцев фигу". Как можно решать эту задачу так долго?????
-
? Patron - 23.11.2012 01:45
Подозреваю, что для Шугарта это не так, цитирую:
---------
The original Shugart interface (from which the IBM PC floppy interface is derived a long time ago) doesnt have separate motor on signals for the floppy drives but it does have a total of four device select lines. I have also seen floppy drives that wont turn on their motors unless the according device select signal is driven low. My guess is that this kind of drives strictly follow the original Shugart standard.
---------
Оригинальный Шугарт раскручивает только тот диск, для которого установлены оба сигнала ( и MTRON, и DSx ).
Ни MTRON, ни DSx по отдельности ни на что не влияют.
Без разницы, какой сигнал устанавливать первым, т.к. работают они только совместно.
-
? foot - 23.11.2012 02:06
>> ? Patron - сегодня 01:45 >>
Вопрос: а зачем тогда нужен сигнал моторон? Оставили бы только один селект и не заморачивались. Два привода одновременно все равно выбирать запрещено.
-
? foot - 23.11.2012 02:23
>> ? Voland @ - сегодня 01:05 >>
[sensored]
Должно быть как написано здесь < dk_spb @ - сегодня 01:35 >
Не знаю, как насчёт "оригинального СМК", но с КНГМД вы точно [sensored].
-
? dk_spb@ - 23.11.2012 07:25
Patron: А откуда цитата? Может проще описание интерфейса SA400 найти. А то может кто-то и Воланда про три провода цитирует и удивляется....
-
? MM - 23.11.2012 08:58
Уважаемые господа, не обращайте внимание на заграницу - там свои порядки и никто никому ничего не должен.
Прошу выбрать вариант под 6022 или 5309 - там суперклассика, кто доучился до 9 класса средней школы, как-нибуть разберется
с импортом. Придерживайтесь РОССИЙСКИХ стандартов.
-
? gid@ - 23.11.2012 10:27
Прочитал это... У меня больше нет слов, только матерные. Я, пожалуй, как и dk_spb, тоже самоустранюсь. Но перед этим ещё раз повторю, в который уже раз.
1. на ВП1-128 после посылки сигнала включения мотора, он ВКЛЮЧАЕТСЯ у всех, абсолютно всех устройств нацепленных на старый прямой шлейф без всякий ибмских скруток. Если у какого-то дисковода мотор не включается - дисковод не той системы и не предназначен для работы с ВП1-128, выкиньте его.
Но вот лично я таких дисководов не встречал.
2. [Не так. Сигнал MSW не идет на 5 дюймов никак, в Шугарт - идет, в IBM - нет.]
Ведь уже ясно дали понять, что реализуется НЕ IBM, а схема ВП1-128, которая соответствует Шугарту.
Зачем опять вспоминать про долбаный ИБМ. Только из-за того, что в СМК поддерживается только 2 дисковода, половина Шугарта?
[Т.е. этот сигнал выставляется на 3.5, но не выставляется на 5.25.]
Такое может быть только если между этими дисководами долбанная ибмская скрутка. Если это так - то вы ..., если между ними скрутки нет, то какие злые силы мешают пройти электрическому току по проводку ко всем дисководам, если они висят параллельно на этом проводке? Сигнал идёт на 16 ногу как 3.5 и 16 контактную площадку 5.25.
[Давно еще я про это писал - там 3 сигнала на выходе вместо 4-х,]
Какие в жопу 4? Мы же не IBMскую схему реализуем, а классику. Там 3 необходимо и достаточно, для 4-х дисководов - нужно 5, как сделано в стандартном КНГМД.
3. В англоязычной цитате высказано личное мнение некоего человека, который считает, что некоторые дисководы, которые не раскручивают мотор, если они не выбраны, и считает это точным следованием стандарту Шугарта.
Логически это правильно, зачем зазря мотор крутить, дискету изнашивать, но идеологически неверно. Потому как при такой схеме надо сперва выбирать привод, потом подавать сигнал включения мотора (либо не подавать, если мотор включается автоматом при выборе привода), а потом ждать, пока он раскрутится до стабильного состояния и только потом с ним работать. При этом если мы попеременно будем выбирать один из нескольких дисководов, будут неоправданно высокие потери времени, отводимые на ожидание раскрутки двигателя, ведь он не может мгновенно выйти стабильные обороты.
ВП1-128 функционирует по-другому, по старой проверенной схеме ещё на 8" дисководах. Сперва включает мотор, ждёт. пока он раскрутится, потом выбирает привод и работает с ним.
К тому же, изначально Шугарт работал с 8" дисководами, а там мотор включался один раз у всех и на всё время работы с дисководами, как делает это ВП1-128. Так что автор цитаты скорее всего неправ.
-
? gid@ - 23.11.2012 11:08
@Voland, а ещё. Из какого кода делается код на С? Из оригинального листинга прошивки из ПК БК №5'94 или из дизассемблированной прошивки СМК? А то я ориентируюсь на оригинал, потому как СМК прошивку дизассембировал, увидел, что там нет принципиальных отличий от оригинала, только небольшие оптимизации, поэтому и смотрю на оригинал, тем более его я когда-то чуть ли не наизусть выучил.
И у меня получается небольшое, но принципиальное отличие в коде ENGINE.
void ENGINE(struct fdd_data* R3)
{
unsigned unit;
p->FLAGS &= ~04; //очистим признак работы двигателя
if ((p->CSRW & 020) != 0){ //двигатель уже включен?
p->FLAGS |= 04; //да - установим признак
}
p->CSRW |= 020; //включим двигатель
STATE_REG = p->CSRW; //и запишем в регистр (мотор включается без выбора привода)
p->CSRW &= ~057; //сбросим все остальные режимы
if (p->SIDE) //сторона верхняя?
p->CSRW |= 040; //нет - включим нижнюю
/*
...
... дальше всё так же
...
*/
p->UNIT &= 0xFFFC; /* 0177774 */ //сбросим лишние биты
unit = p->UNIT; //получим номер привода
p->CSRW |= (1 << unit); //установим бит нужного привода
p->CURTRK= &p->TRKTAB[unit];
p->FLGPTR= &p->FLGTAB[unit];
if ((p->FLAGS & 04) == 0) //если мотор включен только что
delayMs(500); //подождём пока раскрутится
STATE_REG= p->CSRW; //записываем установки в регистр (тут кстати делается уже и выбор нужного привода)
delay(p->TDOWN); //подождём опускания головки.
}
}
А по-вашему же выходит, что если двигатель включен, то и чистить признаки не надо и сторону уточнять тоже не надо.
-
? Voland@ - 23.11.2012 12:11
Тогда как объясняется, что 5-дюймовый дисковод не начинает крутиться на оригинале СМК64, пока не будет выполнен последний оператор ENGINE? но при этом дисковод этот отлично работает с оригиналом СМК. Под последним оператором понимается строка STATE_REG= p->CSRW (подача сигнал выбора дисковода) из эквивалента кода ENGINE, приведенного выше.
Далее, в подпрограмме FORMAT на СМК512 мотор не успевает раскрутиться.
По логике программы предполагается, что к концу программы ENGINE мотор уже полсекунды как крутится, но как и в оригинале, на СМК512 он только начинает крутиться в конце ENGINE, и в FORMAT из-за этого не получается форматирование. А на оригинале СМК64 получается, т.к. ВП1-128 каким-то неизвестным алгоритмом дожидается готовности во внутреннем цикле 6200 программы FORMAT, на его первой итерации. ПОВТОРЯЮ, происходит только ОДНА итерация цикла 6200, за которую ВП1-128 своим внутренним алгоритмом успевает дождаться факта раскрутки двигателя.
>> небольшое, но принципиальное отличие в коде ENGINE.
Что же касается задержки delay(p->TDOWN), то она была опущена для упрощения, чтобы сконцентрироваться на главной проблеме. Сама величина delay(p->TDOWN) - маленькая, она не даст необходимого ожидания раскрутки двигателя. Для форматирования эта готовность совпадает с приходом индекса, поэтому алгоритм готовности тут понятен, но для обычной записи оно совпадать не будет, и становится непонятным, как в случае записи определяется готовность внутри ВП1-128.
Еще раз по полочкам:
1.
- на оригинале СМК в конце ENGINE подается STATE_REG= p->CSRW, начинается раскрутка двигателя
- на ПЛИС СМК в конце ENGINE подается STATE_REG= p->CSRW, начинается раскрутка двигателя
2.
- на оригинале СМК в программе FORMAT после одной итерации цикла 6200 успешно начинается форматирование
- на ПЛИС СМК в программе FORMAT после одной итерации цикла 6200 НЕ начинается форматирование
Вывод: на первой итерации цикла 6200 есть ожидание готовности внутри ВП1-128, конкретный алгоритм которой неизвестен, и приблизительно ясен для форматирования (т.к. бит готовности выставляется строго одновременно с битом наличия индекса), но не для записи.
_
Вобщем ладно, раз никто не может предположить или предложить свой способ детектирования факта раскрутки двигателя микросхемой ВП1-128 перед обычной записью, то вопрос закрывается.
-
? Patron - 23.11.2012 12:56
Циатата отсюда: ( http://pinouts.ru/Storage/InternalDisk_pinout.shtml ).
Можно предположить, что ВП1-128 в режиме чтения/записи сразу начинает читать заголовки секторов ( что он и должен делать ), но не начинает чтение/запись данных, пока какие-то параметры процесса чтения заголовков секторов не "устаканятся".
Как, читая заголовки секторов и считая время, можно определить готовность чтения/записи - вопрос к аппаратчикам.
Если при выполнении команд чтения/записи контроллер не опирается на сигнал индекса, а только на процесс чтения заголовков - то на чистом диске чтение должно виснуть ( или отлетать только по таймауту, без свзи с сигналом индекса ).
-
? dk_spb@ - 23.11.2012 13:32
Ладно, уболтали. Если менеджер проекта не хочет, Придется мне поработать.
Описание тестового стенда (тестирование правильности подключения дисководов к контроллеру).
Аксиомы:
1) кабель прямой, без каких либо перекруток.
34 проводник перерезан
2) со стороны контроллера 34 пин разъема флопов заземлен
3) флопы любые (3.5", 5.25"). На одном выставлена перемычка DS1, на другом - DS0
4) при установке бит 4 177130 (выход MSW ВПшки low) оба мотора должны работать, независимо от состояния других сигналов.
5) при установке бит 0 177130 (выход DS0 ВПшки low) выбран дисковод с перемычкой DS0, то есть на нем горит светодиод обращения независимо от работы мотора.
6) при установке бит 1 177130 (выход DS0 ВПшки low) выбран дисковод с перемычкой DS1, то есть на нем горит светодиод обращения независимо от работы мотора.
7) если не выполняются пункты 4-6 при выполнении пунктов 1-3, то либо меняем дисководы, либо прозваниваем кабель, либо меняем контроллер.
¤
Прошу учесть что это аксиомы. Я не готов их обсуждать с Voland.
Если выполняются все условия - на 100% схема подключения дисководов исправна и корректна.
-
? dk_spb@ - 23.11.2012 13:36
>Тогда как объясняется, что 5-дюймовый дисковод не начинает крутиться на оригинале СМК64, пока не будет выполнен последний оператор ENGINE?
Объяснение УЖАСНО просто. Кое-кому лень включить мозг и он думает что если после выбора дисковода (соответствующий DS уходит в ноль) через криворуко сделанный одним местом кабель этот сигнал попадает на пин MotorBenable и мотор раскручивается - то так и должно быть.
-
? Patron - 23.11.2012 13:40
Чтобы нормально форматировать диск - контроллер должен уметь определять скорость вращения диска по сигналу индекса.
Чтобы нормально читать/писать без ожидания индекса - контроллер должен уметь определять скорость вращения по сигналам нанесённой разметки.
Чтобы команды чтения/записи не висли, когда нет разметки - контроллер должен уметь определять скорость вращения и по разметке, и по индексам одновременно.
-
? dk_spb@ - 23.11.2012 13:43
>Чтобы нормально форматировать диск - контроллер должен уметь определять скорость вращения диска по сигналу индекса.
Зачем? И кому должен?
Можно попросить у Вас номер строчки в тексте ПЗУшки где в процедуре форматирования определяется скорость вращения?
-
? Patron - 23.11.2012 13:47
> Объяснение УЖАСНО просто.
В данном случае это не важно. Ведь даже с таким УЖАСНЫМ подключением, когда именно сигнал DS включает мотор - контроллер ВП1-128 == продолжает прекрасно работать ==.
Поэтому разработчиков интересует не как им сделать, чтобы сигнал DS не был обязателен для раскрутки мотора, а как им сделать, чтобы их копия контроллера и в этом случае работала так же прекрасно, как и оригинальный ВП1-128.
-
? foot - 23.11.2012 13:51
>> ? Voland @ - сегодня 12:11
Тогда как объясняется, что 5-дюймовый дисковод не начинает крутиться на оригинале СМК64, пока не будет выполнен последний оператор ENGINE? но при этом дисковод этот отлично работает с оригиналом СМК. >>
Опять 25.
Да просто. Косяк в схеме СМК, шлейфе ФДД, самих ФДД - [sensored] где-то.
Ну и что, что вроде работает. Факт - работает НЕПРАВИЛЬНО.
¤
-
? Voland@ - 23.11.2012 13:58
>> Да просто. Косяк в схеме СМК, шлейфе ФДД, самих ФДД - [sensored] где-то.
Если там столько косяков со шлейфом, то как чтение-то работает??? Косяков с FDD нету, т.к. оба они (3.5 и 5.25) прекрасно работают с оригиналом, и СМК512, но на последнем не могут пока писать и форматировать. С форматированием уже разобрались - достаточно чтобы ВП1-128 дождалась индекса. С записью пока непонятно.
Оставьте все эти разговоры про шугарта и шлейфы, нет там косяков, всё уже по 10 раз проверено, сделано идентично оригиналу, иначе с чтением тоже были бы проблемы.
-
? Patron - 23.11.2012 14:01
> Факт - работает НЕПРАВИЛЬНО
Люди хотят ТОЧНО воспроизвести функционал ВП1-128.
В описанной ситуации, когда именно сигнал DS включает мотор - оригинальный ВП1-128 = прекрасно работает = без проблем форматируя, записывая и читая диски.
А разработанная копия - так не может.
Вот разработчики и спрашивают - что нужно сделать, чтобы их копия ВП1-128 работала ТОЧНО так же, как и оригинал.
-
? dk_spb@ - 23.11.2012 14:03
Patron>им сделать, чтобы их копия контроллера и в этом случае работала так же прекрасно, как и оригинальный ВП1-128.
Сделать нормальный кабель. И я не понимаю какая в этом проблема?
¤
Patron>Ведь даже с таким УЖАСНЫМ подключением, когда именно сигнал DS включает мотор -
Patron>контроллер ВП1-128 == продолжает прекрасно работать ==.
Именно так и есть. ВП работает прекрасно. А вот дисководу нехватает сигнала выбора, ведь его сигнал выбора мы используем как мотор-он. А выбирать то его кто будет?
-
? dk_spb@ - 23.11.2012 14:07
Ну если Вам не нужен добрый совет, то продолжайте в том же духе.
Успехов в стахановском труде.
¤
Если делать по уму - надо сделать ПРАВИЛЬНЫЙ кабель и дисководы, добится нормальной работы в нормальной конфигурации, а потом, при желании извращаться c кабелем и современными дисководами. Но законы логики Вам чужды и у Вас свой путь. Успешно Вам по нему идти.
Который месяц Вы на этом месте топчетесь?
-
? foot - 23.11.2012 14:07
>>? gid @ - сегодня 10:27
Логически это правильно, зачем зазря мотор крутить, дискету изнашивать, но идеологически неверно. >>
Поясню этот момент, да и вот этот (? foot - сегодня 02:06 )
Изначально речь об "износе дискеты" не шла.
По сигналу DSx не только выбирался привод, но и срабатывал электромагнит опускания головок.
По сигналу моторон диск вращался свободно и не изнашивал магнитные головки (да и раскручивался быстрее)
Если электромагниты все повыкидывали лет 20 назад, это не значит, что их не было.
-
? Voland@ - 23.11.2012 14:08
Patron, респект, хотя бы один человек уже понял, о чем речь.
>> А вот дисководу нехватает сигнала выбора
dk_spb, раз у Вас на все есть ответ, то может просвятите, как же он тогда читает, если писать не хочет из-за кривого сигнала шлейфа?
И с чего это дисковод на 5 дюймов должен крутиться от 4-го бита, если для него включение мотора - это 14-я ножка, на которую ничего не может поступать в принципе.
-
? Patron - 23.11.2012 14:09
> Сделать нормальный кабель.
Проблема не в кабеле, а в том, что оригинальный ВП1-128 именно с ЭТИМ кабелем = прекрасно работает =, а его разрабатывемая копия - нет.
Поэтому требуется, чтобы именно с ЭТИМ кабелем копия ВП1-128 работала ТОЧНО так же, как оригинальный ВП1-128 работает с ЭТИМ кабелем.
Если бы с ЭТИМ кабелем оригинальный ВП1-128 не мог нормально работать - воппрос бы не стоял.
Но оригинальный ВП1-128 именно с ЭТИМ кабелем = прекрасно работает =.
-
? foot - 23.11.2012 14:20
>> ? Voland @ - сегодня 14:08
И с чего это дисковод на 5 дюймов должен крутиться от 4-го бита, если для него включение мотора - это 14-я ножка, на которую ничего не может поступать в принципе. >>
Здесь не пробовали читать:
http://pinouts.ru/Storage/InternalDisk_pinout.shtml
-
? dk_spb@ - 23.11.2012 14:22
>И с чего это дисковод на 5 дюймов должен крутиться от 4-го бита, если для него включение мотора - это 14-я ножка,
Блинннн, я умываю руки. ГДЕ!?!?!?!?!?!? Ну где Вы нашли что 14пин включает мотор вообще на каком-либо дисководе???????
-
? dk_spb@ - 23.11.2012 14:23
>Проблема не в кабеле, а в том, что оригинальный ВП1-128 именно с
>ЭТИМ кабелем = прекрасно работает =, а его разрабатывемая копия - нет.
>Поэтому требуется, чтобы именно с ЭТИМ кабелем копия ВП1-128 работала ТОЧНО так же,
>как оригинальный ВП1-128 работает с ЭТИМ кабелем.
Сами проверяли? Или распространяете чужие искажения?
-
? Patron - 23.11.2012 14:28
Основываюсь на свидетельских показаниях:
1. На копии форматирует, но не пишет.
2. При подключении ЭТОГО же дисковода с ЭТИМ же кабелем к оригинальной плате СМК64 - всё прекрасно работает ( и форматирует, и пишет, и читает ).
-
? dk_spb@ - 23.11.2012 14:36
>Основываюсь на свидетельских показаниях:
Хорошо, пойдем в обход логики. Из "показаний" следует только то, что на оригинальном СМК сигналы на шлейф поступают правильно.
А на копии - неправильно. ПОнять разницу логическим анализатором (он тут упоминался) - дело максимум 30 минут.
В чем сложность?
В конце концов на 10,12,14,16 пины уже давно можно было хоть светодиоды повесить и смотреть.
-
? foot - 23.11.2012 14:36
>> ? Patron - сегодня 14:09
Проблема не в кабеле, а в том, что оригинальный ВП1-128 именно с ЭТИМ кабелем = прекрасно работает =, а его разрабатывемая копия - нет.
Поэтому требуется, чтобы именно с ЭТИМ кабелем копия ВП1-128 работала ТОЧНО так же, как оригинальный ВП1-128 работает с ЭТИМ кабелем. >>
А [sensored] отлаживать на заведомо кривой конфигурации??
-
? dk_spb@ - 23.11.2012 14:44
Как-то тема 14 пина осталась нераскрыта? Подождем комментариев Воланда
-
? Patron - 23.11.2012 14:46
> А [sensored] отлаживать на заведомо кривой конфигурации??
Это не "заведомо кривая", а одна из допустимых конструкций
( Здесь не пробовали читать: http://pinouts.ru/Storage/InternalDisk_pinout.shtml )
Шугарт допускает два варианта:
1. Для дисководов, опускающих головки по сигналу DS - мотор раскручивается по сигналу MTRON.
2. Для дисководов, опускающих головки при закрытии дверцы - мотор раскручивается с участием сигнала DS.
Оба варианта не противоречат стандарту и оба поддерживаются и адекватно обслуживаются оригинальным контроллером ВП1-128,
что ОДНОЗНАЧНО показало проведённое тестирование.
...
Отсюда вопрос, как добиться аналогичной функциональности от копии ВП1-128.
-
? dk_spb@ - 23.11.2012 14:53
Еще раз: чем отличаются по логическому анализатору на разъеме FDC оригинальный СМК и копия.
-
? Patron - 23.11.2012 14:53
> на оригинальном СМК сигналы на шлейф поступают правильно. А на копии - неправильно.
Надо уточнить у разработчиков - так ли это..
> В конце концов на 10,12,14,16 пины уже давно можно было хоть светодиоды повесить и смотреть
Действительно.. Пусть не поленятся и убедятся, что оригинальный ВП1-128 не обнаруживает каким-то хитрым способом, что кабель разведён "неправильно" не перекоммутирует внутри себя сигналы с их обчных ножек, на те, к которым окзались подключены нужные ему входы/выходы дисковода в "неправильном" кабеле.
...
Мне в такое с трудом верится, но почему не проверить :)
-
? dk_spb@ - 23.11.2012 14:56
>что ОДНОЗНАЧНО показало проведённое тестирование.
АНализ ПЗУ оригинального КНГМД однозначно показал что нельзя нераскручивать мотор при отсутствии DS.
И сделан этот анализ был лет 15 назад.
Или Вам совместимость со старым софтом (например, форматтеры, Не использующие процедуры из ПЗУ) некритична?
-
? dk_spb@ - 23.11.2012 15:02
>не перекоммутирует внутри себя сигналы с их обчных ножек
Да нету там таких сложностей. Скорее новый СМК512 путает что-то с выставлением DS0, DS1 и MOTORON.
А разбиратся с этим однозначно проще когда кабель правильный, а не теоретически допустимый по полуанонимной статье в рунете.
Но мы же не ищем легких путей. Мы ищем невидимую связь 14-го пина...
-
? Patron - 23.11.2012 15:03
> АНализ ПЗУ оригинального КНГМД однозначно показал что нельзя нераскручивать мотор при отсутствии DS.
Критерий истины - практика.
1. У разработчиков имеется дисковод, который раскручивает диск только после получения DS.
2. У разработчиков имеется оригинальная плата СМК64, которая == прекрасно работает == с этим дисководом.
3. У разработчиков имеется вопрос: что нужно сделать, чтобы их копия ВП1-128 тоже так умела.
-
? dk_spb@ - 23.11.2012 15:07
Так ответ ПРЕДЕЛЬНО прост: добиться чтобы копия ВП выставляля такие же сигналы как оригинал.
Кстати, а этот дисковод работает ли с оригинальной КНГМД.
И какая его модель?
-
? foot - 23.11.2012 15:09
>> ? Patron - сегодня 14:46 >>
На 5,25 второго варианта не встречал никогда: ни на наших, ни на импортных (среди горы перепробованных).
А ответ очень простой: надо дольше ждать готовности привода.
-
? Voland@ - 23.11.2012 15:12
Модель смогу сказать несколько позже, по поводу 14-й ноги тоже позже (это слова разработчика, уточню у него).
Вероятность что сигналы выставляются в СМК512 как-то не так как в оригинале - близка к нулю, т.к. и проверяли 10 раз и чтение работает идентично оригиналу.
Дисковод на вид - обычный 1.2М от PC.
-
? gid@ - 23.11.2012 15:19
Вот и выяснили неполадку.
Оказывается с чего-то решили что у 5.25 мотор включается на 14 ноге, в то время как всю жизнь он включался на 16й, а 14я нога - это DS2 - выбор дисковода С:
Интересно, DS0 хоть на 10ю ногу шёл?
.
Тут Patron - сегодня 13:47 говорил, что когда именно сигнал DS включает мотор - контроллер ВП1-128 == продолжает прекрасно работать ==
не совсем верно. ВП1-128 прекрасно работает в любом случае, даже если мы во время работы рукой остановим двигатель, а потом отпустим.
Всё дело в ПЗУ 326, оно всегда даёт второй, 3-й, 20-й шанс повторить попытку.
Прошивка ПЗУ 326 работает так: Вкл.мотор, подождали, выбрали привод и начали читать/писать.
Когда по сигналу Вкл.мотор, мотор не включается, а по сигналу DS выбирается привод и одновременно включается его мотор, то просто данные читаются успешно не с первой, а со второй попытки.
Поэтому возникает иллюзия, что никто ничего не заметил, и всё работает как надо.
А ВП1-128 самостоятельно ничего не делает, по сути это интерфейс между программой и дисководом. Программа записывает что-либо в 177130-177132, и ВП1-128 транслирует это в понятные дисководу сигналы, и наоборот принимает от дисковода сигналы и транслирует их через 177130-177132 в понятные программе значения.
¤
@Voland
[>> небольшое, но принципиальное отличие в коде ENGINE.
Что же касается задержки delay(p->TDOWN)]
не туда смотрите, наверх надо смотреть, в тело if ((p->CSRW & 020) != 0)
1.
STATE_REG = p->CSRW; подаётся ещё и ближе к началу функции ENGINE, и если мотор выключен, он начинает раскручиваться уже тогда, затем, если нужно, делается задержка на раскрутку и уже с конечным STATE_REG= p->CSRW; делается выбор нужного привода, чтобы поймать индекс.
Почему-то вот так работает у всех, кроме вас (теперь уже понятно почему)
2.
Я тут в очередной раз ошибся. Ещё раз глянул на код FORMAT и понял вот что,
цикл с 6200 нужен только для определения вращается ли диск с заданной стандартами скоростью. Там в цикле ожидания индекса, который 01750 итераций, как только индекс прявился, мв переходим к циклу 06200, и там индекс ещё не исчез (если скорость вращения не слишком большая), поэтому этот цикл в нормальных условиях вообще не выполняется. Всё правильно.
Моё утверждение что дорожка форматируется за два оборота не совсем верно. За два оборота форматируются обе стороны, это меня запутало.
¤
-
? Patron - 23.11.2012 15:26
> ответ ПРЕДЕЛЬНО прост: добиться чтобы копия ВП выставляля такие же сигналы как оригинал.
А вот и нет.
Сигналы и оригинал, и копия выставляют одинаковые, но оригинал после этого не устанавливат в своём регистре состояния бит готовности сразу - оригинал после выставления DS как-то анализиарует приходящие сигналы и лишь на основе этого анализа выбирает момент для выставления бита готовности.
С форматированием разобрались - в режиме форматирования оригинал выставляет бит готовности после получения первого же сигнала по линии Index.
С записью оказалось сложнее - оригинал выставляет бит готовности с задержкой переменной длины, но ДО первого сигнала Index, получая и анализируя только сигналы на линии Read Data.
Поэтому разработчики хотят знать: Какой алгоритм анализа сигналов с линии Read Data позволяет оригиналу ВП1-128 (в режиме записи) определить момент выставления бита готовности в регистре состояния ?
-
? Patron - 23.11.2012 15:35
> Всё дело в ПЗУ 326, оно всегда даёт второй, 3-й, 20-й шанс повторить попытку
Поэтому и копия, и оригинал читают в "стрёмной" конфигурации без ошибок.
Но как оригинал в этой же ситуации ухитряется и писать без ошибок - ведь контрольное чтение для проверки качества записи не производится ( или производится ? )..
-
? foot - 23.11.2012 15:42
>> ? Patron - сегодня 15:35 >>
Это не голимый ИБМ, проверка записи производится. Только неизвестно, каким конкретно образом.
-
? gid@ - 23.11.2012 15:42
[Но как оригинал в этой же ситуации ухитряется и писать без ошибок]
Дело в том, что прежде чем писать, надо читать. надо подвести головки к нужному месту на дорожке.
При этом чтение делается не с первой попытки, а запись уже происходит в штатном для контроллера режиме.
-
? Patron - 23.11.2012 15:51
> При этом чтение делается не с первой попытки, а запись уже происходит в штатном для контроллера режиме
Но очевидно, что и копия ВП1-128 тоже не может начать писать данные, не прочитав успешно заголовок нужного сектора.
Как же так получается, что и копия, и оригинал - успешно находят нужный сектор, но оригинал затем и пишет успешно, а копия - НЕТ ???
Может, оригинал осуществляет ещё и контрольное чтение ?
-
? gid@ - 23.11.2012 16:03
[но оригинал после этого не устанавливат в своём регистре состояния бит готовности сразу - оригинал после выставления DS как-то анализиарует приходящие сигналы и лишь на основе этого анализа выбирает момент для выставления бита готовности.]
Тут надо бы разобраться, что есть сигнал готовности.
При чтении - сигнал означает, что в регистре 177132 по чтению сформировалось слово, не важно какое, важно, что при чтении MFM последовательности была найдена синхропоследовательность (код 0xA1), после которой и были прочитаны сигналы, кодирующие достоверные 16 бит данных.
При записи - сигнал означает, что из регистра 177132 по записи все 16 бит записались в закодированную MFM последовательность.
Я в этой теме не специалист, но думаю, что раз есть синхропоследовательность для чтения, то и запись как попало и куда попало тоже не происходит. Чтобы можно было прочитать то, что записали.
Поскольку индекс обозначает начало дорожки, то он может быть и триггером, для разрешения начала записи самого первого слова, и начала процедуры чтения/записи на диск вообще.
[Может, оригинал осуществляет ещё и контрольное чтение]
Нет. Можно успешно что-то записать на ненамагничиваемый участок поверхности дискеты, и потом безуспешно пытаться что-то оттуда прочесть.
Копия тоже пишет успешно. только она успешно пишет не туда, куда надо и портит разметку диска, концом сектора затирает адресный маркер следующего сектора.
Гапами адресного маркера затирает маркер данных.
-
? Patron - 23.11.2012 16:15
> Копия тоже пишет успешно. только она успешно пишет не туда, куда надо и портит разметку диска, концом сектора затирает адресный маркер следующего сектора.
> Гапами адресного маркера затирает маркер данных.
Надо бы при помощи логического анализатора записать сигналы на линиях DS, INDEX, RDATA и WDATE, начиная с установки DS при записи - у оригинала и копии - и сравнить.
Это куча данных, но скорость относительно небольшая - можно сразу на PC заливать.
Я могу написать программу, которая эти массивы сравнит.
-
? foot - 23.11.2012 16:22
>>> ? gid @ - сегодня 16:03
[Может, оригинал осуществляет ещё и контрольное чтение]
Нет. Можно успешно что-то записать на ненамагничиваемый участок поверхности дискеты, и потом безуспешно пытаться что-то оттуда прочесть. >>
УСПЕШНО записать на ненамагниченный участок исключено. (Да и не в то место тоже).
По выходу из процедуры записи формируется код ошибки, что указывает на наличие практически достоверной проверки.
-
? gid@ - 23.11.2012 16:38
Ну почему же. Помню, у меня были неоднократные ситуации когда дискета форматируется, туда что-либо записывается, а потом ни за что не считывается. Целая коробка из 10-ти 5.25 дискет. Все до единой имели места, расположенные случайным образом, на которые запись делалась, а чтение давало 100% ошибку CRC. И я все 10 выкинул.
Неудачная запись никак программно не детектируется, по крайней мере на БК. А с аппаратной точки зрения вообще нет понятия удачная/неудачная.
Единственная ошибка относящаяся к записи - это "Установлена защита от записи", все остальные ошибки относятся к чтению.
-
? Patron - 23.11.2012 18:25
Кстати - если копия ВП1-128 не успеват "уложить" все биты на нужные места и портит заголовок следующего сектора - то это совершенно точно никак не связано с особенностями раскрутки диска.
Ведь даже в самом неудачном случае ( когда диск ещё вертится чуть медленнее, чем надо, а запись уже началась ) биты ложатся на диск ближе друг к другу, чем надо, а не дальше - поэтому вероятность испортить заголовок следующего сектора уменьшается, а не растёт.
Значит - разговоры о раскрутке диска вообще не имеют отношения к сути проблемы.
Почему оригинальный ВП1-128 точно укладывает биты куда надо, а его копия - не может ?
Похоже, что спрашивать об этом должны мы у разработчиков, а не они у нас :)
-
? MM@ - 23.11.2012 19:39
Разрешите несколько комментов профи (бывшего?):
1.Возникает подозрение на электрически полугодные дисководы - осциллографом проверьте вид диаграммы после первого элемента в
дисководе (имеется в виду совковые дисководы - или взять другой накопитель - вороятность ок. 20% отказа - знаю, о чем пишу.)
2.На какой частоте камня вы тестете ввод-вывод - в комментах к 253 указано - до 2 м рег-рег допускается.
3.Напишите программный тестер:
3.1.ожидаем маркер.
3.2.Пишем 0,1,2,3,,,,,65535. до след. маркера. Результат читаем в область озу и смотрим дамп - в исправном комплексе ошибка на
весь трек - менее 1%. (На МХ была программа DITTO специально для просмотра дампа трека.).
4.Если у Вас нет схемы ВП1-128, - сочуствую ... Пройдут месяцы...
5.П.С. В случае фатального невезения - приделайте ИСА с мультикартой и программный костыль в виде "Супер-326 с 1.44".
-
? dk_spb@ - 24.11.2012 08:44
Изначально высказывались сомнения в успешности эмуляции вп1-128 при полном отсутствии документации на неё.
И еще раз рекомендую сделать нормальный кабель - будет проще разбираться, так как хотя бы по части кабеля будет понятно как оно работает.
-
? MM@ - 24.11.2012 09:28
Хотите быстрый успех - см. схему МХ с 2-х кратной частотой ввода-вывода - там точно нельзя ошибится ( по трезвости ).
(128 с нее рисовали, и адреса даже забыли переделать, а разницу в битах - не от хорошей жизни накрутили.)
-
? Voland@ - 24.11.2012 11:49
MM, а что такое MX и где можно почитать об его устройстве?
-
? Murzik@ - 24.11.2012 12:27
MX - это самый первый контроллер гибких дисков для ДВК
Им комплектовались ДВК-2,ДВК-2М,ДВК-3
Собран без использования СБИС и прошивок.
-
? Voland@ - 24.11.2012 14:09
И как его изучать, только по реальному оригиналу, или есть какие-то схемы в инете? Мне нагуглить сходу ничего не удалось.
-
? Patron - 24.11.2012 14:17
Паспорт и схема КНГМД ( MX ): ( http://www.onlinedisk.ru/file/986602/ ).
-
? Voland@ - 24.11.2012 15:29
Patron, спасибо!
-
? MM@ - 25.11.2012 10:50
Если у уважаемых разработчиков будет возможность, прошу прикрутить платку МХ целиком по адресам 177134-177136 - для одинарной
плотности. (У кого-как, а у меня мешок с МХ-дисками имеется.)
-
? Voland@ - 25.11.2012 11:53
Увы, это по многим причинам не выйдет.
Во-первых, там прилично работы, поскольку один-в-один эту советскую плату в ПЛИС не особо засунешь, потому что там ядреная схемотехника с одновибраторами и прочей жестью, надо перерабатывать.
Во-вторых, на данный момент в выбранной под задачи СМК ПЛИС занята функционалом ВП1-128 201 ячейка из 256, места под MX уже не будет, разве что вместо ВП1-128. Хотя конечно можно впаять ПЛИС на 512 ячеек, которая ощутимо дороже.
В-третьих, есть еще ограничения на разводку, все уже итак впритык - не влезет особо больше ничего.
В-четвертых, проект коммерческий, с заранее оговоренным бюджетом, много чего итак делается сверх договоренного, так что просить разработчика за те же деньги сделать чего-то еще, требующее значительных усилий - уже как минимум неудобно.
-
? SKcorp. - 25.11.2012 12:37
В 5-ый - есть много мест, где MX-и можно прочитать.
-
? MM@ - 25.11.2012 18:40
Разрешите поинтересоваться, не будет ли в Вашем проекте хотя-бы возможности на аналог ВП1-128 подавать двойную частоту для
реализации 1.44 ? (камень - вроде бы позволяет ?)
-
? Voland@ - 26.11.2012 01:49
Ну в СМК512 ничего не мешает вставить кварц на 8 мгц, настолько же не мешает, насколько это не мешает на оригинальном СМК. Другой вопрос в том, что такое коммутирование делать физической перемычкой несколько неудобно для пользователя. Только вот большой вопрос, будет ли там FORMAT работать, у него там предел в 6200 восьмеичных слов на дорожку, а тут будет больше. Т.е. там цикл на 6200 слов до первого индекса, у двойной плотности будет больше и получится, что как бы диск вращается медленно.
Наверное стоит сначала проверить, как это будет работать на оригинальном СМК при установке кварца 8мгц, и в случае успеха, ставить в смк512 кварц 8 мгц и делитель частоты в 2 раза перемычкой через ПЛИС (для старого режима).
-
? Voland@ - 26.11.2012 12:37
Да, и собственно еще вопрос, чем форматировать, всмысле каким софтом? Ведь ни один форматер из существующих не умеет форматировать с параметрами под 1.44. Или умеет? Если кто такой софт может предоставить, то с радостью проведу эксперимент на СМК64 с 8 мгц.
-
? Дмитрий - 26.11.2012 13:05
Меня терзают смутные сомнения, что придется переписывать весь функционал 160000-160012 под 1.44. Потому как с незаклеенным окном плотности дискета не форматируется (давно экспериментировал, уже не помню точно что было, вроде даже отказывалась форматироваться). Там ведь секторы более плотно расположены, нет?
-
? Patron - 26.11.2012 13:53
1.
Формат дорожки: ( http://emulator.pdp-11.org.ru/misc/MY=1.png )
Формат сектора: ( http://emulator.pdp-11.org.ru/misc/MY=2.png )
Какой именно элемент предыдущего сектора и докуда именно в следующем секторе залезает при записи ?
2.
Если вращение диска начинается только после выставления DS, а форматирование - сразу после приёма первого же сигнала Index, то как избежать начала форматирования сразу вслед за началом раскручивания диска в ситуациях, когда индексное отверстие неподвижного диска находится близко от датчика и формирует сигнал Index практически сразу после начала вращения ?
-
? gid@ - 26.11.2012 14:07
Стандартная функция форматирования из ПЗУ и прошивки СМК спокойно позволяет форматировать с произвольным количеством секторов на дорожке.
Она читать/писать не очень позволяет.
делаем так:
MOV #2000,R3
CALL @#160010 ;init
MOV #18.,60(R3) ;желаемое количество секторов на дорожке. от 1 до сколько хотите, для 1.44 - 18. шт.
MOVB #0,32(R3) ;номер стороны диска
MOVB #0,33(R3) ;номер дорожки
MOVB #1,34(R3) ;привод
CALL @#160012 ;форматирование
я когда экспериментировал, на нулевую дорожку смог без особых проблем записать 11 секторов, сжав до предела GAP1..GAP4 и замедлив скорость вращения диска - смог даже 12, но смысла в этом не увидел.
уже не помню с какой дорожки, ближе к центру, но кажется даже и до 40-й было далеко, но 11й сектор уже никак не влезал физически.
.
А вот меня терзают сомнения, что можно повысить плотность записи простым повышением частоты. Но если это так, то функционал переписать не проблема. Проблема уместить его в отведённое ему место.
-
? Voland@ - 26.11.2012 14:10
Дмитрий, я подозреваю что проблема только в том, чтобы отформатировать дискету под нужный формат. А чтение и запись будут работать правильно, при правильной задающей частоте.
Patron, дело в том, что сам дисковод не выдаст индекс до тех пор пока не раскрутится до нужной скорости. По крайней мере так написано в спецификации и в реальности так и происходит, по крайней мере с дисководом от IBM.
-
? Voland@ - 26.11.2012 14:18
gid, разработчик говорит что не видит смысла сомнений - плотность записи именно что повысится простым повышением частоты, сам сектор станет физически в 2 раза меньше.
Если можете написать форматер на 1.44 под формат ANDOS/MKDOS, а я бы потестил на реальном СМК64 после запайки кварца 8мгц.. Или там много гемора?
С другой стороны, раз в ПЗУ предусмотрена возможность указания произвольного числа секторов, наверняка были уже какие-нибудь продвинутые копировщики/форматеры, которые этот функционал предоставляли пользователю. Знать бы какие..
-
? Voland@ - 26.11.2012 14:27
Еще разработчик говорит, что любой стандартный формат тоже мог бы форматировать на 1.44, если суметь подменять число секторов на дорожке, передаваемое команде формат по смещению 60 в управляющей структуре. По умолчанию там стоит 12 восьмеричных (10 секторов), надо этот параметр изменить для двойной плотности.
-
? gid@ - 26.11.2012 15:26
Да, все функции стандартной прошивки могут работать с количеством секторов от 1 до 255 (теоретически), надо просто не забывать после инициализации рабочей области записывать туда своё, нужное количество секторов на дорожке.
Писать полноценный форматёр нет желания, т.к. на руках нету работающего устройства для которого писать.
Если я ничего не путаю, то у формата HD 1.44 или может у 1.6 на разных дорожках было разное межсекторное расстояние, поэтому для полноценного форматёра нужно проводить эксперименты, как оно пишется на все дорожки и в случае если конец дорожки затирает начало - подбирать значения, составлять таблицы GAP1..GAP4 для разных дорожек.
;Вот примитивнейший форматёр на 1.44
MOV #2000,R3
CALL @#160010 ;init
MOV #18.,60(R3) ;желаемое количество секторов на дорожке.
CLR R0 ;номер дорожки
MOVB #1,34(R3) ;привод А
0$: MOVB R0,33(R3) ;номер дорожки
MOV R0,-(SP)
CLRB 32(R3) ;номер стороны диска
CALL @#160012 ;форматирование нижней стороны
INCB 32(R3)
CALL @#160012 ;форматирование верхней стороны
MOV (SP)+,R0
INC R0 ;следующая дорожка
CMP R0,#80 ;дорожки кончились?
BLT 0$ ;нет, продолжим.
HALT
;примитивнейший читальщик на 1.44
MOV #2000,R3
CALL @#160010 ;init
MOV #18.,60(R3) ;желаемое количество секторов на дорожке.
CLR R0 ;номер дорожки
MOVB #1,34(R3) ;привод А
0$: MOVB R0,33(R3) ;номер дорожки
MOV R0,-(SP)
CLRB 32(R3) ;номер стороны диска
MOVB #1,35(R3) ;будем читать всю дорожку с начального сектора
MOV #40000,26(R3) ;будем читать в экран для наглядности
MOV #11000,30(R3) ;кол-во слов 18.*256.
CALL @#160006 ;читаем нижнюю сторону
INCB 32(R3)
MOVB #1,35(R3) ;будем читать всю дорожку с начального сектора
MOV #40000,26(R3) ;будем читать в экран для наглядности
MOV #11000,30(R3) ;кол-во слов 18.*256.
CALL @#160006 ;читаем верхнюю сторону
MOV (SP)+,R0
INC R0 ;следующая дорожка
CMP R0,#80 ;дорожки кончились?
BLT 0$ ;нет, продолжим.
HALT
Более чем вероятно, что при гапах, заданных в ПЗУ функции FORMAT, на дорожках 60-79, а может и раньше, конец дорожки будет затирать начало дорожки.
-
? Voland@ - 26.11.2012 15:51
А может проще было бы сделать подменялку количества секторов для стандартных форматеров? Или не очень понятно, как это сделать?
-
? gid@ - 26.11.2012 16:10
1. Берём любой стандартный форматёр.
2. дизассемблируем, либо в любом отладчике находим 4737 160010, их может быть несколько.
3. пишем в конец файла, если он не используется под буферы данных свою функцию инициализации
4737 160010 12763 22 60 207, иначе придётся написать код, перекидывающий эту функцию в адреса 0..0700,
а вместо первых двух слов форматёра пишем вызов этого кода и восстановление оригинальных первых двух слов (ну, механизм точно такой же, как это делали примитивные вирусы под мсдос)
4. заменяем найденное в п.2 на вызов своей функции из п.3
5. сохраняем и пользуемся.
Сам я это делать не хочу, т.к. это слишком просто, по-моему с этим вообще любой справится.
Т.к. имея БКшку и не имея навыков хака ни некоторые игры пройти было невозможно, ни некоторые программы скопировать себе из-за всяких защит.
-
? MM@ - 26.11.2012 21:03
Форматтер, конечно, можно написать ... и прочий софтовый базар....
Извиняюсь, я как всегда, про железо и другие металлы. (смайл)
Скорость потока данных у ВМ1 с 1-тактов ОЗУ не особо достаточна для (по-русски-1.6м или 2 МФМ), уважаемые господа. И ВП1-128 вроде как до 7 мгц только может работать. И насиловать 1801РЕ2-326 - надо типа переписать ее контент в 0-тактов ОЗУ и вредничать оттуда.
(6-мгц 1801ВМ1 строго рекомендуется.) Особо рекомендуется не менее 8 мгц 1801ВМ2 в связке с 0-тактов ОЗУ.
А насчет наезда крайних секторов друг на друга - это как в анекдоте про то, как змея свой хвост съела, вдумайтесь в это !!!
Там просто предкомпенсация другая нужна, уважаемые "трезвенники". Скорость то-УГЛОВАЯ !
П.С. Реально в БК11М достижимо не более 1.2 м при 5 мгц камне и соответствующем ускорении КНГМД. (кварец меняем с 8м до 12м для начала, и эксперементируем с промежуточным вариантом между МФМ и 2МФМ. (имеется ввиду к-во секторов на треке - весьма вероятно,
что уже в таком виде не хватит быстродействия связки 1801ВМ1+1801РЕ2-326.). Ваши мнения о экспериментах - пишите сюда.
¤
-
? MM@ - 26.11.2012 22:14
? - Для чтения 1.44 нужно диск в 2 раза затормозить ?! - на стандартном оборудовании. (предположение).
-
? MSV - 26.11.2012 22:21
Ёжикам понятно, что необходимо от ПЗУ уходить. А как это сделать? Как при старте БК:
- записать содержимое ПЗУ в нужные адреса ОЗУ;
- организовать к нужным диапазонам ОЗУ - только по чтению...
... не придётся ли для этого всю БК перекроить, со всеми устройствами на МПИ? (злобный смайл)
-
? Voland@ - 26.11.2012 23:44
В общем, похоже не так все просто, с наскока 1.44 не победить. Поставил я кварц 8 мгц в оригинальный СМК64, отформатировал дискету 3.5 на PC под 20 секторов 80 дорожек (1.6 мб т.е.), 4 сектора на кластер, 512 кб на сектор, по идее Андос должен был увидеть такую дискету - не увидел, как я не бился. И при попытке копировать диск XEROX'om не считал ничего вообще. В процессе действий выдаются ошибки - не найден адресный маркер, либо вообще - диск не вставлен или не закрыт..
-
? Etc. - 27.11.2012 00:35
@Voland
А 800КБ на 3.5" 10 секторов 80 дорожек или 720КБ 9 секторов 80 дорожек получается?
-
? Аноним - 27.11.2012 00:45
80 дорожек по 10 секторов, две стороны.
Но в случае использования высокой плотности, всё удваивается и нужен формат по 20 секторов.
-
? MM@ - 27.11.2012 07:43
Уважаемые господа !
Не сочтите за напряг провести опыты по следующей инструкции.
0.В БК11М приделываем ИС 531ЛН1 (допускается 531ЛА3, ЛА4, ЛА9 с резисторами 390 ом к +5в от выходов) с кварцем 10 мгц (11мгц-можно)
и ИС 531ТМ2 в режиме "/2 ". Выходы ТМ2 приделываются к тем точкам, куда поступают обычно 4 мгц от 155ТМ2, включенной (штатно) для
деления 12 МГЦ на 3. Если совсем нет 531, применяйте 155 - там разгон будет хуже примерно на 10% за счет более плохого выхода с
155ТМ2.
1.В КНГМД на БК11М ставим переключатель (маленький и надежный, с проводами не более 2 см.) - 8/16 мгц кварц. (и кварц 16м - критично, другие не подойдут.Крайний вариант - обход первой секции ТМ2 в КНГМД, но там навороты с прекоррекцией будут.)
2.Временно используем диск под 1.44 с соответствующим дисководом.
3.Подготовительные мероприятия - по вкусу. (Имеется ввиду приготовление файлов тестера на 720к-диске для опытов.)
4.Пишем тест диска: (в режиме 1.44)
4.1.Запись:
4.1.1.Ожидаем маркер вращения (не забываем моторчик раскрутить на не менее 1 сек.)
4.1.2.Пишем дату - 121, 122, 123, --- 65535. Почему сразу с 121 - чтобы понять, что это именно то, а не старый формат на диске.
Первое число может быть любым - но лучше не 0 - чтобы не запутаться. Достаточно 1 цикла.
4.2.Чтение:
4.2.1.Предположим, моторчик уже вращается. Ожидаем маркер. Читаем в "Буфет" данные и смотрим - очень вероятно, что в прочитанной последовательности будут верные только 2-3 первых слова. Это значит, что не хватает быстродействия при записи (-чтении ?).
5.Делаем выводы. Пишем сюда.
6.П.С. Я бы с великим удовольствием этим сам бы занялся, но совсем нет свободного времени - на работе идет новая тема.
-
? Voland@ - 27.11.2012 08:55
>> совсем нет свободного времени - на работе идет новая тема.
Аналогично, поэтому могу проводить только не затратные по времени опыты. А тут алгоритм слишком сложный, с неясным результатом, много шансов что зря возня пройдет.
Но вообще, мой разработчик говорил, что всё итак должно было заработать на 8мгц. Скорее всего какие-то мелкие нестыковки, которые подгонять надо. Еще могу попробовать на ПЛИС-варианте подменить кварц, вдруг там получится.
-
? Voland@ - 28.11.2012 12:57
Попробовал на СМК512 впаять кварц на 8 мгц, картина та же, ничего не читается. Хотя есть подозрение, что первый сектор все-таки удается считать, если это не глюк конечно.
Попытки формата втупую - стандартным форматером - подвисали навечно, но иногда чудесным образом все-таки проходили, естественно без успешной верификации впоследствии.
Нужен профессиональный анализатор дискет, не знаю, был ли такой на БК вообще. Видимо дальнейшие эксперименты придется свернуть, по причине отсутствия нормального диагностического софта.
-
? Voland@ - 28.11.2012 12:59
Кстати на спектруме например, такой анализатор был, мы помню примерно в 1997м с товарищем-спектрумистом за пару часов скопировали у него на спектруме защищенную БКшную дискету Starship Troopers, с нестандартным форматом, которую на БК было нечем тиражировать.
-
? foot - 28.11.2012 14:33
Voland,
если дискету отформатировали на ИБМ, то попробуйте читать дорожки не с 1 сектора, а со 2, 3 и т.д.
Посмотрите характер изменения ошибок чтения.
326 напрямую читать ИБМ формат не умеет.
В ОС БК-11 была утилита PCBK.sav которая переносила файлы ИБМ--БК, правда только форматов 360, 720 и 800 скорее всего в обход 326 прошивки.
-
? Voland@ - 28.11.2012 15:13
Эта тема уже поднималась, 326 читать IBM-дискеты умеет, если правильно отформатировать: 10 секторов по 512 байт, 4 сектора в кластере (чтобы еще и каталог читался в ANDOS).
20 секторов тоже по идее должно читать, если кварц 8 мгц, но чего-то не читает.
-
? gid@ - 28.11.2012 16:04
Было бы верхом наивности полагать, что подняв частоту вдвое всё волшебным образом заработает, и дискета отформатированная на РС в формате 1.6 или хотя бы 1.44 будет сразу же читаться.
Вот плохо, что смк не умеет писать, чтобы для чистоты эксперимента читать на 8мгц то, что сам записал на этой частоте.
ММ ведь тут прямым текстом предлагал для начала прочесть всю дорожку от индекса до индекса и посмотреть, какова структура дорожки, сколько там чего читается. Сделать это можно например так:
;будем читать 0 дорожку на нижней стороне дискеты в дисководе А:
MTPS #340 ; Нам не мешать
MOV #2000,R3
CALL @#160010 ;init
MOVB #1,34(R3) ;привод А
MOVB #0,33(R3) ;номер дорожки
MOVB #0,32(R3) ;номер стороны диска
CALL @#162364 ;ENGINE для смк - Запустим двигатель
CALL @#162574 ;GOTRK для смк - Позиционируемся на нужную дорожку
CALL @#163360 ;CORR для смк - Установим прекоррекцию
¤
MOV #2000,R0 ; Время ожидания индекса
2$: TST (R4) ; Индекс есть?
BPL 3$ ; Исчез - начинаем ловить момент его появления
SOB R0,2$
HALT ;таки не крутится дискета
3$: MOV #16000,R0 ; Установим максимальную длину
5$: TST (R4) ; Индекс появился?
BMI 6$ ; Да - начинаем процесс
7$: TSTB (R4) ; Информация получена?
BPL 7$ ; Нет - подождем
TST (R5) ; читаем.
;Если этого не делать, то можно либо навечно зациклиться, ожидая индекса, если дискета не крутится
;Либо по быстрому проскочить цикл, т.к. sob r0,5$ при r0=0 тоже может пройти быстрее, чем вращается диск
SOB R0,5$
HALT ;так и не появился
¤
6$: MOV #3000,R0
0$: TST (R4) ; Индекс есть?
BMI 0$ ; Да - ждём исчезновения
1$: TSTB (R4) ; Информация получена?
BPL 1$ ; Нет - подождем
MOV (R5),(R0)+ ; Теперь прочитаем ее
TST (R4) ; Индекс есть?
BPL 1$ ; пока не появился, читаем всё, что читается.
HALT
;теперь у нас с адреса 3000 всё содержимое дорожки
;внимательно смотрим его и выясняем, что там и как записано и делаем выводы.
-
? Ал-р - 28.11.2012 16:11
И почему 10 а не 9 ...
-
? foot - 28.11.2012 20:11
>> ? Voland @ - сегодня 15:13 >>
А если ещё и отформатировать Андосом, то вообще без проблем.
...
В данном случае имелось в виду не чтение MS-Dos каталога и обмен файлами, а физическое чтение секторов диска.
Местоположение разметки относительно индекса в БК и ИБМ разное - отсюда и проблемы.
-
? gid@ - 28.11.2012 21:46
Местоположение разметки относительно индекса в БК и ИБМ в режиме DD примерно одинаковое, и дискеты отформатированные под мсдос с помощью fformat3 на БК читаются как родные, только из-за разных алгоритмов прекоррекции дорожки в диапазоне 50-70 читаются плоховато.
А вот в режиме HD ситуация может действительно отличаться от БКшной. Тут Patron давал ссылки на картинки со структурой дорожки, которая используется в том числе и на БК.
А вот таких же табличек для режима HD что-то я в интернете не встречал. Вдруг возникает ситуация, когда от адресного маркера до маркера данных слишком маленькое расстояние и сектор не читается, потому что прошивка 326 думает, что маркер данных не найден?
Ещё у меня есть подозрение, что 4МГц частоты процессора маловато для успешной работы с HD режимом дисковода, надо бы на 1801ВМ1 подать хотя бы 6МГц.
-
? MM@ - 28.11.2012 22:19
П.С. БК0011, которые без "М" комплектовались не самыми быстрыми процессорами - там везде есть "точка" - индекс "Б". Они
даже по цвету корпуса (пластик) - немного сероватые, в отличие от "натурально японских абсолютно черных" с индексом "А".
Те, что с "Б" - 5 мгц максимум, а те, что без точек - как правило, с теплоотводом от П-1 пассивным в открытом корпусе часами
работают на 6 мгц.
-
? gid@ - 28.11.2012 22:44
А мне повезло. на моей БК11М проц стабильно работает на 6МГц. Только перегревается, и примерно через час-полтора начинает сбоить. Я в своё время так и не придумал простой, незатратный, безопасный, не требующий выпаивания (ибо было нечем аккуратно это сделать, да так, чтобы потом назад запаять и работало бы) способ улучшения охлаждения. А сейчас вообще смысла не вижу, т.к. что 4МГц, что 6 - РС всё равно быстрее и удобнее.
-
? foot - 28.11.2012 22:58
>> ? gid @ - сегодня 21:46 >>
""Местоположение разметки относительно индекса в БК и ИБМ в режиме DD примерно одинаковое...""
Ключевое слово - примерно. А вдруг
""Вдруг возникает ситуация, когда от адресного маркера до маркера данных слишком маленькое расстояние ..""
Ну и самое главное - откуда уверенность, что при увеличении тактовой частоты вп1-128 в 2 раза скорость выборки данных автоматически увеличится в два раза?
Попробуйте сначала на 8 МГц писать/читать обычный формат.
-
? gid@ - 30.11.2012 23:10
Исходник на ассемблере прошивки v2.05 для СМК
http://gray-gid.narod2.ru/f/SMK64_v2.05_ROM-SRC.rar
с комментариями специалистов и авторов.
Вдруг кому пригодится.
-
? Voland@ - 30.11.2012 23:24
Спасибо!
-
? Patron - 01.12.2012 16:37
Вариант исходников SMK64 для редактирования в Windows и компиляции в эмуляторе ДВК: ( http://zx.pk.ru/attachment.php?attachmentid=38541 )
После команд:
MAC/LIST:SMK64 SMK64
LINK SMK64
создаётся файл листинга SMK64.LST и образ памяти SMK64.SAV, в котором коды ПЗУ занимают адреса 160000..167776
...
Однако, если посмтреть раскладку адресов в SMK64.LST - можно заметить, что коды HDD начинаются не с адреса 164022, а с адреса 164034.
Это почему так ???
Из-за этого проверку адреса перед началом компиляции блока HDD пришлось отключить.
-
? gid@ - 01.12.2012 18:34
Причина в том, что начиная со строки 380 закомментированный код зачем-то оказался раскомментирован и смешан с основным кодом
Сейчас так:
22$: ADD SECLEN(R3),ADDR(R3) ; Получим новый начальный адрес
MOV SECLEN(R3),-(SP)
ADD SECLEN(R3),ADDR(R3) ;
ASL (SP)
ADD (SP)+,ADDR(R3) ; !!! так экономим слово за сч#т быстродействия
------------------------------
А должно быть так
22$: ADD SECLEN(R3),ADDR(R3) ; Получим новый начальный адрес MOV SECLEN(R3),-(SP)
ADD SECLEN(R3),ADDR(R3) ; ASL (SP)
; ADD (SP)+,ADDR(R3)
; !!! так экономим слово за счёт быстродействия
-
? Patron - 01.12.2012 19:35
Моя ошибка!
Вот ссылка на исправленный вариант: ( http://zx.pk.ru/attachment.php?attachmentid=38548 )
Надеюсь, теперь всё правильно.
При компиляции проверяются на отсутствие перекрытия адреса: 164022 ; 167342 ; 170000
-
? Patron - 07.12.2012 15:49
В описании дисковода СМ5640 указано, что сигнал STEP удерживается дисководом в активном состоянии на всё время выполнения шага головки.
Это у всех дисководов так ?
-
? gid@ - 07.12.2012 21:23
Нашёл документацию на СМ 5640 (Robotron K 5600.20) в переводе с немецкого. Перевод довольно коряв, но вполне понятен. Там про STEP написано, что "Тот сигнал действует динамически и запоминается внутри за время шага". Исходя из моего понимания работы дисковода, я это интерпретирую так:
как только дисковод получит от контроллера сигнал STEP, он запоминает его у себя в триггере, и выполняет процедуру шага; пока процедура шага не завершится, дисковод игнорирует всё, что приходит на линии STEP от контроллера; после завершения процедуры шага триггер сбрасывается и дисковод снова готов к приёму сигнала STEP.
В найденной документации нигде не сказано что, сигнал STEP удерживается на шине интерфейса от дисковода к контроллеру, т.к. по стандарту там нет обратной связи, и контроллеру не нужно прослушивать линию STEP от дисковода.
-
? Patron - 07.12.2012 23:31
В любом случае - большинство дисководов никак не сообщают, что "головка занята".
Мало того, даже если "головка свободна" - у многих дисководов с быстрым шагом ( ~3 мс ) должно пройти ещё 15 мс, прежде чем они смогут нормально работать.
Никаким сигналом такое "подвешенное" состояние ( Seek Settling ) не обозначается, но в течение этого времени выдача сигналов INDEX и RDATA в дисководе блокированы.
Когда сигнал WGATE активен - дисковод игнорирует STEP, однако, если начать запись после подачи сигнала STEP, но до завершения Seek Settling - данные могут быть разрушены.
-
? Patron - 08.12.2012 00:12
Ага!
Только сейчас я понял, почему при работе с дисководом МС5305 ( с временем шага 3 мс ) программа TSTMX при измерении скорости позиционирования головки - после подачи 5 сигналов STEP с интервалами 3 мс - делает перед чтением дорожки задержку 18 мс.
Похоже, что не все дисководы блокируют INDEX и RDATA на время Seek Settling , поэтому при выходе на целевую дорожку нужно самим делать задержку в 15 мс и перед чтением, и перед записью.
А значит, такую "финальную задержку" лучше всего делать перед выходом из подпрограммы позиционирования.
-
? dk_spb@ - 08.12.2012 00:59
Patron, простите, но то что Вы только что поняли написано в документации дисководов много лет назад.
В частности описание перемыски E2 дисковода TEAC прямо говорит что при установленной перемычке Index и RDATA отдаются на контроллер не дожидаясь seek complete.
Вроде TEAC не самые редкие дисководы и документация не засекречена :-(
-
? MM@ - 08.12.2012 01:05
У Вас, что, схемы 5305 что ли нет ? -
-
? dk_spb@ - 08.12.2012 01:44
Не может быть чтобы не было, но схему надо читать....
-
? MM@ - 08.12.2012 02:14
Кстати, всякие там приводы 5.25 с однокристалкой вредничают при слишком быстром позиционировании головки.
Самый лучший совковый МД - 5311, он в ДВК4 ставился. Если мастера его не трогали - на дисках Басф и (Унимекс-США) не видел ни
одной ошибки за 5 лет эксплуатации с МУ-ВУ(4 мгц камень). Болгария-дискеты ошибались частенько, но не фатально.(применял для
написания и ремонта софта к оборудованию). Однако для некотрого несложного оборудования применял Нортон для ДОС стааренький-
там обращений к диску совсем немного, и 5311 отлично справлялся и с дискетами "Изот". Кстати, в совок родные Унимексы после 1991 г.
не закупались - а левые были на уровне "Изотов" или чуть лучше - проверял на сотнях экземпляров в 1992-1993 годах.
Что касается "Тиков", то статистики немного. Один из 5 наблюдавшихся работал совсем хорошо и на запись, и на чтение -
на порядок лучше 5311. Другие не особо были совместимы по настройке головок - видать, кто-то постарался до меня (диск задом вставить - дисковод выкинуть и не мучиться.) Но в целом ни один из Тиков не был хуже 5305.
Кстати, по ТУ оригинальным (1986 г.) для 5305 - они не предназначены для МФМ. Только ФМ.(одинарная плотность). Это надо просто запомнить.
Какой-то гаденыш написал в ТУ на 5310, что он подходит для МФМ - о, гнев народных масс, порази этого писателя! (много знаков).
Наблюдал несколько 5313 - не в восторге от них, едва ли не хуже 5305 - но причину не исследовал. Использовал 2 шт. около 1 года.
-
? Patron - 08.12.2012 13:19
Ни разу не встречал в сети документацию на НГМД-6022
( и на НГМД-6021, НГМД-6021М, НГМД-6121 ).
-
? dk_spb@ - 08.12.2012 13:37
А зачем она Вам, если не секрет? Нужна схема БП?
Сами приводы в 6022 всё-равно имели другое название модели. Или я неправ?
-
? Patron - 08.12.2012 14:11
Т.е. НГМД - это устройство ( Unit ), в который может вставляться один ( как в НГМД-6021 ) или два ( НГМД-6022 ) привода ( Drive ).
А какие приводы были в НГМД-6022 ( 40 дорожек ) , НГМД-6021 ( 40 дорожек ) и НГМД-6021М ( 80 дорожек ) ?
-
? MM@ - 08.12.2012 18:57
40-трековые. Они под названием 6021 (если не ошибаюсь) и кожухом встречались в ДВК-3 (или вредная болгария - но она на ФМ (МХ) отлично работала, кстати.)
Кстати, встречал (вчера) схему БП от 5309 - она идентична 6022.
А насчет 6021М - и 80 треков - впервые слышу.
-
? Patron - 08.12.2012 19:44
Упоминание про НГМД-6021М я встретил в программе TSTGMD ( 13.Май.1986 ):
.
.RUN TSTGMD
НГМД-6021,6022-> 1 НГМД-6021М-> 2 НГМД-6121-> 3
УКАЖИТЕ ТИП НАКОПИТЕЛЯ->
.
При выборе накопителя НГМД-6021М форматирование идёт на 80 дорожек.
-
? MM@ - 08.12.2012 19:47
Спасибо за информацию.
-
? SKcorp. - 08.12.2012 19:48
У меня в ДВК МС-5301 стоит.
-
? Patron - 08.12.2012 20:36
Да, точно - это он: ( http://www.emuverse.ru/downloads/computers/@Other/MS5301.rar )
-
? foot - 09.12.2012 17:06
Эксплуатировал кучу 5305, 5311, 5313. Экспериментально выходило оптимальное время шага 6-8 мс.
-
? Voland@ - 14.12.2012 10:49
gid, к Вам вопрос программистский, ну и вообще ко всем знатокам архитектуры БК: могут ли возникать проблемы с передачей управления программе, расположенной в неактивных страницах памяти, при переключении между ними? Есть предположения, что такая проблема может иметь место, и поэтому при замене основной памяти БК (128 кб) одним корпусом скажем на 2 мб - проблематично, надо обязательно делать из двух корпусов, чтобы было 2 независимых банка памяти и проблемы программной передачи управления между ними не стояло.
Оправданны ли это утверждения?
-
? gid@ - 14.12.2012 11:47
Три раза прочитал вопрос, и всё равно не понял.
Собственно на реальной БК никаких проблем с передачей управления программе, расположенной в неактивных страницах памяти, при переключении между ними не возникало. Просто подключаешь нужную страницу в нужное окно и передаешь туда управление, и всё работает, если писавший прогу программист знал, что делал.
Единственно что сложно, но с некоторыми ухищрениями можно, так это например из окна 0 подключить в окно 0 другую страницу и продолжить выполнение программы уже в другой странице.
Вообще говоря функционал БОС БК11М то-то такое позволял, но я не пользовался БОС, поскольку там всё работало сильно медленнее, чем хотелось.
По моему, банки и корпуса между собой никак не связаны. Банки - это логическое разделение памяти на участки. А корпуса - физическое. В банке может быть произвольное количество корпусов памяти, и наоборот. Всё зависит от проектировщика и целей.
Поэтому связь между количеством банков и проблемами от меня ускользает.
-
? MM@ - 14.12.2012 12:04
Проверьте запись в конкретный байт ( не слово ) и проведите тест ОЗУ из 1801РЕ2-330. Или напишите адекватный тест ОЗУ из 0 страницы.
(не менее 1000 проходов - для выявления "скользких" мест железа.)
-
? anonymous - 14.12.2012 12:53
Voland, этот вопрос только по смк или уже по новой процессорной плате, где процессор с кешированием, как я понимаю?
-
? Voland@ - 14.12.2012 12:57
Это утверждение от Perestoronin, в рамках предполагаемой замены ОЗУ в оригинальном БК0011М.
А я лишь пытаюсь понять, может ли там реально быть такая проблема. Вечером Perestoronin обещал включиться сюда в переписку на эту тему.
-
? gid@ - 22.12.2012 15:56
Гонял тесты памяти на текущей прошивке, потратил несколько часов, но ошибки вида
2024 - 1111111111111111 100000:1111111111111111
2021 - 1111111111111111 100000:1111111111111111
так и не появились.
Подозреваю, что эта ошибка индивидуальная и зависит не от прошивки, а от самой БК, блока питания или качества сборки и компонентов контроллера.
А вообще поведение контроллера радует. Всё происходит именно так, как и задумано. Жаль что кнопку ресет убили.
Верните назад всю логику U1000B, U1000C, D1, R3. А если с диодом не получается, его надо заменить на логический элемент, Чтобы на ногу 20 ВП1-128 лог.0 попадал или когда лог.0 на ноге 6 U1000B или когда лог.0 на RESA1
-
? Voland@ - 23.12.2012 00:58
Хм.. надо будет спаять еще один, и еще одну БК0011М где-то нарыть для экспериментов..
Ресет в след. прошивке будет работать как положено.
-
? Voland@ - 26.12.2012 23:47
Итак, удалось победить форматирование и запись на СМК512, прошивка ПЛИС уже правда распухла (в основном за счет эмуляции FDD ВП1-128), что еле влазит, квартус выдавал ошибки нехватки ресурсов. Но в этом были свои плюсы, разработчику пришлось немного ее оптимизировать, в том числе в части расширения ДОЗУ свыше 64кб, благодаря этому уменьшилась чувствительность схемы к помехам и ошибки циклических тестов памяти полностью пропали.
Запись и форматирование работают четко, но не знаю как бы проверить досконально, может у кого есть идеи?
Осталась всего одна проблема - выяснить, почему не виден винт на БК0010-01, но похоже что это уже не самая страшная проблема, основная куча геморроя позади и контроллер уже однозначно выйдет в продажу в течение месяца.
-
? Patron - 27.12.2012 01:03
А что насчёт предкомпенсации при записи..
В описании написано, что ВП1-128 управляет внешним прекорректором при помощи выходных сигналов по линиям D01, D02, D03.
Там что, используются значения разрядов PRECOMP в Data Rate Select Register (DSR) Intel FDC ( порт 0x3F4 ) ?
И какие величины предкомпенсации для каких дорожек реализуют ВП1-128 и его копия ?
-
? Voland@ - 27.12.2012 01:26
Предкомпенсация там определенной дорожки, которую процессор выбирает сигналом rez, величина 250 ns в ту или иную сторону. Логика предкомпенасации определяется структурой потока битов и довольно стандартна, например, см. патент US4334250.
-
? Voland@ - 28.12.2012 15:46
Товарищи, есть у кого-нибудь хоть какие-то предположения, что может быть не так в связке БК0010+СМК512?
Точнее, какие там для СМК критичны отличия БК-0010 и 0011М?
Рабочая страница на СМК у них разная, но в данном случае выставляется правильная. Во всяком случае, точно такая как на оригинальном СМК64. Там даже процесс загрузки начинается, но потом что-то ему не нравится.
Страницы памяти выставляются корректно и CF нормально адресуется. Что может быть хотя бы теоретически не правильно?
-
? Patron - 28.12.2012 18:05
Когда есть рабочий оригинал и нерабочая копия - всегда выручает возможность делать и сравнивать пошаговые логи.
Снимать логическим анализатором нужные (а лучше - все) сигналы шины и гнать их потоком в PC.
Если надо - тактовую снизить, чтобы в итоге иметь на PC весь лог загрузки оригинала и копии.
Потом сделать нормализатор логов, превращающий их в список использованных циклов шины с адресами и данными.
Такой нормализатор написать нетрудно, если что - я могу это сделать.
А потом просто сравнить нормализованные логи и найти то место, где работа копии с шиной отличается от работы оригинала.
-
? Voland@ - 28.12.2012 19:57
Там загрузка несколько секунд происходит, логи на миллион строк будут. В общем-то сдвинулись немного в диагностике проблемы, получается по ходу, что значение ячейки 176771 равно нулю, а не должно. Почему так - фиг пока знает. Фокус в том, что в эту ячейу никто ничего не пишет при загрузке, только читают из нее, а как туда попадают данные - надо изучать. Это так называемая ячейка HD$UNI - устройство загрузки по умолчанию.
В мониторе БК0010-01 можно смотреть содержимое ячеек памяти? Если да, то как?
-
? Patron - 28.12.2012 20:29
Размер логов роли не играет - главное их получить.
Другие два варианта - отладочное ПЗУ и аппаратный отладчик Q-Bus, но это всё гораздо сложнее сравнения логов.
-
? gid@ - 28.12.2012 21:07
[Фокус в том, что в эту ячейу никто ничего не пишет при загрузке]
Ошибаетесь. Смотрим алгоритм загрузки с винта. Обращаем внимание на функцию PARTRD - чтение таблицы разделов по адресу 176000 длиной 1000 - Вот тут то и заполняется ячейка HD$UNI, а так же находящиеся рядом с ней данными из таблицы разделов.
Причём содержимое ячейки используется только тогда, когда мы не выбираем принудительно раздел для загрузки (нажать и держать буквенную клавишу при старте контроллера).
Если нажаты шифт-1 .. шифт-7 делается старт по адресам 100000,120000,130000,140000,150000,137000,157000 соответственно.
Если нажат шифт-0 == пробел - делается загрузка по умолчанию (с любого доступного устройства, и тут как раз используется значение из HD$UNI)
Если нажато ещё что-то, то подключается страница 2160 и делается попытка обратиться к ROM-BIOSу без всяких попыток загрузки откуда-либо.
---------------------------
таким образом, если после чтения таблицы разделов по адресам HD$LOG .. HD$TRK везде нули, а не только в HD$UNI, то надо смотреть, не меняется ли страница памяти по адресам 170000-177677, туда ли, куда надо читаются данные с винта и читаются ли вообще, и может ещё что-нибудь.
.
В мониторе БК0010-01 практически ничего сделать нельзя, только загрузить массив, сохранить массив, запустить с адреса и ещё пара каких-то неиспользуемых функций.
-
? MM@ - 28.12.2012 21:20
Некоторые соображения.
1.Если процесс подключения у Вас идет на реальном железе - отличия 10 от 11 прежде всего в сигналах, которые выводятся на МПИ.
Рекомендую проверить наличие и функционирования таких линий, как БС - на МПИ по ОСТ это сигнал ВУ Н, вырабатывается при обращении
в 160000-177777 на БК11, в БК10 - отсуствует, разведены и используются ли прерывания, особенно векторные, и подтянуты ли они
на Вашем блоке резистором до +5 в ? - иначе там будет цифровой шум, и, как следствие, спонтанные сбои при старте.
2.Емкость шины у БК10 немного меньше - запустите процессор на 1.5 мгц - если пройдет успешно, выровняйте тайминги в селекторе
адресов Вашего блока (конденсатор 100 пф с СИНК на общий.).
3.А можно и на 0.75 мгц завести вм1 - для контроля таймингов МПИ. (подозрение - на задержку ДОУТ - есть ли она в Вашем блоке ?).
4.Особенно понравилось сообщение от 18:05 - офигенно нужная вещь, в 1 полугодии выложу схему стенда МПИ для ЛПТ и скромный софт (базовый).
(Вот если такую штуковину приладить к эмулю на приличном камне - и желать другого неинтересно, но там есть загвоздка небольшая -
максимально-достижимая частота такого "МПИ" будет не выше примерно 300 кгц - тайминги надо соблюдать, и на ЛПТ только 8 бит
рабочих. Вот если на ИСА16 - там можно и 1 м выборок МПИ-эмулятора делать.)
-
? Patron - 28.12.2012 22:40
На мой взгляд - пора учиться дампить сигналы по USB.
Сейчас в продаже полно полуфабрикатов логических анализаторов с интерфейсом USB, например:
CY7C68013A USB logic analyzer ( 15$, 48Mhz, Free Shipping to Russian Federation ) - размером со спичечный коробок
http://www.aliexpress.com/store/product/EZ-USB-FX2LP-CY7C68013A-USB-logic-analyzer-core-board-Source-Code/806307_444354105.html
Схему включения и программы для этого чипа можно скачать здесь:
http://www.marcmart.com/ebay/o/OT272/OT272 CY7C68013A.pdf
http://www.marcmart.com/ebay/o/OT272/OT272CY7C68013Aboard.rar
-
? MM@ - 28.12.2012 23:04
1.Вторая сверху ссылка - пустая - 404.
2.А кто это будет программировать ???? - видимо, товарищ Patron лично и в полном объеме ?
3.Линий там маловато - но схемы включения нет, и точно не извесно. Необходимо не менее 48 линий на чтение и 48 - на запись.
4.А на ИСА - 531 серией можно вполне обойтись. Правда, плата выйдет полноразмерная - но зато вопросов по пуску БК больше не будет.
-
? Patron - 28.12.2012 23:22
Это из-за пробела в имени файла движок форума ссылку "недотянул". Можно выделить мышью всю строку, скопировать и вставить в адресную строку браузера.
Но для простоты я схему включения перевыложил: ( http://zx.pk.ru/attachment.php?attachmentid=39006 )
Линий вряд ли больше, чем 8 по 6 МГц.
Чип стандартный, поэтому опознаётся всеми "софт-осциллографами", пара версий которых лежит по второй ссылке в том сообщении.
Я сам про USB даже думать боюсь, но деваться некуда - надо учиться работать с USB.
-
? Voland@ - 28.12.2012 23:43
В общем разобрались с проблемой загрузки на БК0010-01. В оригинальном СМк64 есть конденсатор C15, который при копировании логики в СМК512 было решено скопировать, но не запаивать, т.к. смысл его запайки никто понять и пояснить не мог. Кроме того, нагрузка в 1500 пф, как на оргинальном СМК, вообще недопустима по паспорту для серии LS. Теперь, при запайке C15 в СМК512 все работает, похоже, там в БК0010 какая-то хрень на шине, широко известная в узких кругах, с которой столкнулись разработчики оригинального СМК64 и устранили ее подручным сомнительным способом. В СМК 512 это будет поправлено в ПЛИС нормальным способом, без нарушения законов схемотехники, и конденсатор С15 запаивать все-таки не придется.
Итого, со дня на день будет готова окончательная прошивка СМК512 и он наконец-то поступит в продажу. Протестировать бы еще запись каким-то особо хитрым методом, в самых сложных вариациях.
-
? MM@ - 29.12.2012 00:01
Самый вредный и длинный тест ОЗУ:
1.Копируем в А-адрес массив (например, из ПЗУ) длиной Б.
2.Размножаем в ОЗУ вышеупомянутый массив.
3.Сравниваем с Оригиналом.
4.Сдвигаем на 1 бит по всей длине ОЗУ.
5.Сравниваем с оригиналом с бит-поправкой.
6.Повторить циклы сдвиг-контроль много раз.(например, 10000 раз)
7.Не забывать между циклами делать паузу не менее 0.5 с без обращения к ОЗУ вообще (например, какой-либо цикл в ПЗУ).
8.Считается, что такой цикл, пройденный 2 самых полных круга (полных - по количеству бит в массиве - например, 100000 бит) -
гарантирует от ошибок "утечка в смежный конденсатор в матрице ДОЗУ". Применяется для выходного контроля милитарисских ЭВМ.
П.С.Для сельской месности выбирать массив длиной больше 8 кбайт не рекомендуется. (смайл).
-
? gid@ - 29.12.2012 16:47
Погонял возможности форматирования. На приводе 3.5" NEC FD1231H всё идеально. читает/пишет/форматирует и может использовать собой же отформатированную дискету.
А вот мой рабочий комбо Epson SD-880 так и не заработал. Баг с невозможностью выбора привода А так и не пофиксили. Начал разбираться в чём дело, просто в мониторе БК11М в регистр 177130 писал 1 - выбор привода без включения двигателя. И выяснилось следующее.
Имеющиеся под рукой 5.25" TEAC FD-55GFR 143-U и 3.5" Mitsumi D359T не желают выбираться без включения двигателя, поэтому их поведение можно не принимать во внимание.
Зато 3.5" NEC FD1231H, Epson SD-880 и эталон - MC5311 на оригинальном ВП1-128 ведут себя так как надо.
выбираешь привод (в 177130 пишем 1 или 2) - загорается соответствующая лампочка на приводе. Включаешь двигатель (в 177130 пишем 20) - лампочки гаснут, двигатель включается.
А вот на реплике MC5311 в качестве привода А выбрать принципиально невозможно, как В - пожалуйста, а как А (Device Select 0 на 10й ноге отсутствует) хрен вам.
Так что все потенциальные владельцы советской классики МС53хх, МС602х при покупке реплики окажутся в пролёте.
Но вот что странно, приводы TEAC FD-55GFR и Mitsumi D359T перемычками можно настроить как А и они работают.
Почему так, непонятно.
-
? Voland@ - 29.12.2012 16:51
Жалко, что нет возможности погонять эти же дисководы на реплике оригинального СМК64. Вполне возможно, что там были бы те же проблемы.
-
? gid@ - 29.12.2012 17:03
таки да. я гонял на А16М, сравниваю поведение приводов на оригинальном ВП1-128 и на реплике.
TEAC FD-55GFR и Mitsumi D359T - типичные случаи, большинство приводов ведёт себя так. Меня удивило то, что NEC FD1231H ведёт себя по схеме Шугарта.
А для правильной отладки сигналов достаточно одного советского дисковода МС53хх, его перемычками можно сделать A..D и просто глядеть его поведение на оригинале и на реплике, даже грузиться с него не надо, просто в мониторе БК11М писать в регистр 177130 всякие числа и смотреть, что получается.
-
? Voland@ - 29.12.2012 17:06
Разработчик утверждает, что логика один-в-один с оригинальным СМК64 и Drive Select A на 10-й ноге 100% присутствует. Просто для дисководов IBM этот сигнал получается единственный для диска A.
-
? gid@ - 29.12.2012 17:23
Я вполне допускаю, что мой конкретный экземпляр реплики может не выдавать сигнал на 10ю ногу, и это конкретно моя проблема. Чтобы убедиться в этом, нужен эксперимент с дисководом МС53хх как с самым простым и относительно доступным устройством и другим экземпляром реплики.
-
? Voland@ - 29.12.2012 19:45
Товарищи, может есть у кого такой дисковод в москве, купить или поюзать на пару дней?
gid, xто-то у нас тест на БК10 стал выдавать только 64кб ДОЗУ, я вот думаю, косяк в том что версия теста 4.6 - не последняя, или что схема изменилась в СМК512? Разработчик говорит что при включении нужного режима объем весь доступен, мол возможно тест как-то не так к памяти обращается..
-
? gid@ - 29.12.2012 20:17
Насчёт дисковода отбой. Оказывается я мегалох. Я удивился, почему у меня TEAC FD-55GFR при определённом положении перемычек выбирается и как A, и как B, пошёл смотреть, и оказалось, что я когда-то давно слегка модифицировал A16M и совсем забыл об этом. Кажется, то что я намутил было рассчитано на работу с 2мя 3.5 дисководами без перемычек и шлейфом со скруткой.
А я то был уверен что у меня всё по правилам, всё по Шугарту. Так что пост gid @ - сегодня 16:47 - чушь полная. Всё абсолютно не так.
Вернул всё как было, перенастроил комбо-привод, и теперь уверенно говорю, что всё работает. Дисковод А выбирается как А, В - как В, всё корректно, всё как надо. Но возник непонятный момент. Моя самописная прога для форматирования перестала работать и на А16М и на СМК512. А при форматировании на СМК512 ANFORMATом у меня бкшка виснет при контрольном чтении. 2 раза завис, так что я пока буду разбираться, почему не работает моя прога, у неё то до этого всё отлично форматировалось.
.
Насчёт тестов, посетите http://gray-gid.narod2.ru/altpro_test.html и скачайте актуальные версии. Если всё равно будет только 64кб и только на БК10, то пока ничего поделать не могу. Весь функционал для БК10 тестировался только в эмуляторе, а эмулятор может быть неточным.
-
? Voland@ - 30.12.2012 16:29
gid, оказывается тест итак запускали в версии 4.7 и 4.72, не видит он больше 64 кб на БК10, хотя и пишет, что "Не подключается ПЗУ Бейсика".
Можете логику описать, как в начале теста подсчитывается для БК10 доступный объем ДОЗУ? Словами или в виде Си-кода...
Разработчик говорит, что там какой-то навороченный алгоритм определения числа доступных страниц и разобраться ему в нем трудно. "В ходе проверки там включаются разные страницы и хитрым способом определяется их целостность. На аппаратном уровне - старшие страницы ОЗУ реально включаются. А что не нравится программе - не ясно. Распределения памяти БК тут скорее всего не при чем, там три старших бита подаются на ОЗУ непосредственно из регистра страниц, и никакого распределения не меняют".
_
>> А при форматировании на СМК512 ANFORMATом у меня бкшка виснет при контрольном чтении. 2 раза завис
2 раза из двух, или есть и успешные разы? Как на А16М отрабатывает ANFORMAT ?
-
? gid@ - 30.12.2012 20:41
Описание логики послал почтой, там много текста.
.
Сегодня починил свою прогу для форматирования и пол дня экспериментировал. Результаты такие.
СМК512 по сравнению с А16М ведёт себя нестабильно. Зависает случайно и хаотично. При чтении зависает чаще, чем при записи. Причём при монотонных операциях - только чтение или только запись(форматирование), если чтение-запись перемежаются между собой - ни разу не зависло. При работе с 3.5" зависает чаще, чем с 5.25"
Если рассматривать статистику, то у меня БК зависал на каждом третьем этапе форматирования, в режиме формат всего диска - контрольное чтение всего диска.
И не зависло ни разу в режиме формат дорожки - контрольное чтение дорожки, пока не обработаются все дорожки.
-
? Voland@ - 30.12.2012 23:24
Прогой поделитесь для форматирования?
С определением памяти похоже мы с разработчиком глупо налажали - у него на экземпляре прошивка точная копия от СМК64, где значение соответствующее прописано, а у меня поправленная версия, поэтому у меня определялось все правильно. Но это надо проверить еще, пока не знаю, когда получится в его экземпляр обновленную прошивку прошить.
-
? gid@ - 31.12.2012 09:57
Прогу можно найти в этом образе.
http://gray-gid.narod2.ru/f/alttests.rar
Называется XFORMAT, лежит в директории Tools. Работает только на БК11 и только в ANDOS.
-
? Voland@ - 31.12.2012 19:53
Потестировал под Disk Doctor (MKDOS) и ANFORMAT на дисководе 3.5.
Из 10-ти форматирований DD на СМК512 произошло 2 зависания, одно при контрольном чтении, другое при форматировании.
Из 10-ти форматирований ANFORMAT на СМК512 произошло 4 зависания, все при контрольном чтении.
Такие же прогоны на оригинальном СМК64 зависаний не дали ни разу. Проблему подтверждаю.
Заметил, что на сбойных областях при контрольном чтении на СМК64 программа передергивает головку, и потом переформатирует область, успешно завершая формат. На СМК512 таких ситуаций не возникает в принципе, там либо вся дискета форматируется удачно, либо сразу зависон с первой попытки неудачного чтения (т.е. до передергивания головки не доходит).
Разработчик прокомментировал это так:
Вполне возможно, что в ВП1-128 есть еще какая-то недокументированная "особенность", которая выводит программные циклы из ожидания готовности. Там есть пара-тройка мест в мониторе, которые могут быть потенциально ловушками неприятностей на диске, скажем, ожидание адресного маркера. Если предполагать, как ведет себя оригинальная ВП1-128 в таком случае, то может она выдает готовность просто скажем когда новый индекс пришел, а контрольная сумма потом разумеется не совпадает. В общем случае, если сумма не совпала, программа должна пойти на новый заход, пока не исчерпается какое-то число попыток. Также, может быть у ВП1-128 более слабая логика определения адресного маркера для экономии элементов микросхемы. У меня в ПЛИС сделано определение очень жестко, как нарушение синхронизации плюс значение слова A1A1, это удобно для отладки, но может быть избыточно на практике. Там есть варианты определения - просто по нарушению синхропотока, либо сравнению только одного байта с A1.
-
? MM@ - 31.12.2012 20:15
Без отладочных кусков программного кода тестить железо - все равно что искать темную кошку в темной комнате. И в черных очках -
чтобы не видеть светящихся глаз кошки. (смайл.)
-
? Voland@ - 06.01.2013 17:12
CD-Inc, я правильно понял, что для того чтобы убрать зависания при включении, возникшие после доработки, необходимо добавить соединение между первой ногой ТМ9 и четвертой ногой ТМ2 ?
У меня после добавления такой перемычки не только не пропали зависания, но и режимы стали работать некорректно, тесты не запускаются, CSI-DOS не грузится..
-
? gid@ - 06.01.2013 18:13
Отвечу за него.
Смысл этой перемычки в инициализации выходов ТМ2 при ресете, по идее, её добавление никак не должно повлиять на функционирование в остальное время.
Есть предположение, что на ноге 1 ТМ9 уровень достаточный для того, чтобы ТМ9 (особенно если это 74LS174N) считал его лог.1, а посредством перемычки, на ноге 4 ТМ2 этот же уровень считает недостаточным для лог.1, поэтом ТМ2 всегда в состоянии SET, из-за чего ТМ9 просто не стробируется и режимы не переключаются.
И ещё предположение, если напряжение питания скачет, и на ноге 4 ТМ2 напряжение колеблется между "то ли лог.0", "то ли лог.1", "то ли ТМ2 сам решай", то ТМ2 может время от времени начинать колбасить, в результате ТМ9 начинает хаотично стробироваться с хаотичным переключением режимов. чаще в режим 0, но если идёт работа с дисководом - то в непредсказуемые режимы.
Правильный ответ можно получить просто посмотрев осциллографом, что творится на 4й ноге ТМ2, там всегда должно быть лог.1, кроме когда нажимаешь кнопку ресет.
-
? Voland@ - 06.01.2013 20:16
Спасибо, gid, проблема действительно оказалась в КР555ТМ9, после замены её на КР1533ТМ9 все стало работать как надо, и зависаний при старте больше нет.
-
? MM@ - 07.01.2013 00:35
Скорее всего просто гнилушка была - внутри отличия не существенны.
-
? Voland@ - 08.01.2013 16:45
Оказалось, вероятно просто первая КР555ТМ9 плохо в панельку встала, теперь и 555 и 1533 нормально работают.
-
? MM@ - 08.01.2013 20:23
Кто не на желтых колодках макет делает - жадина. Лучше тогда запаивать сразу.
-
? Voland@ - 08.01.2013 21:15
Вообще макет предназначен для предпродажной проверки комплектов конструкторов, поэтому запаивать не вариант.
Цанговые разве дешевле желтых?
-
? MM@ - 09.01.2013 00:57
Дело не в цене - а в наличии настоящего AU-999.
А совковые цанговые с трудом припоминаю ...
(А не тот ли у Вас случай, когда ножки в 555 болтаются ? - там примерно в каждой 100-й годной такое с среднеми выводами.
И в каждой 3-й из бракованной партии-сам сотни блоков собрал, знаю, очем говорю.)
-
? Voland@ - 09.01.2013 01:16
Нет, не болтаются и мне такие даже не попадались еще ни разу..
Ну цанговые конечно же не совковые, а самые распространенные импортные. Разница шага c совковыми 0.04мм при количестве выводов до 20-22 в один ряд не особо заметна.
-
? MM@ - 09.01.2013 02:14
Кстати, даже желтые камни вполне надежно в цанговые желтые колодки ставить - проверял на 1 шт. 5 лет - без сбоев.
(колодку выпилил из 386-сокета АМД-промоматери 1996 г.в.)
А определить, болтается или нет - припаиваете вход осциллографа и при работе спичкой с усилием не более 100 грамм раскачиваете
ногу - если пропадает сигнал или меняется логика работы - значит, ножка механически не стойкая - болтается...
-
? Kisser - 05.03.2013 09:30
А кто-нибудь расскажет, как СМК отбирает себе адрес начального пуска, какие элементы за это отвечают, и вообще как происходит пуск СМК? Там же хитро - с клавишами/без, и что-то он от себя добавляет при первом чтении из шины (?).
-
? gid@ - 05.03.2013 09:55
При включении питания, когда выполняется стартовая последовательность ACLO/DCLO линией RESA1 обнуляются выходы U1004, таким образом на выходе U1114 получается состояние, соответствующее режиму СМК SYS (160). В этом режиме ПЗУ 160000-167777 дублируется по адресам 170000-177777 таким образом ячейка 167716 накладывается на адрес 177716. В 167716 содержится число 164400 - это адрес запуска прошивки СМК.
Дальше выполняется стандартная процедура чтения стартового адреса из SEL1, при этом читается 164400 вместо 140000, процессор стартует с прочитанного адреса, а дальше всё просто, как написано в исходнике - включается соответствующий стандартный режим для БК10 или БК11 (т.е. убирается дублирование ПЗУ), проверяется нажата ли клавиша, если да, то какая и что надо делать при этом.
-
? Kisser - 05.03.2013 10:08
gid, Вы как всегда выручаете!
Значит из ПЗУ он берется. И после старта убирается, т.е. далее при чтении из СЕЛ1 так и будет читаться 140ХХХ.
А еще вопрос - если u1004 обнуляется, получается что по наличию 0 на Б6 (кроме СМК и Отладки на Э. этот вывод никто не юзает) можно однозначно определить, вставлен ли СМК, или нет.
-
? gid@ - 05.03.2013 11:22
Нет. Он же не навсегда обнуляется. В дальнейшем, триггер сохраняет режимы, передаваемые туда через регистр 177130. Б6 если не ошибаюсь, это сигнал отключения ПЗУ монитора БК11 по адресам 140000-147777
По таблице режимов этот сигнал активен (лог.0) в режимах 160, 120, 140, 100 и неактивен в остальных.
Таким образом аппаратно однозначно определить не получится, надо сперва сделать
mov #6,@#177130
mov #140,@#177130
mov #0,@#177130
а потом смотреть сигнал
-
? Kisser - 05.03.2013 12:03
На самом деле не совсем понятно. В режиме Старт (160) по таблице режимов отключается только верхнее ОЗУ11М (это А22 МПИ я так понимаю). Но судя по таблице распределения пр-ва должны отключаться и монитор11 (140000) - вместо него ОЗУ 0,1 страницы и монитор10 (100000) - вместо него пусто. А по логике работы схемы, когда идет сброс по РЕСА1, то на выходах U1004 Везде 0, а значит монитор 11й включен, включен 10й монитор и выключено ОЗУ 11М.
-
? MM@ - 05.03.2013 12:13
Набор решений выслал на почту уважаемому господину Kisser. Особенно хорошо 2-е - ни один самоделкин не испортит пуск
с ВМ2А ! ( В ВМ3 все вообще решается программно - там этот вопрос в принципе не возникает. )
-
? gid@ - 05.03.2013 12:33
Я всё перепутал, всё наоборот, сигнал Б6 не активен в режимах 160, 120, 140, 100 и активен (лог.0) в остальных. А режим 160 особый, там на БК11 ОЗУ накладывается на ПЗУ монитора, как оно работает, даже в голову не приходило проверять, т.к. по традиции этот режим используется только для старта и потом только на БК10. Где-то, не помню где, особо отмечалось что режимы ОЗУ10(120) и HLT10(100) (и в основном SYS(160) тоже) предназначены для БК10 и при использовании их на БК11 надо тщательно следить за ситуациями наложения ОЗУ на ПЗУ, и предварительно очищать ОЗУ перед использованием таких режимов. А лучше и вовсе их не использовать.
-
? Kisser - 05.03.2013 13:20
Вообщем, получется если на Б1, Б6 и А22 будут эл. 0 - то это СМК и включ. режим 160. Это самое разумное видимо, т.к. на БК11 Б1 не работает - не будет сигнала, значит нет СМК. А на БК10 - нет А22 и Б6. Отлично, будем пробывать.
gid, огромное спасибо!
-
? CD-Inc@ - 05.03.2013 16:33
Kisser, а почему тогда схема с Zx.pk не подошла?
-
? Kisser - 07.03.2013 12:16
gid, можно еще помучать?
Предлагается загнать в память СМК некоторую программу и выполнить ее там штатными средствами (без диска). Собственно для этого надо чтобы был монитор 11М был подключен, и ОЗУ СМК. Если смотреть на таблицу режимов, получается единственный вариант это ОЗУзз (код 100)?
И еще. Когда не происходит загрузка с винта, СМК думает-думает, а потом вылетает в @. Это @ - монитора БК или СМКашное? Т.е. какой режим тогда на выходе устанавливается, и какие команды доступны в мониторе, если их обрабатывает СМК?
-
? Kisser - 07.03.2013 12:17
>> почему тогда схема с Zx.pk не подошла?
Ее даже не пробывали, т.к. по всеобщей идеологии все новые поделки должны быть совместимы со старыми (мда...) потому корячим только блок с ВМ2, но никак не СМК.
-
? gid@ - 07.03.2013 12:56
>>? Kisser - сегодня 12:16
Не совсем понимаю, почему именно ОЗУзз (код 100)? Там ведь поверх монитора 11М накладывается ОЗУ СМК, поэтому сперва надо будет в область наложения скопировать содержимое ПЗУ монитора.
В таком случае лучше воспользоваться режимом All (код 20) Он как раз для БК11М, там никаких накладок, но действия надо делать те же - скопировать содержимое ПЗУ в память СМК. Алгоритм следующий:
1. включаем режим 140, копируем ПЗУ с адреса 140000 по адресу 20000
2. включаем режим 120, копируем массив с адреса 20000 по адресу 100000
3. включаем режим 20, в результате по адресу 140000 получится копия ПЗУ монитора, по адресам 100000-137777 будет ОЗУ СМК, причем безо всяких защит от записи.
Единственное, что ускользает - это смысл этого действия, разве что выполнять прогу только потому, что это возможно.[Когда не происходит загрузка с винта, СМК думает-думает, а потом вылетает в @.]
Там довольно большое время ожидания ответа от винта, а затем попытка загрузиться с дискет, это гораздо быстрее, а затем выход в монитор БК11М, @ - это его.
СМК сразу после старта устанавливает стандартный режим работы - 140 для БК11, 60 для БК10 и больше режимы не дёргает, дальше режимами должны управлять программы пользователя, при этом он становится полностью прозрачен для монитора БК11М, поскольку монитор не знает о том, как управлять режимами СМК.
-
? Kisser - 07.03.2013 13:03
>> сперва надо будет в область наложения скопировать содержимое ПЗУ монитора
проще тогда в программе сделать переключение режимов, чтобы она подергала ОЗУ и скопировала туда себя, а не монитор, а потом вышла опять в 20й режим
Кто только это напишет?!
>> смысл этого действия
Смысл очень большой, т.к. в СМК статическая память и не будет влиять своими задержками. По результатам выполнения ВМ2 должен вести себя значительно интереснее ВМ1. Рекламный ход, если совсем быть точным )))
-
? Вячеслав - 08.03.2013 08:55
Предлагаю попробывать заменить ПЗУ и статику в СМК на один чип MRAM памяти, или два чипа - один из них аппаратно защищая от записи.
-
? Вячеслав - 08.03.2013 09:01
ВМ2, а точнее Н1806ВМ2 очень интересен - маленький и доступный (250р). Замечу что огромный 1801ВМ2 в DIP64 не интересен.
¤
Кто бы предложил вариант подключения Н1806ВМ2 на плату БК-0011М на место штатного 1801ВМ1?
Для начала устроит если вариант будет сопровождаться специальным тестом ОЗУ, который можно будет зашить в заменитель ПЗУ.
¤
Заменитель ПЗУ тоже требует доводки - замены логики обвеса на один-два чипа cpld и избавление от необходимости "шифровать" содержимое прошивок перед записью в "заменитель" ПЗУ.
-
? MM@ - 08.03.2013 12:17
Скажу прямо - есть к ИС описание - там все довольно хорошо объясняется.
Н1806ВМ2 есть чрезвычайно обедненная версия М1801ВМ2. Разница по производительности у них не менее, чем в 2 раза. Скажу более -
это практически близнецы, но имеются отличия по технологии кристалла. Есть вероятность более 50%, что при частоте ЦЛЦ до 5 мгц
их можно вставлять в одну колодку ( Н1806 - через пассивный переходник, разумеется ).
*
А М1801ВМ3 - это для тех, кто знает, что такое RT-11 - вам мопед или такси - такая между камнями разница.
Более 95% игрушек, написанные для БК10, на нем пойдет без изменения их кода. Остальные - надо смотреть персонально.
-
? Вячеслав - 08.03.2013 13:05
По DIP64 я не буду поддерживать тему, как в принципе и по любым микросхемам в корпусах DIP.
Проблемы с DIP64 - сложность разводки плат (такой чип удобнее разводить только на 4 слойке), низкая надежность, старые корпуса, сама технлогия монтажа кристаллов в керамические корпуса подразумевает массу проблем (микросхемы К573РФ2 в белой керамике тому пример, да и импортные УФ ПЗУ тоже не дальше ушли, а технология таже).
¤
К счатью хотя бы я не ортодокс, и не хочу чтобы БК умерла через десятки лет вместе с последним DIP чипом и всей линейкой 1801, которая уже давно не прозводится. Если потребуется отказаться от полной совместимости и перенести софт БК-0011М на Н1806ВМ2 - я попробую это выполнить для наиболее интересных программ, заодно "подготовлю" исходники этих программ :)
-
? Patron - 08.03.2013 13:43
А если не потребуется отказываться от полной совместимости, установив на место платы БК - плату PC с идеально точным программным эмулятором..
Это лучше, чем ни с чем не совместимая аппаратная кривотень или хуже ?
-
? MM@ - 08.03.2013 14:05
Если к "Блэк бокс" прикрутить отличный МПИ и оригинальный УП, да и клаву оригинальную БК11М - такое можно и за 10р. продавать Фанатам, особенно на предприятиях для ЧПУ. Совместимость 99.9 % по софту и быстродействию ( с возможностью разгона ) и винчестер обязательны. Для понтов неплохо бы с краюшку УСБ прицепить - но не для БК11М - режима. W на ядре обязательна.
-
? Вячеслав - 08.03.2013 14:11
На блек-бокс Буратин сложно будет найти, иначе бы таких боксов уже "наштамповали". Замену же промышленному старому оборудованию давно уже разработали на ПЛИСах и продают на много дороже 10к, при себестоимости по железкам меньше 2к.
¤
Эмулятор - плата PC, не нужны как и сами PC.
¤
Платформа должна развиваться, иначе она вещь сама в себе. Так что "критотени или хуже" на 1806 быть в конечном итоге, если 1836 не поспеет.
-
? Kisser - 08.03.2013 14:17
>> такое можно и за 10р. продавать Фанатам
есть такая хреновина - Labview называется (визуальная среда программирования), к ней продаются платы ввода-вывода с недетскими скоростями, на ПСИекс и прочими - в теории можно подручными средствами реализовать на ней МПИ и прочие радости с офигительными скоростями работы. Но только одно железо будет стоить от 50 р, + лицензионный Лабвью (?) + прога... Главное преимущество - что железо для ПС придумывать не нужно.
Может, когда-нибудь и имеет смысл заняться.
И от СМК что-то отошел разговор...
-
? Patron - 08.03.2013 14:24
1836 - это ЭМУЛЯТОР с ножками.
Разница между эмулятором на 1836 и эмулятором на плате PC - чисто внешняя.
-
? Вячеслав - 08.03.2013 14:34
1836 эмулятор ? В смысле простой БМК ? Расшифруйте слово "ЭМУЛЯТОР".
-
? MM@ - 08.03.2013 14:43
Я указал число "10 р" с большим запасом. Реально такое в Москве собрать и за 9 р. - но с участием писателя эмуля БК11.
-
? Patron - 08.03.2013 16:15
1836 разрабатывался как эмулятор абстрактной спецификации 1801ВМ3
Какая разница что у него внутри и что снаружи, если:
1. У него внутри нет ничего общего с эмулируемым процессором.
2. Его внешний вид не совпдает с эмулируемым процессором.
Если к любому другому эмулятору 1801ВМ3 приделать контроллер МПИ с ножками - будет по сути такая же фигня - эмулятор с ножками.
-
? Вячеслав - 08.03.2013 16:43
Если про 1836 правда, то это печально. Можно сказать что всей серии 1801 конец поставлен был.
Тогда увы действительно для удержания БК в живых и ее развитя - единственная вариант это 1801 в ПЛИС и проект Voland - БК-12.
-
? Voland@ - 08.03.2013 17:03
Ну в БК12 тоже по большому счету аппаратная имитация логики ВМ1, а не его точная внутренняя копия. По внутренностям ВМ1 подробное описание безвозвратно затерялось в прошлом...
-
? Voland@ - 08.03.2013 17:55
Есть мнения, что вообще-то все процессоры тех времен были микропрограммируемыми, то есть, по сути с помощью микрокода эмулировали некоторую систему команд. Например, 1801ВЕ1 был с оригинальной системой команд, но там заменили микрокод и он стал совместим с PDP-11. Так что всё очень условно, путем замены микрокода можно сделать один и тот же кристалл совместимым с практически любым процессором (аналогичным по сложности).
-
? Voland@ - 08.03.2013 18:04
Если углубиться, вся линейка процессоров 1801-1836 - это микрокодовые эмуляторы PDP-11, а БК12 - процессор-аналог PDP-11, разработанный с нуля и без микрокода. Т.е. по своей сути синтезируемый ПЛИС-процессор является в меньшей степени эмулятором PDP-11, чем ими являются советские процессоры.
-
? Patron - 08.03.2013 19:26
Вот почему самое правильное направление и самая правильная итоговая цель - иметь в виде чипов только контроллеры интерфейсов ( МПИ, FDD и т.п. ), а всё остальное эмулировать исключительно программно.
-
? Дмитрий - 08.03.2013 20:59
Вот именно этим и занялся ув. Voland - эмулятор ВМ1 на ПЛИС. Только в свете всего вышесказанного что будет с репликой оригинальной БК, платы которой (пусть и в тестовом исполнении) уже готовы? ВМ1 и ВП уже получается не найти, а без них ничего не выйдет. Получается, что на плаву остается только ПЛИС-вариант.
-
? Дмитрий - 08.03.2013 21:14
У меня валяется сдохшая 11М, клава пленочная от нее живая. Есть полностью рабочая 10.01. На крайний случай взял бы с нее -014, -037 и ВМ1 и влупил бы это в конструктор 11М. Тока вопрос: 037 от 10.01 и 11М одинаковые или там внутри есть отличия?
-
? MM@ - 08.03.2013 21:29
ВМ1А еще в продаже достаточно, ВП1-014 и 037 тоже доступны за недорого.
Не подскажите ли, от чего скончаласи Ваша 11М ?
ВП1-037 после 1988 г. не исправлялись точно.
А на Вашем ВМ1 сколько точек сверху и какой корпус - ж или пластик ?
-
? Дмитрий - 08.03.2013 21:46
1) 11М сдохла из-за попадания 220В на корпус блока дисководов. К БП от компа был БК, к нему СМК128 + винт и 2 привода. БК сдох, винт туда же, флопы целые, СМК (!) тоже цел и работает. Была приделана схема FY - хз сгорел ли 8910. Из платы выпаял разъемы под клаву в надежде переделать на 10.01, но так и забросил.
2) КР1801ВМ1, 8808, точка 1 (тот же белый цвет что и надпись). Корпус черный (видимо пластик), снизу П-образный радиатор из тонкого "люменя". НА камне еще 2 "точки"-углубления по краям. Хз зачем и что это. Без проблем работает турбо-режим (4МГц, емнип).
-
? Дмитрий - 08.03.2013 21:48
Да, на крышке камня кривой штампик "44". Логотип - буква "D".
-
? Дмитрий - 08.03.2013 21:52
На 11М проц розовый, с золочеными выводами. К1801ВМ1, 9101, точек 5, над ними штамп "100", логотип - тоже "D".
-
? MM@ - 08.03.2013 22:18
Насчет пластикового камня - если точку краской цвета маркировки нельзя истолковать как отметку 1-го вывода, значит камень "Б".
Его максимальная частота - 4 мгц.
А розовый с желтым процессор - буква "Г", теоритически 4.7 мгц, команда MUL и таймер рабочие. Керамика всегда здорово фильтровалась
Заказчиком - среди нее исключительно редко встречаются экземпляры, хорошо работающие на 6 мгц. Принцип фильтрации -
если работает при 4.75 в на 6 мгц - годен для Заказчика, нет - маркируют буквой "К" - в просторечии "кал".
Если осциллографом пройтись по сигналам АД0-АД15, СИНК, ДИН, ДОУТ, ВТБТ, РПЛЫ - нет ли там стабильно низкого или явно среднего
(между +5в и 0в) напряжения ? Если есть - найти посредством применения скальпеля протраханную ИС и сменить ее. Обычно летит камень
или 037-я. Как правило, одна на всю плату. Ориентировочно можно оценить потери - включить питание и спустя 5-10 мин. пальцем оценить
температуру ИС. "Горячки" можно сразу выкусывать. Не лишние будут очки - чипы иногда взрываются - у меня есть опыт по этому делу.
-
? Voland@ - 08.03.2013 22:54
>> ВМ1 и ВП уже получается не найти
Дмитрий, откуда такая информация? Я закупил порядка по 100 штук каждой - ВП1-037, -014, ВМ1, так что минимум 100 экземпляров БК еще будет)))
Но судя по остаткам ВП1-014 на chipfind.ru, с ней дела обстоят примерно как с РР1 год назад. Т.е. она запросто может через годик исчезнуть из продажи. ВП1-037 и ВМ1 думаю еще лет 5 точно не закончатся, хотя как знать. 1801ВП1-128 мне удалось найти 35 штук по 120 рублей (с латинской маркировкой), итого в остатке около 50 штук, но думаю столько оригинальных СМК64 не купят даже за 3 года.
КМ1801РР1 мне удалось недавно найти 70 штук, и походу это были последние тайные запасы страны. В общем, конструкторам БК0011М и БК0011М-ДРАМ-AY БЫТЬ, однозначно.
Кстати вопрос, насколько я помню, турбо-режим в БК включался просто перерезанием дорожки и пробросом проводочка с 6 мгц на ногу процессора? Может в БК0011М-СРАМ-AY имело бы смысл обе этих частоты 4 и 6 мГц подвести к ноге процессора и сделать там тройную перемычка, с двумя доступными вариантами замыкания 4/6 ? Чтобы желающие турбировать, не вешали тумблер на соплях. Если будет более 2-3 желающих, то так и сделаем.
-
? MM@ - 08.03.2013 23:34
Давайте приведем схему БК11 хотя бы частично к норме. Для этого потребуется ИС КР531ЛН1 и 3 кварца - 8,10,11 мгц. Собираем на них
генератор по типу того, что уже есть в БК11, далее меняем Д39 на КР531ТМ2 и организуем на нем делитель на 2, выход этого делителя -
туда, куда идет нога 09 Д39 классической БК11М. Кварцы выбирать перемычкой. По питанию новой КР531ЛН1 установить конденсатор.
Будут частоты - 4, 5, 5.5 мгц. Большинство камней будет работать на 5 мгц точно, особенно с теплоотводом. ИС КР531 можно заменить на
"74F..." в соответствии с аналогом.
-
? Дмитрий - 09.03.2013 00:53
>> Дмитрий, откуда такая информация?
Ну, вообще-то это было предположение (смущенный смайл).
..
>> Я закупил порядка по 100 штук каждой - ВП1-037
Была, помню, тут инфа о том, что самарцы делали мультиколор на экране переключая буферы экрана (или что-то вроде) по таймеру. И была инфа о том, что не все 037 способны правильно работать в этом режиме. Свои основные функции они, ессно, выполнять будут, а вот сколько из них способны отображать демки с использованием этой фичи?
..
>> БК0011М-ДРАМ-AY БЫТЬ, однозначно.
Это радует.
..
>> Если будет более 2-3 желающих, то так и сделаем.
Судя по моим скромным познаниям, это не будет накладно, поэтому имеет смысл сделать. Кому не нужно - использовать не будут. Опять-таки, можно предусмотреть на плате переключатель. Если заказывается схема без турбирования - просто повесить перемычку на стандартную частоту вместо переключателя, а детали для турбо исключить из набора.
..
>> Давайте приведем схему БК11 хотя бы частично к норме.
Ув. ММ, тут уже столько всего было наговорено и наобещано, что я, например, уже запутался в этих примочках - что будет в железе, а что просто как мечта реализации. Можно как-то систематизировать будущие доработки? Вот ув. Воланд делает БК12 на ПЛИС с режимом 100% совместимости с БК11М. Если я правильно помню, то в обычном режиме это будет очень быстрый камень (аналог 70МГц ВМ1) с большим объемом памяти. А вот в Ваших платках-монстрах я уже, честно говоря, запутался. Можно расписать что же все-таки Вами будет сделано? Что в ближайших проектах? И как это будет совместимо с БК12?
..
Также хотелось бы услышать инфу о том, будет ли все-таки елка совмещена с ПЛИС-версией, где будет несколько разъемов для периферии (по аналогии с PCI на современных мамках)?
-
? Дмитрий - 09.03.2013 00:56
Забыл дописать: ... или же будет ISA как замена медленному МПИ?
-
? anonymous - 09.03.2013 07:20
「Кстати вопрос, насколько я помню, турбо-режим в БК включался просто перерезанием дорожки и пробросом проводочка с 6 мгц на ногу процессора?」
Voland, не только процессора, но и регистров (D8.2 и D11) , защелкивающих входные сигналы процессора.
-
? Voland@ - 09.03.2013 12:18
>> можно предусмотреть на плате переключатель
Если переключатель, то какой конкретно ставить, есть предложения? И где найти схему турбирования, кто-нибудь помнит?
.
>> не все 037 способны правильно работать в этом режиме
Я закупал не младше 91 года, с ними все должно быть нормально.
.
>> будет ли все-таки елка совмещена с ПЛИС-версией
на ПЛИС-версии и без елки для МПИ будет повышена в разы нагрузочная способность, поэтому можно хоть стандартную елку вставлять будет, хоть просто разветвитель.
Как сделать более одного разъема МПИ сразу в составе ретроплаты (и тем более платы mini-ITX), я себе плохо представляю.
.
>> или же будет ISA как замена медленному МПИ?
На ретроплате не будет ничего, поскольку она просто не влезет тогда в старый корпус, и теряется смысл ретроплаты. На плате mini-ITX разведен PCI, но что с ним делать не ясно, поскольку для его тестирования надо написать драйвер, а делать это некому.
.
>> БК12 на ПЛИС с режимом 100% совместимости с БК11М
Там на самом деле еще куча вопросов по режимам и способу переключения между ними. По идее, первый режим должен быть - чистая БК0011М, без возможности программного переключения куда-либо, т.к. это нарушает обратную совместимость. Далее думаю будет идти режим БК0011М + СМК64 + AY, тоже без возможности программного переключения в другие режимы. Эти два режима будут работать в режиме старого быстродействия. Полное быстродействие для них не имеет смысла
Третьим будет режим, такой же как второй, но с возможностью программного переключения в полное быстродействие с доступностью всех новых аппаратных возможностей. Т.е. чтобы можно было работать в режиме 90-99%? совместимости с оригинальной БК11М, и из под среды БК запускать новый софт, активирующий новые возможности и использующий их уже на полную мощь. Четвертый режим с процессором ВМ3 и соответствующей организацией 4мб памяти пока вообще под вопросом - каким именно его делать и что на нем запускать, поскольку ничего готового под него нет.
И на самом деле, чтобы управлять всеми этими режимами программно, нужно либо писать миниБИОС, на старте предлагающий меню, и выгружающий себя с передачей управления куда надо.
Либо, надо найти в архитектуре оригинального БК0011М такие биты (хотя бы один), которые нигде не задействованы и их использование не нарушит программной совместимости с оригиналом. Тогда БИОС будет не нужен, и можно будет стартовать в обычной БК0011М, переключаясь битам в следующие режимы. Хотя это все опять же еще и с разработчиком моим согласовать надо, т.к. некоторые мои идеи он может "обломать" невозможностью реализации на практике.
-
? Дмитрий - 09.03.2013 13:33
>> И где найти схему турбирования, кто-нибудь помнит?
Журнал "Персональный Компьютер БК-0010-БК-0011м", 01-1996, стр. 81 - http://archive.pdp-11.org.ru/BIBLIOTEKA/biblioteka_bk/biblioteka_bk.rar
-
? Дмитрий - 09.03.2013 13:38
Но тут, видимо, только для 10.01, в следующих номерах должна была быть реализация для 11/11М, но издание прекратилось на 01'96.
-
? Дмитрий - 09.03.2013 14:05
Ошибка! Издание прекратилось на номере 2 за 96 год. Нашел у себя. http://archive.pdp-11.org.ru/BKGAMES/Ivanhoe_archiv/Ivanhoe_archiv.rar содержит скан этого журнала. Турбирование на стр. 44-48.
-
? Etc. - 09.03.2013 15:39
Дмитрий, в Ваших ссылках какой-то <диснияз> испоганил все сканы рекламой своего сайта :-\
-
? Kisser - 09.03.2013 20:50
Содержимое 167716 СМК - 166400!
-
? Voland@ - 10.03.2013 12:50
Kisser, Вы имеете ввиду, использовать биты ячейки 167716 для управления новыми режимами БК12?
..
>> Турбирование на стр. 44-48.
Спасибо, Дмитрий!
Почитал, на плате ПЗУ будем вводить позицию для конденсатора между ногами 2 и 24 разъема ПЗУ Бейсика (для устранения возможных зависаний в Турбо-режиме)?
Ну и опять же, какой использовать переключатель? Нашел такие вот, более-менее подходящие варианты:
http://www.oemprice.ru/product/perekljuchatel-dvizhkovyj-model-ss-12d22/
http://www.oemprice.ru/product/perekljuchatel-knopochnyj-model-kan16kan17-1203t/
Интересный вариант:
http://ru.aliexpress.com/item/3-Pin-Mini-Micro-Switch-w-Push-Button-Black-10-Piece-Pack/576756987.html
..
Тут гламурная подборочка дорогих:
http://www.rapidonline.com/electronic-components/z-ser-microswitch-spring-push-button-78-2488
..Но боюсь доступен в продаже в России реально только по первой ссылке.
-
? Дмитрий - 10.03.2013 12:57
>> на плате ПЗУ будем вводить позицию для конденсатора между ногами 2 и 24 разъема ПЗУ Бейсика (для устранения возможных зависаний в Турбо-режиме)?
Если рекомендуется, то, конечно, надо. Ну и хотелось бы, чтоб ув. ММ сказал свое мнение насчет этого кондера.
-
? Дмитрий - 10.03.2013 13:00
Кстати, а что насчет СМК512? Заработала ли ПЛИС-версия так как надо и есть ли дерганья головок при обращении к страницам памяти? А то я что-то упустил из виду... По идее 128кб+512кб для БК12 очень даже неплохо.
-
? Voland@ - 10.03.2013 13:02
И еще мучит вопрос: делать ли узкий DIP внутри широкого для двух ИР13 на плате, чтобы можно было как 155ИР13 вставлять, так и 1533ИР13 (если все-таки удастся найти последних лет и они заработают) или какой-нибудь узкий импорт типа 74F198 ??
-
? MM@ - 10.03.2013 13:13
Нет, автор ответил на мой вопрос о контенте ПЗУ, это для отладки аппаратной части в ВМ2А.
Насчет аппаратных навесов регистров в БК - это ко мне. Могу так обвесить, что матери не будет видно.
*
Для получения достойного результата по выключателям/переключателям у Советского электронщика не было выбора -
1. Выключатель - ВДМ1-2 ( 2-х секционный желтый ) - в Анионе - 15 руб.
2. Переключатель - ВДМ3-х ( отдаленно похож на ВДМ1-х ). Цена немного больше.
Надежность - умеренная.
*
Насчет конденсатора на РПЛЫ ( нога 02 ПЗУ ) - чудовищная чушь, офигенный тормоз для всего МПИ. Если только не опечатка о 03 ноге -
да, в системах с ВМ1 это была проблема. В БК11 ее решили не по понятиям. Она учтена в блоке с ВМ2А.
*
О приделке переключателя кварцев для процессора - ни слова. Т.е. народ опять это будет САМ доделывать.
-
? Voland@ - 10.03.2013 13:18
СМК512 работает в полной мере кроме одного косяка: виснет иногда при чтении (наиболее заметно при контрольных чтений после форматирования). Там есть пара-тройка мест в мониторе БК, которые могут быть потенциально ловушками неприятностей на диске, скажем, ожидание адресного маркера. ПЛИС-эмулятор ВП1-128 сейчас виснет на таких местах в случае сбоев чтения.
Если предполагать, как ведет себя оригинальная ВП1-128 в такой ситуации, то может она выдает готовность просто скажем когда новый индекс пришел, а контрольная сумма потом разумеется не совпадает. В общем случае, если сумма не совпала, программа должна пойти на новый заход, пока не исчерпается какое-то число попыток. Также, может быть у ВП1-128 более слабая логика определения адресного маркера для экономии элементов микросхемы. В ПЛИС сейчас сделано определение очень жестко, как нарушение синхронизации плюс значение слова A1A1, это удобно для отладки, но может быть избыточно на практике. Есть варианты определения - просто по нарушению синхропотока, либо сравнению только одного байта с A1.
Отловить этот глюк у разработчика пока не получается, сказал что будет пытаться его поймать уже в составе всей платы БК12, потому как там средства отладки через jtag, больше возможностей отладки.
Я в свою очередь попробую поспроизвести проблему на конкретной дискете и дорожке, при стабильном воспроизведении, проблему возможно и удастся локализовать быстрее запуска всей платы БК12.
..
>> есть ли дерганья головок при обращении к страницам памяти?
Не проверял, а откуда это, так было в оригинальном СМК64? Если было, то будет и тут.
..
>> По идее 128кб+512кб для БК12 очень даже неплохо.
Не уверен что 512 кб ДОЗУ удастся сэмулировать в БК12, потому как разработчик мне чего-то уже говорил на эту тему, что там одно из двух, либо 512 с организацией как в СМК512, либо 4мб по стандарту PDP-11. Но это будет видно дальше. Но в любом случае, СМК64 точно будет эмулироваться, т.е. весь софт, требующий ДОЗУ не более 64 кб - будет работать (а требующего свыше и нету).
-
? MM@ - 10.03.2013 13:19
Кстати, очень интересны результаты испытаний 1-корпусного ДОЗУ в БК11 - если результат положительный, то у меня есть куча
рац-предложений по апгрейту ДОЗУ БК11 при скромных аппаратных затратах. ( Например, до 4Мбайт или даже побольше ).
-
? Kisser - 10.03.2013 13:36
>> Kisser, Вы имеете ввиду, использовать биты ячейки 167716 для управления новыми режимами БК12?
Нет, просто поправляю gid'a, адрес пуска СМК соответственно такой же.
>> Ну и опять же, какой использовать переключатель?
А переключатель будет на плате? им же не удобно будет пользоваться. Поставьте перемычки
http://www.tdmegalit.ru/catalog/razyemy/jumper/384/14115.php
и к ним можно будет подвести внешний переключатель, или перемычками на самой плате выбирать частоту. Дешево же и универсально.
-
? Kisser - 10.03.2013 13:50
В догонку.
Чтото я совсем запутался. А вот есть исходник
HDD_DRV_1.41.mac
и там есть такие строки
TXT: .WORD 100112
.BYTE 232,14,233,224,236,12,12,40,40,40,40,233 ;10!
.ASCIZ /КЖД & дpайвеp V1.41 (c) AльтПpo 1996/
¤
.WORD 0,0,167400 ;177716 !
¤
167400????
реально в СМК при чтении 167716 выскакивает 166400.
-
? gid@ - 10.03.2013 14:04
Значит в прошивке версии 1.41 было 167400
А в прошивке версии 2.05 стало 166400. Насчёт моей ошибки - ну поленился заглянуть в исходник и уточнить, понадеялся на память, а она подвела.
По сути адрес запуска ведь не константа, утверждённая министерством обороны, какой будет удобнее, такой и надо выставлять.
-
? Voland@ - 10.03.2013 14:12
>> 1. Выключатель - ВДМ1-2 ( 2-х секционный желтый ) - в Анионе - 15 руб.
Это вот такой http://www.chipdip.ru/product/swd1-2/ ?? Там же нужен трехконтактный двухпозиционный.
..
>> О приделке переключателя кварцев для процессора - ни слова. Т.е. народ опять это будет САМ доделывать.
Пока я не увидел массовой потребности в этом, напрягать mdesk существенно переделывать разводку ради нечеткой цели не хочется, проще сделать переключатель на трех дорожках и подобрать камень А или Г, работающий на 6 мГц. Все-таки разгон - не массовая потребность для БК, я в 90е разогнал БК10-01 до 6 мгц, поигрался немного и далее в основном работал в штатном режиме. Согласно статьям ПК-БК, турбирование на 6 мГц успешно проходит только на каждой 2-3ей машине.
-
? Voland@ - 10.03.2013 14:18
>> Например, до 4Мбайт или даже побольше
и какие варианты без нарушения обратной совместимости тут есть?
Вообще есть ли смысл наращивать основное ОЗУ БК, если уже есть стандарт Доп. ОЗУ через СМК, который можно продолжить наращивать свыше 512 кб. Там вроде бы запас в регистре СМК как раз до 4 мб.. ?
-
? MM@ - 10.03.2013 14:29
В чипдипе сфоткана китайская. Я же разговор веду о выключателях / переключателях с 3-мкм позолотой всех контактов - для безусловной надежности.
*
Я, конечно, понимаю, что нет возможности переразводить плату по каждому багу, но это вообще-то главный косяк БК - тормоза, причем
сделанные на "Э." из - за лени, если по-существу.
Камни КР1801ВМ1А гонятся до 6 МГЦ в более, чем 60 % случаев. Камни в керамике - в 10% случаев. Так как у более, чем 50% пользователей не установлен КР1801ВМ1А, то им необходима частота 5.0 или 5.5 мгц строго 50/50 скважности - в соответствии с моими
рекомендациями.
*
А как переключатель - подойдет ВДМ3-х - он тоже весь золотой.
*
Кстати, если бы я сам переразводил мать под ВМ1, то был бы смысл установить ВМ1 подложкой наверх - для удобства прикручивания теплоотвода от П-1. Но это опция - далеко не всем нужно.
-
? Kisser - 10.03.2013 14:36
>> Значит в прошивке версии 1.41 было 167400
Да, адрес получается менялся.
>> поленился заглянуть в исходник и уточнить, понадеялся на память, а она подвела
Все ОК, просто уточнил для будущего )))
>> адрес запуска ведь не константа, утверждённая министерством обороны, какой будет удобнее, такой и надо выставлять
Ну да, если он в ПЗУ прописан. А если его на м/с эмулировать - не так все просто )))
>> турбирование на 6 мГц успешно проходит только на каждой 2-3ей машине
на моей БК штатным был режим как раз 6 МГц. Уменьшалось только когда игры быстрее чем надо бегали. Работала часами без особых глюков. Проц был пластмассовый, "А".
-
? MM@ - 10.03.2013 14:37
Достоинство прикручивания сразу 4МБ и более - в дешевизне решения. Ведь если работает КАС-до-РАС, становятся доступны все старые
СИММы, в том числе 72-пин, но, правда, в 1/2 своей емкости в связи со своей 32-разрядностью. Окошко можно взять из окна крайнего
ПЗУ - для простоты. Т.е. при обращении к 4-му ПЗУ будет страница электродиска, номер которой можно приделать в регистр 177662 при
установленном каком-нибуть бите, например АД15. Размер - 16 Кбайт х 32767 страниц. Цена апгрейта - менее 1000 руб, чипов -
меньше 10 шт. копеечных. По этому я и спрашиваю о результатах испытаний одночиповой ДОЗУ.
-
? anonymous - 10.03.2013 15:07
MM, 72-ногие симмы можно не на 1/2 использовать, а полностью - хранить в двух дополнительных байтах контрольное значение, сравнивая налету при считывании, какой-нибудь шустрой СПшкой, только главное не делать техноужас по типу 555вж1, а просто при несовпадении не давать rply и в доп. регистре фиксировать адрес, который вызвал невыставление rply и считывать его в обработчике 4го вектора, определяя битую страницу, навес не слишком велик будет, зато надежность в выигрыше будет.
Voland, тащить тактовую частоту проводками на корпусную кнопку - очень плохо, переключатель на плате разумнее сделать, ну или в крайнем случае, если хочется оперативно переключать, можно поставить еще корпус мультиплексора для подачи частоты в обход делителя, правда не один: надо чтоб переключение происходило не в произвольный момент, иначе может обрезаться часть импульса до пичка и процессор с большой вероятностью подвиснет.
-
? gid@ - 10.03.2013 15:46
[Доп. ОЗУ через СМК, который можно продолжить наращивать свыше 512 кб. Там вроде бы запас в регистре СМК как раз до 4 мб]
В регистре 177130 остаются свободными 3 бита:
09: WM - признак "запись маркера"
08: GDR - признак "начало чтения"
07: ST - шаг
Подозреваю, что дёрганье этих битов будет сбивать с толку драйвер дисковода - делать ШАГ, и не отражать это в блоке переменных драйвера приведёт к ненахождению нужного сектора. Правда после этого драйвер заставляет дисковод передёрнуть головки, и всё прочитается, но сколько лишнего времени на это потребуется.
А если не вовремя выставлять признаки WM и GDR не знаю что будет, но вдруг будет портиться разметка дискеты.
Расширение до 4 Мб возможно при отказе от дисковода, и использовании его эпизодически, например в случае если винт сдох или надо переразметить новый, а загрузиться не с чего, кроме дискеты.
-
? Дмитрий - 10.03.2013 16:06
Ув. ММ, прочтите, плз, сообщение от 9 марта 00:53 - там к Вам вопрос.
..
>> Не проверял, а откуда это, так было в оригинальном СМК64? Если было, то будет и тут.
На оригинальном СМК при обращении к памяти контроллера горел индикатор (вроде бы только дисковода А) и однократно дергалась головка. При обращении в цикле переключения страниц раздавалось тарахтение блока головок. Может имеет смысл в ПЛИС-версии вынести доступ к памяти контроллера на другой адрес, к примеру, 177134. Это реально?
..
>> да, в системах с ВМ1 это была проблема. В БК11 ее решили не по понятиям. Она учтена в блоке с ВМ2А.
Растолкуйте как ее решить в реплике оригинальной БК11М от Воланда. :)
..
>> Не уверен что 512 кб ДОЗУ удастся сэмулировать в БК12, потому как разработчик мне чего-то уже говорил на эту тему, что там одно из двух, либо 512 с организацией как в СМК512, либо 4мб по стандарту PDP-11.
Говоря о 128+512 я имел в виду 128кб 11М + 512кб от СМК. Этого более чем достаточно. Мало - увеличить хоть до СМК4096. Если неприемлемо, то может сразу отказаться от памяти контроллера и делать по стандарту PDP?
..
>> у меня есть куча рац-предложений по апгрейту ДОЗУ БК11 при скромных аппаратных затратах. (Например, до 4Мбайт или даже побольше).
Отлично! Каких? Один черт менять кучу РУшек на 1 МС памяти (уже и схема есть, и тест проходит). Остался только вопрос организации такой памяти.
..
>> ? MM @ - сегодня 14:37
Отлично. А если прикрутить такой диск по упрощенному принципу дисковода? Слово управления и слово данных? Что скажете? Либо цеплять эту память по 16кб по стандарту 11М - на адреса 40000/100000?
-
? Дмитрий - 10.03.2013 16:10
Кстати, ув. ММ, а что насчет чипа 2 СОМ, 1 ЛПТ, флоп и IDE? Его реально прикрутить вместо всего вышеизложенного? Получилось бы идеально - на 1 чипе СМК(fdd+hdd)+ком+лпт. А память делать по стандарту PDP до 4мб.
-
? anonymous - 10.03.2013 16:31
Дмитрий, 「Либо цеплять эту память по 16кб по стандарту 11М - на адреса 40000/100000?」 Об этом ММ и писал.
「а что насчет чипа 2 СОМ, 1 ЛПТ, флоп и IDE」 Все бы хорошо, да ISA-контроллеры флопиков и винчестера для ДМА использует средства чипсета материнской платы, т.е. в обвесе придется DMA-контроллер и PIRQ-контроллер изготавливать. Дешевых и распостраненных ISA-контроллеров, которые имеют на себе busmaster практически не выпускалось, будет та же ситуация с ними, что и с ВП1-128, похоже...
-
? MSV - 10.03.2013 16:41
@MM 14:37 & @anonymous 15:07
Контрольное значение (ECC), наверное, не требует 2-х байт (но ветеранам видней).
Как насчёт использования части свободных бит под:
1. Разрешение/запрет изменения/доступа к ячейке памяти;
2. Разграничение прав доступа процессов к ячейкам памяти (под аппарадные/системные нужды); Или это задача не достойная ветеранов МЭП? (нагло ухмыляющийся смайл)
-
? MSV - 10.03.2013 16:45
P.S. Если, вдруг, у MM получится на ВМ3 (и пост аналогах) собрать блочок, штатно аппаратно поддерживающий управление разделением памяти для процессов, а-ля "недо-Эльбрус" - вот это будет номер!!! (без шуток!)
-
? MSV - 10.03.2013 16:52
P.P.S. Собственно, почему я заговорил на эту тему - анализ показал, что эмуляция ПЗУ (во втором-третьем приближении) оказалась бесперспективной. Единственный разумный вариант, из проанализированных, остался - разграничение доступа к линейному участку памяти. Для этого варианта прекрасно, без большого обвеса, организуется - сохранение полного дампа в энергонезависимую память, а так же её восстановление, в случае аварии питания и т.п. Доклад окончен! (смайл)
-
? Voland@ - 10.03.2013 16:54
>> 4 Мб возможно при отказе от дисковода, и использовании его эпизодически
>> до 4Мбайт или даже побольше
Главный вопрос - зачем???
Пока не вижу желающих даже 512 кб из СМК использовать. Да вообще не видать желающих чего-то реально программировать под БК даже в рамках родных 128кб.
..
>> горел индикатор (вроде бы только дисковода А) и однократно дергалась головка. При обращении в цикле переключения страниц раздавалось тарахтение блока головок.
В каких программах это можно воспроизвести? На тесте СМК от gid я такую картину не наблюдаю на ни оригинале, ни на реплике.
..
>> в ПЛИС-версии вынести доступ к памяти контроллера на другой адрес
Если по каждому такому поводу порождать новый стандарт, то к чему мы придем в итоге...
..
По поводу переключателей, наверное надо ставить 1P2T (он же SS-12D01), цена около рубля, в наличии полно. Только вот схема меня смущает, два контакта в нем все время соединены?? Или как он работает?
http://www.quartz1.com/price/PIC/150Q1003800.pdf - описание и размеры
Шаг контактов 2.5 - так что желающие смогу впаять вместо него стандартные перемычки. Надо чтобы основной контакт был посередине, и коммутировался на крайние. Подходит ли этот переключатель?
-
? MSV - 10.03.2013 16:54
@Voland, - извиняюсь за вкалачивание идеологии в чужой теме. (шаркающий ножкой смайл)
-
? Voland@ - 10.03.2013 16:57
MSV, не страшно, тут уже раз 100 всё перемешалось ))
-
? anonymous - 10.03.2013 17:12
MSV, хорошая идея, я - за, но из чего формировать код доступа, чтоб без обращений в сторонние регистры? Ядро системы должно при свитчконтексте писать туда? А много на БК добрых программистов, которые будут многотредовые программы в многопрограммых и многопользовательских режимах делать?
-
? MSV - 10.03.2013 17:42
@anonymous, - это уже частные задачи, имеющие множество возможных решений.
По поступательной - воплощённые аппаратные идеи/возможности не должны ограничивать системщика, а он, в свою очередь, учтёт/ограничит потребности программиста, желающего удовлетворить конечного пользователя, в его желании эмулировать на новой железке ту же БК11М. (ещё один смайл в крышку гроба БК12)
Речь об опытной разработке, а не серийной. (Пожалуй, перенесём обсуждение в оффлайн, дабы не загромождать тему)
-
? Voland@ - 10.03.2013 19:38
Итак, попросил Mdesk сделать узкий DIP внутри широких ИР13, даже если 1533 не заработают, будет возможность поставить импорт, попробую заказать по паре штук 74ALS198, 74LS198, 74F198 - пока на пробу.
Также попросил сделать переключатель турбо-режима 1P2T (он же SS-12D01). Остальное идеи пока на будущее.
Желающие записаться на пробную партию плат по себестоимости - отписывайтесь, есть несколько дней до передачи в производство. Цена как в прошлый раз будет около 1300р. Маска будет у всех одного цвета - синего. В производство лично я буду отдавать только вариант dram soj-40 с диодами.
-
? gid@ - 10.03.2013 20:24
>>? Voland @ - сегодня 16:54
[Главный вопрос - зачем???
Пока не вижу желающих даже 512 кб из СМК использовать.]
Да низачем. Я попробовал использовать доп.ОЗУ СМК - показалось крайне неудобно.
Вот лично для меня самый удобный вариант - расширить ОЗУ самой БК, увеличить количество страниц с 8 до 256 (с введением нового регистра для подключения страниц в окна.).
А доп.ОЗУ СМК полезно лишь одним - заменой ПЗУ по адресам 140000-177777 на ОЗУ.
-
? Voland@ - 10.03.2013 21:03
Где гарантия, что этот новый регистр не похерит работу каких-то старых программ? Если такой гарантии нет, то нужен доброволец, который весь софт БК, ну или хотя бы его 80%, прогонит на новой архитектуре. да и то наверное так все глюки не выловить.
Опять же, при всех прочих удачных обстоятельствах, откуда вдруг возьмутся желающие срочно написать десяток игр/дем или другого софта под новый объем основного ОЗУ.
Не то чтобы я сопротивляюсь, просто не будет ли это бесполезным усилием.
Если все-таки есть такой априори гарантированный регистр, то нет проблем, давайте попросим CD-Inc дорисовать схему для увеличенной драм.
-
? MM@ - 10.03.2013 23:11
К сообщению Дмитрия :
Вы знаете, что я подумал-подумал и принял решение пистать в этот форум только о рабочем коммерческом железе или о очень важных
вещах для БКшечников. А планы могу строить ежедневно - можно целую лабораторию сборщиков под эти планы запрячь, но это
никому не нужно. А просто высказывать здесь рацпредложения - не всем это нравится.
Блок с ВМ3 - сейчас софт на нем тестирую самоделкиных. По окончанию тестов - напишу статистику.
РТ-11 идет с штатным драйвером электродиска. Эмули в РТ-11 запускаются и работают. Архитектуру и руководство системного программера
выложу по ссылке. Продавать будет или ув. тов. Kisser, или ув. тов. Voland в составе матери, или никто - если развести не удасться.
*
Насчет обнаружения сбойной ДОЗУ - в классических СИММах это довольно редкое явление, в отличие от 1201.03-04. А поскольку на матери
будет крайняя нехватка места - наврядли кто эти заинтересуется.
*
Насчет встроенного в мать электродиска на СИММе с КАС-регенерацией - 324 и 325 его будут штатно обслуживать, т.к. он в области ПЗУ находится. А про ключевой бит в 177660 - "100000" бит - никто пока не знает из старого софта. Так что не вижу препятствий.
Опять же все упирается в испытания регенерации "КАС-до-РАС" на макете с прогревом ДОЗУ. Кстати, СИММ 32 МБ потребляет 0.5 а.
-
? Дмитрий - 11.03.2013 00:42
>> расширить ОЗУ самой БК, увеличить количество страниц с 8 до 256 (с введением нового регистра для подключения страниц в окна.)
Вот я так-то тоже за этот вариант, но нужна совместимость со старым софтом. Есть предложение использовать существующий регистр 11М, по 8 страниц на банк. По умолчанию банк "0" - основные 128кб (под регистр банка вывести свой регистр). Это реально реализовать? Или что-то в этом духе?
-
? Voland@ - 11.03.2013 00:44
>> существующий регистр 11М
Так в существующем регистре 3 бита для переключения 8-ми страниц основной памяти, остальные заняты под другие нужды. Если я не прав, поправите...
-
? Дмитрий - 11.03.2013 00:51
Поправляю. Ввести новый адрес регистра банков. Допустим, 177132 (взять любой из не конфликтующий ни с ВМ2, ни с чем-либо другим). Значит, после включения БК адрес 177132 содержит 0. И весь старый софт работает с доп. памятью как и работал. Допустим, программист выбирает программно банк "1". Это 8 страниц по 16кб, которые идут сразу за основными 128кб. Банк "2" - следов за первым банком. И так далее. То есть старый софт будет "видеть" свои стандартные 128кб. Новый - уже всю память, все 256 банков. А подключаться память будет стандартно к 40000 или 100000.
-
? Дмитрий - 11.03.2013 01:04
Но тут, щас тока подумал, все-таки есть сложности. Старый софт не учитывает номер банка, выбранного новым софтом. В итоге запущенная старая программа может затереть инфу новой. Поэтому что уже совсем не было проблем с совместимостью ввести этот адрес независимо от 128кб памяти БК. Как доп. электронный диск. Младший байт регистра отвечает за подключаемую страницу к 40000, старший - к 100000. Всего 256 страниц по 16кб. Итого как раз 4Мбайт.
-
? MM@ - 11.03.2013 01:47
Попрошу уважаемых БКшечников не трогать аппаратуру за пределами матери для организации регистров на матери - типа 177130 и т.д.
Предлагаю повесить на доп. регистр 177666 - тогда понадобятся 5 ИС - 1533ЛЕ4 - 2 шт. , 1533ЛА1 - 1 шт, 1533ЛН1 - 1 шт. 1533ТМ2 - 1 шт, ну и сам регистр - рекомендую 2 шт. 1533ИР23. "КР" - добавить по вкусу. Можно все - 555 или импорт с шагом 1.27.
16 бит дадут при 16-кбайт окне ( вместо 4-й страницы ПЗУ ) - много памяти ( считать лень ). Так же предлагаю старшие 4 бита
зарезервировать под расширение БК - например, коммутацию аппаратуры и т.п. фичи.
Таким образом, остается полная совместимость с 324,325 и 201, 202 ИС КР1801РЕ2. Для RT-11 можно драйвер приделать электродиска.
Можно и в многострадальную 326-ю. Электродиск будет доступен для всех камней во всех режимах. Софт самоделкиных, как правило, не
заглядывает в страницы ПЗУ БК11 ( М ). Для писателей софта - не забывать о таблице контрольных сумм блоков электродиска -
ДОЗУ значительно уступает по надежности СОЗУ.
*
( Не совсем представляю, для чего можно использовать более 4 метров электродиск - для сборки RT-11 из исходников и 4 м хватает.)
-
? Дмитрий - 11.03.2013 09:47
Отлично. Каким образом будет происходить подключение? Подключаем 4-ю страницу ПЗУ к адресу 40000 или 100000 и через 177666 подключаем к ней страницы ДОЗУ?
-
? MM@ - 11.03.2013 11:21
Уважаемый Дмитрий, Вы угадали !
К сожалению, страницу ПЗУ в БК11 невозможно подключить по 40000, только по 100000 - если без переделки ПЗУ.
Более того, 8 бит - мало для адресации 16 мегабайт, а ведь бывают еще и варианты с 32 мегабайтами - 1/2 СИММ 64 мб.
5 ИС на регистр только по записи - что бы не нарушать общую картину адресного пространства БК11. Так же на выходы ИР23 установить
НР1-4-9М 3.3 ком на +5в, и 2-ю секцию ТМ2 - триггером от DCLO и селекцией 177666 - при нажатии кнопки "ресет" на выходах ИР23 будет
высокий уровень - т.е. обслуживается 0 страница электродиска. Там можно, например, разместить загрузчик ОС с электродиска.
-
? Дмитрий - 11.03.2013 11:29
Если будет 11М с практически интегрированным СМК64 (в свете вышесказанной идеологии подключения многомегабайтных "памятей" 64кб на нем хватит для единично написанного софта) СРАЗУ выкинуть ПЗУ Бейсика 11М (оставив монитор - он, емнип, 1 и 2 страницы ПЗУ) и сделать изменения для 3 и 4-й страницы (3-я к 40000, 4-я к 100000)? Это возможно без лавинного увеличения числа МС?
-
? MM@ - 11.03.2013 11:56
Ввиду очень скромного быстродействия ДОЗУ в БК11 нецелесообразно здорово расширять его функционал. К тому же установка
селектора страниц по 40000 потребует еще 1 регистра на МПИ - а это +4 ИС . Более того, со стороны контроллера ДОЗУ потребуется еще около 5 шт. ИС. Как писатель машкода, не вижу особой необходимости в селекторе страниц по 40000. Волее того, скажу, что ДОЗУ
БК11 для серьезных задач неприемлимо по параметру быстродействия - при камне, исполняющем любую команду за 0 периодов времени,
максимальное быстродействие ДОЗУ БК11 + суперкамень - 500.000 тыс. рег - рег.
В режиме с ВМ3 ( особенно 1836 ) и оптимизированным софтом БК11 используется только для записи в видеостраницы. Полное использование возможностей текущей версии БК11 потребует навеса не менее 30 ИС - для многократного повышения быстродействия ДОЗУ.
Скажу более, что для организации быстродействия более 3 лимона рег-рег необходима ПЛИС, хотя бы как северный мост. Она уже
находится на стадии проектирования и имеется в виде блок - схем, некотрые блоки - виде привязки к 531 ИС. К - во рабочих вентилей -
ок. 10000, в матрице - 1м. вентилей. Ожидаемое окончание проектирования - к 2014 г. в лучшем случае, т.к. проект некоммерческий,
а его сложность - большая. ( Совершенно не представляю, как можно на ПЛИС сделать правильный камень - там работы на годы
человеко - часов, включая отладку.)
*
Кстати, "Интел коре-дуля" проектировался в Израиле 5 лет группой из ок. 10 Гуру камней .
-
? Voland@ - 11.03.2013 12:14
Слабо представляю себе, как можно разместить еще минимум 5 ИС на плате БК, где уже будет стоить AY. Либо выкинуть AY, но получается мы выкидываем в "сопли" или внешние блоки то решение, под которое написано много софта, ради решения, под которое практически ничего нет.
-
? MM@ - 11.03.2013 12:43
Поскольку ДОЗУ неотделимо от матери, крайний вариант - расположить звук вместо платки Бейсика. Недостающие линии - проводочками.
Или решится перековырять всю мать под 1.27. Кстати, для перреспективы надо принять меры по снижению емкости и индуктивности МПИ -
посредством буферизации на 74F245 - просматриваются 4 таких чипа и, соответственно, 4 шт. НР1-4-9М 2.2 ком.
В самом крайнем случае можно исключить реле, 3 диода к нему, ИС 155ЛА18. Обвязку к СА3 поставить в стоячее положение. ПЗУ - друг
на друга, с отводом от 23 ноги КР1801РЕ2Б-325 ( DS18 ).
Правда, не совсем представляю, как можно СИММ 72-пин поставить при закрытой клаве.
*
Самым разумным решением будет поставить СИММ без какого - либо селектора доп. памяти и звук. Энтузиасты сами приварют навес для
электродиска, за одно и поэкспериментируют.
-
? Дмитрий - 11.03.2013 12:56
Звук отлично расположится в разъеме параллельно основной плате. У меня в 11М платка AY висела над разъемом УП и ничему не мешала (она, кстати, и подключалась к МС как раз в том месте, поэтому и было принято решение повесить ее именно туда).
..
Как вариант, плату AY сделать на коротеньких стойках и коротким шлейфом воткнуть в рядом расположенный разъем, ибо вместо кучи РУшек будет ДОЗУ на ДРАМ или статике (смотря на чем гуру сделают). Не надо теснить все на одну плату. СМК в ретро-варианте все равно будет внешним.
-
? Дмитрий - 11.03.2013 13:03
>> Энтузиасты сами приварют навес для электродиска, за одно и поэкспериментируют.
Это не мой вариант. В конструировании схем не волоку совершенно. Прочитать схему могу, развести еще куда ни шло, а конструирование - увольте...
..
>> крайний вариант - расположить звук вместо платки Бейсика.
Верно. Там как раз места хватит на 8912 (8910 длинее). Один черт выкидывать ненужный в 11М бейсик.
..
>> как можно СИММ 72-пин поставить при закрытой клаве.
Да лесом этот СИММ! Микросхем памяти же навалом. Да и не нужно там 16/32 мбайт. Даже 1 мбайт ДОЗУ будет за глаза.
-
? MM@ - 11.03.2013 13:20
СИММ можно за бутылку сторговать, а ИС ДОЗУ типа ЕДО или ФПМ денег стоят, разница в полпорядка выходит. И геометрически СИММ
в разы лучше батареи ИС ДОЗУ, особенно в горизонтальном плане.
Приличные ИС ДОЗУ от 2 Мбайт начинаются 16 бит. Их, кстати, я обычно с СИММов выпаиваю.
-
? Дмитрий - 11.03.2013 13:41
А нафига, простите, там батарея? Обычное ДОЗУ, без всяких там батарей, контролей четности и прочей лабуды.
-
? MM@ - 11.03.2013 13:57
Здесь следует пониматеь "батарея" - не химическая, а логическая - т.е. "отряд ИС ДОЗУ". Контроль четности - для особо сомневающихся проводочками. По-видимому, электродиск в ближайшей версии ДПП не поместится - там слишком много ИС. (ок. 10 или даже 11 мелких.)
-
? Voland@ - 30.03.2013 23:28
Кто-то может пояснить подробно, как работает Reset + Буква в CMK, для загрузки с нужного привода?
И что конкретно при этом не дает стартануть БК, пока буква не отпущена?
Что-то толчемся с СМК512 на месте, оказывается так и не понял разработчик, как оно должно работать. Сейчас при рестарте - рестарт работает, но при зажатии кнопки ресет срабатывает так, как будто кнопка не зажата.
-
? Аноним - 31.03.2013 03:13
>но при зажатии кнопки ресет срабатывает так, как будто кнопка не зажата.
Это как? Ресет не работает? Или как?
-
? SKcorp. - 31.03.2013 11:22
Есть короткий и длинный ресет. Вот длинный и не срабатывает.
-
? Voland@ - 31.03.2013 11:50
>> Это как? Ресет не работает? Или как?
Сам ресет в привычном смысле - работает. Не работает загрузка с нужной буквы винчестера - если нажать ресет, зажать букву и отпустить ресет. В одной из версий прошивки ПЛИС он работал как надо, но там не хотела работать CSI-DOS, теперь CSI-DOS работает, а загрузку с зажатой буквы поломали..
..
>> Есть короткий и длинный ресет. Вот длинный и не срабатывает.
Как он на схемотехническом/программном уровне должен отработать?
-
? gid@ - 31.03.2013 12:41
>>? SKcorp. - сегодня 11:22
[Есть короткий и длинный ресет. Вот длинный и не срабатывает.]
В СМК нет длинного, только короткий. по каким-то, видимо идеологическим, связанным с загрузкой с винта, причинам решили отказаться от длинного ресета.
Но если очень хочется, то его можно вернуть, припаяв конденсатор 100мкф ногой + к ноге 1 U1004 и второй ногой к земле. По аналогии со схемой A16M. Правда он скорее всего будет только мешать.
¤
>>? Voland @ - 30 марта 23:28
[Кто-то может пояснить подробно, как работает Reset + Буква в CMK, для загрузки с нужного привода?]
Итак, рассмотрим алгоритм работы ресета.
1. Зажимаем кнопку. При этом на линии RESA1 получается низкий уровень. Попутно обнуляется U1004, тем самым выставляя стартовый режим 160. Кстати, диод D1 нужен как раз для того, чтобы команда RESET (опкод 5) не обнуляла U1004, не вовремя ломая всю работу.
2. Отпускаем кнопку. На линии RESA1 0->1, это запускает цикл ACLO/DCLO инициализации процессора. Далее подробности отлично знает ММ, но он отправит читать ТО, которого ни у кого нет. Вкратце: проц читает адрес старта из 177716, а там у нас уже режимом 160 задан свой адрес запуска.
Далее начинается программная часть, смотрим исходник прошивки СМК64
3. Сперва небольшая задержка, чтобы при 6МГц медленное железо ВП1-14 успело доинициализироваться и смогло выдать код нажатой клавиши, строки:
START: CLR R5
...
SOB R2,L4 ;чтоб прописать как след.
4. Потом проверка БК10-БК11 и установка стандартного для определённой БК режима, строки:
MOV #P10,(R4)+
...
MOV R2,(R3)
5. Потом проверяем нажата ли клавиша, и если да, получаем её скан-код, и ждём, пока клавишу отпустят, строки:
02$: MOVB @#177662,R5 ;< 200 !
01$: BIT #100,(R0) ;пусть отпустят клавишу
BEQ 02$
6. Затем, в зависимости от кода нажатой клавиши выполняются всякие разные действия. Это почти все остальные строки кода.
Таким образом, для загрузки с нужного привода, нужно чтобы нормально срабатывала установка стандартного режима работы СМК, чтобы по адресам 170000-177000 было ОЗУ, иначе загрузка не получится. Ну и клавишу с буквой надо нажимать перед кнопкой ресет.
-
? gid@ - 31.03.2013 13:20
Уточнение: Ну и клавишу с буквой надо нажимать перед _отпусканием_ кнопки ресет.
-
? Voland@ - 31.03.2013 16:25
Смотрю, как ведет себя ресет БК10 + СМК512: происходит рестарт оболочки ОС, т.е. видимо рестарт с адреса 100000.
При этом ресет БК10 + СМК64(ориг) выполняет обычный рестарт машины, как при включении питания.
Еще один баг в СМК512... ?
-
? SKcorp. - 31.03.2013 16:46
120000
-
? gid@ - 31.03.2013 17:01
Да, баг - при RESA1 перестал обнуляться U1004, не выставляется режим 160, поэтому происходит обычный перезапуск. как будто и нет никакого СМК512
-
? gid@ - 31.03.2013 17:05
Т.е. СМК512 никуда не делся, режим 60 остался, бейсик не подключен, вместо него по адресу 120000 оболочка ОС, поэтому она вместо бейсика и запускается.
-
? MM@ - 31.03.2013 17:08
В упор не пойму, зайчем в СМК сделан фокус с програмным переключением адресов пуска - лох, который не прет в предмете
разговора, никогда не купит такое, а фанатам нужна свобода эксперимента ( програмного и аппаратного ) - вот где ВНЕШНИЙ набор
переключателей типа ВДМ1-8 с адресом начального пуска очень даже кстати.
*
(В блоке с ВМ3А эта проблема решена аппаратно - будет назначена ячейка СОЗУ, в которою пользователь будет записывать нужное ему
значение адреса пуска, по умолчанию - 140000 ( 100000 - для БК0010 с косметическими доработками ЭВМ ).).
-
? Voland@ - 31.03.2013 17:19
Всё, поправили, теперь и на БК10 и на БК11М ресет работает корректно. gid, выслал Вам обновленную прошивку, пробуйте.
-
? gid@ - 31.03.2013 18:03
>>? MM @ - сегодня 17:08
[зайчем в СМК сделан фокус с програмным переключением адресов пуска]
Отнюдь. Фокус таки аппаратный. Он требует 0 (нуль) доп корпусов ИС и аппаратных затрат, по сравнению с набором переключателей и аппаратной доработкой БК, чтобы завести на разъём МПИ сигнал (не DIN & не SEL1), чтобы переключателями в СМК задавать желаемый адрес, либо как либо иначе отлавливать ситуацию чтения стартового адреса.
А если вставлять переключатели в саму БКшку, то логика использования выглядит как-то извращённо: воткнул СМК в МПИ, полез менять адрес на переключателях, выдернул СМК из МПИ - опять полез менять адрес на переключателях.>>? Voland @ - сегодня 17:19
Обновить-то обновлю, но опробовать и проверить не получится в ближайшее время, и даже не знаю когда такая возможность появится.
-
? tim - 02.04.2013 20:33
Voland, а что подправили? какие различия от стандартного СМК ? Прошивка драйвера или РТ5 ?
-
? Voland@ - 02.04.2013 20:42
Отличий никаких, поправили Reset, он не работал как надо, теперь все работает, логика идентична оригинальному, остался один баг - зависания на контрольных чтениях, лучше всего заметно на контрольном чтении после полного форматирования дискеты, зависания примерно на 4 прохода дискеты из 10ти. Этот баг принудительно воспроизвести не получается, зависания каждый раз в разных местах дискеты, лог. анализатор не может съесть столько данных, поэтому ждем запуска основной платы БК12, чтобы уже на ней моделировать проблему и отлавливать через jtag и другие отладочные средства.
-
? foot - 04.04.2013 12:02
>>? Voland @ - 2 апреля 20:42>>
А нет ли возможности сбрасывать данные лог.анализатора в циклически перезаписываемый буфер и останавливать по факту сбоя?
Даже секунд 20 уже даст путь к решению.
-
? Voland@ - 04.04.2013 21:06
20 секунд - это 80 млн отсчетов. Неясно, как копаться в таком дампе.
-
? MM@ - 04.04.2013 23:28
Если алгоритм ПЛИС содержится в текстовом файле - проверьте, нет ли там опечаток - они могли возникнуть как сбой ЭВМ от частого
ввода - вывода файла на диск. Т.к. сбой обмена МПИ - это или ПЛИС гнилая, или опечатка. Ну или ленивый программер - контрольные
точки в отладочном ("326-ПЗУ") не предусмотрел.
*
Припоминаю, что до 10% ВП1-128 висели при начале форматирования - я их просто заменял, и все работало - но это не имеет к теме
прямого отношения.
-
? Voland@ - 05.04.2013 00:46
Из 30-ти протестированных мною ВП1-128 не висла ни одна. Только одна с дохлым дисководом оказалась, но там он вообще не читал и не писал.
-
? Дмитрий - 05.04.2013 10:44
Кстати, а МС флоп-контроллера Fujitsu MB8877A для БК не подойдет как замена ВП-128? В УКНЦ(??) вроде применялась.
..
http://pdf1.alldatasheet.com/datasheet-pdf/view/9310/NSC/PC87306.html - а это ваще какой-то мульти-мностр!
-
? MM@ - 05.04.2013 11:55
Для нормальной работы мультикарт от ИБМ нужен довольно развесистый переходник на МПИ. И , конечно, большая работа по написанию дров.
Не уверен, что такая конфигурация приемлема для БК - затраты довольно большие ( ок. 100-200 руб. на разработку дров ), а спрос - от силы 10-20 контроллеров МПИ - ИСА с мультикартой, ВГА и Етхернетом, да и Креативом СБ32-СБ64.
-
? MSV - 05.04.2013 13:18
МС флоп-контроллера Fujitsu MB8877A (http://www.tim-mann.org/max80/Appendix_D_Updated.pdf)
-
? gid@ - 06.04.2013 18:46
Я тут попробовал позапускать тесты Patrona в доп.ОЗУ СМК. Результаты получились довольно интересные, но тут проявился такой косяк - если достаточно долго работать в ОЗУ СМК, БК зависает. Тест для двухоперандных команд до конца так и не прошёл, контроллер завис, причём БК не завис, а как будто остановился и перестал выполнять команды, нажимаешь на СТОП, и только тогда зависает, пока непонятно из-за чего.
Пришлось пробовать на А16М, но там память помедленнее, HM6264LP-15 (150нс) поэтому результаты не такие интересные, время выполнения NOP - 9 тактов на 4МГц, на СМК с его памятью CY7C1041D (10нс) время выполнения NOP - 8 тактов 4МГц (тут скорее всего память уже не влияет, всё упирается в скорость шины и самого проца.)
По видимому надо будет добавить новый тест памяти альтпро, чтобы он подольше и поактивнее работал с памятью, минут по 20-30 с каждой страницей.
¤
Voland, такая просьба, с этого образа http://gray-gid.narod2.ru/f/WRKANDOS2.rar погоняйте на своём экземпляре СМК512 тесты VM12MA+, VM12MI+, VM1C+. Просто чтобы узнать, дойдут ли они до конца, или нет, это проблема конкретно моего экземпляра или общая.
У меня VM12MA+ остановился в начале таймингов SUB, я пока результаты с экрана на бумажку записывал, там времени прошло больше, чем если просто тест до конца прогнать, после перезагрузки запустил тест заново, и он уже остановился в самом начале, на таймингах MOV.
-
? Voland@ - 07.04.2013 22:13
Попробую потестировать на днях, как удастся выкроить время. Там я забыл сказать про перемычку - с оставшейся свободной третьей перемычки (имеются ввиду три ноги плис, выведенные на перемычки) надо кинуть провод на ресет (А1). Попробуйте в таком виде протестировать.
..
Вопрос от разработчика, просьба ответить, если кто знает: "зачем в коде ПЗУ СМК используются команды вида MOV (PC), R0 ? Причем результат подобной абсурдной команды используется самым веселым образом, например как начальное значение счетчика цикла.
-
? Patron - 07.04.2013 23:26
Команда MOV (PC), R0 полностью разрушает работу процессора 1801ВМ2 вплоть до первой команды, нарушающей предвыборку.
...
Для примера - код, способный отличить ВМ2 от любого другого процессора:
;
; VM2BUG.MAC - 1801VM2 CPU MegaBUG Test
;
.MCall .Print, .Exit
START:
Mov (PC), R0
Inc R0
Jmp @#NotVM2
.Word VM2
NotVM2:
.Print #No
.Exit
VM2:
.Print #Yes
.Exit
No: .ASCIZ /Not 1801VM2/
Yes: .ASCIZ /1801VM2 !!!/
;
.End START
;
-
? Voland@ - 08.04.2013 00:33
>> погоняйте на своём экземпляре СМК512 тесты VM12MA+, VM12MI+, VM1C+
По одному разу достаточно? Все три прошли успешно. Попробуйте с новой перемычкой, вдруг это как-то связано...
-
? MM@ - 08.04.2013 00:54
С подсказки ув. Patron выяснилось, что простецкий блок с ВМ2А не пускается с СМК64 из-за расставленных кодов типа 011700 по
всем ключевым точкам - 160000, 166400. При пуске он уходит в двойное зависание. Хотя я в блок с ВМ2А засунул скрытие ( ПЗУ ) при работе с шиной МПИ. Решение - установка натурального СОЗУ типа КР537РУ10 ( или близкого аналога ) с батарейкой по адресу ( скрытому ) 177400 или любому другому из зоны БС7 - и поставить туда ловушку этого бага по ТРАПу. Пользователь будет при первом включении руками прописывать туда программу длиной ок. 200. В дальнейшей работе эта программа сохранится до смены батарейки.
Для маниакальных ненависников батареек можно установить вместо СОЗУ ИС ППЗУ с прошивкой ( 556РТ7, или даже 155РЕ3 - но это крайний
минимум ).
Т.к. нынешний владелец блока уехал в теплые края, вопрос немного повис.
-
? gid@ - 08.04.2013 08:08
>>? Voland @ - 7 апреля 22:13
["зачем в коде ПЗУ СМК используются команды вида MOV (PC), R0 ?]
Очевидно же, что для создания задержки, точное время которой не важно. И команда совершенно не абсурдна, а абсолютно логична с точки зрения функционирования ВМ1, а делают так чтобы сэкономить одно слово, вместо MOV #delay, R0 И это ещё не самый извращённый вариант экономии памяти.
>>? Patron - 7 апреля 23:26
[Команда MOV (PC), R0 полностью разрушает работу процессора 1801ВМ2]
Это так изначально было задумано или ошибка проектирования? каким это образом чтение обычного содержимого памяти, адресом которого выступает PC, а не какой-либо другой РОН нарушает работу проца? Так ведь можно допроектироваться до того, что MOV (SP),R0 так же может ломать работу проца.
А аналогичный код, только более длинный
MOV PC,R0
ADD #6,R0
MOV (R0),R0
случаем не разрушает работу процессора 1801ВМ2?
А ВМ3 тоже подвержен этой болезни?
-
? Patron - 08.04.2013 12:23
Это ошибка микрокода. Ошибка есть только у 1801ВМ2 и только при ЧТЕНИИ с методом адресации 17 - по идее замена MOV (PC),R0 на TST (PC) не должна влиять на работу приведённого фрагмента.
-
? Дмитрий - 08.04.2013 12:47
Код MOV 0(PC),R0 не исправит проблему, если пропустить экономию?
-
? Patron - 08.04.2013 13:21
Если не экономить - можно и просто MOV #10000,R0 писать.
-
? Дмитрий - 08.04.2013 13:39
Вернее MOV #11700,R0, ибо (уже запамятовал) PC в момент выполнения команды содержит адрес самой команды?
-
? Дмитрий - 08.04.2013 13:50
Кстати, емнип такой код использовался в драйвере винта СМК для подсчета КС таблицы разделов. Там начальное значение счетчика было как раз кодом первой команды.
-
? MM@ - 08.04.2013 13:52
Я не поленился в ДЕСС посмотреть, как там дела в СМК64 - специально отсечку ВМ2 поставили, что бы ДВКшники и УКНЦшники не юзали.
Кстати, МПИ-ПЛИС контроллер ИДЕ под ДВК ( РТ-11 ) есть в продаже за ( примерно ) 10 рублей - ссылка была полгода назад на форуме.
*
В ВМ3А нет такого бага, но там своего кала достаточно, и число 011700 может показаться просто сбоем ПЗУ на его фоне ( программный
смайл ).
-
? Voland@ - 23.04.2013 14:57
Проконсультируйте кто-нибудь, как компьютер при запуске отличает БК-0010 от БК-0011М А отличать надо, потому что там в одном из мест как миниму вызываются разные подпрограммы монитора по разным абсолютным адресам, там еще в коде есть такая странная последовательность
MOV #60,R1 ;для 10
MOV #42400,@#177662 ;белая палитра
MOV #100140,R1 ;признак и код раб.реж.11M
получается, что сначала в регистр R1 пишется значение режима страниц СМК для БК-0010 (Std10), а через одну команду это значение перекрывается другим - для БК-0011 (Std11). Причем никаких переходов извне нет, это последовательный код.
-
? gid@ - 23.04.2013 15:09
На БК 10 нельзя писать в регистр 177662, там он доступен только по чтению, поэтому
при выполнении на БК10 команды
MOV #42400,@#177662 ;белая палитра
срабатывает прерывание по вектору 4 и в R1 остаётся число 60, а для БК11 запись в регистр 177662 возможна, поэтому всё срабатывает штатно и в R1 записывается число 100140.
Далее уже в зависимости от значения в R1 вызываются разные подпрограммы инициализации параметров монитора.
-
? Voland@ - 23.04.2013 15:52
Спасибо, gid!
-
? Voland@ - 30.05.2013 12:14
У кого-то есть данные о формате винчестера БК для СМК-контроллера? Или ссылкой ткните, если инфа распространенная...
-
? Аноним - 30.05.2013 13:31
Еле нашёл. Однажды Terra давал ссылку на архив http://t-h-s.ru/bk/bkhdd.zip со своими исходниками и описаниями, там есть описание формата. Ещё описания были в официальной инфе Новака, это набор файлов ALTBIOS*.EDP, HDD_DOC*.EDP, которые в одну кучу с прочими данными собрал CD-Inc и давал в виде образа AltPRO_ReLoad.IMG, ссылка где-то в недрах этой ветки. Но в этих файлах инфа не очень наглядно описана.
-
? Дмитрий - 30.05.2013 23:11
Ув. Аноним забыл указать про подсчет CRC таблицы разделов. CRC считается как сумма всех слов таблицы разделов, включая заголовок. Начальное значение счетчика 12701(8). CRC записывается в свободную ячейку сразу после таблицы разделов.
-
? Voland@ - 01.06.2013 19:28
Еще нужна информация по форматам дисков MKDOS, ANDOS, CSIDOS.
gid, наверное только у Вас есть наиболее подробная, поделитесь?
-
? gid@ - 01.06.2013 22:16
Информация по форматам была в исходниках BKDE, в конце каждого *.h файла, отвечающего за конкретный формат. В виде отдельного текстового файла я не хранил.
Мой сайт на народе был убит кривыми скриптами укоза при переезде на их платформу.
Внезапно сегодня оказалось, что сайт Макса Багаева pdp-11.ru, где было зеркало моего сайти, почему-то недоступен.
Поэтому исходники можно взять тут https://code.google.com/p/bknew/ там немного старая версия, но инфа по форматам давно не менялась, зато исходники можно посмотреть прямо в браузере,
или тут - http://files.mail.ru/29A0DECE6ADC48A8A153705CF28C2BAC последняя актуальная версия,
-
? Voland@ - 01.06.2013 23:32
Если хотите, могу на http://www.forum.pk-fpga.ru выдать Вам ветку под правами администратора, для размещения любых ваших тем, с вложениями.
-
? gid@ - 02.06.2013 00:12
Пока не надо, у меня перерыв до осени со всем, что связано с БК.
-
? Voland@ - 12.06.2013 23:25
gid, подскажите пожалуйста, по каким параметрам находится таблица разделов hdd (номера дорожки, головки, сектора)? Сейчас СМК512 в составе платы БК12 пытается считать таблицу разделов с дорожки 0, головки 8, сектора 8 (а по идее должна быть начальная головка, 8-й сектор), в итоге похоже читается какой-то не тот сектор и загрузка заканчивается неудачей.
Похоже номер стороны и дорожки прячется в одну ячейку памяти для подпрограммы считывания сектора CF, но по коду программы там глухой 0 вроде прописывается.
-
? Voland@ - 13.06.2013 01:12
По ходу дела обнаружилось место, где появляется цифра 8 в номере головки, там встречается странная команда
BISB @#HD$DRV, R0 ,
которая делает из 0 как раз 8. Непонятно только, в чем замысел авторов.
HD$DRV - это как бы код привода, а откуда туда число 8 попадает, неясно; и какой код там для какого привода должен быть, тоже интересно. А то ведь получается, что для разных кодов привода, таблица разделов в разных головках будет, что ли. Странно.
-
? gid@ - 13.06.2013 10:24
Есть такая п/п PARTRD. Она вызывается постоянно при любом обращении к HDD, это и есть чтение таблицы разделов.
В самом начале этой п/п есть команда MOV #8.,R4 - это и есть та самая 8, которая номер сектора.
Потом задаются параметры для чтения
MOVB R4,SECTOR(R3) - какой сектор читать
MOV #HD$SPD,ADDR(R3) - с какого адреса размещать
MOV #400,WCNT(R3) - сколько слов читать
CLR SIDE(R3) - читать с дор.=0, гол.=0
CALL RWSEC - и собственно чтение сектора с таблицей разделов
затем идёт хитрое чтение геометрии диска по команде IDENTIFY DEVICE (ECh), заполняются слова HD$TRK (HD$DRV), HD$HEA, HD$SEC и обнуляются байты HD$UNI, HD$LOG. Потом всякое неинтересное.
Я тщательно не разбирался, что да как, в общем-то байты HD$UNI, HD$LOG потом где-то как-то заполняются нужными значениями, а загрузку с нужного лог. диска, или с лог. диска по умолчанию делает уже код из MBR. который загружается в строках 956-773.цифра 8 в HD$DRV появляется либо в случае использования своего драйвера работы с винтом, либо в случае современного винта, когда он по команде IDENTIFY DEVICE (ECh) выдаёт количество дорожек на одной стороне больше 512. (т.е. число не влезающее в байт).
Данная прошивка просто изобилует случаями, когда некие данные считаются по умолчанию влезающими в байт, и если это не так (а для современных винтов много где не так), то прошивка начинает работать самым неожиданным образом.
-
? gid@ - 13.06.2013 10:26
опечатка: который загружается в строках 956-973.
-
? gid@ - 13.06.2013 13:44
Я ошибся, оказывается код в MBR ничего не делает, только резидентов по памяти раскидывает, если они есть. В самом простом случае MBR вообще не нужен. А работу с лог дисками делает п/п начинающаяся с метки L11
-
? gid@ - 13.06.2013 14:18
Ещё нашёл свою ошибку: цифра 8 в HD$DRV появляется либо в случае использования своего драйвера работы с винтом, либо в случае современного винта, когда он по команде IDENTIFY DEVICE (ECh) выдаёт количество ГОЛОВОК больше 256. (т.е. число не влезающее в байт).
Там HD$HEA - мл.байт, HD$DRV - ст.байт. Хотя по стандарту там и так не может быть больше 256.
В общем я сейчас всё больше и больше сам запутываюсь.
-
? Voland@ - 13.06.2013 20:05
Благодарю! Ту проблему разрулили, решаем следующую...
-
? Voland@ - 13.06.2013 21:16
Новый вопрос от разработчика:
А где там в прошивке чтение конкретного логического диска? Сначала читается таблица разделов, потом корневой MBR, который в данном случае оказывается мусором, а затем этот факт обнаруживается и сюжет переходит на загрузку с гибкого диска. А кто должен обрабатывать логические диски - неясно..
-
? gid@ - 13.06.2013 22:41
В посте ? gid @ - сегодня 10:24 я тоже немного ошибся, хитрое чтение геометрии диска по команде IDENTIFY DEVICE (ECh) и т.д. делается если CRC прочитанной таблицы разделов не совпало и загружаться с винта невозможно, иначе в HD$UNI номер лог.диска, с которого надо загружаться по умолчанию, и все корректные параметры.
>>? Voland @ - сегодня 21:16
Если рассматривать конкретно работу процедуры BOOT$, то при попытке загрузки с винта по умолчанию, когда в R0 параметром передаётся число 4767, в строках 941-947 проверяется наличие винта, если он есть и отзывается, делается переход на метку 7$:
MOVB R0,UNIT(R3) ;<0 тк 1-й по умолч.
BPL 3$
CALL RDY4 ;7.4 sec max
3$: TST R0
BMI 6$ ;#0,1 по умолч.(ст.байт < 0)
CALL RDY2 ;3.7 sec max
BCC 7$
Там читается таблица разделов и параметры с геометрией:
7$: CALL PARTRD ;чт.табл.разд.и счит.ее CRC
Затем в строках 957-960 если нужно, подставляется номер лог диска по умолчанию:
MOVB UNIT(R3),R0 ;# привода
BPL 1$
MOVB @#HD$UNI,R0 ;устр.по умолчанию
MOVB R0,UNIT(R3)
Потом читается MBR. Если там мусор и если этот мусор начинается с команды NOP - это непорядок и может привести как к просто зависанию, так и к непредсказуемым результатам, потому что NOP - признак того, что код в MBR надо обработать, иначе - просто проигнорировать, и продолжить загрузку с заданного лог. диска.
Ну а затем начинается в общем-то самое интересное. в строках 974-975 и 951-952 просто делается переход на загрузку загрузчика. Загрузка делается с помощью обычных п/п для дисковода, в которых делается перехват функций:
4$: MOVB (PC),(R3) ;для ANDOS - не 253 прошивка
BR 6$ ;"вторичная" загрузка
¤
6$: CLR R0 ;Читаем нулевой блок ;10!
JMP FLPLOD ;там R0 не исп. 10!
См п/п FLPLOD->RWBLK$->READ$ вот в READ$ как раз и делается чтение логического диска.(Это если рассматривать чтение/запись винта вообще - перехват функции 160004)
В строках 989-990 проверяется, номер привода <2 - значит дискета, иначе - винт. Потом запоминаются данные, проверяется CRC таблицы разделов, и если всё в порядке, то см. метку L11 - по номеру привода вычисляется нужный раздел, из него берутся его параметры и вычисляется абсолютный CHS, откуда читать загрузчик, далее делается переход на ALL1 где уже всякие низкоуровневые функции чтения/записи секторов по уже вычисленным/заданным параметрам.
-
? Voland@ - 15.06.2013 01:31
Вопрос всем Гуру: а насколько критично, если в БК12 встроенный контроллер СМК512 не сможет быть отключаемым? (Т.е. будет железная связка БК11М+СМК512, как бы одна цельная машина).
-
? Voland@ - 15.06.2013 01:52
Выяснилось, что для отключения СМК в лучшем случае придется перепрошивать ПЛИС прошивкой, в которой отсутствует СМК.
Для того, чтобы обойтись без перепрошивки, нужен БИОС (но этим некому заниматься), а вариант вроде "зажимаем кнопку на клавиатуре при старте и грузимся без СМК" - реализовывать еще сложнее, чем написать БИОС.
-
? Дмитрий - 15.06.2013 12:38
А смысл БК12 без контроллера винтов/флопа? С кассет грузиться? Можно, конечно, связаться с РС и грузить все оттуда, но даже в этом случае СМК не помеха. Вот только неплохо бы сделать область памяти 160000-170000 не ПЗУ, а ОЗУ, чтобы можно было юзать кастомные прошивки. Но это уже из разряда мечтаний.
-
? Аноним - 15.06.2013 13:53
Смысл в том, что кто-нибудь захочет свои контроллеры подключить на место СМК. Но если будет доступна прошивка в исходнике для покупателей, владелец и сам сможет отключить, что ему не нужно/мешает.
-
? anonymous - 15.06.2013 13:55
Предыдущее сообщение - моё.
-
? anonymous - 15.06.2013 14:00
И в чем проблема с БИОСом? Если прошивка будет брать конфигурацию из eeprom/nvram, то можно поступить, как было сделано в 286-386 ранних выпусков - с программой правки не в пзу, а на отдельном носителе, помните, когда программа установки настроек биоса была на дискете? Программу сетапа напишут потом, а то и просто будут, кто поленивее, dessом битики править в образе nvram на диске и перезаливать его куда следует.
-
? Дмитрий - 15.06.2013 15:21
А в чем проблема сделать 2 варианта прошивки ПЛИС - с/без СМК? Заказ делается с поправкой на наличие СМК. Если без - детали, ответственные за СМК, выбросить из конструктора/готового изделия с уменьшением цены и зашить прошивку без поддержки СМК. У меня, например, лежит рабочий СМК128 - так что мне, по идее, доплачивать за СМК512 смысла нет, я подключу свой (хотя еще до конца не решил).
-
? Voland@ - 15.06.2013 18:31
Собственно это пожалуй и есть единственный выход - делать две отдельные прошивки для ПЛИС.
Но выкинуть детали СМК не выйдет, поскольку та ПЛИС, в которую частично грузится СМК - еще и за подключение AY отвечает, за формирование МПИ и УП-сигналов, и за преобразование их к уровню 5В.
Выкинуть можно будет всё, что не относится к архитектуре чистого БК + СМК. Но цена там катастрофически не упадет за счет тех комплектующих, примерно рублей на 700, если выкинуть всё, что не будет иметь отношения голой БК11М, СМК, AY. Причем это с выкинутой FT2232H - а без неё придется прошиваться не по USB, а через byteBlaster, который надо спаять или найти.
-
? Voland@ - 15.06.2013 18:49
>> Но если будет доступна прошивка в исходнике для покупателей, владелец и сам сможет отключить
Да, просто я изначально хотел совсем роскошный сервис - например перемычку переключил (или кнопку клавиатуры какую-то зажал при включении) - и СМК отключен. Такое можно было бы сделать
>> И в чем проблема с БИОСом?
Ну его попросту некому писать, это в обязанности разработчика не входило. Да и тут более точно выяснил у него - там и BIOS не особо поможет в плане громадного геморроя для создания универсальной прошивки или создания универсального механизма выбора загружаемой прошивки на старте. Проблема еще и в том, что там основная ПЛИС программируется на старте из конфигурационной флешки, а дополнительная ПЛИС - прошивается однократно руками (не в смысле одноразовая, а в смысле каждый раз надо внешнюю процедуру перепрошивки проводить). Это является проблемой потому, что СМК был разрезан надвое, часть его находится в основной ПЛИС, другая часть во вспомогательной. Разрезать надвое его пришлось из-за того, ног основной ПЛИС не хватает на вывод сигналов СМК (FDD, HDD), но и полностью во вспомогательную ПЛИС он не лезет.
Пришлось организовывать последовательный канал передачи между двумя ПЛИС, но это вобщем-то само по себе не проблема - там блочно можно прокачивать порядка 16-20 Мб в секунду.
Красивым решением была бы BGA-ПЛИС, но там и повышение цены многослойки, и сложность пайки/ремонта на дому.
_
БИОС - был бы интересен с точки зрения удобства для пользователя. Сейчас несколько функций (тим процессора, три скорости процессора, переключение между режимами цветности) - повесили на некоторые клавиши клавиатуры PS/2 (не используемые в стандартной БК), что не есть хорошо (а куда их вешать в ретро-варианте, вообще неясно). Устанавливать и читать системную дату можно будет только программно, потому как обычно это делается в БИОСе, которого тут нет.
_
>> Смысл в том, что кто-нибудь захочет свои контроллеры подключить на место СМК
да, в этом и проблема, не получится подключить внешние устройства, конфликтующие по адресам с СМК, тот же блок МСТД, заводской КНГМД и т.п.
-
? Voland@ - 15.06.2013 19:14
>> неплохо бы сделать область памяти 160000-170000 не ПЗУ, а ОЗУ, чтобы можно было юзать кастомные прошивки.
Теоретически FGPA-ВМ1 пожет перешивать конфигурационную флешку, но надо будет знать, в каком номере сектора и сколько байт занимает СМК-прошивка. Там же по сути поблочная организация памяти в конфигурационной флеш.
-------------------
Разработчик просит исходники загручика одной из ОС (ANDOS, CSIDOS, MKDOS), может кто-то с этим помочь?
-
? RADIX50@ - 15.06.2013 20:14
To: Дмитрий - сегодня 15:21
RE: "...У меня, например, лежит рабочий СМК128 ..."
¤
...А прошивочки от него нету под руками или поблизости (в виде бинарника)?.. От прошивок РТ5-х и РР1 м/сх в SMK64 сильно отличается? А элементная база та же(кроме доп.SRAM)?
...Вот бы прошивочкми на SMK128 разжиться..
...(sorry за возможный "offtop")
¤
-
? Дмитрий - 15.06.2013 22:14
Прошивка есть только основная - она одна на все варианты СМК с отличием в 1 слове-идентификаторе версии СМК. Прошивки РТ5 нет, как легко считать не выпаивая - хз.
-
? gid@ - 15.06.2013 22:19
>>? Voland @ - сегодня 19:14
[Разработчик просит исходники загручика одной из ОС]
В архиве http://gid.pdp-11.ru/f/boots.rar исходники загрузчика для ANDOS, модифицированного мной, с полной сохранностью функционала оригинала и загрузчика для DX-DOS. Чем оно может помочь, просто не представляю.
>>? RADIX50 @ - сегодня 20:14
Всё уже давным давно выложено и в открытом доступе тут http://pdp-11.ru/mybk/Altpro/
Прошивка драйвера у СМК64 и 128 одна и та же, даже печатная плата у них одна и та же, различались они только прошивкой РТ5, разным положением перемычек SW1, SW2 и микрухами памяти - у СМК128 вторым этажом ещё пара надпаивалась.
Исходники РТ5 обеих видов тоже выкладывались тут неоднократно. Чтобы долго не искать - вот интересный архив http://gid.pdp-11.ru/f/altpto.zip со всякой всячиной, выкладывал кажется Terra, там в том числе и исходники прошивок РТ5.
-
? Дмитрий - 15.06.2013 22:23
>> Разработчик просит исходники загручика одной из ОС (ANDOS, CSIDOS, MKDOS), может кто-то с этим помочь?
Исходников нет. Даю дизассемблированный текст загрузчика MK-DOS 3.17:
001000:_000240__________________NOP
001002:_000442__________________BR____1110
001004:_000000__________________HALT
001006:_000000__________________HALT
001010:_000000__________________HALT
001012:_000000__________________HALT
001014:_000000__________________HALT
001016:_000000__________________HALT
001020:_000000__________________HALT
001022:_000000__________________HALT
001024:_000000__________________HALT
001026:_000000__________________HALT
001030:_000000__________________HALT
001032:_000000__________________HALT
001034:_000000__________________HALT
001036:_000000__________________HALT
001040:_000000__________________HALT
001042:_000000__________________HALT
001044:_000000__________________HALT
001046:_000000__________________HALT
001050:_000000__________________HALT
001052:_000000__________________HALT
001054:_000000__________________HALT
001056:_000000__________________HALT
001060:_000000__________________HALT
001062:_000000__________________HALT
001064:_000000__________________HALT
001066:_000000__________________HALT
001070:_000000__________________HALT
001072:_000000__________________HALT
001074:_000000__________________HALT
001076:_000000__________________HALT
001100:_000000__________________HALT
001102:_000000__________________HALT
001104:_000000__________________HALT
001106:_000000__________________HALT
001110:_005737_177132___________TST___@#177132
001114:_012706_001000___________MOV___#1000,SP
001120:_012700_000044___________MOV___#44,R0
001124:_012701_006400___________MOV___#6400,R1
001130:_012702_120000___________MOV___#120000,R2
001134:_010704__________________MOV___PC,R4
001136:_062704_000040___________ADD___#40,R4
001142:_010437_000004___________MOV___R4,@#4
001146:_012737_040000_177662____MOV___#40000,@#177662
001154:_012737_016000_177716____MOV___#16000,@#177716
001162:_012700_000024___________MOV___#24,R0
001166:_012701_016400___________MOV___#16400,R1
001172:_012702_100000___________MOV___#100000,R2
001176:_004737_160004___________CALL__@#160004
001202:_103015__________________BHIS__1236
001204:_123727_000052_000004____CMPB__@#52,#4
001212:_001336__________________BNE___1110
001214:_126327_000034_000001____CMPB__34(R3),#1
001222:_101332__________________BHI___1110
001224:_012700_000401___________MOV___#401,R0
001230:_074063_000022___________XOR___R0,22(R3)
001234:_000725__________________BR____1110
001236:_116300_000034___________MOVB__34(R3),R0
001242:_110037_120131___________MOVB__R0,@#120131
001246:_110037_120130___________MOVB__R0,@#120130
001252:_110037_120012___________MOVB__R0,@#120012
001256:_013763_120070_000012____MOV___@#120070,12(R3)
001264:_013701_120006___________MOV___@#120006,R1
001270:_012702_000033___________MOV___#33,R2
001274:_012321__________________MOV___(R3)+,(R1)+
001276:_077202__________________SOB___R2,1274
001300:_000137_100000___________JMP___@#100000
-
? Аноним - 15.06.2013 22:43
>> Вот только неплохо бы сделать область памяти 160000-170000 не ПЗУ, а ОЗУ
Я сталкивался с тем, что на "Электронике 60" не загружается RT-11 если по адресу 160000 есть что либо. Видимо она не может правильно определить объём установленной памяти.
-
? anonymous - 15.06.2013 23:41
А я на Э-60 специально делал озу 0160000..0167777, потому как задаче не хватало памяти под RT11, прекрасно грузится и работает. Какая у вас была версия? Я 5.0, 5.01 и 5.04 в те годы использовал.
-
? Аноним - 16.06.2013 00:13
Я не помню какая версия RT-11 была тогда, но более ранняя. С адреса 160000 была плата параллельного ввода-вывода. Пришлось изменить её адрес чтобы был промежуток между ОЗУ и адресами регистров платы. Может у Вас работало потому, что ОЗУ заканчивалось на 0167777, следующее значение 170000 - круглое.
-
? Patron - 16.06.2013 01:10
RT-11 определяет размер ОЗУ с шагом 2 килобайта ( если не ошибаюсь ).
Поэтому, если по адресу 0160000 ОЗУ есть, а по адресу 0163000 ОЗУ нет - будет вылет.
-
? Voland@ - 16.06.2013 21:13
Поясните кто-нибудь по коду загрузчика МКДОС:
Там хитрой командой MOV___#40000,@#177662 вызывается прерывание по зависанию, если у нас 0010. Допустим. Далее получается, что адрес для загрузки кода ОС выбирается либо 100000 для 0011, либо 120000 для 0010. Но в конце кода загрузчика почему-то все равно однозначно стоит JMP___@#100000
то есть - загрузка может идти в разные области, но переход на загруженный код - по адресу 100000.
Как понимать это?
-
? SKcorp. - 16.06.2013 21:40
MK-DOS использует монитор БК0010. Дальше объяснять?
-
? Voland@ - 16.06.2013 22:06
Да, хотелось бы понять, как он его 'использует'.
Ему же надо код ОС загрузить и на начальный адрес перейти.
-
? Voland@ - 16.06.2013 22:13
И еще там вот такой вызов CALL__@#160004
Это уже вроде не Монитор, это одна из точек входа в прошивку СМК.
-
? Дмитрий - 16.06.2013 22:27
Модуль ОС всегда стоит первым файлом. Тупо грузится mkdos.sys (или как там он называется), емнип, со встроенным монитором, номер загрузочного привода заносится в рабочие ячейки ОС, что-то куда-то копируется и передается управление в монитор, который инициализируется и передает управление ядру ОС.
-
? SKcorp. - 16.06.2013 22:29
Из руководства: "ПУСКОВОЙ МОНИТОР ПРЕДНАЗНАЧЕН ДЛЯ ИНИЦИАЛИЗАЦИИ МИКРО-
ЭВМ ПО ВКЛЮЧЕНИЮ ПИТАНИЯ ( ЛИБО ПРИ ЗАПУСКЕ ПРОЦЕССОРА С
ПОМОЩЬЮ ТУМБЛЕРА ) И ЗАПУСКА РАБОЧЕЙ ПРОГРАММЫ, РАЗМЕЩЕННОЙ
В С'ЕМНОМ ПЗУ С АДРЕСОМ 120000. "
-
? Дмитрий - 16.06.2013 22:32
Из документации по MK-DOS:
@#120130 - привод, с которого была загружена система
@#120131 - привод для оверлеев
@#120012 - номер текущего устройства
@#120070 - задержка шага головки дисковода (2000)
@#120006 - адрес блока параметров дисковода
-
? Дмитрий - 16.06.2013 22:34
MOV #40000,@#177662 - выключается таймер (прерывание по вектору 100).
-
? Voland@ - 20.06.2013 09:59
На БК12 дошло дело до начала загрузки МК-ДОС и АНДОС, но не грузятся оболочки. В ANDOS сначала пишет "идет загрузка ANDOS", затем рисует картинку-заставку, затем очищает экран и на этом пока все заканчивается. В MKDOS до картинки не доходит, вываливается в монитор: http://i055.radikal.ru/1306/f2/6e6e89c59c0d.jpg
В чем может быть дело?
-
? gid@ - 20.06.2013 12:23
Если узнаете, на каком адресе происходит прерывание по вектору 4, то можно будет уменьшить количество разных предположений до вменяемого числа.
Андос вообще зависает насмерть или при нажатии на СТОП какая-та реакция есть?
-
? Voland@ - 21.06.2013 00:30
Есть предположение, что загрузка прерывается вот по этой причине, из документации на МК-ДОС:
----------
2. Технические требования МС и распределение адресного пространства
MC - резидентная часть. При загрузке резидент помещается в
7-ю страницу ОЗУ на БК0011(М) или в ДОЗУ на адрес 140000 на
БК0010(-01). В случае БК0010(-01) с 8 Кб ДОЗУ, каждый раз при
запуске автоматически подгружается с системного диска на адрес
1000. Если какая-либо программа пользователя испортила резидент
в памяти, то происходит автоматическая подгрузка модуля и его
восстановление в памяти.
----------
Т.к. сейчас с монитором БК10 работаем, может МКДОС по какой-то причине "cчитает", что имеет дело с не более 8 кб ДОЗУ и не грузит оболочку? Кстати что за контроллеры такие были, с 8 кб ДОЗУ, кто-то знает? Какие-то самые первые модели от Альтек?
-
? gid@ - 21.06.2013 10:38
БК10 и БК11 определяются по возможности записи в 177662. Нужно убедиться, точно ли работает запись в 177662 на БК12, От этого зависят стратегии загрузки необходимых модулей по разным адресам.
А с монитором БК10 работают и андос и мкдос, они изначально под него заточены.
С мкдосом посложнее, чем с андосом, т.к. андос сразу всё, что надо грузит одним куском, после заставки, если нажать ввод запускается оболочка и подгружаются каталоги устройств из неё.
А мкдос грузит сперва ядро, а потом всякое необходимое по разным местам, там у него даже есть что-то вроде autoexec.bat, куда можно прописывать доп.загружаемые модули.
Вот и надо выяснить, при неудаче загрузки чего и в какое место происходит вылет в монитор.Судя по неудаче с андосом либо портится память, либо неправильно работает манипулирование страницами. (при условии, что в 177662 запись работает, иначе он пытается загрузить оболочку по адресу 140000 и должен по идее зависнуть)
-
? Дмитрий - 21.06.2013 13:35
Нет у МКДОС/АНДОС командных файлов. Модуль ОС состоит из монитора и ядра. Оболочки расположены отдельно от ядра. Скорее всего крэшится в инициализации ОС. Проверьте, MOV #40000,@#177662 на 11М не должна вызывать прерывание по зависанию. Также проверьте, что нормально подключаются страницы памяти. Видимо подключения не происходит и при размещении модулей ОС она затирает сама себя.
-
? gid@ - 21.06.2013 14:36
>>? Дмитрий - сегодня 13:35
[Нет у МКДОС/АНДОС командных файлов]
У андоса точно нет. А у мкдос есть. Это файлы с расширением .COM, например STARTS.COM задаёт список того, чего выполнить/загрузить при загрузке дос, как раз перед запуском оболочки. VDISK.COM - список файлов, которые надо скопировать на электронный диск E: Я мкдосом не пользуюсь, поэтому не знаю, где и как прописано, чтобы читать эти файлы и выполнять их, но на некоторых моих мкдосных дисках они есть, и обрабатываются при загрузке дос.
-
? Voland@ - 21.06.2013 14:45
MOV #40000,@#177662 выполняется без проблем.
-
? Дмитрий - 21.06.2013 15:00
>> Это файлы с расширением .COM
Хм, не обращал внимания... Тогда это не совсем командные файлы, а просто специфичные списки, используемые определенной программой. Ладно, это не суть важно.
-
? Voland@ - 23.06.2013 11:33
На БК12 удалось загрузить ANDOS, но MKDOS по-прежнему не грузит оболочку.
По ANDOS проблема была в том, что Quartus генерировал глючный код для арбитра SDRAM, пришлось поставить промежуточный мост, который делает кросс-синхронизацию и виснуть перестало.
-
? Voland@ - 23.06.2013 12:01
При попытке загрузить CSI-DOS пишет CSIDOS v 3.30 и так далее, а затем в центре экрана вместо пляшущих человечков какой-то диалог моргает в цикле
Error Iten Not Found Retry!!! Skip
-
? RADIX50@ - 23.06.2013 23:02
To: Voland @ - 21 июня 00:30
RE:"Кстати что за контроллеры такие были, с 8 кб ДОЗУ, кто-то знает? Какие-то самые первые модели от Альтек?":
...
Не помню,что за модель,но действительно были. Так DOS при работе с таким контроллером при подгрузке чего-либо записывала промежуточные данные... в область второй FAT на дискете! А при возврате назад из вызвавшей программы- считывались обратно,а вторая FAT перезаписывалась копией с первой FAT (об этом,вроде,даже было сказано в сопроводиловке к тому DOS'у). При этом,если происходил сбой либо в памяти,либо на дискете(BAD-сектора или что еще),либо в самом DOS'e,то портилась дискета,а промежуточные данные (не очень хорошая идея - "своп" в FAT!) безвозвратно
терялись,т.к.применить их,не зная точки входа и причины записи(откуда,как,кем,зачем,что за массив/дамп),- в тех условиях и на той технике было уже нереально..
...Потому,видимо,потом и пошли контроллеры марки "A-16","A-16M"(число - размер Доп.СОЗУ),учитывающие это обстоятельство,т.к. было опытным путем установлено,что все же для нормальной/комфортной работы DOS на 16-битной машине надо не менее 48КБ ОЗУ. На YAMAHA/MSX-1,вроде бы,DOS умещается в 24КБ ОЗУ,причем,если своп и делает,то на свободном месте дискеты,как оно и должно бы быть, но та машина - 8-битная,и общий объем кода("дампа") получается меньше - хотя бы за счет меньшей длины машинного слова(там они по 8бит и есть)..
¤
...
Не помню,что за DOS имелся в виду (в смысле,не "Ямаховский",а БКшный),но вроде бы про MK-DOS тоже упоминалось(т.к. подобная идея свопа в сектора FAT_N2 в то время обсуждалась не одним автором при поиске приемлемого алгоритма работы DOS на малом объеме памяти).
...
Еще пример контроллера с 8КБ ДОЗУ - типа "ОПТРОН" или "ОП-ТОК",но они использовали свой,возможно,нестандартный,"ROM-MONITOR" и способ разметки/доступа к FDD. Видимо,было сделано по принципу известных тогда "бездисковых рабочих станций HP/UX"(или как бишь их там звали),на которых была реализована "внешняя загрузка",а основной объем ОЗУ "HP/UX" Практически не затрагивался и был доступен для загрузки ПО,как системного,так и пользователем.
-
? gid@ - 24.06.2013 16:32
Если удалось загрузить андос, то можно попробовать погонять тесты. Тесты МСТД, которые грузятся с диска мкдос, тесты памяти БК11М. Или вот такую штуку http://gid.pdp-11.ru/f/pgtst.rar - тест правильности подключения страниц в окна (кроме 0 и 5 - экран и так видно, его нет смысла тестировать, а с 0 не придумал ничего), написал я его давно, но практического применения не нашёл, так он и валяется пока.
-
? Дмитрий - 24.06.2013 16:37
Кстати, про запись памяти на место важных данных. Читал еще про одну ОС (упоминалась кстати в ПК-БК 1'93), которая за неимением доп. ОЗУ читала нулевую дорожку в память, а на ее место записывала дамп памяти, где размещалась нулевая дорожка. Опять-таки при сбое нулевая дорожка безвозвратно терялась, а на ее месте на диске красовался мусор.
-
? Дмитрий - 24.06.2013 21:39
Это я про MDOS. К счастью, не видел и не юзал...
-
? gid@ - 06.12.2013 21:12
Тут благодаря одному дотошному человеку с ником Romick всплыла одна малозаметная, но интересная деталь.
Пытаясь докопаться до причины, почему у него не работает в эмуляторе ROMBIOS он обнаружил такую вещь.
Оказывается переключение режимов можно делать только двумя командами.
mov #6,@#177130 ;подготовка триггера ТМ9 к приёму кода
mov #code,@#177130 ;засылка кода и формирование строба
а последняя команда mov #0,@#177130 в данном случае не нужна.
например:
mov #6,@#177130
mov #2160,@#177130Нужна она становится тогда, когда code содержит бит 2, т.е. имеет вид ххх4.
Например:
mov #6,@#177130
mov #2004,@#177130
mov #0,@#177130
¤
Т.е. софт написанный конкретно под СМК64 действует именно так.
Вопрос. В ПЛИС программировали поведение, чтобы строб для ТМ9 формировался исключительно по второй записи в 177130, игнорируя биты 1 и 2 при записи кода, или по схеме?
И ещё, я куда-то потерял схемку доработки от CD-Inc и теперь не могу найти и не помню, что она делала.
-
? gid@ - 06.12.2013 22:12
Хотя, сейчас поменял алгоритм в эмуляторе.
Судя по всему, да и по логике работы ЛП8, строб записи в триггер ТМ9 формируется при изменении битов 2,1 с кода 6 на любое другое значение - 4, 2 или 0.
Тогда получается, последняя запись 0 в 177130 вообще никогда не нужна. Т.е. нужна чисто для красоты и порядка, чтобы на Data входах ТМ9 были высокие уровни. Это наверно как-то полезно с точки зрения электроники и схемотехники, но необязательно с программной точки зрения.
-
? Дмитрий - 07.12.2013 01:34
Интересная деталь... Кстати, в доках указывалось, что в последней команде вместо MOV #0,@#177130 нельзя использовать CLR @#177130 - мол, это не одно и тоже. А в чем причина?
-
? gid@ - 07.12.2013 10:06
Разница между MOV и CLR в том, что MOV просто записывает в приёмник источник, а CLR сперва делает чтение приёмника, а потом запись в него нуля, его микрокод работает как у всех однооперандных команд.
Кстати, схема переключения режимов в СМК и А16М одинаковая, почему рекомендуется MOV вместо CLR я не задумывался, надо, значит надо, пусть на слово больше, не жалко.
А вот ещё вопрос к специалистам.
Триггер ТМ9 фиксирует данные по переднему фронту на входе тактирования.
А у микросхемы ЛП8 если на ноге 10 лог.0, то на выходе 8 тот же сигнал. что и на входе 9.
А если на ноге 10 лог.1 то на выходе Z.
Так вот считается ли переход от лог.0 к Z передним фронтом тактоимпульса на тактовходе ТМ9?
Судя по тому, что СМК работает, таки считается, но какая-то неуверенность меня гложет.
-
? Voland@ - 07.12.2013 18:53
>> Вопрос. В ПЛИС программировали поведение
Ответ разработчика:
Там запись в регистр (который в оригинале ТМ9) итак по второй записи происходит. Эта логика с оригиналшьной схемы снималась и мне трудно сказать, что там программисты делали в коде, просто эта часть схемы как раз вполне видна и легко повторяема, что я и сделал.
¤
>> И ещё, я куда-то потерял схемку доработки от CD-Inc
Она тут, внизу поста http://www.forum.pk-fpga.ru/viewtopic.php?p=16#p16
Там же и подробное изложение схемотехнической сути проблемы.
.
Тут сегодня хорошая новость появилась, а может и не совсем хорошая. Протестировал СМК512 с БК0010-01, 20 форматирований дискеты без единого зависания. Но на БК11М с теми же дискетой, дисководом и контроллером - 18 зависаний из 43 форматирований полной дискеты. Вывод - проблема не в недокументированных функциях ВП1-128, а в таймингах на шине. Сообщил разработчику, теперь хотя бы отбросим тупиковую ветку поиска проблемы, а то он уже кучу работы проделал по перегонке оригинальной кристалла ВП1-128 в ПЛИС.
.
Спаял тут себе заводской КНГМД впервые, думаю, как проверить. Можно ли обычный 34-пин шлейф дисководный в него воткнуть (на контроллере же 40-пин разъем), или нет? Если можно то как правильно, совместив выводы 40 и 34 ?
-
? MM@ - 07.12.2013 21:27
Лично я втыкаю ( после обработки напильником ) 34-пин шлейф от ИБМ в КНГМД - для 3.5 Нонейм-Митсуми дисководика, перекручены только 10-11-12 пин. ноги - все работает, на нем железо отлаживаю и т.п.
Однако скажу, что БК11М+блок ВМ3А+мультикарта сбрасывает стандартный БП "топор" после 1 мин. работы - на этапе чтения диска после поднятия надписи крупным шрифтом "ОС БК11 V1.0" - просто загрузится оказывается невозможно.
Измерил ток потребления с работающим диском на моменте шага - 5.х ампер.
Лечение - питание дисководика и моника типа Александровского 6105 от БП ИБМ.
-
? RADIX50 - 07.12.2013 21:46
To: Voland
RE:"? Voland @ - сегодня 18:53
...Сообщил разработчику, ... ,он уже кучу работы проделал по перегонке оригинальной кристалла ВП1-128 в ПЛИС.":
///
Вот все никак вопрос не задам,хотя на языке давно вертелся: планируется ли вообще изготовление "ПЛИСной" копии дефицитной м/сх 1801ВП1-128(только лишь сама эта м/сх,ее вся логика)? Допустим,подобрать подходящую ПЛИСину в корпусе DIP или.. не помню,как называется корпус "ВП1-128",- QIP42,вроде было..,- и для уст-ки этой "новоповторенной" "ПЛИС-ВП128" в разрабатываемые или ремонтируемые контроллеры...
А оказалось,что уже определенная часть работы в этом напр-ии уже практически сделана..
Может,все же есть смысл "доделать" ВП-128 в ПЛИС до конца,раз уж начали?.. Тем более,что на форуме проскочило сообщ-е об успешном "реверс-инжиниринге" данной микросхемы(и,насколько я понял из прочтения статьи,"ВПшка" оказалась не такая уж и сложная: занято было лишь сколько-то "ячеек" из стольки-то возможных).. Все равно,кроме нас она,как я вижу,никому больше не нужна,даже самому заводу-изготовителю,а свои "пенки" при серийном стандартном производстве(в советские времена) те,кому надо,уже "сняли"(я про авторские права и прочие юридическо-бумажные нюансы; тем более,что те же платы БК,СМК и др. устройств все равно же копируем,для воспроизведения "в металле",т.е.,для создания работающих образцов)...
Если есть возм-ть,может,все же "ПЛИС-ВП-128" доделать,хотя бы как "побочный продукт" производства - ведь опять же,повторюсь,те же запчасти все равно будут нужны.. ?
Как на это смотрите?
-
? MM@ - 07.12.2013 21:59
Есть 2 стороны этого вопроса :
1.У одного старожила форума есть достаточный запас этих ВП1-128 - по около 10$ за корпус ( не у меня ).
Если интересно - в П-Посаде. Если повезет - найдете объявление о их продаже в старых ветках этого форума.
2.Если уж делать элементы конструкции БК12 - то целесообразно слегка расширить функционал плюшки - т.е. добавить что-то еще, кроме собственно структуры ВП1-128.
-
? RADIX50 - 07.12.2013 22:15
To:MM
RE:"? MM @ - сегодня 21:59
Есть 2 стороны этого вопроса : ..."
///Да,две стороны есть у этого вопроса ;)
...Изначально имелось в виду - классический вариант: повторение той самой "Вп1-128" без каких-л. исправлений схемы кристалла (ну,кроме,может быть,явно самых "ляпсусных" огрехов,которые даже тогда были уже не нужны,а просто остались,во имя экономии народных денег)..
Ведь есть же SMK-512 на ПЛИС,а параллельно делается и классический SMK64(-128,-256) на рассыпухе,т.к. и та,и та конструкция,будем так говорить,"в ходу"..
...
Про второй вариант - как-то не подумал сначала,но теперь натолкнули на мысль такую:
Возможно,было бы действительно целесообразно расширить функционал(не совсем, правда,представляю,как и зачем,т.к. это уже исторически/функционально законченное самодостаточное устр-во,которое требуется только поддерживать таким,как оно есть,аналогично тому,как амер. фирма типа "Смит-Вессон" до сих пор делает стандартные патроны,подходящие к редким видам либо отмирающим видам стрелкового оружия прежних выпусков(чуть не конца 18века!),- причем,с лозунгом:"Если у вас есть раритетная "пушка" Смит-Вессон,- у нас всегда есть для нее патроны!"), но опять же,с "обратной совместимостью",напр.,предусмотреть несколько функц.законченных блоков в составе ПЛИС,которые можно использовать либо по отдельности(друг от друга),либо соединять,спаяв перемычкой два(или более) нужных соседних выводов ПЛИС,содержащей все эти устройства..
Почему предлагаю именно такой подход: т.к. при изготовлении "расширенных" вариантов (типа того же самого "SMK-512") может вылазить(и вылазит) целая куча новых "глюков",НЕ свойственных исходному оригиналу(или собранному на стандартн. рассыпухе устр-ву\прибору)..
На мой взгляд,такой подход более разумен...
-
? RADIX50 - 07.12.2013 22:15
To:MM
RE:"? MM @ - сегодня 21:59
Есть 2 стороны этого вопроса : ..."
///Да,две стороны есть у этого вопроса ;)
...Изначально имелось в виду - классический вариант: повторение той самой "Вп1-128" без каких-л. исправлений схемы кристалла (ну,кроме,может быть,явно самых "ляпсусных" огрехов,которые даже тогда были уже не нужны,а просто остались,во имя экономии народных денег)..
Ведь есть же SMK-512 на ПЛИС,а параллельно делается и классический SMK64(-128,-256) на рассыпухе,т.к. и та,и та конструкция,будем так говорить,"в ходу"..
...
Про второй вариант - как-то не подумал сначала,но теперь натолкнули на мысль такую:
Возможно,было бы действительно целесообразно расширить функционал(не совсем, правда,представляю,как и зачем,т.к. это уже исторически/функционально законченное самодостаточное устр-во,которое требуется только поддерживать таким,как оно есть,аналогично тому,как амер. фирма типа "Смит-Вессон" до сих пор делает стандартные патроны,подходящие к редким видам либо отмирающим видам стрелкового оружия прежних выпусков(чуть не конца 18века!),- причем,с лозунгом:"Если у вас есть раритетная "пушка" Смит-Вессон,- у нас всегда есть для нее патроны!"), но опять же,с "обратной совместимостью",напр.,предусмотреть несколько функц.законченных блоков в составе ПЛИС,которые можно использовать либо по отдельности(друг от друга),либо соединять,спаяв перемычкой два(или более) нужных соседних выводов ПЛИС,содержащей все эти устройства..
Почему предлагаю именно такой подход: т.к. при изготовлении "расширенных" вариантов (типа того же самого "SMK-512") может вылазить(и вылазит) целая куча новых "глюков",НЕ свойственных исходному оригиналу(или собранному на стандартн. рассыпухе устр-ву\прибору)..
На мой взгляд,такой подход более разумен...
-
? gid@ - 08.12.2013 11:39
>>? Voland @ - 7 декабря 18:53
[Там запись в регистр (который в оригинале ТМ9) итак по второй записи происходит.]
Вот как обычно, все всё знали и молчали.
Тогда последняя команда записи нуля в 177130 вообще никогда и низачем не нужна и является просто умышленной дезинформацией в документации Новака для затруднения понимания функционирования устройства?
-
? Voland@ - 08.12.2013 13:10
>> Если есть возм-ть,может,все же "ПЛИС-ВП-128" доделать,хотя бы как "побочный продукт" производства
Вчера получил от уважаемого Vslav подтверждение, что в планах сделать пин-в-пин эмулятор ВП1-128, но по срокам он ничего пока сказать не может. Так что разработчика нет смысла отвлекать на эти работы, у него там итак сложностей нерешенных куча..
>> повторение той самой "Вп1-128" без каких-л. исправлений схемы кристалла
Это вряд ли возможно делать один к одному, т.к. современные ПЛИС - синхронные, а ВП1-128 - асинхронная, так что какие-то модификации все-таки потребуются.
>> Тогда последняя команда записи нуля в 177130 вообще никогда
по идее выходит, что не нужна, а для чего Новак это писал, кто знает, может ошибся просто. А может это как бы уборка за собой, чтобы после любой операции в одном и том же состоянии биты оставались (там же эти биты управляют и выбором дисководов).
-
? gid@ - 08.12.2013 14:31
[А может это как бы уборка за собой, чтобы после любой операции в одном и том же состоянии биты оставались]
Это бессмысленно, при работе с дисководом биты всё равно изменяются в соответствии с командами, отдаваемыми контроллеру дисковода.
Вот, пока писал это, кажется понял, зачем нужно mov #0,@#177130
Традиционно, бит 2 отключает порты 177130, 177132 по чтению, а бит 3 подключает ПЗУ бейсика на БК10.
эти же биты используются для подключения страниц ОЗУ, и если после подключения такой страницы не очистить биты 3 и 2, то будут всякие неожиданные казусы.
Так что mov #0,@#177130 в конце всё таки нужен, но если используется режим без использования битов 3 и 2 (а на СМК64 это в 100% случаев так), то им можно пренебречь.
¤
¤
-
? Дмитрий - 08.12.2013 14:41
имхо, лучше писать 0 в 177130. Это будет универсально и не надо будет задумываться использовались биты или нет. Ведь запись кода все равно будет оформляться в подпрограмму. Так что лишней команда не будет.
-
? foot - 08.12.2013 19:45
{gid @ - сегодня 14:31}
{Так что mov #0,@#177130 в конце всё таки нужен, но если используется режим без использования битов 3 и 2 (а на СМК64 это в 100% случаев так), то им можно пренебречь.}
.
Очищать нужно всегда. Ибо Шугарт никто не отменял. Процеуры ПЗУ 326 после окончания операций хотя и снимают выборку (select), но не отключают двигатели (motor).
-
? gid@ - 08.12.2013 20:42
Наконец-то хоть кто-то ткнул носом в очевидное. Спасибо.
-
? Voland@ - 14.12.2013 16:11
Пытаюсь запустить заводской КНГМД БК11М, спаял, доработок никаких не делал, навесного монтажа нет - спаял как есть плата. После запуска проезжает заставка монитора и загорается лампочка дисковода, загрузки не происходит, лампочка горит бесконечно. Если дисковод отключить, то после проезда заставки выхода в монитор БК11М не происходит, заставка так и висит вверху, на кнопки СТОП и остальные - реакции никакой.
Шлейф дисковода воткнул 1м контактом к 1му, оставив 6 свободных ног разъема КНГМД в конце. В монитор получается выйти, только если жать СТОП в самом конце проезда заставки. Если далее в мониторе дать команду
@160000G - реакция та же - загорается лампочка дисковода и начинается бесконечный висяк.
В чем может быть дело?
-
? MM@ - 14.12.2013 17:20
Вероятные причины :
1.Залипуха в плате - ее надо высматривать не менее 5 мин. перед монтажом на просвет ( можно с увеличительным стеклом ). Дефекты удалять скальпелем ( средним ). Дефектны около 35% плат, прошедших выходной контроль изготовителя ДПП.
2.Проверить к/с ПЗУ - они могут так вредничать при ошибке. Для исключения запаянной ПЗУшки из обмена можно ее 23 ногу подключить к питанию, а наверх плотно нацепить другую, 23 ногу которой подключить к дорожке, шедшей к 23-й ноге запаянной ПЗУ.
Можно даже исправную ПЗУ нацепить поверх 324-й - на матери - для простецкого теста сойдет.
3.Осциллоскопом проверить, не коротят ли ноги управления дисководом с МПИ - это характерный признак.
4.Из пульта БК11М посмотреть содержимое 177130 и попытаться вручную пошевелить битами - в соответствии с описанием 128-й.
Если при шевележе будет висяк - значит, именно этот бит ( нога 128-й ) коротит с МПИ.
5.Если нет осциллоскопа - предлагаю уважаемому господину Voland забрать у меня С8-1 ( 25 кг, без шнуров, 5 мгц ) - как новогодний подарок.
6.При массовой сборке необходим стендик для 128-х - не менее 20% брака - описание совпадает. Стендик изготавливается из обычного блока КНГМД с специальной цанговой самодельной колодочкой - приготавляется паяльником и напильником из др. цанговых колодочек.
7.( опция ) На вход SYNC 128-й навесить конденсатор 100 пф - на общий. Если поможет - подключать , как описана доработка по сигналу SYNC 128-й - вообще это, конечно, дефект 128-й, но не особо критичный.
8.При массовой сборке блоков необходим стендик - индикатор сигналов дисководика - на светодиодах, желательно проходной - что бы на выход подключать классический дисководик.
-
? Voland@ - 14.12.2013 19:56
Визуально удалось обнаружить непротрав, после его ликвидации ничего не изменилось. Затем заменил ПЗУ КР1801РЕ2Б-326 на КМ1801РР1-326, теперь в цикле не виснет (хотя для программатора прошивки этих ПЗУ ничем не отличаются...), но светодиод загорается сразу при включении БК и больше не гаснет. После попытки загрузиться вываливается 000000. По адресу 177130 лежит число 100007.
-
? Voland@ - 14.12.2013 20:41
Оказывается шлейф какой-то левый был, с нормальным заработал контроллер.
Но с ПЗУ странность так и осталась - для программатора они одинаковые, для контроллера - разные. Как так?
-
? MM@ - 14.12.2013 21:09
Есть простецкая программа подсчета к/с 326-й/253-й , примерный текст с 1000 адреса :
1000 : 005000 012701 160000 012702 004000 062100 077202 010027
1020 : 000000 000000
При ее запуске в ячейке 1020 будет условная контрольная сумма. Программа перемещаема по адресному пространству,
останавливается по прерыванию по 4-му вектору - команда "HALT".
Вычисленная к/с не соответствует к/с, полученной при подсчете по др. алгоритмам, например на программаторе.
-
? Voland@ - 14.12.2013 22:46
Так а причем к/c, я же считываю побайтно прошивки с микросхем и сверяю их, как два разных файла...
-
? MM@ - 14.12.2013 23:14
Программатор из ( далека ) - это одно, а реальные к/с в устройстве - совсем другое.
-
? gid@ - 16.12.2013 11:24
Есть предположение, что в колодке программатора хороший контакт, и с шины AD все данные в программатор поступают правильно, а в КНГМД контакт плохой, и некоторые биты читаются неустойчиво (либо наводки на шину, что искажает данные). Вот для чего было предложено посмотреть КС обеих ПЗУшек и сравнить их хотя бы между собой.
-
? Voland@ - 16.12.2013 11:29
Проверил - всего из 4-х масочных КР1801РЕ2Б-326 две стабильно работают, две - стабильно нет, на программаторе все четыре идентичным.
Как смотреть содержимое ячейки в мониторе БК11М - понял (слэш после ввода адреса), а как набрать программу, не подскажете? Запуск потом <адрес>G ?
-
? gid@ - 16.12.2013 11:56
Нужно смотреть бумажную книгу "БАЗОВАЯ ОПЕРАЦИОННАЯ СИСТЕМА РУКОВОДСТВО СИСТЕМНОГО ПРОГРАММИСТА 00015 - 01.32.01" или сканированный вариант в виде рисунков, т.к. мне сейчас под рукой доступны только распознанные версии, а там как раз эта часть криво распознана.
По памяти, там вроде бы точка '.' и запятая ',' были командами - закрыть с модификацией слово и байт, но я не уверен, т.к. никогда не использовал этот функционал монитора БК11М.
Если никто не ответит раньше, вечером уточню.
-
? SKcorp. - 16.12.2013 11:57
99% что питания не хватает.
-
? MM@ - 16.12.2013 12:52
Интересно, а к/с экземпляров в блоке КНГМД и нацепленных поверх 324-й одинаковая или разная ?
*
В мониторе БК11М устанавливать адрес - число/
записывать число в ячейку и переходить к следующей - стрелка вниз,
записывать число и переходить к предыдущей ячейке - стрелка вверх.
-
? gid@ - 22.12.2013 11:59
Я тут кстати вспомнил такую вещь про зависания.
Давным-давно, когда я только купил А16М, когда у меня был ещё жив МС5311, и был дисковод 3.5" неизвестный Mitsumi, при работе с диском точно так же происходили зависания. Довольно часто и как при чтении, так и при записи. При записи чаще. Причём зависало всегда при работе с 3.5" дисководом, и никогда при работе с 5.25". Я грешил на дисковод, но другого 3.5" всё равно не было, и в меньшей степени на блок питания МС9016, от которого запитывались только оба дисковода, может мощности не хватало или стабильности, т.к. БП через некоторое время начинал сильно трещать трансформатором и сильно нагревался. БК питалась от второго БП, типа "кирпич".
Когда зависания меня в конец достали, особенно при записи каталога, я просто выпаял кварц с контроллера, а частоту на ВП1-128 стал брать с МПИ с ноги А20. В результате зависать стало в разы меньше, но всё равно не перестало.
После того как сдох МС5311, когда искал ему замену, случайно удалось приобрести комбопривод Epson SD-800, я забыл про зависания, но зато через некоторое время забросил БКшку.
-
? SPY@ - 22.12.2013 14:46
Висяки при операциях с диском - это признак просадки напряжения питания.
Можно мультиметром измерить его на ВП1-128 - оно не должно быть меньше 4.95 в., и не больше 5.20 в.
Для ликвидации просадок можно закоротить все дросселя на матери и заменить кабель питания матери на сечением не менее 1.0 мм каждая жила - надо лично измерить сечение перед покупкой провода.
В сложных случаях помогает установка конденсаторов прямо у ВП1-128 номиналом К53-18 1000 мк 6.3 в.- 1 шт. или Jamicon 2200 мк 6.3 в. - 2 шт.( иногда такие водятся на б/у матерях ). Довольно хорошо помогает смена ВП1-128 - их было до 20% левых.
Как вариант для левых ИС блока КНГМД - включение его вывода RPLY через элемент ИС 155ЛП9 к разъему СНП58-64 ( с подтяжкой резистором 2.2 ком к шине +5в. сигнала RPLY от ИС 1801-й серии )- так обычно поступали цеховые наладчики, или доработка включения входа SYNC ВП1-128 по типу доработки из сайта господина Voland :
http://www.forum.pk-fpga.ru/viewtopic.php?f=18&t=5499
Так же весьма полезной может быть установка на входе питания матери БК конденсатора К53-18 1000 мк 6.3 в. или 2 шт. Jamicon 2200 мк. 6.3 в.
-
? Patron - 22.12.2013 15:09
У меня был случай, когда при подключении к блоку питания ДВК дополнительного дисковода - процессор перестал выполнять некоторые последовательности команд, причём соврешенно однотипным образом.
Я понимаю так, что потребление тока процессором на разных командах разное, поэтому при подсаженном блоке питания некоторые последовательности команд могут подвешивать процессор из-за просадки питания.
-
? MM@ - 22.12.2013 16:41
Ларчик просто открывается - по вопросам питания ИС серии 1801 - его надо устанавливать в диапазоне 4.95 - 5.3 в., причем чем больше - тем лучше, при условии обязательного теплоотвода от процессоров.
Так же необходимы конденсаторы К53-14 47 мк 6.3 в., а лучше К53-18 1000 мк 6.3 в. в достаточном к-ве - на случай высыхания конденсаторов в БП.
Так же не зыбываем, что ИС ДОЗУ очень прожорливы по питанию - ничуть не меньше, чем ужасная 530/531 серии - у последних иголки до полампера размером в 2-5 нс, а у 565-й серии - 0.3 а, но зато 30-70 нс на каждый корпус ( зато при отсуствии выборки они потребляют около 20-30 ма, не более. ) По этому поводу мой бывший коллега по ОКБ говорил, что когда в Синклере-Спектруме на 1 Мбайт он установил около каждой 565РУ7 конденсаторы 1 мк К10-17 вместо 0.047 мк - ошибки памяти прекратились. ( От себя добавлю, что, видимо, можно было ограничится несколькими К53-14 47 мк 6.3 в. - например, десятком ( ок. 50 руб. за 10 шт. ).
*
Насчет висяков процессоров 1801-й серии - неделю назад при тестировании блока один из ВМ3А 9201 выпуска наотрез отказался работать с VM.SYS в качестве системного диска - а доставал я его из заводской коробочки... ( Думаю его на ж. сдать - ок. 80 руб - говорять...)
-
? foot - 22.12.2013 22:37
[? gid @ - 18 декабря 11:59]
[Когда зависания меня в конец достали, особенно при записи каталога, я просто выпаял кварц с контроллера, а частоту на ВП1-128 стал брать с МПИ с ноги А20. В результате зависать стало в разы меньше, но всё равно не перестало.]
У меня все имеющиеся контроллеры были подобным образом переделаны.
Зависаний после переделки стало меньше на порядки.
-
? Voland@ - 23.12.2013 00:00
Подозреваю, что все эти причины в случае с СМК512 неактуальны, поскольку:
1. Зависания полностью отсутствуют при тестировании с БК10-01.
2. Зависания имеют место как при тестировании на 3.5 дисководе, так и на 5.25.
3. При прочих равных условиях на СМК64 зависания полностью отсутствуют.
Остается грешить на проседание напряжения, завтра проверю, но скорее всего это тоже вряд ли, т.к. тогда и на СМК64 было бы аналогично, ведь БП один и тот же.
-
? MM@ - 23.12.2013 02:17
Был разработан в 1989 г. специальный стенд для особо вредного железа, обеспечивающий реальные тайминги МПИ на исследуемом устройстве.
Софт к нему специфический не писал, т.к. все там простенько - есть нобольшое окошко в зоне BS7, где сидит МПИ исследуемого устройства - проще все руками с клавы делать, чем месяц MACRO насиловать.
Конечно, КР531 в усьтройстве порядочно, но зато можно реально оценить вредность враждебного конструктива - с осциллографом.
Устройство было рассчитано, в основном, для использования внешних плат МС1201.04 - как электродисков, имело всего один регистр -
177666 - страница адреса, и окошко - 176000 - 176777 - там отображалась МПИ исследуемого устройства.
Работало совмесно с БК11М или МС1201.02 - с пассивным переходником.
*
Насчет висяков СМК512 - можно собрать подтяжку на МПИ с 1 - ком резисторными матрицами НР1-4-9 :
http://www.pixic.ru/i/J0l023t06974I4j5.jpg ( можно вставлять в колодку для Бейсика на матери БК ) - если с ней будет еще хуже висеть на БК11М - ввести задержку подачи сигнала SYNC на вход ИС, управляющей обменом с МПИ в СМК - например, 50 нс ( цепочка элементов ИС 555ЛН1 - 6 штук, включенных последовательно ).
Еще можно попытаться таким же образом задержать сигнал DOUT со стороны БК11М - вдруг поможет ?
-
? Voland@ - 02.01.2014 20:51
Проверили влияние просадки напряжения на зависания СМК512 - никакой связи не обнаружили.
Далее, разработчику каким-то чудом удалось воспроизвести зависание в одном и том же месте конкретной дискеты (мне никогда не удавалось), далее он подсоединил анализатор к СМК и сделал специальный триггер для запуска по зависанию, очень странный эффект обнаружился: процессор виснет буквально на ровном месте, причем выставляет активный сигнал sync и не дожидаясь ответа и не выставляя записи или чтения, уходит в сон, выставляя все '1' на адресах, но активный sync не убирая. Адрес перед зависанием он выставляет примерно 16237x (точнее сказать не получится - младшие биты не пишутся анализатором), но по этим адресам он там работает в цикле (что-то читает), так что ничего необычного в момент зависания не происходит (разработчик даже записывал на высокой частоте 80 мгц, но ничего подозрительного не заметил); за цикл до этого он выполняет команду где-то по адресу 01607x.
По идее, если процессор выставил активный sync, то он далбше должен выставить запись или чтение, а тут он ничего не выставляет, а sync так и не убирается, только буквально через такт процессора после sync все адреса переходят в '1'.
¤
В общем, главный вопрос в том, что может побудить процессор начать цикл шины активным sync и тут же все бросить ? 99% что тут явно проблема не в логике контролера FDD, а скорее в каких-то накладках временных, вопрос только в каких...
-
? anonymous - 03.01.2014 05:44
А RPLY нормальный в предыдущем цикле? Он не должен приходить сразу после din/dout и не должен сразу сниматься после них, вм1 умеет зависать еще и при слишком коротком rply. Потому на некоторых контроллерах с ВП1-128 его через ЛП9 дополнительно пропускали.
-
? gid@ - 03.01.2014 11:01
Если место зависания определено верно, то по адресам 16237x находится начало подпрограммы ENGINE: П/п выбора устройства. Она вызывается в начале абсолютно любого действия с контроллером дисковода, т.к. заполняет регистры R4=177130, R5=177132
162364: MOV #177130,R4 ;Начало п/п, работа с ПЗУ БК, ждём RPLY от памяти
162370: MOV R4,R5 ;работа с ПЗУ БК, ждём RPLY от памяти
162372: TST (R5)+ ;это единственное место, которое может по адресам 16237x вызвать зависание, т.к. требует RPLY от ВП1-128, но сперва чтение опкода из ПЗУ, и RPLY от него
162374: BICB #4,FLAGS(R3) ;снова работа с ПЗУ БК, 3 RPLY от ПЗУ и последний 4-й - от ОЗУ, т.к. в R3 адрес рабочей области в ОЗУ
Таким образом, можно предположить, что зависать может не только там, но и в любом другом месте, где есть обращение к регистрам 177130, 177132, и возникает экзотическая ситуация с DIN, DOUT и RPLY
Это если ПЗУ вне подозрений, и оно точно всегда выдаёт правильный RPLY.
Может вообще возникают какие-то очень редкие накладки из-за того, что ТЧ процессора ВМ1 делается делением 12МГц на 3 с помощью триггеров, а ТЧ контроллера - кварцем 4МГц. Я когда-то давно пробовал нарисовать диаграмму такого деления и у меня получался неравномерный меандр, какие-то периоды были длиньше остальных, хотя тут я не уверен, может просто знаний не хватало.
-
? MM@ - 03.01.2014 11:29
Знаний как раз хватило, в отличии от некотрых из 21-го отдела ОКБ - фактически, в БК11М с 1 кварцем ВМ1 тактируется на гораздо большей частоте, чем 4 мгц, и по этому висит частенько, особенно из-за просадки напряжения на входных дросселях матери ( до 0.3 в. и более ). Можно даже вычислить фактическую частоту ВМ1 - по узкому периоду импульсов 4 мгц.
-
? Voland@ - 04.01.2014 03:09
Вчера разработчику удалось найти и пофиксить проблему зависаний СМК512. Дело в том, что содержимое регистра данных FDD может модифицироваться в том числе и в момент чтения из него, а процессору, по всей видимости, не нравится такой сюжет и он после этого уходит в останов или что-то там еще. На всякий случай был добавлен дополнительный регистр-защелка в тракт, чтобы исключить подобную ситуацию. После этого зависания устранились и повторить их не удалось. На днях выложу обновленную прошивку.
Остался единственный подозрительный момент: если в программе Disk Doctor (в составе MKDOS) выставить тип дисковода 5.25 МС5313/11 и при этом прицепив реальный импортный 3.5 пытаться на нем форматировать: движение головки пойдет ускореннное и через несколько дорожек случится зависание, которое по кнопке СТОП прерывается и можно кнопкой ("1" - повтор) продолжить, отформатирует еще несколько дорожек и опять будет зависание, и так далее до конца дискеты. Кто-нибудь знает, стоит ли такую проблему фиксить, или это не совсем правильно, заставлять один дисковод форматировать на таймингах другого? Проблема в том, что оригинал СМК64 именно в этой ситуации не виснет.
-
? Patron - 04.01.2014 16:47
Если оригинал не виснет - главное понять, почему.
Ведь это симптом серьёзного отличия копии от оригинала.
-
? Voland@ - 05.01.2014 14:34
Логика контроллера не менялась, логика формирования самих данных в регистрах осталась абсолютно прежней, отчасти это подтверждается тем, что на БК0010-01 проблема зависаний отсутствует. Другое дело, что никто точно не знает, почему 1801ВМ1 так может реагировать на происходящее на шине, ибо это нормально, когда содержимое какого-нибудь периферийного регистра может меняться в процессе считывания - это же асинхронные события. Вполне возможно, что к примеру у оригинального контроллера задержки и фронты длинее, поэтому такие модификации при чтении не сбивают процессор. Для защиты теперь поставили регистр-защелку, который фиксирует состояние шины во время чтения из регистров FDD.
-
? MSV - 05.01.2014 16:27
А что странного в том, что ВМ1 так себя ведёт? Не раз уже говорилось, что сигнальные входы/выходы у ВМ1, по току - слабоваты. Уважаемый ММ, не раз, рекомендовал подтягивать сигнальные линии к +5 и 0, или ставить буферные регистры, с той же целью - разгрузить по току ВМ1.
-
? Voland@ - 05.01.2014 16:43
Не очень понятно, причем тут нагрузка по току у ВМ1 - потому как там на плате СМК все схемы CMOS и входной ток у них в районе нуля болтается. Иное дело - емкость нагрузки, это да, она возрастает, а вот подтягивая сигнальные линии к +5 мы как раз ток и увеличиваем.
-
? MSV - 05.01.2014 19:01
А если попытаться воспроизвести ситуацию на той же плате, но с другими экземплярами ВМ1?
-
? Voland@ - 06.01.2014 15:21
Проблема перестала воспроизводиться на двух разных БК11М, можно конечно и с третьим/четвертым ВМ1 проверить позже, но думаю что уже не вернутся зависания. Вот с полузависаниями при несовпадении типов дисковода пока непонятно, норма это или не совсем.
-
? Александр... - 15.01.2014 22:42
Случайно никто не разобрался, почему СМК не работает на 0011-НЕ-М?
-
? gid@ - 15.01.2014 23:41
Потому что прошивка СМК сперва обращается внутрь монитора БК11М для его инициализации, чтобы потом выводить текст на экран средствами монитора 11М (EMT 64), что естественно не работает на 0011-НЕ-М
-
? Александр... - 16.01.2014 01:58
А, тогда понятно. Спасибо за разъяснение.
-
? Voland@ - 23.01.2014 00:35
Я тут что-то запутался: недавно видел, что прошивка 326v12 при загрузке печатает о себе сообщение, по которому её можно отличить от заводской 326. Но сейчас ничего не печатает, что не так???
-
? MM@ - 23.01.2014 01:31
Видимо, не на всех вариантах назначения ЕМТ-кодов скрипт работает ?
-
? Voland@ - 23.01.2014 09:55
Не знаю, вроде и прошлые разы ничего особенного не делали и не назначал, само работало. В общем, не знаю, как проверить, что в текущей конфигурации РЕмулятора работает именно 326v12, а не 326.
-
? gid@ - 23.01.2014 10:33
Выводить надпись или нет, зависит от ВЕ-таймера. Если он включен и работает - то надпись не выводится, т.к. подразумевается что один раз вывели при включении и больше не надо.
Потом, есть ещё сравнение с некоторыми константами, в зависимости от которых надо выводить текст. Если РЕмулятор работает быстрее, чем ПЗУ, то надпись можно никогда не увидеть, т.к. не будет достигнуто условие вывода текста.
-
? Voland@ - 23.01.2014 11:08
Сейчас надпись не выводится и при вставке реальной ПЗУ РР1 (326v12) в КНГМД.
-
? gid@ - 23.01.2014 11:58
1. Убедиться, что прошивка действительно 326v12.
для этого набираем в мониторе такую прогу:
005000
012701
160000
012702
004000
062100
005500
077203
000000
запускаем её, а потом смотрим, что в регистре R0, для 326v12 должно быть 035650
2. Убедиться, что ВЕ-таймер работает.
Для этого подойдёт программа Савельева CPUTEST, где-то когда-то на этом форуме он выкладывал файл CPUTEST4.RAR, если что, она есть в образе дискеты, которая даётся в составе эмулятора.
-
? Voland@ - 24.01.2014 11:22
Оказалось, что каким-то чудесным образом вывод надписи от питания зависел, снизил вольтаж таким образом, чтобы на ногах процессора было примерно 4.6В вместо 5В, и надпись стала появляться и при работе РЕмулятора и при оригинальной РР1.
Прошивка РЕмулятора для 11М оттестирована, 12 конфигураций, включая конфигурацию со "вставленными" 017 (монитор БК10) и 018 (Фокал), в которой правда я так и не понял, как запустить Бейсик 11М (и можно ли это вообще сделать).
Сегодня планируется тестирование полностью аналогичной прошивки ремулятора для 11(без М) - те же 12 конфигураций, но с подмененными прошивками
Монитор 11М -> Монитор 11
Бейсик 11М -> Бейсик 11
МСТД 11М -> МСТД 11
326 -> 253
-
? gid@ - 24.01.2014 11:51
Это всё как-то связано с ВЕ-таймером. Код 326v12 считает, что сразу после включения значение счётчика, если он не работает, в 177710 должно быть 177777, а как выяснили Patron и anonymous, это не обязательно так.
Вообще, многие тонкие нюансы ВЕ-таймера так и остались тайной. И начальное значение счётчика в 177710 не детерминировано строго, и вот оказывается оно зависит ещё и от напряжения питания.
-
? Voland@ - 26.01.2014 14:06
Есть ли у кого дисковод МС 5313 (или хотя бы 5311) и контроллер СМК512 ? Надо кое-что проверить..
Или может у кого-то есть просто МС5313 (/11) в Москве без контроллера? Я бы подъехал с контроллером для проверки.
¤
gid, у Вас случайно не один из таких дисководов используется?
-
? MM@ - 26.01.2014 14:13
У меня водится ТИК-55 от одного уважаемого учасника форума - но нет кабеля к нему, есть БК11М в рабочем виде без Бейсика.
Дисков тоже 5.25 нетушки .
-
? gid@ - 26.01.2014 16:15
Совершенно случайно, у меня теперь есть рабочий МС 5311. Говорите, что делать, проверю.
-
? Voland@ - 26.01.2014 17:44
Я там отправил новую прошивку СМК512 почтой, надо её прошить (там пофиксили зависания при работе с дисководом), и проверить, как отформатируется дискета на МС5311 из программы Disk Dictor из состава MKDOS.
В программе надо выставить соответствующий тип дисковода МС5311/13, проверить, нормально ли проход форматирования идет и нормально ли верификация проходит. Если есть проблемы - просьба проверить то же самое, но с оригинальным контроллером АльтПро (М16 кажется у Вас был?).
-
? gid@ - 26.01.2014 19:03
ОК. Единственный комп с LPT (т.к. у меня только LPT byte blaster) у меня есть на работе, завтра обновлюсь, вечером потестирую и сообщу результаты.
-
? gid@ - 27.01.2014 11:22
Печальные новости. Во время попытки обновления прошивки сгорел чип Altera. Сгорел буквально. Пока я присматривался и принюхивался, откуда несёт палёным, само стало видно откуда.
Если смотреть на чип анфас, то буквально сгорели пламенем 4я и 5я считая снизу с правого бока.
Больше нету у меня СМК-512.
Контроллер не включал с лета прошлого года, причины неизвестны.
-
? Voland@ - 27.01.2014 11:28
Скорее всего коротнуло чем-то. У меня был подобный случай - запаял СНП, Альтеру и стабилизатор, прошил, запаял все остальное, вставляю в БК - начинает на каких-то ногах искрить, прямо буквально видно было глазами. Пытался почистить меж ног иголкой, опять включил - искрит. Тогда отпаял Альтеру, хорошо почистил и микросхему и площадку, запаял обратно - все работает.
Вообще еще ни одного случая выгорания, конкретно эти Альтеры достаточно "дубовые". Высылайте обратно, поменяю чип.
-
? gid@ - 27.01.2014 13:19
Чип своим днищем к плате припаивается?
Потому как я когда увидел что всё сгорело, решил дожечь уж до конца, и заметил, что горело откуда-то из под чипа и потом перешло на ноги.
При пайке не использовался агрессивный флюс, который под воздействием внешней среды устраивал коррозию металла или всякие прочие гальванические эффекты? Как это было с Fujitsu в 2000-2003 годах, что вынудило их уйти из сегмента HDD потребительского сектора.
Я сперва посмотрю, может у нас кто-нибудь может на заказ привезти чип. Если нет - то вышлю контроллер обратно.
-
? Voland@ - 27.01.2014 13:41
Нет, чип только ногами припаивается, маска pcb там дубовая и нижняя грань чипа вроде бы без металла. Паялось без спецфлюсов, только жидкая канифоль и припой с канифолью внутри.
Ноги сгорели или просто обкоптились? Если физически они целые, попробуйте выпаять, почистить хорошенько спиртом, между всех ножек лезвием почистить и запаять обратно, почистив и облудив площадку под чип на плате.
-
? MM@ - 27.01.2014 13:54
Насчет флюса :
Есть очень полезная и очень древняя рекомендация :
70% ( по объему ) спирта питьевого ( без вариантов ! ) "Экстра-96"
30% канифоли, лучше эвкалиптовой с "5" приемкой - но это малореально, заменить можно и сосновой китайской - которой полные закрома.
Все остальные рецепты - для производства, т.к. там обязательно содержится некотрое к-во присадок и кислот - т.к. потом все это промывается в огромном к-ве растворителей.
*
Искрение ( ?!?!?! ) монтажа - это и есть признак кислотного флюса - припоминаю, лет 20 назад поручил одному новичку сборку заказных плат - причем платки были дерьмовыми, под зачистку шкуркой и т.п. проблемы. Так новичок взял цеховой кислотный флюс, да и запаял с ним. Смотрится, конечно, красиво. Так он промывочный спирт ( 1 литр ) выпил, растворитель - обменял на пиво, зубную щетку-трещетку проел ( на закуску ), и принялся сам отлаживать платки - потом прибегает ко мне - и говорит : Иван Иванович, искрит - не знаю, что делать !
Ну пришлось эту партию драить растворителями, скрабить специнструментом и продавать как некондицию - т.е. за полцены. Я, конечно, добился выхода годных - 100%, но потом, через месяцы эксплуатации, возможны всякие варианты.
После, оставил в сортире 5 литров спиртовых смывов с кислотами, формальдегидами, канифолью и лаком ( немного ).
Так новичок ее утащил домой и пил ее неделю - потом говорил, очень крепкое и ядреное пойло нашел в сортире - кто бы похмелил...
*
Господа, никогда не покупайте готовые флюсы !
-
? Дмитрий - 27.01.2014 14:50
Вот же термоядерное нутро у русского - какую только хрень не переварит...
-
? gid@ - 27.01.2014 14:54
Удалось найти иголку. Поковырял, оказалось ножки целые, внешне всё целое просто закопчённое, но сильно воняет горелым текстолитом или пластиком, запах такой, какой бывает когда взрываются блоки питания с выгоранием половины внутренностей.
Из-под ножек чипа выковыривается непонятная субстанция, возможно когда-то бывшая флюсом.
Пока нету никаких инструментов под рукой, дома феном прогрею, может вообще перепаяю, посмотрим, что получится.Кстати, есть ли возможность ввести такой функционал, как перепрошивка ПЗУ, для модификации драйвера АльтПро, нужно это сильно редко, но если станет нужно, у меня например нету никаких программаторов. В качестве ПЗУ использовать ЭСППЗУ, как в РСшных материнках обновление биоса делается.
Зашита записи реализуется перемычкой, замкнуто - разрешено, на шине МПИ появляются нужные для работы регистры, разомкнуто - запрещено, доп. регистры исчезают, саму перезапись организовать с помощью специально написанной программы. Я процедурой перезаписи биосов как-то не интересовался, поэтому не представляю ни объёма, ни сложности задачи в схемотехническом плане, поэтому если реализация потребует переразработки контроллера заново, то и не надо.
-
? Voland@ - 27.01.2014 16:40
Такой функционал в текущей версии потребует изменения электрической схемы контроллера и замены ПЗУ на другую. Заниматься разработчик этим увы желанием не горит, т.к. по СМК свои обязательства уже выполнил с полном объеме.
Другое дело, что в Booster-11 конфигурационная флеш будет располагаться внутри FPGA, и для учета нового варианта ПЗУ СМК надо будет всего лишь из квартуса указать в ROM имя нового HEX-файла с прошивкой, скомпилировать проект и зашить в FPGA.
-
? Аноним - 27.01.2014 17:35
Без квартуса совсем никак :)
Пипл же хавает ;)
-
? anonymous - 27.01.2014 19:41
Присоединяюсь! Возможность перепрошивки должна быть средствами самой БК обеспечена, без квартусов и ПЦ. Я всегда интеловкие флэшки 16-битовые ставил на МПИ, они великолепно перезапшисываются самой машинкой, в которой применены. Можно АМДшные 2х8 бит использовать, прописывая сперва один, а затем второй байт, байтовыми инструкциями записи выдавая команды контроллеру внутреннему во флэшке. Вот первая попавшаяся под руку программка перепрошивки пзу в блоке отладчика:
;status register bits:
;200 =0 - ready; =1 - busy
;40 =0 - erase error; =1 - ok
;20 =0 - program error; =1 - ok
;10 =0 - Vpp_low,abort; =1 - vpp ok
;cmds:
;FNOP 177400
;FERASE 177737 177457
;FWRITE 177677 DATA(write)
;FSTAT 177617 DATA(read)
;FRESET 177657
;FIDRD 177557 DATA(read)
;p ppp p10 00x xxx xxx xxx xxx
¤
HALTM=330
SEL1=177716
¤
.asect
.=1000
¤
update: mov #1000,sp
call p.me
mov #160000,r1
mov #dataf,r2
mov #HALTM,@#SEL1
call erase
10$: call brnw
add #2,r1
add #2,r2
cmp r1,#172000
bne 11$
add #1000,r1
br 10$
11$: cmp r1,#174000
bne 10$
call p.dn
ex: br ex
¤
erase: mov #177400,(r1)
mov #177657,(r1)
call wt
mov #177617,(r1)
call wt
bit #10,(r1)
bne 1$
call p.pl
br fr
1$: call wt
3$: mov #177737,(r1)
call wt
mov #177457,(r1)
call wt
bit #40,(r1)
beq 4$
return
4$: call p.ee
br fr
wt: bit #200,(r1)
bne wt
return
brnw: call wt
mov #177677,(r1)
call wt
mov (r2),(r1)
call wt
bit #20,(r1)
beq 1$
return
1$: mov r1,-(sp)
call p.pe
mov (sp)+,r1
call nprint
br fr
(далее неинформативные подпрограммы p.* - вывод сообщений об ошибках, nprint - печать адреса, fr - сброс флешки и выход.
-
? MM@ - 27.01.2014 20:49
Насчет кислотного флюса - им по технологии лудят ножки ИС, и потом не всегда смывают при поставке чипа.
А при шаге 0.5 мм и расстоянии между треками - 0.25 мм может произойти гидролизное разложение под воздействием +5в. - т.е. помимо скреппирования иглой, надо полчаса в водке зубной щеткой драить место пайки так - кислотный флюс смывают.
В растворителе - нежелательно, т.к. ацетон мигом разъест корпуса ИС. В чистом спирте - тоже не фонтан, т.к. кислоты типа соляной лучше водой смыть.
-
? Voland@ - 28.01.2014 03:46
>> Присоединяюсь! Возможность перепрошивки должна быть средствами самой БК обеспечена
На отдельную флешку там тупо места нет, пока то что уже задумано - не влазит, потому будет использована интегрированная в FPGA. Это не отменяет теоретической возможности перешивать ПЗУ СМК из самой БК, но для практической реализации этого решения надо будет приложить усилия энтузиастам. Увы, разработчик какие-то затратные по времени вещи делать не хочет (забесплатно), которые явного ущерба функционалу не несут.
¤
>> Из-под ножек чипа выковыривается непонятная субстанция
Ну это либо паяльная маска сгорела (что вряд ли), либо пластмасса корпуса подкоптилась, либо высохшие остатки жидкой спиртовой канифоли, которая обычно затекает под чип, при пропайке и высыхает там.
-
? gid@ - 28.01.2014 20:38
Там из-под всех ножек выковыривалось. По-моему это не флюс, значит наверное паяльная маска.
Отпаял чип. Внешне он целый, замкнуло ноги 76 - VCC и 77 - GND, т.е. чипу скорее всего ничего и не стало. Зато контактные площадки под этими ногами выгорели и текстолит повредился, если эти ноги оставить ни к чему не присоединёнными, чип этого не заметит? Там и так много входных ног VCC и GND, или там разные внутренние блоки от разных ног запитаны?
Самым простым выходом было бы отправить блок Вам, просто моё природное любопытство требует удовлетворения: что будет, если обратно запаять как есть? будет ли работать как будто бы ничего и не было? и главное, сумею ли я запаять его назад, раньше никогда такого не делал, а тут такая возможность представилась.
¤
-
? MM@ - 28.01.2014 20:58
Паять плюшки с шагом 0.50 можно, если на жало 25-вт. паяльника прикрутить медный провод около 1 мм. диаметром, заточенный напильником, и использовать специальный тооооненький припойчик ПОС-61 ( офигенно дорогой ). Очень не повредит предварительно место посадки промыть в водке зубной щеткой ( 10 минут непрерывно тереть щеткой ) - до полного растворения остатков предыдущего флюса.
Слив с промывки потом можно подать нежеланным гостям под видом "левого коньяка". ( смайл ).
-
? Voland@ - 29.01.2014 10:56
>> Отпаял чип. Внешне он целый, замкнуло ноги 76 - VCC и 77 - GND, т.е. чипу скорее всего ничего и не стало.
Это наверное только опытным путем можно определить, позже еще попробую спросить у разработчика.
Но я бы подпаял тонкими проводками.
¤
Что касается пайки. Раньше я паял таким жалом http://dalincom.ru/goods-2646.html
Но теперь паяю примерно таким http://shop.siriust.ru/images/M0011162.jpg - оно мощнее и паяется за счет этого легче. Но для того, кто QFP 0.5mm паяет впервые таким будет труднее. Просто я уже наловчился последнее паять одну из 4-х сторон чипа одним проведением паяльника сразу по всем ногам.
-
? gid@ - 29.01.2014 11:50
Подпаять тонкими проводками я физически не могу. Сам тонкий провод у меня есть, но у меня нет инструментов для манипуляции такими тонкими вещами. Тонкие проводки у меня имеют обыкновение при пайке прилипать куда угодно, только не туда, куда нужно.
В общем-то я уже запаял чип обратно, феном отпаял, феном же назад запаял. Потом прошёлся паяльником по ножкам, на всякий случай. Обновил прошивку, в этом плане с чипом всё в порядке. Осталось проверить работоспособность всего контроллера.
-
? gid@ - 29.01.2014 23:28
Контроллер оказался жив, здоров и полностью работоспособен.
Результаты форматирования в ДД на реплике СМК. дисковод МС5311.
в режиме 3" TEAC/EPS всё отлично, форматирует и верифицирует.
в режиме 5" МС6022 форматирует и верифицирует первые 40 дорожек. но не всегда, иногда стопорится перед началом форматирования и ничего не делает, даже СТОП, 1-повторить не помогает, помогает сдвинуть головки от нулевой дорожки и начать форматирование заново.
в режиме 5" TEAC/360 форматирует и верифицирует первые 40 дорожек.
в режиме 5" МС5305 и 5" МС5313 либо сразу стопорится, либо через 2 дорожки, просто застывает и ничего не происходит. Нажатие СТОП, а потом 1-повторить иногда заставляет пройти ещё две дорожки, а иногда начинает скакать больше 4-х дорожек и застывает, после СТОП и 1-повторить больше не действует, только СТОП, 3-стоп для прекращения мучений.
в режиме 5" Rob/TEAC всё отлично, форматирует и верифицирует.Результаты форматирования в ДД на АльтПро А16М. дисковод МС5311.
в режиме 3" TEAC/EPS всё отлично, форматирует и верифицирует. Форматирует медленно, чуть быстрее, чем читает.
в режиме 5" МС6022 всё отлично, форматирует и верифицирует первые 40 дорожек. Форматирует медленно.
в режиме 5" TEAC/360 форматирует и верифицирует первые 40 дорожек. Форматирует медленно.
в режиме 5" МС5305 и 5" МС5313 всё отлично, форматирует и верифицирует. Форматирует очень быстро, примерно 2 дорожки в секунду. (наверно чуть больше чем в сек. не думаю что точное время принципиально, но явно почти в два раза быстрее, чем в остальных режимах)
в режиме 5" Rob/TEAC всё отлично, форматирует и верифицирует. Форматирует медленно, чуть быстрее, чем читает.
Скорость верификации во всех режимах одинакова, на глаз.В общем у СМК и А16М полностью совпадают режимы 3" TEAC/EPS, 5" TEAC/360, 5" Rob/TEAC.
С натяжкой можно засчитать 5" МС6022, т.к. если и начнёт форматировать, то не стопорится.
Режимы 5" МС5305 и 5" МС5313 для А16М идентичны, разницы между ними нет. А в СМК они полностью неработоспособны. В общем в ДД применён алгоритм быстрого форматирования для этих режимов. СМК начинает форматировать и у дисковода скорость перехода с дорожки на дорожку медленная, как в режиме 3" TEAC/EPS в результате через две дорожки всё останавливается. Я там выше писал, что начинает скакать - это он начинает форматировать в своём быстром режиме, но через 4-5 дорожек стопорится наглухо.Подозреваю, что у вас там какой-то косяк в циклах, связанных либо с переходом с дорожки на дорожку, либо с расстоянием первого маркера от индексного отверстия, либо просто с маркерами. Получается бесконечное зацикливание. Или переполнение знака при арифметических операциях с числами со знаком и без знака, и вместо маленького числа получается отрицательное, которое есть очень большое беззнаковое, если это так, за несколько суток непрерывной работы дискета может и отформатируется, либо будет виден прогресс, сдвинулась ли головка на следующую дорожку или нет.
-
? Voland@ - 29.01.2014 23:53
Спасибо за исчерпывающий тест!
Придется искать МС5311, без него теперь не получится фиксить проблему. К сожалению с наскока на барахолках не нашел. Если кто увидит случайно, киньте ссылкой, плиз.
-
? MM@ - 30.01.2014 00:03
Есть за безценок 5309 в Москве - это 2 шт. 5305, БП и корпус. Все желтое и зеленое.
Качество - не фонтан.
¤
http://molotok.ru/blok-diskovodov-elektronika-ms-5309-i3920175765.html - раритет.
-
? gid@ - 30.01.2014 22:35
Я тут усомнился в необходимости дисковода именно МС5311/5313 и решил провести ещё немного тестов.
тестировал в режимах 3" TEAC/Eps и 5" МС5313/11 поскольку в принципе только эти режимы различны, остальные так или иначе по методам форматирования повторяют эти.
Дисковод 5.25 TEAC FD-55GFR 143-U. Контроллер А16М.
В режиме 3" TEAC/Eps форматирует и верифицирует с такой же скоростью, как и МС5311, разницы не замечено.
В режиме 5" МС5313/11 форматирует быстро, но верификация не проходит, удачно отформатировалось около 10 дорожек на всей дискете, видимо у дисковода не хватает быстродействия, после неудачной верификации ДД заново отформатировал диск уже в обычном режиме.
¤
Дисковод 3.5 NEC FD1231H. Контроллер А16М. Специально снял верхнюю крышку, чтобы видеть, как движутся головки.
В режиме 3" TEAC/Eps форматирует и верифицирует с такой же скоростью, как и МС5311, разницы не замечено.
В режиме 5" МС5313/11 форматирует быстро, но верификация проходит только у стороны 0, верхняя сторона верификацию не проходит вся целиком. Возможно, это особенность модели.
¤
Затем проверил 5.25 TEAC FD-55GFR 143-U на контроллере СМК.
Про режим 3" TEAC/Eps говорить незачем, всё работает как часы.
А вот в режиме 5" МС5313/11 оказывается если проявить силу воли и упорство и долго жать СТОП и 1, то оказывается можно доформатировать дискету до конца. И она потом даже пройдёт частично верификацию. А затем дорожки с ошибками переформатирует обычным методом.
Т.е. и на дисководе МС5311 у меня в тот раз не стопорилось форматирование насовсем, надо было просто долго-долго, много-много раз нажимать СТОП и 1.
¤
И наконец дисковод 3.5 NEC FD1231H на контроллере СМК.
В режиме 3" TEAC/Eps всё работает как часы.
В режиме 5" МС5313/11 работает как и 5.25 TEAC FD-55GFR 143-U, с той лишь разницей, что жать СТОП и 1 надо всё же меньше раз. И как и на А16М отформатировалась только сторона 0.
¤
Причём, заметил такую вещь - в быстром режиме форматирование не начинается. Первые две дорожки если и форматируются, то только в обычном режиме, даже если с самого начала форматирование не пошло и после нажатия СТОП и 1 всё же началось, форматируется только 2 дорожки медленно и останов. (это касается вообще всех проверенных дисководов в режиме 5" МС5313/11), затем, когда жмёшь СТОП и 1, через не хочу идёт форматирование уже в быстром режиме, но по 1, по 2 или по 4 дорожки подряд. Хотя для МС5311 замечено 5 дорожек, а для NEC FD1231H - 6 дорожек подряд.
¤
В общем косяки с форматированием можно проверять на любом имеющемся дисководе, не обязательно на МС5311/5313. Тут главное достичь того, чтобы форматирование шло без остановок, а верификацию уж потом донастроить.
-
? MM@ - 30.01.2014 22:46
Не совсем ясно, какая там разница между 3 и 5 дюймов, если скорость вращения одинакова. Вообще впервые слышу об этом.
А вот разница в скорости перемещения головки - существенная, даже на одном калибре - умные ( с ОЭВМ ) дисководы просто не хотят двигать головкой, если сигналы перемещения передаются слишком быстро, а глупенькие - типа 5305 - ( и особенно 6022 ) - просто страшно сыплят ошибками при форматировании.
В правильных прогах форматирования после 10 шт. фатальных ошибок процесс прекращается - что бы не давить на стоп 160 раз,
а так же указывается число попыток чтения на каждую дорожку - но это в основном для МФМ винтов на КЖД ДВК.
-
? Voland@ - 31.01.2014 10:04
Нашел дисковод МС5313, вроде даже новый с хранения, сегодня надеюсь выкупить и потестировать.
>> чтобы форматирование шло без остановок, а верификацию уж потом донастроить.
Имеется ввиду программно донастроить, или в СМК ? Непрерывность форматирования - разве гарантия, что оно происходит корректно?
-
? gid@ - 31.01.2014 10:26
[Не совсем ясно, какая там разница между 3 и 5 дюймов]
Это же элементарно, разница в графическом начертании цифр 3 и 5. Это сделано из расчёта на то, что прогой так же будут пользоваться люди с формальным подходом, которые, если не находят в списке названия своей модели, не пользуются прогой вообще, мотивируя это тем, что программа не может работать с данным дисководом, поскольку его нет в списке устройств.
¤
[умные ( с ОЭВМ ) дисководы просто не хотят двигать головкой, если сигналы перемещения передаются слишком быстро]
Если устанавливать и сбрасывать бит STEP с задержкой меньше определённой величины, то даже МС5311 отказывается двигать головкой, просто трещит шаговым двигателем. Я проверял.
¤
[В правильных прогах форматирования после 10 шт. фатальных ошибок процесс прекращается]
На БК при форматировании детектируется всего 2 ошибки: 6 - нет диска или диск не вращается и 7 - прерывание по вектору 4. Ни одна из ошибок не является фатальной, особенно 7, может это просто кнопка СТОП западает, клавиатура-то сами знаете какого качества бывает. Это не повод отказываться от работы.
¤
[что бы не давить на стоп 160 раз]
В данном случае мы тестируем не правильность работы проги, а работу железа, которое работает неправильно, кнопка стоп тут ни при чём, она просто один из элементов тестирования, поэтому давить на неё надо и чем больше - тем лучше.
-
? gid@ - 31.01.2014 10:47
[Имеется ввиду программно донастроить, или в СМК]
имеется в виду, решать проблемы по мере их возникновения. У меня есть основания подозревать, что проблема верификации потребует дисковода МС5313, а решение проблемы с остановкой форматирования - нет.
[Непрерывность форматирования - разве гарантия, что оно происходит корректно?]
не гарантия, как раз это как-то зависит от модели. Последующая корректная верификация возможна только на советских дисководах. Но при более медленном переходе с дорожки на дорожку форматирование верификацию проходит. Когда я долгими и упорными нажатиями на СТОП всё же заставлял доформатировать до конца, процесс верификации проходил частично успешно, частично неуспешно. А неуспешно может быть из-за того, что СТОП был нажат во время форматирования а не во время непонятной задержки. ДД на этот счёт никакой информации не даёт. Если была ошибка на дорожке, не важно какая, просто переформатируется вся дорожка.
-
? Дмитрий - 31.01.2014 10:48
>> На БК при форматировании детектируется всего 2 ошибки
На 3,5" флопаре под АНДОС ловил ошибку при форматировании "Не найден адресный маркер". Причем сразу на нулевой дорожке. И форматирование прекращалось так и не начавшись. Сначала грешил на СМК, но 5,25 на нем форматирует без проблем, а вот 3,5 у меня то ли глючные, то ли неверно работают. Старый 3,5 на 720 глючил с самого начала. Перепробовал кучу разных 1.44 с закрытым датчиком - все сыплют про маркер, хотя дискета исправна - на РС форматируется без проблем.
-
? gid@ - 31.01.2014 11:14
В алгоритме форматирования вообще нету процедуры чтения того, что наформатировалось. Можете убедиться, полистав журнал ПК БК №5 за 1994г. "Не найден адресный маркер" ловится при проверке результата форматирования после самого форматирования. А верификация бывает двух видов.
1. Проверка всего диска целиком после форматирования всего диска целиком, как это сделано в ДД.
2. Проверка дорожки сразу после форматирования дорожки, как это сделано в ANFORMAT.
Это две большие разницы.
-
? Patron - 31.01.2014 11:58
> На 3,5" флопаре под АНДОС ловил ошибку при форматировании "Не найден адресный маркер".
Это может быть связано с продолжительностью сигнала ИНДЕКС.
Если дискета отформатирована в формате IBM ( с маркером C2 в начале дорожки ) и продолжительность сигнала ИНДЕКС меньше 3.1 мс - алгоритм чтения, предназначенный для работы с ВП1-128 - не находит адресный маркер первого сектора.
-
? Patron - 31.01.2014 12:43
Вообще, если окажется, что различия в работе программы форматирования с разными дисководами связаны с различиями продолжительности сигнала ИНДЕКС у этих дисководов, то решением может стать нормализация продолжительности сигнала ИНДЕКС ( прямо на входе с кабеля дисковода ). Для диска ГМД-130 отношение диаметра индексного отверстия к длине окружности расположения отверстия составляет ровно 1/64. Это даёт продолжительность сигнала ИНДЕКС = 3.125 мс.
-
? Дмитрий - 31.01.2014 17:05
>> как это сделано в ANFORMAT
Вот он-то как раз и вывалил ошибку. Так что все верно.
..
>> Если дискета отформатирована в формате IBM
Когда у меня была жива 11М, я дискеты форматировал на РС и на БК. И везде они читались/форматировались без проблем, включая перекрестное использование (РС-формат для работы на БК и наоборот). Так что вполне возможно, что СМК все же получил повреждения при смерти 11М от РС-БП. Хотя тогда почему 5.25 работает исправно?
-
? Patron - 31.01.2014 17:17
Многие программы, работающие напрямую с ВП1-128 - жёстко завязаны на продолжительность сигнала ИНДЕКС.
Прошивка КМД, на основе которой писалось большинство программ для ВП1-128 - частично утрачивает работоспособность при недостаточной продолжительности сигнала ИНДЕКС.
-
? Voland@ - 01.02.2014 17:22
Кстати, кто-нибудь знает принципиальное отличие дисководов МС5311 и МС5313 ? А то вроде как не особо они визуально отличаются платами и механикой...
-
? Patron - 01.02.2014 18:16
Вот что написано про это в книге "Ремонт дисководов" ( http://zxpress.ru/books_files/DISKOVOD.ZIP )
...
Принципиальных различий в устройстве МС 5305 и МС 5311 нет. Схемы электрические накопителей совпадают. Различна лишь схема размещения элементов на монтажных платах устройства управления и устройства записи и воспроизведения. В накопителе МС 5311 несколько изменена конструкция блока магнитных головок, что не позволяет установить блок головок с МС 5305 на МС 5311 и наоборот. В конструкции накопителя МС 5313 по сравнению с МС 5311 отсутствует один элемент - электромагнит загрузки головок. Вместо него установлено устройство, которое механически связано с замковым устройством, фиксирующим дискету в дисководе. Когда дискета установлена и ручка замка опущена вниз, верхняя головка постоянно прижата к дискете.
-
? MM@ - 01.02.2014 18:21
В 5313 нет электромагнита, и вообще это бытовая продукция, в отличии от 5311 - лучшего из всего, что я когда-либо видел и эксплуатировал в СССР. Но даже 5311 - даааааалеко до 55-х тиков. Я даже как-то сравнивал на 10 шт. дискетах Изот - все с первой ошибки при тиражном форматировании на 5311 - 8 из 10 дискет не показали вообще никакой ошибки.
ИМХО - рекомендую весь ассортимент совковых дисководов отправлять к металлистам, а болгарское знатное Д. ( с большой буквы ! ) - в мусорку. ( Кстати, Болгария отлично работает на МХ ! )
-
? Voland@ - 02.02.2014 16:08
Странное дело, но МС5313 у меня вообще отказывается работать на оригинальном СМК64. На СМК512 работает, но с теми же проблемами в DD при попытке быстрого форматирования, что и импортный 5.25.
Придется еще и МС5311 покупать для объективности.
-
? MM@ - 02.02.2014 16:38
Если на ВП1-128 ( исправный ) 5313 не работает - дело исключительно в скорости перемещения головки.
Для наглядности надо сделать этот параметр - 20 миллисекунд ( 50 герц ). Или вообще перейти к стандартным для 6022 50 миллисекундам - 20 герц.
*
Для исключения всевозможных кривотолков необходимо проверить дисководы на классическом блоке КНГМД с РЕ2-326 с БК11М-4 мгц .
Если там заработают с ОС RT-11 В1.01 - т.е. самой первой из комплекта поставки конца 1990 г. ( я выкладывал как дискетку к блоку ВМ3А ) - тогда надо копать в программном направлении. Тайминги в драйвере там используются - для 6022 на 4 мгц БК11М .( В моей дискетке в первом варианте был нерабочий LD.SYS - его надо заменить на рабочий с любой другой RT-11 , или просто удалить ).
*
Так же обращаю внимание экспериментаторов, что всякая левота ОС ( самописательная ) не работает уже на 6 мгц с дискетами и большинством дисководов 3.5" .
-
? Hakuna@ - 03.02.2014 15:42
По совету с форума Полигона призраков, прошу здесь помощи в оживлении SMK64.
Был куплен год назад, но сборки дождался только сейчас.
Компьютер БК 0010.01 1988 г Экситон. Доработок нет никаких.
Дискета 3.5 записана на ПЦ (несколько штук). На реплике оригинального контроллера от kt315b дискета читается и ANDOS пытается запуститься (доходит до заставки)
¤
При старте с вставленной платой на экране заставка с дискетой, надписью Альтпро и т.д.
Но обращений к дисководу вообще нет.
Пробовал S160000. Пробовал сброс с нажатой буквой дисковода. Картинка вот такая:
¤
http://akuna.org.ua/gal/displayimage.php?pid=8
¤
Дисковод ничем не моргает и не дергается.
Первоначально подозрение пало на ВП1-128. Там же на форуме Полигона призраков ММ дал несколько интересных советов по проверке этой м/с, но поскольку там всё довольно сложно, хочется отсечь остальные варианты.
Больше всего меня смущает отсутсвие каких бы то ни было сообщений после набора s160000. С аналогичной ситуацией приходилось сталкиваться при наладке реплике оригинального контроллера и там она была связана с плохой посадкой 1801РР1 в панельке. Покачав микросхему удавалось добиться нормальной работы контроллера. При этом после набора команды выводилось сообщение о версии прошивки и т.п., а потом уже шла загрузка.
¤
Может и здесь ПЗУ подглючивает? Хотя откуда тогда выводится заставка?
¤
Нужны ли для нормальной работы SMK54 доработки самой БК-шки?
¤
Осциллографом пытался прощупать ноги микросхем. В частности обнаружил, что при загрузке контроллера (нажатии на сброс) отсутствует активность на ногах 1, 7 и 23 (линии А7, А1, А8) 556РТ5. Нормально ли это?
¤
Вот фото собранной платы. Собирал аккуратно, особых косяков не было.
http://akuna.org.ua/gal/displayimage.php?pid=10
http://akuna.org.ua/gal/displayimage.php?pid=9
-
? Alnik - 03.02.2014 20:40
А на 10-ке разве не S1000 нужно набирать?
-
? gid@ - 03.02.2014 21:54
На БК10 средства отладки и диагностики находятся в блоке МСТД, который конфликтует с СМК, так что можно сказать, что их совсем нет.
Необходимо проверить целостность ПЗУ, посчитав её контрольную сумму. На БК11М это делается прямо из монитора, а на БК10 придётся использовать магнитофон (или линейный выход звуковой карты РС), чтобы загрузить в БК10 программу подсчёта кС и вывода её на экран.
¤
Сейчас судя по скриншоту происходит прерывание по вектору 4 во время работы подпрограмм загрузки с дискеты.
А на БК10 прерывание по вектору 4 происходит во всех нештатных случаях, так что понять причину невозможно.
-
? MM@ - 03.02.2014 21:56
1.Что там с IDE - разъемом ? ( Вероятно, он не предназначен для монтажа разъема ? )
2.Осциллографом ( очень хорошо, что он есть ! ) проверить сигналы на выв. выборки дисководов ВП1-128 - 40,41 ноги( 0в. - выборка ). Проверить наличие сигнала включения мотора дисковода - выв. 37 ВП1 ( 0в. - мотор включен ), на 32 выв. ВП1 проверить наличие сигнала готовности дисковода +5в - готов. Проверить соответствие нумерации в кабеле длисковода схеме электрической принципиальной.
Если используется дисковод 3.5 ", поменять местами проводки 09 и 11 - по ходу кабеля. Проверять следует при запуске программы загрузки, т.к. рабочие уровни держаться на ВП1-128 не более 2 сек.
-
? Hakuna@ - 04.02.2014 00:01
Докладываю. Контроллер удалось запустить. Проблема оказалась с печаткой - под зеленым покрытием был непротрав шириной (вот же зараза) как раз в стандартную дорожку. в результате линия, идущая от 6-й ноги ЛН1 до 1-й ноги ЛЕ4 замыкалась с другой (с сигналом INIT ВП1-128). Поэтому сигнал на линии А1 дешифратора всегда был 0 (собственно от этой странности я и шел).
После процарапывания контроллер заработал и АНДОС загрузился.
С дискетами пока работает не очень. Читает средне. Форматирует плохо. Пишет тоже. Попробую поиграться перемычками в дисководе, да и головы ему почистить не помешает. Хотя на ПЦ этот дисковод работал отлично.
С винтом пока не экспериментировал. Но переходник есть и CF на 128 Мб тоже.
-
? MM@ - 04.02.2014 00:05
Надо поднять частоту 1801ВМ1 до 4 мгц - разница будет заметна, в т.ч. по чтению и записи.
Фотку платы БК, если можно - для осмотра редакции трассировки.
-
? Hakuna@ - 04.02.2014 00:14
Хорошо, завтра разберу и сфотографирую.
БК-шка Экситоновская 1988 год.
-
? Hakuna@ - 04.02.2014 23:36
Вот место, где было замыкание (обведено кружком)
http://akuna.org.ua/gal/displayimage.php?pid=12
¤
Плата моей БК-шки. Кондеры менялись на современные (не мной)
http://akuna.org.ua/gal/displayimage.php?pid=13
¤
Есть у меня еще одна БК, ноябрь 1991 года, из которой выкусаны конденсаторы (тоже не мной, но аккуратно). Хочу восстановить - клавиатура у ней гораздо лучше.
http://akuna.org.ua/gal/displayimage.php?pid=14
К делу она в общем-то не относится, но разобрав, с удивлением увидел, что разводка платы совершенно другая.
-
? Hakuna@ - 21.02.2014 18:22
Возникла интересная проблема с Бейсиком.
Среди образом, идущих с эмулятором Калмыкова был обнаружен BASIC64M.
В отличии от других найденных Бейсиков этот даже запускается, но после вывода приглашения виснет намертво. Успевает только пикнуть разок в ответ на нажатую клавишу.
На эмуляторе работает, хотя несколько раз тоже подвисал.
¤
Вот отчего это может быть? При запуске/загрузке хоть с дискеты, хоть с CF картина одинаковая...
¤
Может ли здесь помочь доработка с КР555ТМ2 от CD-Inc (еще не паял)? Как-то сомневаюсь, ведь на Альтеке должны ж были как-то этот Бейсик запускать перед его распространением...
¤
¤
-
? gid@ - 22.02.2014 15:34
Hakuna, у вас БК10 как я полагаю? А она доработана (если необходимо) для работы с контроллерами АльтПро?
см. http://vak.ru/doku.php/proj/bk/bk-a16tech
"MON10 - сигнал отключения ПЗУ монитора БК0010(-01) (высоким), схема отключения реализована не на всех БК (зависит от завода-изготовителя - см. ниже);"
Этот BASIC64M работает в режиме 20, когда монитор БК10 отключен и вместо него ОЗУ, туда скорее всего помещается модифицированный монитор. А если ОЗУ накладывается на монитор, то могут случаться всякие неожиданные казусы.
Доработка с КР555ТМ2 тут ни причём, она на другие вещи влияет.
И это не альтековский бейсик.
-
? Hakuna@ - 23.02.2014 00:36
Да, доработки нет. Я не уверен, что монитор тоже подменяется. В описании сказано только про возможность смены шрифтов и то, что без этой доработки шрифты менять нельзя. К тому же в составе файлов только оверлей Бейсика (24 кб), программа-загрузчик (3 кб) и документация.
Где там еще образ монитора хранить - непонятно.
Но доработать попробую - там вроде ничего сложного. Просто всё оттягивал это занятие, ибо собираюсь сменить доску на позднюю 0010.01 с мягкой клавиатурой (как на УКНЦ).
¤
¤
-
? Hakuna@ - 23.02.2014 20:06
Докладаю. Описанная доработка
===========================================
1) отсоединить от схемы вывод B1 pазъема МПИ и вывод 23 микpосхемы 1801РЕ2-017;
2) в обpазовавшийся pазpыв между выводом 23 и "общим" впаять pезистоp 1 кОм и соединить вывод 23 с контактом B1 МПИ.
===========================================
на проблему никак не повлияла.
¤
:(
-
? gid@ - 23.02.2014 20:44
Тогда я пас. Пусть дальше думают те, у кого есть БК10.
-
? Hakuna@ - 05.03.2014 21:45
Продолжаю эпопею с контроллером.
Была сделана доработка на ТМ2 в соответствии с описанием.
¤
http://akuna.org.ua/gal/displayimage.php?pid=15
¤
Результаты прохождения тестов не изменились.
¤
http://akuna.org.ua/gal/displayimage.php?pid=14
¤
Бейсик также не запускается.
Для эксперимента даже восстановил и запустил позднюю (конец 1991 года) БК-шку.
Эффект тот же, то есть нулевой :(
Можно на основании результатов теста хоть предположить, где копать дальше?
-
? gid@ - 05.03.2014 22:57
На скриншоте по второй ссылке результат правильный, именно так и должно показывать ошибку при переключении в режим 20 из режимов 100 и 0. Т.е. в результате теста наличие ошибок только в этих двух ситуациях есть верный результат.
Там есть другие этапы, тест проверки влияния битов 2 и 3 - проверяют, подключается/отключается ли ПЗУ бейсика и блокируются ли порты 177130 и 177132.
И этап перед тестом ОЗУ - проверка режимов.
Если и там всё ОК, но ничего не работает, И даже тесты ОЗУ проходят без ошибок, то нужен контрольный человек с контрольной БК10 и контрольным СМК64, который смог бы повторить неработоспособность. Предлагаю копать в следующем направлении: надо взять какой-нибудь отладчик типа Мираж или Paradise, который позволяет писать простые проги в кодах или даже на ассемблере. И писать простые программы - вручную включать режимы СМК64 и смотреть самим отладчиком же, что происходит с памятью по адресам, куда бейсик загружается.
-
? Hakuna@ - 06.03.2014 00:02
Другие тесты ошибок не показывают.
БК-шек проверил три штуки разных годов выпуска.
Контрольного человека, к сожалению, взять негде :(
¤
С отладчиком попробую повозиться, но беда в том, что с БК я раньше дела не имел, а с асмами и отладчиками общался последний раз лет 20 назад и то на Спектруме :-)=
¤
В остальном контроллер работает нормально. Грузится с CF, запускает всё, что запускается. Дискеты, правда, пишутся плохо, несмотря на турбирование, но сейчас не об этом.
¤
Кстати, до доработки контроллера тест выдавал те же самые ошибки.
-
? CD-Inc@ - 08.03.2014 18:48
проверил, всё запускается.
-
? Hakuna@ - 08.03.2014 22:25
Спасибо за информацию.
Можно уточнить, с какой сборки софта запускался Бейсик (или скинуть образ)? Так, на всякий случай - вдруг у меня все-таки битый :(
-
? Hakuna@ - 26.11.2015 14:32
Иногда для того, чтобы проблема решилась, она должна хорошо отлежаться :-)
В прошлом году я её забросил примерно на этом самом месте, т.к. бейсик, который прислал CD-Inc в точности совпадал с моим.
И вот на днях снова взялся за БК-шку, с целью победить глюк Бейсика64.
Прежде всего проверил на купленном за истекшее время программаторе все ПЗУ-хи.
РТ2 проверились без проблем, с РТ5 пришлось повозиться, но в итоге всё оказалось в норме.
Сдуваю пыль с компьютера, включаю монитор, его, загружаю АНДОС, запускаю Бейсик и...
О чудо! Он не виснет сразу! На экране появляются какие-то буковки, которые, правда, не всегда совпадают с нажатой клавишей.
Строка PRINT "priwet" выполняется.
В итоге, он, правда всё равно завис, а после пары перезагрузок глюк принял прежний вид. Однако стало ясно, что проблема не в софте.
Подозрение падает на микросхемы статического ОЗУ.
Первым делом измеряю напряжение на контроллере - 4.35 вольт, Минут через 5 доползло до 4.4.
При отключении контроллера, Бейсик из ПЗУ прекрасно работает, все клавиши обрабатываются корректно.
¤
Начинаю возиться с шинами питания: Вешаю дополнительные блокировочные конденсаторы, кидаю провода напрямую к памяти - всё без толку.
Наконец в голову приходит бредовая идея о том, что напряжение нужно не повышать, а снижать.
Беру блок питания от какого-то планшета, подключаю его к компьютеру через диод. Напряжение питания БК-шки становится 4.1 вольта. На контроллер приходит ровно 4.
Бейсик запускается, правда клавиатура работает всё так же глючно - некоторые клавиши нормально, а некоторые - нет. Причем, что удивительно, на частоте 6 МГц клавиатура работает лучше, чем на 3 МГц. Видимо, напряжения не хватает именно контроллеру клавиатуры.
¤
Убираю диод с питания БК и впаиваю его в разрыв шины питания контроллера (резал только ту шину, которая идет на микросхемы памяти).
Напряжение после диода чуть больше 4 вольт. И вот оно - счастье: Бейсик запускается, клавиатура работает, программы выполняются!
¤
В общем, я не знаю, что это за шаманство, но проблема решилась именно так.
¤
Кстати, с диском этот бейсик все-равно работает как-то неправильно. Загрузка программы работает только при первом обращении к диску. В дальнейшем выдает "ОШИБКА 5". Но хоть сохраняет без проблем.
¤
Всем спасибо за помощь. Буду рад, если кто-нибудь объяснит причины возникновения такой ситуации.
¤
¤
-
? Hakuna@ - 26.11.2015 14:32
Иногда для того, чтобы проблема решилась, она должна хорошо отлежаться :-)
В прошлом году я её забросил примерно на этом самом месте, т.к. бейсик, который прислал CD-Inc в точности совпадал с моим.
И вот на днях снова взялся за БК-шку, с целью победить глюк Бейсика64.
Прежде всего проверил на купленном за истекшее время программаторе все ПЗУ-хи.
РТ2 проверились без проблем, с РТ5 пришлось повозиться, но в итоге всё оказалось в норме.
Сдуваю пыль с компьютера, включаю монитор, его, загружаю АНДОС, запускаю Бейсик и...
О чудо! Он не виснет сразу! На экране появляются какие-то буковки, которые, правда, не всегда совпадают с нажатой клавишей.
Строка PRINT "priwet" выполняется.
В итоге, он, правда всё равно завис, а после пары перезагрузок глюк принял прежний вид. Однако стало ясно, что проблема не в софте.
Подозрение падает на микросхемы статического ОЗУ.
Первым делом измеряю напряжение на контроллере - 4.35 вольт, Минут через 5 доползло до 4.4.
При отключении контроллера, Бейсик из ПЗУ прекрасно работает, все клавиши обрабатываются корректно.
¤
Начинаю возиться с шинами питания: Вешаю дополнительные блокировочные конденсаторы, кидаю провода напрямую к памяти - всё без толку.
Наконец в голову приходит бредовая идея о том, что напряжение нужно не повышать, а снижать.
Беру блок питания от какого-то планшета, подключаю его к компьютеру через диод. Напряжение питания БК-шки становится 4.1 вольта. На контроллер приходит ровно 4.
Бейсик запускается, правда клавиатура работает всё так же глючно - некоторые клавиши нормально, а некоторые - нет. Причем, что удивительно, на частоте 6 МГц клавиатура работает лучше, чем на 3 МГц. Видимо, напряжения не хватает именно контроллеру клавиатуры.
¤
Убираю диод с питания БК и впаиваю его в разрыв шины питания контроллера (резал только ту шину, которая идет на микросхемы памяти).
Напряжение после диода чуть больше 4 вольт. И вот оно - счастье: Бейсик запускается, клавиатура работает, программы выполняются!
¤
В общем, я не знаю, что это за шаманство, но проблема решилась именно так.
¤
Кстати, с диском этот бейсик все-равно работает как-то неправильно. Загрузка программы работает только при первом обращении к диску. В дальнейшем выдает "ОШИБКА 5". Но хоть сохраняет без проблем.
¤
Всем спасибо за помощь. Буду рад, если кто-нибудь объяснит причины возникновения такой ситуации.
¤
¤
-
? Evil anonymous - 26.11.2015 14:47
Попробуйте на конт. Б22 разъема МПИ повесить конденсатор 100пф на общий.
-
? Saar@ - 01.02.2016 19:34
Есть ли отличия между блоками AXM и SMKX кроме того что первые с FDD, а вторые с HDD?
Например отличия между А64М и SMK64. Интересуют отличия только в организации и управлении ОЗУ/ПЗУ.
-
? Manwe - 20.04.2019 21:42
Подскажите, пожалуйста! Перевожу СМК-64 в режим 60. На БК-0011М. Хочу чтобы было ОЗУ по адресам 120000-160000, а с 100000 по 120000 ничего не менялось.
Копирую данные (картинку с экрана) по адресам 127000-160000.
А потом читаю эти же самые данные начиная с 127000 и делаю по ним XOR экрана.
По идее, данные в старом и новом месте одинаковые, XOR должен выдать нули. Тестировал СМК-512 - так и происходит.
Однако же на СМК-64 вылезает мусор! Но не с самого начала. Вероятно, с того места, где адреса больше 140000.
Что это может быть и как с этим бороться?
-
? Manwe - 20.04.2019 21:59
На первом скриншоте как выглядят исходные данные на экране: http://thesands.ru/bk0010/test1a.jpg
Я копирую всё это (кроме самой нижней части) начиная с адреса 127000.
Когда же достаю записанное обратно после XORа получается такое: http://thesands.ru/bk0010/test1b.jpg
Интересно, что часть битов таки совпадает с исходными и потому обращает результат в ноль - отсюда вертикальные чёрные полоски.
-
? gid - 20.04.2019 23:03
Заимейте файл "СМК. Режимы работы и распределение памяти..pdf" и держите таблицу режимов всегда перед собой
В режиме 60 на БК11М отключаются ПЗУ монитора по адресу 140000 и ОЗУ из окна 1.
Но ПЗУ само собой отключаться не будет. Для этого надо модифицировать БК11М. Схема модификации много где есть, обычно на образах дисков с доками на АльтПро найти можно.
На СМК-512 по схемотехническим причинам наложения ОЗУ СМК на ОЗУ/ПЗУ БК не происходит никак. ОЗУ СМК электрически перебивает всё, этим оно работает как бы лучше, но с точки зрения СМК-64 не правильно.
На оригинале СМК-64 происходит честное наложение ОЗУ СМК на ПЗУ по адресу 140000 если БК11 не модифицирована.
Что вы и наблюдаете.
-
? Manwe - 20.04.2019 23:25
Спасибо за ответ. Если я модифицирую БК ради СМК-64, это не помешает впоследствии работе с СМК-512?
-
? gid - 21.04.2019 08:51
Нет конечно.
-
? Manwe - 21.04.2019 20:27
Благодарю, всё получилось.
-
? Manwe - 22.04.2019 17:14
А вот с демкой "Good Apple" интересней. Она не работает на СМК64 и я сейчас пишу тесты чтобы выяснить в чём дело.
Оказывается, в контроллере СМК64 режим ОЗУ10 (код 120) не отключает ПЗУ со 140000 на БК0011М.
А в СМК512 отключает.
Что за странность?
-
? gid - 22.04.2019 20:21
Ничего странного, согласно таблице режимов работы контроллера СМК из файла "СМК. Режимы работы и распределение памяти..pdf" там и не должно отключаться ПЗУ со 140000 на БК0011М.
А в СМК-512 как я уже говорил, любое наложение ОЗУ СМК на ОЗУ/ПЗУ БК решается в пользу СМК. Т.е. СМК-512 с точки зрения СМК-64 работает неправильно. И как они так сделали я без понятия. Схему новодельного устройства я чё-то нигде найти не могу, хотя мне кажется, что я где-то её видел, только не придал значения. Поэтому забыл, где видел.
-
? Manwe - 23.04.2019 09:16
Действительно - исправил ОЗУ10 на ОЗУ11 и "Good Apple" заработала с СМК64. Заодно заработало и с СМК512 на разогнанной (кварц 12.288 МГц) реплике БК.
-
? imyrdream - 04.08.2019 07:34
иНТЕРЕСНО ПОЧЕМУ НИГДЕ НЕТ ОБСУЖДЕНИЯ ДЕМКИ ГУД ЭПЛ? кАКИЕ ТО СТРАННЫЕ ЛЮДИ, БУДТО НЕ ИЗ МИРА БК,ВЕДЬ БКШНИКИ ПОНИМАЮТ ЧТО ЭТО ПЕРВОЕ РЕАЛЬНОЕ ВЕЛИКОЕ ЧУДО НА ЭТОМ КОМПЕ, СПУСТЯ 30 ЛЕТ, ТАКОЕ ОСОЗНАТЬ ВООБЩЕ ПОКА НЕ ПОЛУЧАЕЬТСЯ, КАК ТАКОЕ ВОЗМОЖНО? ЧТО ЗА ТРЕХМЕРНОСТЬ, ЧТО ЗА СКОРОСТЬ ГРАФИКИ, ЧТО ЗА МУЗЫКА ПОД КОВОКС, БЕЗ ЕДИНОГО ТОРМОЗА! ЭТО ФАНТАСТИКА, Я ВСЁ НЕ МОГ ПОВЕРИТТЬ ЧТО ЭТО НА БК, ДУМАЛ ПРОСТО ВИДЕО КАКОЕ ТО, А СДЕЛАНО ГДЕТО НА БУРЖУЙСКИХ КОМПАХ, ПОДОЗРЕВАЛ ЧТО КАКАЯ ТО РЕКЛАМА СДЕЛАНАЯ НА МАКЕ,КАК ЖЕ ТАКОЕ ОСТАЛОСЬ НЕЗАМЕЧЕНЫМ У НАС? КОГДА БК ПРЕВРАТИЛСЯ В КАКУЮ ТО СУПЕРАМИГУ, ПЕРЕПЛЮНУЛ ВСЁ, ЧТО Я ВИДЕЛ НА СПЕКТРУМЕ, АТАРИ, АМИГЕ И ВСЕХ БКШНЫХ КОНКУРЕНТАХ ТОГО ВРЕМЕНИ, ЗА СЧЁТ ЧЕГО НА БК СТАЛО ВОЗМОЖНО ТАКОЕ ЧУДО НЕРЕАЛЬНОЕ? ВЕДЬ ЕСЛИ ТАКОЕ ЗАПУСТИТЬ НА РЕАЛЬНОЙ БКШКЕ,МНЕ КАЖЕТСЯ,ЧТО НА ПЕРВОМ КАДРЕ ВСЁ ОСТАНОВИТСЯ, БУДЕТ ДЕРГАТЬСЯ И ЗАВИСНЕТ) И ПОЧЕМУ ЕСЛИ ЭТО ПРАВДА И ПОЯВИЛИСЬ ТАКИЕ ВНЕЗЕМНЫЕ ВОЗМОЖНОСТИ, КОТОРЫЕ Я НЕ МОГУ ОБЬЯСНИТЬ, ТО НЕТ ПОДОБНЫХ ИГР И ДРУГИХ ДЕМОК?
-
? Григорий@ - 04.08.2019 07:46
КСТАТИ ПЛАВНОСТЬ ДВИЖЕНИЙ АНИМАЦИЯ И РАЗМЕР ТОЖЕ ШОКИРОВАЛИ, ЭТО УЖЕ НЕ БК, НЕУЗНАЮ Я СВОЙ КОМП, С КОТОРЫМ ПРОВЁЛ ВСЁ ДЕТСТВО )
- << Форум