249,6 → 249,7 |
|
public START |
public service_proc |
public version |
|
extrn AttachIntHandler |
extrn SysMsgBoardStr |
267,11 → 268,9 |
|
proc START stdcall, state:dword |
|
mov eax, [state] |
cmp eax, 1 |
je .entry |
jmp .stop |
.entry: |
cmp [state], 1 |
jne .stop |
|
if DEBUG |
mov esi, msgInit |
call SysMsgBoardStr |
323,7 → 322,6 |
|
mov esi, msgOk |
call SysMsgBoardStr |
|
ret |
.fail: |
if DEBUG |
334,10 → 332,7 |
ret |
.stop: |
call stop |
mov ax, 0x1c |
mov edx, PCM_OUT_SR_REG |
call [ctrl.ctrl_write16] |
mov [ctrl.user_callback], 0 |
xor eax, eax |
ret |
endp |
|
483,25 → 478,18 |
@@: |
mov [edi], eax |
mov [edi+4], ebx |
|
mov [edi+32], eax |
mov [edi+4+32], ebx |
|
mov [edi+64], eax |
mov [edi+4+64], ebx |
|
mov [edi+96], eax |
mov [edi+4+96], ebx |
|
mov [edi+128], eax |
mov [edi+4+128], ebx |
|
mov [edi+160], eax |
mov [edi+4+160], ebx |
|
mov [edi+192], eax |
mov [edi+4+192], ebx |
|
mov [edi+224], eax |
mov [edi+4+224], ebx |
|
574,7 → 562,6 |
jz .next |
cmp eax, -1 |
je .next |
|
mov edi, devices |
@@: |
mov ebx, [edi] |
586,7 → 573,8 |
add edi, 12 |
jmp @B |
|
.next: inc [devfn] |
.next: |
inc [devfn] |
cmp [devfn], 256 |
jb .next_dev |
mov eax, [bus] |
615,7 → 603,6 |
|
mov esi, [edi+8] |
mov [ctrl.ctrl_setup], esi |
|
ret |
.err: |
xor eax, eax |
697,8 → 684,6 |
|
mov edx, MC_IN_CR_REG |
call [ctrl.ctrl_write8] |
|
|
ret |
endp |
|
799,7 → 784,6 |
mov esi, msgWRFail |
call SysMsgBoardStr |
end if |
|
stc |
ret |
.ok: |
887,13 → 871,12 |
align 4 |
proc stop |
mov edx, PCM_OUT_CR_REG |
mov ax, 0x14 |
mov ax, 0x0 |
call [ctrl.ctrl_write8] |
|
mov eax, 16 |
mov [ctrl.lvi_reg], eax |
mov edx, PCM_OUT_LVI_REG |
call [ctrl.ctrl_write8] |
mov ax, 0x1c |
mov edx, PCM_OUT_SR_REG |
call [ctrl.ctrl_write16] |
ret |
endp |
|
1131,6 → 1114,8 |
devices dd (CTRL_SIS shl 16)+VID_SIS,msg_AC, set_SIS |
dd 0 |
|
version dd 0x00010001 |
|
msg_AC db '7012 AC97 controller',13,10, 0 |
msg_SIS db 'Silicon Integrated Systems',13,10, 0 |
|