Вот ссылка на заметку, а обсуждать будем в этой теме. Если, конечно, будет что обсуждать.
Вид для печати
Вот ссылка на заметку, а обсуждать будем в этой теме. Если, конечно, будет что обсуждать.
Может кто-нибудь прояснить, что за МОНИТОР-4 используется в Сябре? Загрузчик там стандартный Зверковский со снятым ограничение на ввод символов + стек поднят максимально высоко. Но сам Монитор занимает две с лишним микросхемы ПЗУ по 2кб, при этом он не содержит дополнительного знакогенератора, текста и т.д. Либо это чистый код, либо сжатые данные - я ещё не лазил в дизассемблер. Итого, вместе с Загрузчиком задействуются аж 4 микросхемы, при этом последняя микросхема почти пустая.
Мало того, что не осталось свободного места, так ещё моё решение по внедрению QWERTY подразумевает выравнивание по 256, то есть адрес, с которого решение может работать, должен заканчиваться на 0x00. Стало быть с этим Монитором его можно использовать только загрузив в ОЗУ. Но и там получается ерунда. Похоже, что Монитор пытается сам корректировать вводимые знаки. Это отчётливо видно по нажатым цифрам с шифтом:
https://pic.maxiol.com/images2/17601...84.screeen.png
Может кто-то знает что это за Монитор такой, и в чём его плюсы? Подозреваю, что руку к нему приложил HardWareMan, так как на Сябре в режиме MX2 в нём по "U" запускается SD по схеме Алексея Морозова, а по "X" осуществляется переход в режим MX.
P.S. Увидел в коде стринг SDOS_V8D.
самый обычный монитор, занимает в минимальном варианте ровно 2к. но при этом проверяет адрес D000 - если там FE - то думает что есть расширенный набор команд и дает их использовать.
доп. команды заточены именно под МХ2, они подгружают нужный софт из ромдиска и запускают его.
ну и надо помнить что на МХ2 (и Сябре) монитор работает из ОЗУ, куда при старте копируется. в ПЗУ все для стандартного режима лежит в 0000-7FFF, дальше софт для режима МХ2. софты там просто лежат по фиксированным адресам, для работы копируются в ОЗУ. дизассемблировать нужно с адреса D000, там сами запуски софта. ну и ПЗУ с 0000 - там начальный загрузчик. все это дело несложно пересобрать для себя.
не вникал, надо дизасм на него натравить...Цитата:
Похоже, что Монитор пытается сам корректировать вводимые знаки.
он в ПЗУ есть, правда неясно под какой конфиг и какие адреса собран...Цитата:
P.S. Увидел в коде стринг SDOS_V8D.
Так оно и оказалось! Пробежался по нему дизассемблером. Вот все отличия:
С873 - Проверка X c переходом на C8D6 заменена на проверку СТР с переходом на С839
С8АА - Переход после опроса всех директив заменён с CE14 на C8F1
C8D6 - здесь замена старого обработчика директивы X
C9BD - замена CALL CE1D на CALL C8D6 (бывшая директива X)
CD57 - как в журнале, но именно это место корректирует ввод. В имеющем хождении Мониторе это место обнулено.
CF53 - замена надписи "* МОНИТОР ? " на " МОНИТОР-4: "
CFD6 - вместо текста с именами регистров для директивы X помещена подпрограмма опросу директивы Q и конец всех опросов. По нажатию записывает 3C28 в ячейки 8FFE и 8FFF, и выводит надпись NORMAL. После проверки Q проверяет байт по адресу D000. Если там FE, то переходит на D000. В текущей прошивке Сбяра с адреса D000 находится SDOS.
Собрал себе прошивку для ЛИКа. Занимает 4 микросхемы по ПЗУ по 2 кб. Годится и для любого стандартного Специалиста.
- Раскладка QWERTY/ЙЦУКЕН (сброс + НР = старое поведение)
- Есть глушилка ВИ53 по схеме SP580.
- Интегрирован SD Starter от vinxru, вызывается по директиве "U" Монитора.
Подготовил "наклейки" для ЛИКа. Тут пользователи ЛИКа не замечены, тем не менее поделюсь шаблоном. Скачиваете PDF, распечатываете в 100% масштабе, вырезаете, подкладываете под плёнку. Должно получится вот так:
https://pic.maxiol.com/thumbs2/17607...1018125749.jpg