С таймерами порядок - проблема в DSP или/и особых DMA флагах связанных с порядком формирования прерываний. Поправочка - уже две игры )
Оно и не гадает - оно делает что ему скажут. Алгоритм для расчета начального адреса
звучит дико - он либо есть - либо его нет. С случае данного железа - он есть, но редко соответствует (0,0) пикселу экрана - потому что им делается клиппинг, скажем задается адрес пикселя (10,10) и два ограничения по x и y - (300,220) - тем самым имеем рамку в 10 пикселей с каждой стороны, а для того что бы строки не ехали дается реальная длина строки 320 - ее и прибавляют к указателю. Когда-то в 90-лохматом году экономили каждый регистр - в данном случае съэкономили на регистрах для клиппинга с левого верхнего угла, я бы тоже так сделал, если бы ресурсы микросхемы поджимали.
А растеризатор (Video Display Line Processor) вообще может вести себя непредсказуемо - там каждую строку можно указать от фанаря, т.е. смешивать и перестраивать фрейм буферы как угодно ))
Там еще и не такие выкрутасы были, чего только один CornerEngine стоил - рисующий тексели в форме бабочек и галочек и в процессе распаковывающий текстуры сжатые RLE-подобным алгоритмом )))
У каждой консоли свои особенности.