У меня это тоже получалось. Ставил опыты, делал маппинг ОЗУ при подключенном ПЗУ. И у меня было прочитано сложенное по ИЛИ значение ячейки ПЗУ и предыдущего чтения с ОЗУ, иногда прочитывался младший байт. При этом чувствовалось влияние предвыборки 1801ВМ2, т.к. в значение предыдущего чтения ОЗУ попадала следующая команда.
Из интересного осталось чтение регистра октета 0177024. При его чтении значения регистров данных планов 0177012 и 0177014 просто раскидываются в регистры кода цвета фона 0177020 и 0177022.
Этого нельзя делать, т.к. спрайтовый механизм используется для вывода символов. А при выводе символов цвет фона постоянный, регистры кода цвета фона 0177020 и 0177022 загружаются постоянными значениями. Если бы они загружались всё время при записи регистра адреса, то для вывода символа перед очередной записью в регистр октета всё время пришлось бы грузить регистры кода цвета фона. Вывод символов был бы очень медленным.
Titus(25.07.2020)
Для вывода на постоянном фоне не нужна загрузка планов из памяти, при установке нового адреса планов. Это совершенно лишнее медленное действие.
В общем, как не крути - косячно придумано.
Тогда уж следовало сделать так - при чтении октета - грузить планы из памяти. А при установке нового адреса планов, ничего не грузить. Но уже как сделано, так сделано.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)