hobot(11.10.2019)
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Пусть этот кусок кода - некая подпрограмма, соответственно перед вызовом кода в эту ячейку памяти заносится нужная маска, потом вызов
Если будет прерывание и код в обработчике прерывания использует эту же подпрограмму. Соответственно он может изменить маску на другое значение и после выхода из прерывания для первого вызова этой подпрограммы маска испорчена
Я не говорю, что с данным кодом обязательно на это дело налетишь, но - с каждым использованием самомодифицирующегося кода в программах - повышаются шансы, что забудешь проверить - и налетишь на тяжело отлаживающиеся ошибки
Вот что получилось:
https://yadi.sk/d/VMfmfbZ4g1Rl5Q
В эмуляторе запустите MLM2.SAV
Спрайты выводит правильно но цвета меняются в движении.
маска такая:
Код:MASK: .WORD ^B0000000000000000 .WORD ^B0000000100000001 .WORD ^B0000001100000011 .WORD ^B0000011100000111 .WORD ^B0000111100001111 .WORD ^B0001111100011111 .WORD ^B0011111100111111 .WORD ^B0111111101111111 .WORD ^B1111111111111111
БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO
и ещё подлетевшая "штуковина" потёрла у стены(люка) выпуклости ??? !!!![]()
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)