Вариант на 64 Кб
Как известно, в подавляющем большинстве Микро-ЭВМ адресация до того проста, что 64 Кб ОЗУ доступны лишь частично:Чисто ради экспериментальных размышлений тут подумалось, а что, если…
- ZX-Spectrum/48Kb: 0000…3FFF всегда отдаются под ROM, что после загрузки любой игры просто остаётся в памяти как рудимент (большинство игр само выводит текст любым собственным шрифтом, играет музыку собственными алгоритмами и т.д.)
- Орион-128: F400…F7FF - 1 Кб УВВ; F800…FFFF - 2 Кб ПЗУ (адресация ОЗУ только 61 Кб на страницу)
Конкретно в РАДИО-86РК ввести поддержку 64 Кб ОЗУ…
То есть, включать ИД7 с адресацией ВВ55/ВГ75/ВТ57/РФ2 только в том случае, если счётчик команд процессора PC>8000, чтобы только код Монитора и КНГМД мог видеть все УВВ РЛК.
Соответственно, когда счётчик команд PC<8000, приложению открываются все 64 Кб (65336 байтов) ОЗУ для чтения и записи! Ограничение лишь в том, что сам код приложения не может выполняться за границей 8000.
В то же время, при любом CALL на E001 или F803…F86C управление получит привычный код.
В рамках теоретической мелкой доработки исходной схемы РАДИО-86РК я слегка перерисовал схему:Как практик, не пока не очень силён и нету уверенности, верно ли я всё набросал.
- У ТМ2 выводы 2 и 3 отрываем от земли
- Вывод 36 ВМ80 подаём на вывод 2 ТМ2, чтобы триггер хранил флаг режима адресации «РК»/«64 Кб»
- На вывод 3 ТМ2 через элемент 3И (или три диода+резистор) подаём сигналы Ф2TTL ГФ24 вывод 6 и сигналы M1 и STB процессора с выводов 4 и 19 соответственно
- На элементах D10.1 и D10.4 собираем RS-триггер для выполнения функции вместо ТМ2 - принудительная выборка ПЗУ после сигнала Сброс
По плану, после Сброса D-триггер ТМ2 и RS-триггер D10.1/D10.4 обнуляются, элемент D10.1 принудительно выбирает ПЗУ, чтобы процессор с адреса 0000 прочёл инструкцию JMP F836, которая активирует в машинном слове статуса бит D5 цикла M1 и по стробу Ф2TTL и SYNC процессора загрузит бит "1" адреса A15 в ТМ2, который разрешит работу дешифратора адреса ИД7.
А вот при переходе на адрес 0000…7FFF по G0 циклом M1 процессор занесёт в ТМ2 бит "0" адреса A15 и дешифратор ИД7 отключится.
Естественно при отключении ИД7 необходимо к процессору подключать полный банк ОЗУ, чтобы пользовательский код имел все 64 Кб памяти.
В варианте РЛК с 16 Кб ОЗУ практически ничего не изменится.
Вывод 4 ТМ2 перемычкой «16 / 64» связан с выводом 2 D10.1 чтобы обеспечить полную обратную совместимость: Всё будет как прежде.
(Владельцы 16 Кб практически не заметят разницы.)
Если же перемычку «16 / 64» удалить (и резистором подтянуть вывод 4 ТМ2 к напряжению +5 Вольт), то для пользователя верхняя половина 8000…FFFF со всеми ВВ55/ВТ57/ВГ75 окажется вне доступа, так как там должен разместиться дополнительный банк ОЗУ. А ПЗУ E000…FFFF будет доступны только при обращениях к ним посредством команд CALL/JMP/PCHL/RET.
P.S.: Ниже - набросок схемы, которая теоретически должна обеспечить работу режима в 64 Кб.
Именно набросок, так как в работоспособности я не уверен.
Как и оригинальной схеме РЛК "Специалист", дополнительные ИМС ОЗУ можно подключить параллельно имеющимся (добавить ещё 24 ИМС РУ3), управлять которыми должен дополнительный ИД7, вывод 6 которого управляется с вывода 6 ТМ2.




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