;вывод в регистры AY не помещается до мультиколора (AY_zip = 1259t со входом-выходом, можно убрать 20(ld(),sp)+10(ldsp)+4(exx)+10(ret) = 1215t)
;1732t/sprite (13856[-22] из 14237-221=14016 возможных, осталось 160[+22])
;на 128K есть лишние 26t перед рамкой экрана - осталось 208
;если делать out (0xfd),a - осталось 216
;если вообще не работать со страничками - осталось 384
;под вывод AY надо минимум 495-40-36-3(ld b,0x7f вместо ld bc,0x7ffd) = 416
;если вывод AY через out (0xfd),a, то надо минимум 407-3 = 404

;минимальный вывод в регистры AY (сам плейер + sfx в другое время):
;используем регистры 0..11, 13 (envtype), а старшую часть огибающей не используем
        ld de,
        ld bc,0xfffd
        ld hl,aydata
        out (c),l
        ld b,e
        outi ;reg0 ;62
        dup 11
        ld b,d
        out (c),l
        ld b,e
        outi
        edup ;36*11
        inc l
        ld b,d
        out (c),l
        ld b,e ;/ld b,d for disable envelope retrigger
        outi ;40
;498 (-3, если ld b,c вместо ld b,d)
;envelope retrigger можно писать в плейере (-40t), хотя это может звучать странно - можно даже частоту огибающей 11 тоже (ещё -36t)
;остальные регистры должны быть доступны плейеру sfx для корректировки

;если использовать адреса %10xxxxxx 11111101 для вывода регистров [1],[3],5,6,7,8,9,10:
        ld e,0xbd
        ld bc,0xfffd
        ld hl,aydata
        out (c),l
        ld b,e
        outi ;reg0 ;59
;l=1
        dup 4
        ld b,c
        out (c),l
        ld b,e
        outi
        edup ;36*4
;l=5
        ld b,c ;4
        
        outi ;5
        ld a,0xc0
        out (0xfd),a ;reg5 ;34
        outi ;6
        ld a,0xc0
        out (0xfd),a ;reg6 ;34
        outi ;7
        ld a,0xc0
        out (0xfd),a ;reg7 ;34
        outi ;8
        ld a,0xc0
        out (0xfd),a ;reg8 ;34
        outi ;9
        ld a,0xc0
        out (0xfd),a ;reg9 ;34
        out (c),l ;10
        ld a,0xc0
        out (0xfd),a ;reg10 ;30
;407

