Про неработающий ты придумал)
Вид для печати
Пусть этот кусок кода - некая подпрограмма, соответственно перед вызовом кода в эту ячейку памяти заносится нужная маска, потом вызов
Если будет прерывание и код в обработчике прерывания использует эту же подпрограмму. Соответственно он может изменить маску на другое значение и после выхода из прерывания для первого вызова этой подпрограммы маска испорчена
Я не говорю, что с данным кодом обязательно на это дело налетишь, но - с каждым использованием самомодифицирующегося кода в программах - повышаются шансы, что забудешь проверить - и налетишь на тяжело отлаживающиеся ошибки
Вот что получилось:
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
и ещё подлетевшая "штуковина" потёрла у стены(люка) выпуклости ??? !!! https://pic.maxiol.com/images2/15708...439.errbug.png