С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO
Тогда просто их не отрисовывай)
Не обязательно для этого запрещать прерывания.
Вообще, если брать классический подход на платформах подобной мощности (спектрумы и т.д.), очень часто на прерывания, кроме проигрывателя музыки вообще ничего не вешается. Они существуют, чтобы главная программа синхронизировалась по ним с кадровой разверткой. Т.е. главная программа ждет выставления какого-то флага, который выставляет подпрограмма на прерываниях, далее главная программа делает все, что надо - вычисляет, орисовывает, и т.д. Затем опять переходит в режим ожидания появления этого самого флага, который устанавливает подпрограмма на прерываниях.
- - - Добавлено - - -
Но если ты уж прям очень хочешь 'запрещать' прерывания, то:
Сделай программный флаг DISABLE_INT. Устанавливай его из главной программы, и снимай из главной программы. А в начале обработчика прерывания смотри - если флаг стоит, то выходи из обработчика и ничего не делай. Это полный аналог запрещения прерываний) Если, конечно, ты не используешь в основной программе стек для отрисовки обьектов или чего-то еще.
БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO
БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)