Так а что там сделано? Я вижу, что там D55,D60 смотрят выходами прямо в шину данных процессора. Как я могу такое изобразить, сидя на ВУ?
Вид для печати
Это схемное решение Вектора 06Ц. Там при чтении из портов с адресом ниже 10h шина данных отключается от ВУ. И к процессору остаются подключенными только ВИ53 и два ВВ55-ых.
- - - Добавлено - - -
Вот интересно, что за анализ кода делается, для того чтобы принять решение, на изменение номера порта в коде программы?Цитата:
Сообщение от svofski
Не думаю, что достаточно поиска "in 0Fh" или "in 0Eh". Ведь аналогичная последовательность HEX-кодов может встретиться в картинках, и хорошо если они не сжаты в scr, тогда при распаковке получим полный бардак...
KTSerg, вручную разумеется.
Есть еще способ. Вынюхать инструкции in можно, слушая шину. А потом, зная где они, подмахивать коды порта. Это технически выполнимо, интересно, но чуть чуть лихо для столь молодого проекта.
Глянул схемы Вектора. Схемное решение, судя по всему, не позволяет отключить штатное ПЗУ используя внешний сигнал БЛК (с разъёма "ВУ").
Облом-с.
Действительно, только если на шине "ВУ" отслеживать последовательное нажатие ВВОД и СБРОС, а потом блокировать ОЗУ и подменять его внешней памятью, где сидит подставной загрузчик. Но загрузчику нужно уметь закончить свою работу и отключить подмену памяти... тут любой существующий загрузчик не подойдёт...
На ВУ выведены ВВОД СИСТЕМЫ и СБРОС СИСТЕМЫ, так что теоретически их можно вдавить.
Только сейчас пришла в голову "крамольная мысля"...
В "штатном" загрузчике есть загрузка с "внешней ПЗУ" висящей на адресах F0h-F3h ... Значит эти адреса были "зарезервированы" для ВВ55 посаженной на шину "ВУ" ...
Что мешает перевесить джойстик с "ПУ" на "ВУ" ? (не беря во внимание необходимость замены номеров портов в софте)...
KTSerg, так у меня сейчас вот так и сделано. На ВУ на портах 2e,2f.
svofski, ты же кроме ВУшных 0E,0F->2E,2F еще и ПУшные джойстики тоже переводил 07->27, или это было только в промежуточной версии, а потом убрал?