User Tag List

Результаты опроса: Дорабатывать РАДИО-86РК в XXI веке

Голосовавшие
24. Вы ещё не участвовали в этом опросе
  • Дело интересное и увлекательное, когда руки прямые и паяльник горяч

    18 75.00%
  • Это всё хорошо в эмуляторах. А практически - уж слишком поздно

    4 16.67%
  • В эмуляторе это хотя бы реализовано?

    0 0%
  • Пора проснуться от ностальгии и ухватиться за все ядра современных технологий

    3 12.50%
Опрос с выбором нескольких вариантов ответа.
Показано с 1 по 10 из 29

Тема: В поисках утерянных возможностей…

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    05.03.2010
    Адрес
    Ташкент
    Сообщений
    160
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    66
    Поблагодарили
    41 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Smile Аппаратная виртуализация инструкций и портов

    Eсли вдуматься, то сама по себе «lxi sp» лишняя, так как классический код (читайте: для военной техники с повышенным требованием к стабильности и без разных сомнительных трюков) совершать предустановку указателя стека должен всегда один раз.
    Ради интереса, я и ПДП программировал через «lxi sp,0E006h + push hl»…
    Если желаете обфусцировать всё и путать хакера - это всегда пожалуйста!

    Потому я и думаю, что теоретически код «31» аппаратно можно изъять и заменить на «rst 7» куда-то. То есть, искусственно симулировать прерывание без прерывания.

    Как это должно работать…
    Логика видит на шине «M1»+«MREQ»+«READ» и код «31». Тогда схема процессору «FF» и устанавливает специальный триггер, который при следующем «M1» включит к шине ПЗУ с «макрокодом», примерно таким:
    Код:
    3138 E3      |XTHL
    3139 D5      |PUSH DE
    313A 5E      |MOV E,M
    313B 23      |INX H
    313C 56      |MOV D,M
    313D 23      |INX H
    313E 33      |INX SP
    313F 33      |INX SP
    3140 E3      |XTHL
    3141 19      |DAD DE
    3142 3B      |DCX SP
    3143 3B      |DCX SP
    3144 D1      |POP DE
    3145 C9      |RET
    Тем самым, искусственно получим команду «DAD const_16».
    Естественно, ПЗУ с таким кодом имеет объём 64 Кб и старший байт адреса обозначает код инструкции. А младший байт - подключается к шине адреса процессора.
    То есть, при считывании любого кода по «M1» ПЗУ это всегда подключено и схема следит, какой код ПЗУ возвращает.
    Если код отличен от 00, то подключается это ПЗУ до команды C9 по всему пространству.

    В прикладном режиме можно перехватить и команды «in/out» таким же образом, чтобы БСВВ получала управление и виртуализировала порты.
    Например:
    Код:
    API-вызов / виртуальный порт
    CD 03 F8 --> DB 83
    CD 12 F8 --> DB 82
    CD 1B F8 --> DB 8B
    CD 15 F8 --> D3 85
    И даже если физически портовое пространство отсутствует, как в РК, то подобными трюками приложение его может заполучить.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Радио-86РК Посмотреть сообщение
    Логика видит на шине «M1»+«MREQ»+«READ» и код «31». Тогда схема процессору «FF» и устанавливает специальный триггер, который при следующем «M1» включит к шине ПЗУ с «макрокодом»
    ...
    В прикладном режиме можно перехватить и команды «in/out» таким же образом, чтобы БСВВ получала управление и виртуализировала порты.
    Подобным образом я и хотел сделать для eZ80. Но у него нет M1.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Расширение возможностей Evo SDK
    от alone в разделе Программирование
    Ответов: 30
    Последнее: 15.07.2014, 19:43
  2. В поисках 7P3K3PH0N MYZbIKN
    от ALKO в разделе Для начинающих
    Ответов: 4
    Последнее: 03.02.2014, 12:45
  3. Ответов: 11
    Последнее: 16.11.2012, 00:28
  4. Расширение возможностей Ленинград1
    от DVS в разделе Ленинград
    Ответов: 53
    Последнее: 24.05.2009, 18:14

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •