User Tag List

Показано с 1 по 10 из 225

Тема: Специалист. Ваши мысли?

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

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

    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пере адресация из темы "Игра Элитэ на КР580".

    Цитата Сообщение от zx_
    Подумалось ночью, можно прерывания включать и выключать как внешнее устройство. По сбросу прерывания по КСИ выключены. Адресовать к примеру, как таймер в SP580. По адресу обратился - включил прерывания. У ИД7 там вроде свободные выходы оставались. Тогда совместимость сохранится и прерывания будут по потребности
    Совсем не ясно о чём тут.

    Не знаю, что имелось ввиду, но запрет прохождения импульсов 50 ГЦ на вход INT использован в Z80CARD-I и -II для ОРИОНА. Там это просто необходимость, т.к все программы ОРИОНА скворчат через выход INTE.

    В СПЕЦИАЛИСТЕ такой проблемы нет. Это сам того не желая, подтвердил В.Медведков, который использовал выход INTE в качестве сигнала начальный пуск, который по сбросу принудительно включает ПЗУ на всё адресное пространство (т.к у КР580, в отличие от моторолловских CPU и производного от них 6502, адрес старта с 0, а не из вершины памяти, где обычно и ставят ПЗУ).

    Если бы команды EI/DI были в программах СПЕЦИАЛИСТА, то такая доработка сразу бы это выявила, т.к был бы улёт, когда вдруг по EI всё ОЗУ исчезло. Надеюсь В.Медведков проверил все программы на работоспособность с его дурацкой доработкой. DI/EI могут встретиться только в недоадаптациях от РК86. В случае, если конвертатор (конвертовщик) не до конца сделал свою работу и не до конца переделал звук по INTE. Таких программ, если и есть, то, во-первых, единицы, а во-вторых, проще потратить 2 минуты, чтобы найти и забить коды DI/EI, чем надрываться и ставить узел запрета прохождения 50-ти Герц на вход INT.

    Уже не надо волноваться из-за этого. Выяснилось, что конвертаторам "Элитэ" прерывания не нужны и они сдуру добровольно от них отказались. Прерывания могут понадобиться, если кто-то возьмётся конвертировать другую ZX-игру, где прерывания нужны. А пока это не актуально. Себе я прерывания поставлю, они могут пригодиться для прослушивания Моцарта на ВИ53, но этим я смогу заняться не раньше, чем через несколько недель. А остальным пользователя СПЕЦИАЛИСТА прерывания пока не нужны и даром.

    Скрытый текст


    Но попытка понять о чём был пост, заставила меня вспомнить, как сделано управление железом в Apple-II. Понятно, что самый тупой лобовой вариант формирования сигналов управления, это поставить регистр на вывод в шину данных. Это традиционный путь. Но он имеет ряд недостатков. Во-первых, в машине без буферов это плохо, т.к нагружает шину данных одним TTL-входом. Во-вторых, управление режимом обычно однобитовое и ставить целый регистр невыгодно, а если в одном регистре объединить разные управления, то это неудобно программно (или же надо иметь возможность читать системный регистр).

    Поэтому Стив Возняк, который был очень изобретательным, использовал в Apple-II, так называемые программные ключи. Суть этого в том, что чтобы не нагружать шину данных, управление делается не битами с шины данных, а чип-селектами в области В/У (в Apple это область C000). Ставится RS-триггер (на ТМ2 или из двух вентилей И-НЕ) и, например, на R-вход заводится чип-селект F800, а на S-вход чип-селект F801. Тогда по записи по адресу F801 тригер установится в 1, а по записи в F800 сбросится. Это же получается, если использовать D-триггер и на его вход C подать чип-селект, а на вход D адрес A0.

    Вот таким образом в Apple-II и сделано всё управление режимами, аналоговым джойстиком и другими устройствами. Эта же идея используется и в периферийных платах. Достоинство, - шина данных никак не нагружается, а управление побитовое. А т.к в СПЕЦИАЛИСТЕ невыгодно нагружать шину, чтобы оставался ресурс нагрузочной способности для подключения периферийных плат, то также выгодно все переключения режимов делать RS-триггерами.

    Используя вышеизложенное, при желании, можно просто блокировать импульсы на входе INT с помощью двух вентилей из ЛА3, иcпользуя сигналы с двух выходов дешифратора ИД7. Выход RS-триггера на ЛА3 просто через диод коротит вход INT КР580 и импульсы 50 ГЦ не пройдут. Управление появится, а нагрузки шины не будет.
    [свернуть]
    Последний раз редактировалось barsik; 20.12.2017 в 13:55.

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

  3. #2
    zx_
    Гость

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Совсем не ясно о чём тут.
    что неясного? использовать порт для включения-выключения прерываний, для 100 % совместимости.

    для адресации порта прерываний использовать ИД7 от проекта SP580
    тем более, вы собираетесь писать музыку под ВИ53


    Цитата Сообщение от barsik Посмотреть сообщение
    Выяснилось, что конвертаторам "Элитэ" прерывания не нужны и они сдуру добровольно от них отказались.
    не думаю, это вслух сказано небыло
    да и прерывания в эмуляторе автор EMU80 обещал только к НГ

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

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

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

Похожие темы

  1. Мысли о памяти
    от SfS в разделе Память
    Ответов: 28
    Последнее: 16.12.2006, 10:49
  2. мысли по написанию модуля эмуляции z80 на С
    от boo_boo в разделе Эмуляторы
    Ответов: 9
    Последнее: 24.01.2006, 19:28
  3. Странные мысли
    от acidrain в разделе Несортированное железо
    Ответов: 162
    Последнее: 18.08.2005, 09:21

Ваши права

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