Rev 351 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 351 | Rev 378 | ||
---|---|---|---|
Line 269... | Line 269... | ||
269 | 269 | ||
Line 270... | Line 270... | ||
270 | EVENT_NOTIFY equ 0x00000200 |
270 | EVENT_NOTIFY equ 0x00000200 |
Line 271... | Line 271... | ||
271 | 271 | ||
272 | OS_BASE equ 0; |
- | |
273 | new_app_base equ 0x60400000 |
272 | OS_BASE equ 0; |
- | 273 | PROC_BASE equ OS_BASE+0x0080000 |
|
Line 274... | Line 274... | ||
274 | PROC_BASE equ OS_BASE+0x0080000 |
274 | new_app_base equ 0x80000000 |
275 | 275 | ||
276 | public START |
276 | public START |
Line 403... | Line 403... | ||
403 | ret |
403 | ret |
404 | @@: |
404 | @@: |
405 | cmp eax, DEV_SET_MASTERVOL |
405 | cmp eax, DEV_SET_MASTERVOL |
406 | jne @F |
406 | jne @F |
407 | mov ebx, [edi+input] |
407 | mov eax, [edi+input] |
408 | stdcall set_master_vol, [ebx] |
408 | mov eax, [eax] |
- | 409 | call set_master_vol ;eax= vol |
|
409 | ret |
410 | ret |
410 | @@: |
411 | @@: |
411 | cmp eax, DEV_GET_MASTERVOL |
412 | cmp eax, DEV_GET_MASTERVOL |
412 | jne @F |
413 | jne @F |
413 | mov ebx, [edi+output] |
414 | mov ebx, [edi+output] |
414 | test ebx, ebx |
415 | add ebx, new_app_base |
415 | jz .fail |
416 | stdcall get_master_vol, ebx |
416 | - | ||
417 | stdcall get_master_vol, ebx |
- | |
418 | ret |
417 | ret |
419 | @@: |
418 | ;@@: |
420 | cmp eax, DEV_GET_INFO |
419 | ; cmp eax, DEV_GET_INFO |
421 | jne @F |
420 | ; jne @F |
422 | mov ebx, [edi+output] |
421 | ; mov ebx, [edi+output] |
423 | stdcall get_dev_info, ebx |
422 | ; stdcall get_dev_info, ebx |
424 | ret |
423 | ; ret |
425 | @@: |
424 | @@: |
426 | .fail: |
425 | .fail: |
427 | xor eax, eax |
426 | or eax, -1 |
428 | ret |
427 | ret |
429 | endp |
428 | endp |
430 | 429 | ||
Line 431... | Line 430... | ||
431 | restore handle |
430 | restore handle |
432 | restore io_code |
431 | restore io_code |
Line 1002... | Line 1001... | ||
1002 | ret |
1001 | ret |
1003 | endp |
1002 | endp |
1004 | 1003 | ||
Line 1005... | Line 1004... | ||
1005 | align 4 |
1004 | align 4 |
1006 | proc play |
1005 | play: |
1007 | - | ||
1008 | mov eax, 16 |
1006 | mov eax, 16 |
1009 | mov [ctrl.lvi_reg], eax |
1007 | mov [ctrl.lvi_reg], eax |
1010 | mov edx, PCM_OUT_LVI_REG |
1008 | mov edx, PCM_OUT_LVI_REG |
1011 | call [ctrl.ctrl_write8] |
1009 | call [ctrl.ctrl_write8] |
Line 1012... | Line 1010... | ||
1012 | 1010 | ||
1013 | mov edx, PCM_OUT_CR_REG |
1011 | mov edx, PCM_OUT_CR_REG |
1014 | mov ax, 0x1D |
1012 | mov ax, 0x1D |
- | 1013 | call [ctrl.ctrl_write8] |
|
1015 | call [ctrl.ctrl_write8] |
1014 | xor eax, eax |
1016 | ret |
- | |
Line 1017... | Line 1015... | ||
1017 | endp |
1015 | ret |
1018 | 1016 | ||
1019 | align 4 |
1017 | align 4 |
1020 | proc stop |
1018 | stop: |
1021 | mov edx, PCM_OUT_CR_REG |
1019 | mov edx, PCM_OUT_CR_REG |
Line 1022... | Line 1020... | ||
1022 | mov ax, 0x0 |
1020 | mov ax, 0x0 |
1023 | call [ctrl.ctrl_write8] |
1021 | call [ctrl.ctrl_write8] |
1024 | 1022 | ||
- | 1023 | mov ax, 0x1c |
|
1025 | mov ax, 0x1c |
1024 | mov edx, PCM_OUT_SR_REG |
1026 | mov edx, PCM_OUT_SR_REG |
- | |
Line 1027... | Line 1025... | ||
1027 | call [ctrl.ctrl_write16] |
1025 | call [ctrl.ctrl_write16] |
1028 | ret |
1026 | xor eax, eax |
1029 | endp |
1027 | ret |
1030 | 1028 | ||
Line 1351... | Line 1349... | ||
1351 | dd (CTRL_MCP51 shl 16)+VID_NVIDIA,msg_MCP51,set_ICH |
1349 | dd (CTRL_MCP51 shl 16)+VID_NVIDIA,msg_MCP51,set_ICH |
1352 | 1350 | ||
Line 1353... | Line 1351... | ||
1353 | dd 0 ;terminator |
1351 | dd 0 ;terminator |
Line 1354... | Line 1352... | ||
1354 | 1352 | ||
Line 1355... | Line 1353... | ||
1355 | version dd 0x00030003 |
1353 | version dd 0x00040004 |
1356 | 1354 | ||
1357 | msg_ICH db 'Intel ICH', 13,10, 0 |
1355 | msg_ICH db 'Intel ICH', 13,10, 0 |
1358 | msg_ICH0 db 'Intel ICH0', 13,10, 0 |
1356 | msg_ICH0 db 'Intel ICH0', 13,10, 0 |