Предистория
серия контроллеров SMK изначально спроектирован в условиях с ограниченными ресурсами и содержит некоторые неверные технические решения
одно из таких решений - это соединение 2х выходов микросхем вместе, что является допустимым только для выходов с общим коллектором (OK) или для имеющих 3 состояния (0,1, и Z-cостояние полного отключения)
В нашем случае это выход D36 - 12ая нога cм схему https://forum.maxiol.com/index.php?s=&showtopic=3714&view=findpost&p=55061
этот выход обозначен в шине номером 66 и он выведен на разъем МПИ на пин A22
повторю - это выход который РАЗРЕШАЕТ работу ПЗУ ЛВС
см https://forum.maxiol.com/index.php?showtopic=5068
иначе говоря софт который хочет включить ПЗУ в окно 100-137k должен его включить явно послав нужный бит в регистр 177716 и тогда через схему на D32.1
окно ОЗУ с адреса 100-137k будет выключено
Иначе говоря есть корректный способ отключить окно - сказав что мы включаем несуществующее ПЗУ - ПЗУ ЛВС к примеру и мы можем воткнуть туда ОЗУ к примеру - что сделано в SMK к примеру.
Но к сожалению разработчики решили сделать хитрость и зацепили выход своего регистра на А22 МПИ с целью манипулировать им напрямую!
Напомню что физический 0 это логическая 1-ца тк шина у нас инверсная. Соответственно в нормальном состоянии на выходе D36 у нас физические 1цы, с SMK может подаваться физический ноль, который "перетягивает" на себя сигнал и схема отключения ОЗУ думает что мы включили ПЗУ через 177716 (!)
Сразу возникает вопрос - а микросхемы могут сгореть от такого включения ? в данном случае они скорее всего не сгорят [по крайней мере, такие случаи с БК-0011М нигде не описаны], но конечно они будут греться ибо одна микросхема тянет в 1 а другая в 0. Очевидно, что это в принципе неверное схемотехническое решение.
Путь тока показан на рисунке - это типовой этемент ТТЛШ (тот самый что стоит в D36)
ток соответственно ограничивается резистором и потому элемент не сгорает
Правильно сначала записать код отключения ПЗУ в 177716 а уже потом через SMK или другой контроллер, подключать страницы памяти и в этом случае оба выхода будут в 0 и не будут конфликтовать.
Проблема также была описана https://zx-pk.ru/threads/32102-az-dlya-bk-0011m.html?p=1122147&viewfull=1#post1122147
Доработка AZБК
Однако не все так просто, так как программисты в принципе не знали о такой хитрости разработчиков SMK, существует множество программ которые эксплуатируют эту особенность и отключают страницу 1 памяти БК-0011М через установку режима средствами SMK минуя его API
Соответственно для поддержки этого режима в AZ была добавлена возможность имитировать поведение SMK и перетягивание 1 в 0.
Так как AZ изначально проектировался без знаний о таких приколах [мне даже в голову не могло придти что кто-то будет перетягивать выходы], то управление окном через A22 изначально не разведенo на плате. Однако это легко поправить
На нижней плате AZБК надо отпаять резистор R14 и припаять проводок от ноги ПЛИС к левой [на фото] площадке где был резистор:
общий вид
более детально
Рекомендуется прочитать вот этот FAQ https://forum.maxiol.com/index.php?s=&showtopic=5601&view=findpost&p=57150
Русская версия Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)