Можно сделать удобно (на мой взгляд), но не используя дополнительных ножек ПЛИС.
Сделать так: по включению питания или сигналу /RESET (как я понимаю - надо уточнить - в этот момент порт F400 устанавливается в 0) аппаратно единократно считывать состояние клавиатуры с порта F401 (ввод с клавиатуры основного поля клавиш) и считанное значение запоминать в 8-битном регистре (аналог порта 0 в Орион-ПРО).
От состояния битов этого регистра и "плясать". При не нажатых клавишах должно считываться 0FFh - это будет твоя конфигурация по-умолчанию. Соответственно, удерживая определенные клавиши при старте/сбросе можно будет выбирать другие конфигурации.
Можно сделать его похожим по битикам на порт 0 Ориона-ПРО и выдавать его значение CPU при чтении порта 0h (по /IORQ - командой IN). Цитирую:
1=D0, 2=D1, 3=D2, и т.д.Код:После включения компьютера (или нажатия кнопки "Сброс") режимы'#13#10+ 'работы назначаются с учетом состояния DIP-переключателей SW1-SW8:'#13#10#13#10+ ' 1 - Наличие дисковода:'#13#10+ ' On - есть, Off - нет;'#13#10+ ' 2 - Наличие жесткого диска:'#13#10+ ' On - есть, Off - нет;'#13#10+ ' 3 - Тип клавиатуры:'#13#10+ ' On - MC7007 (основная клавиатура), Off - PK-86;'#13#10+ ' 4 - Рабочая страница ОЗУ для внутренней CP/M-80 из ROM2:'#13#10+ ' On - 2, Off - 1;'#13#10+ ' 5 - Наличие контроллера символьного дисплея:'#13#10+ ' On - есть, Off - нет;'#13#10+ ' 6 - Запуск внутреннего Меню после сброса:'#13#10+ ' On - есть, Off - нет;'#13#10+ ' 7 - Тип загрузки операционной системы:'#13#10+ ' On - внутренняя (ПЗУ), Off - внешняя;'#13#10+ ' 8 - Режим работы:'#13#10+ ' On - "Pro" (CP/M-80), Off - "Orion-128" (ORDOS)
Для переключения "ПЗУ с загрузкой Ордос или ПЗУ с загрузкой CP/M" используем бит D7.
Для переключения "ПЗУ в памяти ПЛИС либо внешняя ПЗУ" (если захочешь сделать такую настройку аппаратно) - D6
Ну, как идея?
UPDATE. По включению питания или /RESET ВВ55 переключит все порты на ввод, что неудобно для этого решения. Т.е. надо подумать как передавать "0" через нажатые клавиши, если порт 0F400, обычно выдающий эти нули при опросе клавиатуры, изначально в состоянии ввода, а не вывода.



Ответить с цитированием
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC

