Важная информация

User Tag List

Показано с 1 по 9 из 9

Тема: Порты в Кондратьевском модеме?

  1. #1
    Banned Аватар для Black_Cat
    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,791
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Exclamation Порты в Кондратьевском модеме?

    Господа, в Кондратьевской схеме подключения ISA модема при записи в порты 8250 как понимаю происходит блокировка IRQ4 записью А11=1 в триггер. Разрешение IRQ4 происходит либо по сбросу, либо по А4=0, А11=0.
    Вопрос: какой адрес этого порта?

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

  3. #2
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,721
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    134
    Поблагодарили
    87 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Black_Cat Посмотреть сообщение
    Господа, в Кондратьевской схеме подключения ISA модема при записи в порты 8250 как понимаю происходит блокировка IRQ4 записью А11=1 в триггер. Разрешение IRQ4 происходит либо по сбросу, либо по А4=0, А11=0.
    Вопрос: какой адрес этого порта?
    Судя по схеме, для работы с разрешенным прерыванием используются порты с адресами #F0EF...#F7FF (A11=0).
    Работа в режиме программного опроса, тоесть без прерывания, обеспечивается при портах #F8EF...#FFEF (A11=1).
    Тоесть выбором базового адреса порта задается режим работы модема - с разрешенными прерываниями или без них.

  4. #3
    Banned Аватар для Black_Cat
    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,791
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    а ты не знаешь, в самом софте это равнозначные самодостаточные режимы? Типа один с опросом, другой с прерываниями, или при работе программы она переключает их туда-сюда, используя оба? Расточительно как-то целую адресную линию ради отключалки прерывания использовать..

  5. #4
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,721
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    134
    Поблагодарили
    87 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Black_Cat Посмотреть сообщение
    а ты не знаешь, в самом софте это равнозначные самодостаточные режимы? Типа один с опросом, другой с прерываниями, или при работе программы она переключает их туда-сюда, используя оба? Расточительно как-то целую адресную линию ради отключалки прерывания использовать..
    Я думаю при разработке схемы заложили возможность работы с прерываниями из перспективных соображений.
    Тот софт, с которым я имел дело (в частности Melon) расчитан на работу только в режиме программного опроса.
    Думаю это связано с необходимостью модификации стандартной прошивки Спектрума, в которой ошибочно по NMI идет переход на 0 адрес.
    Правда одна программа, расчитанная на работу по прерываниям мне попадалась это S-Terminal v.1.1 Евгения Милуна.
    Код:
      Программа  расчитана  на работу с компь-
    ютером,  имеющем  памяти не меньше 128Кб и
    внутренним    hayes-совместимым   модемом,
    подключенным по схеме Михаила Кондратьева,
    с  использованием  механизма немаскируемых
    прерываний  от модема. Все остальные схемы
    пока не поддерживаются.
    .....
         (С) Евгений Милун (Paul Atrides)
                "STARS OF KELADAN"
        Россия, Самара, 10 ноября 1999 г.

  6. #5
    Banned Аватар для Black_Cat
    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,791
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от caro Посмотреть сообщение
    Думаю это связано с необходимостью модификации стандартной прошивки Спектрума, в которой ошибочно по NMI идет переход на 0 адрес.
    так вроде же кондратьевскую схему с NMI переделали на INT в режиме IM2.. Для такой переделки есть где-нидь поддержка?

    А в чём была проблема с исправлением ошибки NMI, что её до сих пор не исправили?

  7. #6
    Member
    Регистрация
    12.12.2007
    Адрес
    Moscow
    Сообщений
    145
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Невнимательность разработчиков:

    Кусок кода из ROM:
    LD HL,(NMIADD)
    LD A,H
    OR L
    JR NZ,0070 -- должно быть jr z,0070
    JP (HL)
    070:

  8. #7
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,721
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    134
    Поблагодарили
    87 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Black_Cat
    так вроде же кондратьевскую схему с NMI переделали на INT в режиме IM2.. Для такой переделки есть где-нидь поддержка?
    Не слышал, откуда информация?

    Цитата Сообщение от Black_Cat
    А в чём была проблема с исправлением ошибки NMI, что её до сих пор не исправили?
    В некоторых модифицированных прошивках эта ошибка исправлена, но не во всех.
    А в базовой прошивке BASIC 48 это выглядит так:
    Код:
    0066              .NMI
    0066 F5           PUSH AF
    0067 E5           PUSH HL
    0068 2A B0 5C     LD HL,(NMIADD)
    006B 7C           LD A,H
    006C B5           OR L
    006D 20 01        JR NZ,#0070         ; Return if non zero
    006F E9		JP (HL)
    0070 E1		POP HL
    0071 F1		POP AF
    0072 ED 45	RETN
    Здесь есть ошибка, которая заключается в том, что переход по адресу, записанному
    в переменную (NMIADD) происходит только при его нулевом значении,
    тоесть всегда приводит к перезапуску BASICа.
    В адресе 006D должен стоять код 28, что означает команду JR Z,#0070
    Вот тогда, записав в NMIADD адрес процедуры обработки NMI,
    можно писать программы использующие этот вектор для аппаратного
    перехвата событий.

  9. #8
    Banned Аватар для Black_Cat
    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,791
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от caro Посмотреть сообщение
    Не слышал, откуда информация?
    http://zxdn.narod.ru/hardware/ec07hays.htm

  10. #9
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,721
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    134
    Поблагодарили
    87 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Black_Cat Посмотреть сообщение
    Вспомнил. Видел этот текст, но программ, использующих этот переделанный вариант схемы, не встречал.

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

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

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

Похожие темы

  1. Порты памяти - Scorpion и др.
    от ASMAN в разделе Программирование
    Ответов: 27
    Последнее: 18.06.2008, 12:20
  2. порты #EFFD/#CFFD
    от Black_Cat в разделе Программирование
    Ответов: 29
    Последнее: 17.03.2008, 15:55
  3. Отключение ПЗУ и теневые порты.
    от SAM style в разделе Программирование
    Ответов: 3
    Последнее: 12.02.2007, 20:35
  4. порты #x5 покритикуйте :)
    от Ronin в разделе Несортированное железо
    Ответов: 15
    Последнее: 16.06.2006, 12:32
  5. Порты SMUC
    от spensor в разделе Scorpion
    Ответов: 35
    Последнее: 17.08.2005, 16:27

Ваши права

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