;--------------------- unaligned
respr_y4_go
         add hl,de ;+=4
        exx
        pop de ;scr
        pop bc ;tile1_tile2
       ld l,c ;tile1
       inc l;*0..3 ;чтобы начать с правильного места тайла в зависимости от yphase ;вместо 3 можно: ld a,c:add a,3:ld l,a
       ld h,tilegfx/256/4 ;вместо одного pop (+1t)
         add hl,hl
       ;inc l;*0..1 ;чтобы начать с правильного места тайла в зависимости от yphase
         add hl,hl
        ld sp,hl
        ex de,hl ;hl=scr
        RESPR2LINES
        RESPR2LINES
        RESPR_DOWNHL8
        RESPR2LINES
        RESPR2LINES
        RESPR2LINES
        RESPR2LINES
        RESPR_DOWNHL8
        ex de,hl
       ld l,b ;tile2
       ld h,tilegfx/256/4 ;(+11t) ;проигрыш +8t/вход - выгодно по времени генератора!
         add hl,hl
         add hl,hl
        ld sp,hl ;tilegfx_tile2
        ex de,hl
        RESPR2LINES
        RESPR2LINES
        RESPR2LINES
        org $-1
        dec ly
        jr z,resprskipattr_y4
         rrc h ;было h0=1, результат 0xa0+ ;мы в конце атрибутов, будет отрисовывать их задом наперёд
        ex de,hl
       ld l,b ;tile2
       dup 2;0..3
       inc l ;чтобы начать с правильного места тайла в зависимости от yphase_end
       edup
       ld h,tileattr/256/2
         add hl,hl
        ld sp,hl ;tileattr_tile2 ;атрибуты лежат задом наперёд по сравнению с пикселями
        ex de,hl
        RESPR1LINEATTR
        RESPR2LINESATTR
        RESPR_UPHL8ATTR
        ex de,hl
       ld l,c ;tile1
       ld h,tileattr/256/2
         add hl,hl
        ld sp,hl ;tileattr_tile1 ;атрибуты лежат задом наперёд по сравнению с пикселями
        ex de,hl
        RESPR2LINESATTR
        RESPR2LINESATTR
        RESPR_UPHL8ATTR
        RESPR2LINESATTR
        org $-1
         exx
         ld sp,hl
        jp (ix) ;ix рассчитан в зависимости от ветки yphase

resprskipattr_y4
        ld ly,hy
         exx
         ld sp,hl
         inc l
         inc hl ;+=2
        ret ;restorer / resprq
        
respr_y6_go
         add hl,de ;+=4
        exx
        pop de ;scr
        pop bc ;tile1_tile2
       ld l,c ;tile1
       inc l;*0..3 ;чтобы начать с правильного места тайла в зависимости от yphase ;вместо 3 можно: ld a,c:add a,3:ld l,a
       ld h,tilegfx/256/4 ;вместо одного pop (+1t)
         add hl,hl
       inc l;*0..1 ;чтобы начать с правильного места тайла в зависимости от yphase
         add hl,hl
        ld sp,hl
        ex de,hl ;hl=scr
        RESPR2LINES
        RESPR_DOWNHL8
        RESPR2LINES
        RESPR2LINES
        RESPR2LINES
        RESPR2LINES
        RESPR_DOWNHL8
        ex de,hl
       ld l,b ;tile2
       ld h,tilegfx/256/4 ;(+11t) ;проигрыш +8t/вход - выгодно по времени генератора!
         add hl,hl
         add hl,hl
        ld sp,hl ;tilegfx_tile2
        ex de,hl
        RESPR2LINES
        RESPR2LINES
        RESPR2LINES
        RESPR2LINES
        org $-1
        dec ly
        jr z,resprskipattr_y4;6
         rrc h ;было h0=1, результат 0xa0+ ;мы в конце атрибутов, будет отрисовывать их задом наперёд
        ex de,hl
       ld l,b ;tile2
       dup 2;0..3
       inc l ;чтобы начать с правильного места тайла в зависимости от yphase_end
       edup
       ld h,tileattr/256/2
         add hl,hl
        ld sp,hl ;tileattr_tile2 ;атрибуты лежат задом наперёд по сравнению с пикселями
        ex de,hl
        RESPR2LINESATTR
        RESPR2LINESATTR
        RESPR_UPHL8ATTR
        ex de,hl
       ld l,c ;tile1
       ld h,tileattr/256/2
         add hl,hl
        ld sp,hl ;tileattr_tile1 ;атрибуты лежат задом наперёд по сравнению с пикселями
        ex de,hl
        RESPR2LINESATTR
        RESPR2LINESATTR
        RESPR_UPHL8ATTR
        RESPR2LINESATTR
        org $-1-2 ;1 line in the end, not 2
         exx
         ld sp,hl
        jp (ix) ;ix рассчитан в зависимости от ветки yphase

;resprskipattr_y6
;        ld ly,hy
;         exx
;         ld sp,hl
;         inc l
;         inc hl ;+=2
;        ret ;restorer / resprq
        
respr_y8_go
         add hl,de ;+=4
        exx
        pop de ;scr
        pop bc ;tile1_tile2
       ld l,c ;tile1
       inc l
       inc l;*0..3 ;чтобы начать с правильного места тайла в зависимости от yphase ;вместо 3 можно: ld a,c:add a,3:ld l,a
       ld h,tilegfx/256/4 ;вместо одного pop (+1t)
         add hl,hl
       ;inc l;*0..1 ;чтобы начать с правильного места тайла в зависимости от yphase
         add hl,hl
        ld sp,hl
        ex de,hl ;hl=scr
        RESPR2LINES
        RESPR2LINES
        RESPR2LINES
        RESPR2LINES
        RESPR_DOWNHL8
        ex de,hl
       ld l,b ;tile2
       ld h,tilegfx/256/4 ;(+11t) ;проигрыш +8t/вход - выгодно по времени генератора!
         add hl,hl
         add hl,hl
        ld sp,hl ;tilegfx_tile2
        ex de,hl
        RESPR2LINES
        RESPR2LINES
        RESPR2LINES
        RESPR2LINES
        RESPR_DOWNHL8
        RESPR2LINES
        org $-1
        dec ly
        jr z,resprskipattr_y8
         rrc h ;было h0=1, результат 0xa0+ ;мы в конце атрибутов, будет отрисовывать их задом наперёд
        ex de,hl
       ld l,b ;tile2
       dup 1;0..3
       inc l ;чтобы начать с правильного места тайла в зависимости от yphase_end
       edup
       ld h,tileattr/256/2
         add hl,hl
        ld sp,hl ;tileattr_tile2 ;атрибуты лежат задом наперёд по сравнению с пикселями
        ex de,hl
        RESPR1LINEATTR
        RESPR_UPHL8ATTR
        RESPR2LINESATTR
        RESPR2LINESATTR
        RESPR_UPHL8ATTR
        ex de,hl
       ld l,c ;tile1
       ld h,tileattr/256/2
         add hl,hl
        ld sp,hl ;tileattr_tile1 ;атрибуты лежат задом наперёд по сравнению с пикселями
        ex de,hl
        RESPR2LINESATTR
        RESPR2LINESATTR
        org $-1
         exx
         ld sp,hl
        jp (ix) ;ix рассчитан в зависимости от ветки yphase

resprskipattr_y8
        ld ly,hy
         exx
         ld sp,hl
         inc l
         inc hl ;+=2
        ret ;restorer / resprq
        
respr_y10_go
         add hl,de ;+=4
        exx
        pop de ;scr
        pop bc ;tile1_tile2
       ld l,c ;tile1
       inc l
       inc l;*0..3 ;чтобы начать с правильного места тайла в зависимости от yphase ;вместо 3 можно: ld a,c:add a,3:ld l,a
       ld h,tilegfx/256/4 ;вместо одного pop (+1t)
         add hl,hl
       inc l;*0..1 ;чтобы начать с правильного места тайла в зависимости от yphase
         add hl,hl
        ld sp,hl
        ex de,hl ;hl=scr
        RESPR2LINES
        RESPR2LINES
        RESPR2LINES
        RESPR_DOWNHL8
        ex de,hl
       ld l,b ;tile2
       ld h,tilegfx/256/4 ;(+11t) ;проигрыш +8t/вход - выгодно по времени генератора!
         add hl,hl
         add hl,hl
        ld sp,hl ;tilegfx_tile2
        ex de,hl
        RESPR2LINES
        RESPR2LINES
        RESPR2LINES
        RESPR2LINES
        RESPR_DOWNHL8
        RESPR2LINES
        RESPR2LINES
        org $-1
        dec ly
        jr z,resprskipattr_y8;10
         rrc h ;было h0=1, результат 0xa0+ ;мы в конце атрибутов, будет отрисовывать их задом наперёд
        ex de,hl
       ld l,b ;tile2
       dup 1;0..3
       inc l ;чтобы начать с правильного места тайла в зависимости от yphase_end
       edup
       ld h,tileattr/256/2
         add hl,hl
        ld sp,hl ;tileattr_tile2 ;атрибуты лежат задом наперёд по сравнению с пикселями
        ex de,hl
        RESPR2LINESATTR
        RESPR_UPHL8ATTR
        RESPR2LINESATTR
        RESPR2LINESATTR
        RESPR_UPHL8ATTR
        ex de,hl
       ld l,c ;tile1
       ld h,tileattr/256/2
         add hl,hl
        ld sp,hl ;tileattr_tile1 ;атрибуты лежат задом наперёд по сравнению с пикселями
        ex de,hl
        RESPR2LINESATTR
        RESPR2LINESATTR
        org $-1-2 ;1 line in the end, not 2
         exx
         ld sp,hl
        jp (ix) ;ix рассчитан в зависимости от ветки yphase

;resprskipattr_y10
;        ld ly,hy
;         exx
;         ld sp,hl
;         inc l
;         inc hl ;+=2
;        ret ;restorer / resprq
        
respr_y12_go
         add hl,de ;+=4
        exx
        pop de ;scr
        pop bc ;tile1_tile2
       ld l,c ;tile1
       inc l
       inc l
       inc l;*0..3 ;чтобы начать с правильного места тайла в зависимости от yphase ;вместо 3 можно: ld a,c:add a,3:ld l,a
       ld h,tilegfx/256/4 ;вместо одного pop (+1t)
         add hl,hl
       ;inc l;*0..1 ;чтобы начать с правильного места тайла в зависимости от yphase
         add hl,hl
        ld sp,hl
        ex de,hl ;hl=scr
        RESPR2LINES
        RESPR2LINES
        RESPR_DOWNHL8
        ex de,hl
       ld l,b ;tile2
       ld h,tilegfx/256/4 ;(+11t) ;проигрыш +8t/вход - выгодно по времени генератора!
         add hl,hl
         add hl,hl
        ld sp,hl ;tilegfx_tile2
        ex de,hl
        RESPR2LINES
        RESPR2LINES
        RESPR2LINES
        RESPR2LINES
        RESPR_DOWNHL8
        RESPR2LINES
        RESPR2LINES
        RESPR2LINES
        org $-1
        dec ly
        jr z,resprskipattr_y12
         rrc h ;было h0=1, результат 0xa0+ ;мы в конце атрибутов, будет отрисовывать их задом наперёд
        ex de,hl
       ld l,b ;tile2
       ;dup 1;0..3
       ;inc l ;чтобы начать с правильного места тайла в зависимости от yphase_end
       ;edup
       ld h,tileattr/256/2
         add hl,hl
        ld sp,hl ;tileattr_tile2 ;атрибуты лежат задом наперёд по сравнению с пикселями
        ex de,hl
        RESPR1LINEATTR
        RESPR2LINESATTR
        RESPR_UPHL8ATTR
        RESPR2LINESATTR
        RESPR2LINESATTR
        RESPR_UPHL8ATTR
        ex de,hl
       ld l,c ;tile1
       ld h,tileattr/256/2
         add hl,hl
        ld sp,hl ;tileattr_tile1 ;атрибуты лежат задом наперёд по сравнению с пикселями
        ex de,hl
        RESPR2LINESATTR
        org $-1
         exx
         ld sp,hl
        jp (ix) ;ix рассчитан в зависимости от ветки yphase

resprskipattr_y12
        ld ly,hy
         exx
         ld sp,hl
         inc l
         inc hl ;+=2
        ret ;restorer / resprq
        
respr_y14_go
         add hl,de ;+=4
        exx
        pop de ;scr
        pop bc ;tile1_tile2
       ld l,c ;tile1
       inc l
       inc l
       inc l;*0..3 ;чтобы начать с правильного места тайла в зависимости от yphase ;вместо 3 можно: ld a,c:add a,3:ld l,a
       ld h,tilegfx/256/4 ;вместо одного pop (+1t)
         add hl,hl
       inc l;*0..1 ;чтобы начать с правильного места тайла в зависимости от yphase
         add hl,hl
        ld sp,hl
        ex de,hl ;hl=scr
        RESPR2LINES
        RESPR_DOWNHL8
        ex de,hl
       ld l,b ;tile2
       ld h,tilegfx/256/4 ;(+11t) ;проигрыш +8t/вход - выгодно по времени генератора!
         add hl,hl
         add hl,hl
        ld sp,hl ;tilegfx_tile2
        ex de,hl
        RESPR2LINES
        RESPR2LINES
        RESPR2LINES
        RESPR2LINES
        RESPR_DOWNHL8
        RESPR2LINES
        RESPR2LINES
        RESPR2LINES
        RESPR2LINES
        org $-1
        dec ly
        jr z,resprskipattr_y12;14
         rrc h ;было h0=1, результат 0xa0+ ;мы в конце атрибутов, будет отрисовывать их задом наперёд
        ex de,hl
       ld l,b ;tile2
       ;dup 1;0..3
       ;inc l ;чтобы начать с правильного места тайла в зависимости от yphase_end
       ;edup
       ld h,tileattr/256/2
         add hl,hl
        ld sp,hl ;tileattr_tile2 ;атрибуты лежат задом наперёд по сравнению с пикселями
        ex de,hl
        RESPR2LINESATTR
        RESPR2LINESATTR
        RESPR_UPHL8ATTR
        RESPR2LINESATTR
        RESPR2LINESATTR
        RESPR_UPHL8ATTR
        ex de,hl
       ld l,c ;tile1
       ld h,tileattr/256/2
         add hl,hl
        ld sp,hl ;tileattr_tile1 ;атрибуты лежат задом наперёд по сравнению с пикселями
        ex de,hl
        RESPR2LINESATTR
        org $-1-2 ;1 line in the end, not 2
         exx
         ld sp,hl
        jp (ix) ;ix рассчитан в зависимости от ветки yphase

;resprskipattr_y14
;        ld ly,hy
;         exx
;         ld sp,hl
;         inc l
;         inc hl ;+=2
;        ret ;restorer / resprq
