Closed alexanderk23 closed 7 years ago
Уточни, пожалуйста, какая страница стоит в окне 0 в момент выполнения кода. Узнать это можно в отладчике, правый столбец, раздел MEM, первая строка. Потому как в любой ROM сейчас запись запрещена - см.функцию memWr (memory.c, строка 35) и memSetPage (там же, строка 76)
Да, у меня в окно 0 подставляются страницы RAM, конкретнее сказать не могу - они быстро меняются, у меня оттуда аудио в ковокс играет ;) Однако при включенном маппинге (и сброшенном флаге MEM_W0WE в порту MEMCONFIG конфы) туда по идее писаться не должно, правильно же? Вот, на снапшоте видно, что таки пишется - страница экрана замаплена в окно 0, записываю палитру - экран портится. https://gist.github.com/73bd35c88f5bc1f00d83dd4bf9ae32ee
Теперь ясно, MEM_W0WE не был реализован. Как должно быть, я так и не догнал, когда делал TSConf. До автора конфы не достучался, оставил до лучших времён и забыл :)
Понял :) Но даже без него при включенном маппинге на CRAM альтеры ничего не должно писаться в память, только в альтеровскую - она ж перекрывает.
А вот про это я у самого автора таки спрашивал. получил ответ - и в озу тоже пишется...
Ох, вот это поворот :) Сейчас проверил в анриле со включенным MEM_W0WE — действительно, так и есть, пишется. Виноват, был неправ.
При установке палитры методом, описанным в посте http://forum.tslabs.info/viewtopic.php?p=1001#p1001 происходит запись не только в отображённую на #0000 память альтеры, но и в страницу памяти в окне 0. Билд Xpeccy 0.6.20160730.