Тот сайт может умереть, а информация по изготовлению звука бесценна.
Вся тема сохранена по состоянию на 08.07.2009 в виде ДОК-файла. Ссылки в файле, разумеется дохлые. Да и прикрепленные файлы на файлообменниках тоже умрут.
Click to view attachment
Полный мануал от Клуббера
Click to view attachment
Расшифровка PinConfig
Click to view attachment
Готовые решения я выложил в англоязычной ветке. Местный аттач не умрет.
TheKING создает свой мануал. Потрясающие подробности!
Вот скрипт для подачи команд кодеку
send_verb 0x21870101
CODE
#!/bin/sh
init()
{
REG_BASE=$(get_base_addr)
if [ "$(echo $REG_BASE | cut -b 7-)" == "00" ]
then
BASE_ADDR=$(echo $REG_BASE | cut -b 1-6)
VERB_OUTPUT_ADDR=0x${BASE_ADDR}60
VERB_INPUT_ADDR=0x${BASE_ADDR}64
VERB_STATUS_ADDR=0x${BASE_ADDR}68
else
echo "ERROR -- Unaligned base address." 1>&2
exit 1
fi
}
get_base_addr()
{
ioreg -d 1 -r -n $(ioreg -x | grep 'HDEF' | head -n 1 | cut -d 'o' -f 2- | cut -d '<' -f 1) -x | grep "IODeviceMemory" | cut -d '=' -f 3 | cut -d ',' -f 1 | cut -b 11-
}
set_verb()
{
sudo reggie_se -D PhysAddr -w "$1" -a ${VERB_OUTPUT_ADDR} -B 32
sudo reggie_se -D PhysAddr -w 1 -a ${VERB_STATUS_ADDR} -B 32 &> /dev/null
sudo reggie_se -D PhysAddr -r -a ${VERB_STATUS_ADDR} -B 32 &> /dev/null
sudo reggie_se -D PhysAddr -r -a ${VERB_INPUT_ADDR} -B 32 &> /dev/null
sudo reggie_se -D PhysAddr -w 2 -a ${VERB_STATUS_ADDR} -B 32 &> /dev/null
}
get_verb()
{
sudo reggie_se -D PhysAddr -w "$1" -a ${VERB_OUTPUT_ADDR} -B 32 &> /dev/null
sudo reggie_se -D PhysAddr -w 1 -a ${VERB_STATUS_ADDR} -B 32 &> /dev/null
sudo reggie_se -D PhysAddr -r -a ${VERB_STATUS_ADDR} -B 32 &> /dev/null
sudo reggie_se -D PhysAddr -r -a ${VERB_INPUT_ADDR} -B 32
sudo reggie_se -D PhysAddr -w 2 -a ${VERB_STATUS_ADDR} -B 32 &> /dev/null
}
init
# set_verb 0x00170500
# get_verb 0x001F0500
# set_verb 00837300
echo "set verb" ${1}
set_verb ${1}
