AZБК в режиме эмуляции SMK-512 |
Здравствуйте, гость ( Вход | Регистрация )
AZБК в режиме эмуляции SMK-512 |
SuperMax |
11.6.2022, 17:48
Сообщение
#1
|
Администратор Группа: Root Admin Сообщений: 6 300 Регистрация: 7.1.2006 Из: Красноярск Пользователь №: 1 |
Предистория
серия контроллеров SMK изначально спроектирован в условиях с ограниченными ресурсами и содержит некоторые неверные технические решения одно из таких решений - это соединение 2х выходов микросхем вместе, что является допустимым только для выходов с общим коллектором (OK) или для имеющих 3 состояния (0,1, и Z-cостояние полного отключения) В нашем случае это выход D36 - 12ая нога cм схему БК-0011М этот выход обозначен в шине номером 66 и он выведен на разъем МПИ на пин A22 повторю - это выход который РАЗРЕШАЕТ работу ПЗУ ЛВС см документация иначе говоря софт который хочет включить ПЗУ в окно 100-137k должен его включить явно послав нужный бит в регистр 177716 и тогда через схему на D32.1 окно ОЗУ с адреса 100-137k будет выключено Иначе говоря есть корректный способ отключить окно - сказав что мы включаем несуществующее ПЗУ - ПЗУ ЛВС к примеру и мы можем воткнуть туда ОЗУ к примеру - что сделано в SMK к примеру. Но к сожалению разработчики решили сделать хитрость и зацепили выход своего регистра на А22 МПИ с целью манипулировать им напрямую! Напомню что физический 0 это логическая 1-ца тк шина у нас инверсная. Соответственно в нормальном состоянии на выходе D36 у нас физические 1цы, с SMK может подаваться физический ноль, который "перетягивает" на себя сигнал и схема отключения ОЗУ думает что мы включили ПЗУ через 177716 (!) Сразу возникает вопрос - а микросхемы могут сгореть от такого включения ? в данном случае они скорее всего не сгорят [по крайней мере, такие случаи с БК-0011М нигде не описаны], но конечно они будут греться ибо одна микросхема тянет в 1 а другая в 0. Очевидно, что это в принципе неверное схемотехническое решение. Путь тока показан на рисунке - это типовой этемент ТТЛШ (тот самый что стоит в D36) ток соответственно ограничивается резистором и потому элемент не сгорает Правильно сначала записать код отключения ПЗУ в 177716 а уже потом через SMK или другой контроллер, подключать страницы памяти и в этом случае оба выхода будут в 0 и не будут конфликтовать. Проблема также была описана тут -------------------- Живы будем - Не помрем !
|
SuperMax |
11.6.2022, 17:57
Сообщение
#2
|
Администратор Группа: Root Admin Сообщений: 6 300 Регистрация: 7.1.2006 Из: Красноярск Пользователь №: 1 |
Доработка AZБК
Однако не все так просто, так как программисты в принципе не знали о такой хитрости разработчиков SMK, существует множество программ которые эксплуатируют эту особенность и отключают страницу 1 памяти БК-0011М через установку режима средствами SMK минуя его API Соответственно для поддержки этого режима в AZ была добавлена возможность имитировать поведение SMK и перетягивание 1 в 0. Так как AZ изначально проектировался без знаний о таких приколах [мне даже в голову не могло придти что кто-то будет перетягивать выходы], то управление окном через A22 изначально не разведенo на плате. Однако это легко поправить На нижней плате AZБК надо отпаять резистор R14 и припаять проводок от ноги ПЛИС к левой [на фото] площадке где был резистор: общий вид более детально -------------------- Живы будем - Не помрем !
|
SuperMax |
15.4.2024, 17:54
Сообщение
#3
|
Администратор Группа: Root Admin Сообщений: 6 300 Регистрация: 7.1.2006 Из: Красноярск Пользователь №: 1 |
Рекомендуется прочитать вот этот FAQ https://forum.maxiol.com/index.php?s=&showt...indpost&p=57150
-------------------- Живы будем - Не помрем !
|
Текстовая версия | Сейчас: 11.11.2024, 1:07 |