User Tag List

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

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

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

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

    Регистрация
    12.12.2015
    Адрес
    г. Москва
    Сообщений
    65
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У меня вопрос на ту же тему. Как между делом, пока у меня выполняется много кода с запрещёнными прерываниями, понять что прерывание таки случилось? Я ведь правильно понимаю, оно не случается "вдогонку"? Дело в том, что код использует стек в качестве переносчика данных, а прерывание может туда нагадить. Вот я и думаю, как бы в промежутках кода проверять не случилось-ли оно, и вызывать обработчик.

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

  3. #2

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,289
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    1,456
    Поблагодарили
    946 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от dimidus Посмотреть сообщение
    Как между делом, пока у меня выполняется много кода с запрещёнными прерываниями, понять что прерывание таки случилось?
    с чего ему случаться если оно запрещено ?
    работать нетрадиционно со стеком можно и при разрешённых прерываниях.
    тут два варианта.
    1 как в ЧерномВороне. процедура на im2 правит сама испорченные данные.
    2 как в Zub/Amaurote. постоянная проверка целостности данных и их коррекция

  4. #3

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

    По умолчанию

    Цитата Сообщение от dimidus Посмотреть сообщение
    У меня вопрос на ту же тему. Как между делом, пока у меня выполняется много кода с запрещёнными прерываниями, понять что прерывание таки случилось? Я ведь правильно понимаю, оно не случается "вдогонку"? Дело в том, что код использует стек в качестве переносчика данных, а прерывание может туда нагадить. Вот я и думаю, как бы в промежутках кода проверять не случилось-ли оно, и вызывать обработчик.
    скорей всего никак
    на многих клонах можно вообще словить 2+ обработчика прерываний подряд
    если обработчики короткие

    ...по моему на msx-ах прерывание будет висить до тех пор пока не произойдет его подтверждение
    на некоторых спетрумах по моему максимум что есть
    это прекращение сигнала инта при его подтверждении
    чтоб не ловить 2 подряд
    (не уверен уже есть ли точно(и расчитывать на это в любом случае нельзя))

    при наличии порта FF можно поймать факт начала\конца экрана
    и вызвать обработчик
    но это должны быть чем то оправданно
    так как на большим количестве спектрумов это поделие работать не будет
    да и сама проверка будет длительной
    тк в строке 96 тактов бордюра
    да и над самим экраном, по моему, все не так просто читается


    можно попытаться поймать 50Гц-ный фон с матафонного входа
    (тоесть вообще можно попробовать получить опорные 100Гц дополнительно)
    но это особое извращение для знающих толк
    (которого вполне может ни у кого больше не быть)
    и врятли оно эмулируется
    ну и 50Гц сети явно не будут совпадать с 50Гц экрана...

    ДЕТКИ НЕ ПЫТАЙТЕСЬ ПОВТОРИТЬ ЭТО ДОМА!
    ну разве что это будет wild demo
    где такое можно и нужно
    Последний раз редактировалось NEO SPECTRUMAN; 08.10.2019 в 01:48.

  5. #4

    Регистрация
    12.12.2015
    Адрес
    г. Москва
    Сообщений
    65
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    скорей всего никак
    ...
    Жалко... Как я понимаю, чтение из регистра R, это из той же оперы?

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    можно попытаться поймать 50Гц-ный фон с матафонного входа...
    А это вообще взлом Матрицы!

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

    Цитата Сообщение от goodboy Посмотреть сообщение
    с чего ему случаться если оно запрещено ?
    работать нетрадиционно со стеком можно и при разрешённых прерываниях.
    тут два варианта.
    1 как в ЧерномВороне. процедура на im2 правит сама испорченные данные.
    2 как в Zub/Amaurote. постоянная проверка целостности данных и их коррекция
    Интересная мысль! Буду думать в этом направлении. Спасибо!

  6. #5

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

    По умолчанию

    Цитата Сообщение от dimidus Посмотреть сообщение
    Жалко... Как я понимаю, чтение из регистра R, это из той же оперы?
    регистром R можно мерять время условно
    основная проблема что у регистра R всего 7 бит (128 значений)
    им много не намеряешь (интервалы 512-1200+ тактов всего)
    да и инкриментится он с разной скоростью

    его можно пускать по одноподобному коду
    тогда он дает более менее вменяемые результаты пригодные к использованию
    можно использовать вместо счетчика когда нет свободных регистров

    в атаче поделие в котором я как то юзал регистр R для измерения расстояния на которое пролетает луч
    после там несколько низкоточных коррекций результата
    и в итоге много артефактов

    так же обработчик прерываний должен восстанавливать значение регистра
    на некоторых эмулях у меня оно иногда восстанавливает с ошибкой
    что как бы намекает на кривость эмуляции местами или какие еще то подводные камни
    Последний раз редактировалось NEO SPECTRUMAN; 08.10.2019 в 22:49.

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

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

Эту тему просматривают: 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 в разделе События
    Ответов: 186
    Последнее: 11.08.2009, 14:26
  4. Di:Halt 2007 invitation
    от sq/skrju в разделе События
    Ответов: 12
    Последнее: 25.05.2007, 11:44

Ваши права

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