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

User Tag List

Страница 6 из 8 ПерваяПервая ... 2345678 ПоследняяПоследняя
Показано с 51 по 60 из 80

Тема: Вместо HALT

  1. #51
    Master
    Регистрация
    04.12.2008
    Адрес
    г. Черкассы, Украина
    Сообщений
    957
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от shurik-ua Посмотреть сообщение
    а почему нигде не используется схема подтверждения прерывания по даташиту на проц z80 ? - а именно INT_ACK = /IORQ OR /M1.
    Потому, что так проц INT# не пропустит (если в схеме триггер используется), да и не все игры корректно работают, например в Cybernoid играть становится труднее, игра делается что-ли динамичнее. Поначалу понять не мог в Spec256 в чём дело, пока не убрал INTA# и не вернул стандартную длительность INT# и автоматом сразу добавилась проблема в турбо, нужно эту длительность ещё в разы удлинять для турбо, из-за проблем работы игр.

  2. #52
    Veteran
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,053
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    31 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от shurik-ua Посмотреть сообщение
    а почему нигде не используется схема подтверждения прерывания по даташиту на проц z80 ? - а именно INT_ACK = /IORQ OR /M1.
    В "Орель БК-08" используется такая схема. Никаких проблем, проц никогда не "просыпает" INT, потому что во время действия сигналов M1, IORQ прерывание уже подтверждено. С другой стороны, если подтверждение прерывания не приходит в течение около 25 тактов (при запрещеных прерываниях) - то запрос снимается до следующего кадра. Возможно, в Spec256 нет автоснятия запроса, из-за этого пропущенное прерывание срабатывает сразу после EI.

    Почему в других клонах не используется - вероятно, разработчики таким образом экономят логический элемент. Они ведь были в те годы на вес золота. Ну и место на печатной плате, и сложность разводки.
    Последний раз редактировалось Barmaley_m; 19.01.2018 в 23:14.

  3. #53
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,841
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    657
    Поблагодарили
    511 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    В любой момент исполнения программы программисту известно, запрещены прерывания или разрешены.
    если у тя вся машина в твоем распоряжении то да
    а если тебе выделило какойто время некоторая многозадачная ОС то уже не совсем...

    а так функция местами полезная
    и че за бред понаписан в http://zxpress.ru/article.php?id=8963
    непонятно
    чем не устраивает элементарное двойное чтение?
    зачем было править проц
    много железа бажит или дает ложный результат при первом чтении

    - - - Добавлено - - -

    а так да
    тема внезапно стала еще интересней
    опять всплыли всякие кривые клоны
    и их кривые глюки
    про которые нигде особо и не написано...
    Последний раз редактировалось NEO SPECTRUMAN; 20.01.2018 в 01:17.

  4. #54
    Guru Аватар для CodeMaster
    Регистрация
    26.04.2009
    Адрес
    г. Воронеж
    Сообщений
    6,212
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    210
    Поблагодарили
    181 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    а если тебе выделило какойто время некоторая многозадачная ОС то уже не совсем...
    Много народа на Спеке работает под многозадачными ОСями...
    "Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.

  5. #55
    Guru Аватар для SoftFelix
    Регистрация
    20.03.2007
    Адрес
    Санкт-Петербург
    Сообщений
    2,975
    Спасибо Благодарностей отдано 
    171
    Спасибо Благодарностей получено 
    102
    Поблагодарили
    88 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от weiv Посмотреть сообщение
    а в Кае длительность INT - два цикла M1, как раз на одну команду LD A,R.
    Я так понимаю, что эту длительность задаёт комбинация на входах D0...D3 сдвигового регистра. D1 и D2 посажены на GND. Это и задаёт длительность INT'а в два цикла /M1? А сколько это в тактах?



    Вот что на КАЕ показывает Тест INT'а Ковалевского. В ТУРБО-неТУРБО длительность всегда одинаковая и находится ровно на границе МАЛА-НОРМА. Когда-то давно комрад Шепелёв (насколько я помню) опубликовал в журнале "Радиолюбитель" тест длительности INT'а. Там давалась норма 28...32 тактов процессора. На КАЕ сейчас данный тест во всех режимах показывает "Too short!".

    ТУРБО включено.


    ТУРБО выключено.


    Ближе.


    Я так понимаю, что если INT чуть удлинить, то проблема с подвисанием уйдёт? На вскидку 5-ую ногу регистра отцепляем от +5В и сажаем на GND. Железячники тут есть? Ход мысли правильный (с ответом можно переместится в эту тему)?
    Последний раз редактировалось SoftFelix; 20.01.2018 в 13:20.
    МГТФ - любимый провод!
    KAY-1024(4096)/SL-4/TURBO v2010 + Nemo-FDC + Nemo-IDE (CF 4GB) + SMUC2 Rev.B RTC (HDD 1.6GB + DVD-ROM) + PROF-ROM + ZXMC2 + GENERAL SOUND 2MB + ZX-BUS_TEE + FDD 3.5' + FDD 5.25' + VGA&PAL

  6. #56
    Veteran
    Регистрация
    07.10.2006
    Сообщений
    1,640
    Спасибо Благодарностей отдано 
    241
    Спасибо Благодарностей получено 
    249
    Поблагодарили
    155 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот довольно точный тест длительности INT:ints_tests.zip (minfo.tap).

  7. #57
    Guru Аватар для SoftFelix
    Регистрация
    20.03.2007
    Адрес
    Санкт-Петербург
    Сообщений
    2,975
    Спасибо Благодарностей отдано 
    171
    Спасибо Благодарностей получено 
    102
    Поблагодарили
    88 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от weiv Посмотреть сообщение
    minfo.tap
    У меня TR-DOS only.
    МГТФ - любимый провод!
    KAY-1024(4096)/SL-4/TURBO v2010 + Nemo-FDC + Nemo-IDE (CF 4GB) + SMUC2 Rev.B RTC (HDD 1.6GB + DVD-ROM) + PROF-ROM + ZXMC2 + GENERAL SOUND 2MB + ZX-BUS_TEE + FDD 3.5' + FDD 5.25' + VGA&PAL

  8. #58
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,841
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    657
    Поблагодарили
    511 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CodeMaster Посмотреть сообщение
    Много народа на Спеке работает под многозадачными ОСями...
    а з80 только в спеке будто....

  9. #59
    Guru Аватар для CodeMaster
    Регистрация
    26.04.2009
    Адрес
    г. Воронеж
    Сообщений
    6,212
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    210
    Поблагодарили
    181 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    а з80 только в спеке будто....
    Даже если не учитывать, что раздел называется "ZX Spectrum Software", то существует не более 1.5 штук многозадачных ОС и то в состоянии бета-версий. Ну, да SymbOS вроде как целостный продукт, но вещь сама в себе и кроме как автором ничем не поддерживается.
    "Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.

  10. #60
    Veteran
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,053
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    31 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    если у тя вся машина в твоем распоряжении то да
    а если тебе выделило какойто время некоторая многозадачная ОС то уже не совсем...
    Автор исходной программы не использовал такую ось.

    А вообще в многозадачных осях пользовательскому коду строго запрещено разрешать или запрещать прерывания. В процессорах с MPU инструкции вроде DI или CLI являются привилегированными, так что этот запрет реализуется принудительно. При написании драйверов принудительного ограничения нет, но все равно надо следовать документации на ось, иначе драйвер будет глючным.

    Если автор драйвера считает необходимым нарушить запрет на изменение состояния прерываний - то лучше ему подумать еще раз, а надо ли. Зачем это может быть надо? Варианта два:
    1) блокировка многопоточного доступа к данным. Вместо запрещения прерываний следует пользоваться функциями блокировки, предоставляемыми осью, например, KeAcquireSpinLock в случае винды;
    2) обеспечение исполнения критичного по времени кода. Снова-таки, либо ось может быть для этого по определению не предназначена, либо в ней должны быть функции, фактически запрещающие или разрешающие прерывания, но автору драйвера до этого не должно быть дела, его задача - вызвать нужные функции и полагаться на их работу.

    Это общие принципы построения осей, им следуют как минимум крупные оси, а мелкие - тут все зависит от компетентности их авторов.

Страница 6 из 8 ПерваяПервая ... 2345678 ПоследняяПоследняя

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

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

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

Похожие темы

  1. HALT контроллер
    от zx_ в разделе БК-0010/0011
    Ответов: 9
    Последнее: 28.09.2018, 00:49
  2. Di:Halt 99
    от Vinnny в разделе События
    Ответов: 29
    Последнее: 13.07.2018, 19:59
  3. Di:HALT:2009
    от TmK в разделе События
    Ответов: 206
    Последнее: 11.08.2009, 14:26
  4. Di:Halt 2007 invitation
    от sq/skrju в разделе События
    Ответов: 12
    Последнее: 25.05.2007, 11:44

Ваши права

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