С помощью воззвания у чьей-то *** и врубления wide для всех сразу таки удалось получить что-то похожее на правду, вопрос теперь только в том, почему смещение у блока посредине не цикличное, а на пару байт всего?

Я на каждом вызове VBI инкременчу позицию

Код:
                inc     scrollPos
                lda     scrollPos
                sta     $D404                   // HSCROLL
и получается вот это: