31,7 → 31,10 |
jne .next |
mov eax, [edi+4] |
mov [codec.ac_vendor_ids], eax |
mov esi, eax |
call SysMsgBoardStr |
stdcall detect_chip, [edi+8] |
|
ret |
.next: |
add edi, 12 |
39,6 → 42,12 |
.unknown: |
mov [codec.ac_vendor_ids], ac_unknown |
mov [codec.chip_ids], chip_unknown |
|
mov esi, chip_unknown |
call SysMsgBoardStr |
mov eax, [codec.chip_id] |
call dword2str |
call SysMsgBoardStr |
ret |
endp |
|
64,6 → 73,11 |
jmp @b |
.unknown: |
mov [codec.chip_ids], chip_unknown |
mov esi, chip_unknown |
call SysMsgBoardStr |
mov eax, [codec.chip_id] |
call dword2str |
call SysMsgBoardStr |
ret |
endp |
|
93,7 → 107,6 |
|
|
stdcall codec_read, dword CODEC_EXT_AUDIO_CTRL_REG |
|
and eax, 0FFFFh - BIT1 ; clear DRA (BIT1) |
or eax, BIT0 ; set VRA (BIT0) |
stdcall codec_write, dword CODEC_EXT_AUDIO_CTRL_REG |
101,7 → 114,6 |
stdcall set_sample_rate, dword 48000 |
|
.init_error: |
|
xor eax, eax ; exit with error |
ret |
endp |
153,7 → 165,7 |
ac_Realtek db 'Realtek Semiconductor',13,10,0 |
ac_Analog db 'Analog Devices',13,10,0 |
ac_CMedia db 'C-Media Electronics',13,10,0 |
chip_unknown db 'unknown chip', 13,10,0 |
chip_unknown db 'unknown codec id ', 0 |
|
CHIP_ANALOG equ 0x41445300 |
CHIP_REALTEK equ 0x414C4700 |
177,7 → 189,8 |
dd 0x75, chip_AD1985 |
dd 0 |
|
chips_Realtek dd 0x20, chip_ALC650 |
chips_Realtek: |
dd 0x20, chip_ALC650 |
dd 0x21, chip_ALC650D |
dd 0x22, chip_ALC650E |
dd 0x23, chip_ALC650F |