сдается мне что у тебя при записи номера регистра в AY нет строба по BDIR и BC1, тоесть ты сделав
mvi m, c0h пытаешься выставить опять данные в порте AY, тоесть в итоге тупо может абсолютно любая хрень писаться в номер регистра AY.
Вот тебе пример и компьютера Amstrad CPC, там AY тоже подключен через ВВ55 (импортный аналог)
шина данных - порт А (0F4h)
сигнал BDIR - бит 7 порт С (0F6h)
сигнал BС1 - бит 6 порт С (0F6h)
Код:
ld b, 0F4h - номер регистра в порт A (ВВ55)
out (c), a
ld b, 0F6h - строб BDIR и BC1 порт C (BB55)
in a, (c)
or 0C0h
out (c), a
and 3Fh
out (c), a
ld b, 0F4h ; 'ф'
out (c), c
ld b, 0F6h ; 'ц'
ld c, a
or 80h ; 'Ђ'
out (c), a
out (c), c
ret
Иными словами, после mvi m,c0h
сделай допустим -> nop (пауза), а затем mvi m,00h