Просмотр полной версии : Высший разум, или кривые руки
Здравствуйте уважаемые форумчане. Собрал рк на новой уменьшенной плате. Подключил клавиатуру от Каро. Уже неделю бьюсь, над данным дефектом. Есть все приборы, двухканальный осциллограф, 8 каналов логический анализатор, но лыжи не едут. Скрин проблемы прилагаю. Также зависает на диррективе Х, и I. Понимаю, что проблема в какойто линии адреса, но не могу пока определить.
hitomi2500
03.06.2020, 10:23
Если монитор в принципе работает, это уже говорит о том, что с данными и младшими адресами самими по себе скорее всего всё хорошо. Вероятно проблема в ОЗУ - либо действительно до ОЗУ не доходит адрес или что-то ещё, либо сама память битая. Если вы дадите ссылку на схему, можно будет попробовать уточнить. По "классической" схеме нужно проверять ОЗУ, которая отвечает за бит D1.
При работе Монитор использует ОЗУ (стэк, системные переменные), если бы оно всё было неисправное, то скорее всего вместо приглашения Монитора был бы "мусор".
Возможно ПЗУ битое, или плавающие биты. Если есть возможность, поменять ПЗУ.
Недавно столкнулся с проблемой, когда загружал проги с адреса 0000, то часть инфы портилась. При этом комп с виду работал нормально и директивы исполнял. Оказался обрыв в одной линии адреса на РУ6 из младшей страницы...
Это для Микроши...
Спасибо за ответы. РК собран по схеме переделанной на к565ру5 32 кило. Вроде все как по классике остальное. Самое обидное, сначала все микросхемы впаял. Потом выпаял пзу и поставил в панель. В процессе наладки и запуска поменял проц вм80, прчемуто перебирал все адреса без реакции на команду jmp.. Пзу считывал и сравнивал с несколькими дампами мониторов найденных на форуме, все сходится до байта. По поводу озу была мысля на битость, но осцилом ничего подозрительного не увидел.
- - - Добавлено - - -
И забыл признаться. До этого скрина, где адрес превращается в 0200 и тд, было всегда 0300. И если ввести М11, то выведет адресс 3311. И больше 2х цифр не дает ввести. Если написать М111, то выдает вопрос.
hitomi2500
03.06.2020, 18:28
Команды F и D работают? Покажите результат например вот такой пары команд:
F,100,FF
D,100
Эти команды работают. Но 3 цифрв ввести нельзя. D, 11 выводит дамп от 0 до 3311. Команда F, 11,00 заполняет память от 0 до 3311. Если написать D, 1 то выведет дамп от 0 до 0301.
До этого скрина, где адрес превращается в 0200 и тд, было всегда 0300. И если ввести М11, то выведет адресс 3311. И больше 2х цифр не дает ввести. Если написать М111, то выдает вопрос.
АчтО изменилось, что 0200 в 0300 превратилось ?
я так со своей колокольни думаю, что команды монитора сперва пишуЦЦа в текстовый буфер, и по Ентеру оттеда забираются, парсяЦЦа, и исполняются.
чтобы при команде "М" выводило верно, а при "М1" выдавало 301, надо чтобы 0-й бит адресной шины залип сразу с 8 и 9 битом адреса, тогда да, выдаст 1100000001. но раз экран выдает верно, и надпись и прочее - тогда очень странно.
Я бы попробовал залить в ПЗУ Монитор16, это проще и нагляднее, и посмотреть с ним этот же фокус.
Еще бы я скомпилил Монитор4 или даже 2, чтобы вообще отсечь верхние адреса, это если проблема с памятию.
Ну или длинный вариант - залить тест32 и анализатором тогда уж
OrionExt
04.06.2020, 15:24
Все сложно. Нид быть уверенным в стабильном интерфейсе памяти. Потом. На моей памяти - это глитч. Каламбур. Его так просто не изловить. Надо думать. А думать мне лень, как и любому отписавшемуся тут.
hitomi2500
04.06.2020, 15:37
Есть две маловероятные гипотезы - это дырка в памяти, ровно в том месте, где монитор хранит остаток команды, и дырка в ПЗУ, где эта команда обрабатывается. Вторая вроде бы проверялась (хотя не исключено, что ПЗУ исправное, а проблема происходит при чтении, надо ловить анализатором), первую тоже можно проверить.
Монитор поддерживает произвольное (пока буфера хватит) число пробелов после команды и до аргументов. Если после M вставить один пробел, ничего не изменится? А если 10?
OrionExt
04.06.2020, 15:41
С чего бы начал. Написал микро тест (работающий из ПЗУ) памяти для минимальной функциональности системы. Такая штука работает в MSX.
дырка в памяти, ровно в том месте, где монитор хранит остаток команды, и дырка в ПЗУ, где эта команда обрабатывается.
вот поэтмуу я и предлагаю мон16, системные переменные сместятся с 76хх на 36хх, это самое простое, что можно проверить.
OrionExt
04.06.2020, 16:47
ЫЫЫ. Последоватили стыренного терминала из рекламной рассылки Intell в 75г. (где-то так) на одной страничке не исправимы.
hitomi2500
04.06.2020, 16:50
В Апогее такой тест есть в дополнительном ПЗУ. Где-то на форуме проскакивала информация, что если поменять в Апогее ПЗУшки, то тест запустится сразу. Я попробовал в эмуляторе, на Апогее реально заработало, а при втыкании этого дополнительного рома в РК-86 вместо основного ничего хорошего не вышло. Видимо есть завязки.
В принципе такой тест написать недолго. В данном случае видео работает, можно результаты сразу на экран выводить.
OrionExt
04.06.2020, 17:06
Вырулить на конструктов не получилось. Жаль. Даже в таком простом вопросе.
Serg6845
04.06.2020, 19:41
Здравствуйте уважаемые форумчане. Собрал рк на новой уменьшенной плате. Подключил клавиатуру от Каро. Уже неделю бьюсь, над данным дефектом. Есть все приборы, двухканальный осциллограф, 8 каналов логический анализатор, но лыжи не едут. Скрин проблемы прилагаю. Также зависает на диррективе Х, и I. Понимаю, что проблема в какойто линии адреса, но не могу пока определить.
я бы грешил на ПЗУ или процессор...
Спасибо за ответы. Уже буду прошивать на монитор16. Уже думаю на 12 бит адреса(чисто мое мнение). Потом замена вм80. Заливка теста, и перебирание всех адресов, мазохисткий метод, но для людей старой закалки, как говорится, при домашнем режиме, чем бы еще занятся. Сборка компьютера заняла пару часов, но он полюбил меня с первого включения, и любит до сих пор:v2_dizzy_vodka2:3.
- - - Добавлено - - -
Самое интресное, директива Х при наборе не работает. Но если ее написать с 0 адреса, то все норм. Грешу на 3ю четверку бит 12,11,10,9. Как раз где переменные стека и прочей лабуды.Если заработает монитор16, то сьо процентов эта четверка барагозит.
- - - Добавлено - - -
По поводу анализатора, то он на 8 каналов, нихрена толком им в рк не просмотриш. Максимум, что проанализировал, так это обращение к вв55. Увидел, что выборка микросхемы иногда происходит впустую,без чтения или записи. Подключил анализатор на rd, wr, и cs.
Есть подвижки в решении проблемы. 16к монитор работает прекрасно, даже подгрузил игры. Как бы все указывает на память. Но, у меня стоят ру5, и на плате есть перемычка, которой я могу выбрать верхнюю или нижнюю половинку памяти. В обоих половинках работает норм. Соответственно версия 32к глючит одинаково в обоих половинках тоже. Буду рыть ближе к мультиплексорам, кажется я на верном пути
16к монитор работает прекрасно, даже подгрузил игры.
Ну этого для проверки должно вполне хватить.
16к монитор он чисто монитор, ничего более, просто работает в первых 16к, но при этом должен без особых проблем работать и со следующими 16к. Вот и пробуй директивами в верхнюю память записывать и считывать, ну и делать выводы. Можно и картинки делать, мы то жи посмОтрим. Ну и все же дамп 32к монитора слитый с твей ROM - залей сюда, то жи на него посмотрим, даже если он самый обычный. Может служебные невтуда адресует.
Всем спасибо, запустил наконец ркшку. Проблема оказалась в плавающем бите самой пзу.перепрошивка пзу помогла.
Проблема оказалась в плавающем бите самой пзу
Вот, как знал! :)
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot