Нa многих форумах я нарываюсь на критику со стороны, мол никак за пределы архитектуры «РАДИО-86РК», когда были ещё и «Специалист», и «Орион», и «ZX-Spectrum», и даже «IBM-PC/XT»…
Однако, если глубоко вдуматься, то именно в РК заложен больший нереализованный потенциал.
И это меня очень сильно привлекает.
Давайте по порядку…
ПДП
У ПДП используется всего 1 канал, а остальные 3 навеки заземлены, хотя их можно было бы использовать.
Так, если «Специалист» специально тормозился сигналом «WAIT» от контроллера НГМД, так как особенности архитектуры и жёсткая привязка к тактам не давала никакого шанса на вариации. То с помощью ПДП всё это можно было бы реализовать и без ВГ93…
Если хорошенечко постараться, то и ввод с магнитофона можно было бы реализовать аппаратно.
Даже опрос клавиатуры можно реализовать через ПДП, так как ВГ75 циклически только и запрашивает данные со всех адресов.
Однако, в РАДИО-86РК лишь вывод «INTA» использован нетрадиционно. А в остальном - обычные типовые решения…
ПДП+ВГ75
Редчайший случай, но были игровые программы, которые загружались с ленты без гашения экрана, так как ПДП программировался на более короткие циклы и не мешал процессору.
Конечно, у меня нет этой программы, так как на неё наткнулся один товарищ…
Это говорит в пользу того, что ПДП - не зло, вопреки как, в частности - я, воспринимали его в своё время.
Цикл M1: 48 Кб
Теоретически, адресное пространство РК можно существенно расширить при помощи сигнала «M1»…
Например, по сигналу «СБРОС» включается классическая адресация 16/32 Кб через D11/D13.
Однако по адресам 8000…BFFF располагается дополнительное ОЗУ доступное только на запись, так как D14/D20 никуда пока не делись.
Чтобы это ОЗУ стало доступным, достаточно прочитать команду в адресном диапазоне 8000…BFFF, что из-за недопустимого сигнала «M1» отключит D11, а D14/D20 переместятся на другие адреса и пространство ОЗУ расширится до 48 Кб. Естественно, само ПЗУ с классической программой «МОНИТОР» тоже переключается на более расширенный аналог…
При этом, наряду с остальными схемами, никакие биты ВВ55 программировать не нужно для переключения адресации. Она переключается только по «M1» один раз до очередного сигнала «СБРОС»…
Цикл M1: Префиксы
Да, в отличии от Z80, ВМ80 не имеет префиксов. Однако, с помощью ЛА2 и «M1» можно поймать момент чтения команды «mov a,a» и аппаратно превратить её в префикс установкой специального триггера…
Тогда, когда следующая команда «mov m,a»/«mov a,m» будет писать/читать данные уже без «M1», можно подставить другую страницу памяти и сбросить тот триггер…
Цикл M1: 64 Кб
Естественно, как уже очевидно, можно расширить адресное пространство ОЗУ до полных 64 Кб, а через префиксы подставлять «классическое пространство» со всеми D14/D20, ВГ75 и ПДП…
При этом, адреса «E000…FFFF» можно читать и писать, но нельзя исполнять, так как это временно выключить режим 64 Кб и включит режим 48 Кб, чтобы выполнить подпрограмму ПЗУ. При этом, после «RET» управление передастся на более нижние адреса и включится снова режим 64 Кб…
То есть, нижние 32 Кб присутствуют всегда. Режим 48 Кб включается по «jmp/call 8000…BFFF». А полные 64 Кб имеют ещё более хитрую схему переключения…
P.S.: Есть ещё много разных набросков…




Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
