Универсальная плата расширения
Так как большинство серийных ПЭВМ имело набор разных карт расширения, хотелось бы иметь нечто подобное и под РАДИО-86РК.
В своё время различные источники (журналы Радио или Радиолюбитель) публиковали схемы с модификацией дешифрации адреса, внося в саму схему РЛК коррективы.
Данная тема - совсем о другом...
Из личных опытов (частично проверенных на своём КР-03 в железе) было замечено:
- К580ВВ55 при чтении 8003 возвращает FE или FF (видео)
- К580ВТ57 игнорирует запись в E009-E00F (проверил с помощью ME009 и кодом 80)
- К580ВГ75 игнорирует запись в C000 без предварительной команды в C001
Первые два пункта я проверил более-менее (видимо в ВТ57 стоит нечто типа К155ИД6, который первые девять комбинаций использует; а ВВ55 нужно ещё проверить на импенданс при непредусмотренном чтении режима, можно ли сажать его ШД на "ноль" и откуда берётся "рандом" между FF и FE тогда?), а вот до записи в C000 всякого "мусора" - ещё руки не доходят (в Emu80 это просто игнорируется).
Что мы при этом получаем?
(В двоичном коде будет яснее):- 10XX_XXXX_XXXX_XX11 - 8003..BFFF на чтение до 4 Кб с шагом по 4 байта
- 110X_XXXX_XXXX_XXX0 - C000..DFFE на запись до 4 Кб с шагом по 2 байта (в эмуляторе у меня там перезаписывается знакогенератор как "вариант#2")
- 111X_XXXX_XXXX_1YYY - E009..FFFF на запись до 3.5 Кб (3584 байтов) с шагом по 16 байтов (в эмуляторе у меня там перезаписывается знакогенератор как "вариант#1")
То есть, не ломая нативную схему дешифрации того же (моего) КР-03, можно прямо в параллель ВВ55/ВТ57/ВГ75 включать свои дополнительные интерфейсы.
(Не нарушая нативной целостности архитектуры...)
Тем самым, теоретически, можно ли просто разработать под все РК-совместимые ПК универсальную плату расширения, подключаемую в параллель всей цельной (не перерезая ни одной дорожки!) схемы?
(Так как ПЗУ знакогенератора обычно на панельке, схема перезагружаемого знакогератора, вставляемая в панельку, не нарушает целостность!)
P.S.: Всё пока на уровне теории.
Универсальная плата расширения из BT-ресивера
Цитата:
Сообщение от
Ведущий_специалист
Возьмите кусок пальмиры. Там вопрос дешифрации и совместимости решен. хочешь используй 20 кб а хочешь - пользуйся адресным рк86
Это слишком сложно и не так сразу!
Пока обошёлся покупкой BlueTooth-ресивера для загрузки файлов без всяких переходников и паразитных наводок.
Например, думаю по директиве «O», «O,,F», «O,,11» и т.д., когда передаётся всего 1 байт на разных скоростях, удалённая система (хоть тот же Raspberry Pi) должна подготовиться к передачи соответствующего файла…
Например:- O / O0 / O0,0 - Запрос на загрузку основной оболочки
- O1 / O1,1 - Выбор пункта #1 в списке оболочки
- O2 / O2,2 - Выбор пункта #2 в оболочке
- и т.д.
Т.е. сначала пользователь в ручном режиме даёт директиву O, после чего сразу вводит директиву I, потом запускает по G.
После чего все эти трюки с обменом файлами будут выполняться кодом самой оболочки.
P.S.: Другими словами, на первом этапе можно обойтись платой расширения в виде BT-свистелок и сервера на Python 'е.
Отключаем железо 3D-принтера от Raspberry Pi и подключаем к РАДИО-86РК/PI
Если перерезать сигнал от вывода 10 D10 ИД7 к выводу 6 D14 ВВ55 и вывести наружу в совокупности с ША A0-A12 и ШД D0-D7 с управлением, фактически можно получить окно A000-BFFF в 8 Кб, не теряя возможности использовать D14.
Соответственно, внешнюю схему следует усилить буферами ВА86 и ИР82 или аналогичными - это элементарный момент.
Но, в "рамках импортозамещения" я тут вдруг подумал, а что особенного такого в STM32 или Raspberry Pi, что нельзя под РАДИО-86РК заиметь совместимую с привычным уже GPIO-интерфейсом?
То есть, появилась идея снабдить РАДИО-86РК, если не таким же, то подобным интерфейсом.
Так как на GPIO имеются ШИМ, UART, I2C и т.д., на плате расширения, соответственно, необходимо иметь ИМС ВВ51, ВИ53, ВВ55 и пр.
Причём, ВВ55 понадобится штуки три, так как GPIO-пины могут индивидуально программировать на ввод или вывод. Непосредственно выводить ВВ55 на них не получится.
Один ВВ55 должен работать всегда на ввод, второй - всегда на вывод, а третий - управлять ключами/оптронами.
Это - как минимум...
К тому же, помимо всех этих дополнительных интерфейсных ИМС в области A000-BFFF необходимо иметь и ПЗУ с базовым API для управления всем этим.
Конечно, Python-подобную программную среду в 8 Кб не уместишь. Но минимальные средства, думаю, можно.
P.S.: Вот какой степени сложности получается задача, чтобы, если не полностью, то максимально совместимее обеспечить GPIO-интерфейс?