Скажем, чтобы воспроизводить сэмпл на частоте дискретизации ~26 kHz, нужно за один кадр заносить в буфер примерно 433 байта. Такой объем памяти будет переноситься очень долго
8бит 26кГц нежатый pcm это жирно слишком. да и где такой объем хранить ? карика не хватит же
в идеале нужно чтобы хватало 256б буфера, например пользовать 4бит ADPCM (или другое сжатие) и/или меньшую частоту.
Наполнение со стороны 68K еще хуже. Замучаешься с синхронизацией. Z80 не может сгенерировать прерывание для 68K, чтобы пополнить буфер в нужный момент. Т.е. 68K понятия не имеет, когда наполнить буфер, и сколько z80 успеет проиграть за определенный интервал времени.
не вижу никаких проблем, с кольцевым буфером на стороне Z80 в 256байт всё легко и просто.
Z80 просто извлекает из этого буфера данные и играет, даже проверок при инкременте не нужно - допустим если указатель на буфер в HL - INC L. из минусов - этот L нужно постоянно записывать в память.
далее, раз в кадр M68K останавливает зилог, читает где сейчас его указатель, также берет указатель куда был записан последний байт в прошлый раз, вычитаем и получаем кол-во байт которое надо "долить", ну и доливает их в буферок.
короче, реализуем самый элементарнейший ринг-буфер.
и что-то мне кажется, что копирование не более чем 256байт один раз в кадр даст ощутимый глюк звука.