SpecDrum/ЦАП

Spectrum Next имеет 4 8-битных порта ЦАП, которые можно использовать для воспроизведения звука. Управление ЦАП осуществляется путем вывода байта аудиоданных на один из портов, указанных ниже. Next также поддерживает небольшие улучшения по сравнению с оригинальным SpecDrum, у которого был только один выход. SoundDrive - это термин, обозначающий 4 8-битных канала ЦАП, 2 x Левый и 2 x Правый, и некоторое российское программное обеспечение поддерживает этот режим.

Данные могут быть отправлены на ЦАП либо через NextRegs, либо через вывод (OUTTING) на порт.

ПанорамированиеПортЦАП
Левый0x1fЦАП A
Левый0xf1ЦАП A
Левый0x3fЦАП A
Левый0x0fЦАП B
Левый0xf3ЦАП B
Центр0xdfЦАП A,D
Центр0xfbЦАП A,D
Центр0xb3ЦАП B,C
Правый0x4fЦАП C
Правый0xf9ЦАП C
Правый0x5fЦАП D
 НомерЧитаемыйЗаписываемыйОписание
Регистр старшего адреса Keymap$28ДаДаMSB адреса PS/2 Keymap , первое прочитанное (ожидаемое) значение - байт цвета палитры
Регистр младшего адреса Keymap$29НетДаLSB адреса PS/2 Keymap.
Регистр старших данных Keymap$2AНетДаСтаршие данные для PS/2 Keymap (MSB данных в бите 0)
… дальнейшие результаты

Частота, с которой ЦАП может воспроизводить звук, зависит от скорости, с которой аудиоданные отправляются на порт. В большинстве случаев вам, вероятно, захочется запускать другой код вместе с управлением звуком, поэтому разгрузка подачи данных на ЦАП может быть выполнена с помощью DMA, COPPER или прерываний CTC. В зависимости от вашего базового кода необходимо будет проанализировать наиболее подходящий метод.

DMA воспроизведение, возможно, самый простой метод, но он также требует исключительного использования DMA и раздела памяти для воспроизведения DMA.

COPPER имеет наименьшие требования к процессору, но более сложную настройку. COPPER необходимо подавать данные для каждого кадра.

  • Пример воспроизведения звука COPPER TBC (будет добавлено позже)

Таймеры CTC - это хорошее сочетание простоты настройки и управления, оставляющее DMA и COPPER свободными для других целей.

Кодирование wav-файлов с помощью ffmpeg

Next способен воспроизводить 8-битные моно или стерео wav-файлы с частотой дискретизации до 32 кГц.

Следующая команда ffmpeg может быть использована для преобразования аудиофайла любого формата, который может декодировать ffmpeg, в стерео wav-файл, воспроизводимый на Next. Измените ac (Audio Channels) на 1, чтобы закодировать моно файл.

ffmpeg -i input.wav -f wav -acodec pcm_u8 -ac 2 -ar 32000 output.wav