Цитата Сообщение от HardWareMan Посмотреть сообщение
Т.е., всё упирается в производительность 6502 и такое поведение флага переполнения оправдано, хоть и не удобно программистам.
ну вопервых никакой в зравом уме человек и не планировал что 6502 будет менять список спрайтов на каждой строке (это он мог делать в atari2700 но там спрайтов далеко не 64), если бы он это мог то вероятно мог бы и сам рисовать спрайты сразу в строку, предпологалось что этот самый флаг должен потом будет гдето записан в атрибуты спрайта чтобы в конце кадра когда 6502 обновлял список спрайтов он понимал какие из спрайтов должны были высветиться но не смогли изза ограничения в 8шт на строку

как я понимаю в tms9918 именно так оно и работает

посмотрел описание бага - https://wiki.nesdev.com/w/index.php/...ite_evaluation тут говориться что этот флаг правильно ставиться только 9-му по счету спрайту и потом всем спрайтам "по диагонали" таблички спрайтов... изза того что вместо нормального "inc(x) и если переполнение inc(y)" всегда срабатывает "inc(x)inc(y)" + еще шото мутное написанно про копию таблички с отобранными для отображения спрайтами и сигналом write disable...

а к стати откуда схема твоя? можно ее пощупать?