Rev 431 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 431 | Rev 465 | ||
---|---|---|---|
Line 8... | Line 8... | ||
8 | format MS COFF |
8 | format MS COFF |
Line 9... | Line 9... | ||
9 | 9 | ||
10 | include 'proc32.inc' |
10 | include 'proc32.inc' |
Line -... | Line 11... | ||
- | 11 | include 'imports.inc' |
|
- | 12 | ||
11 | include 'imports.inc' |
13 | API_VERSION equ 0x01000100 |
Line 12... | Line 14... | ||
12 | 14 | ||
Line 13... | Line 15... | ||
13 | DEBUG equ 1 |
15 | DEBUG equ 1 |
Line 88... | Line 90... | ||
88 | CTRL_CNT_GIE equ 0x00000001 ; GPI Interrupt Enable |
90 | CTRL_CNT_GIE equ 0x00000001 ; GPI Interrupt Enable |
Line 89... | Line 91... | ||
89 | 91 | ||
90 | CODEC_REG_POWERDOWN equ 0x26 |
92 | CODEC_REG_POWERDOWN equ 0x26 |
Line 91... | Line -... | ||
91 | CODEC_REG_ST equ 0x26 |
- | |
- | 93 | CODEC_REG_ST equ 0x26 |
|
92 | 94 | ||
93 | 95 | SRV_GETVERSION equ 0 |
|
94 | DEV_PLAY equ 1 |
96 | DEV_PLAY equ 1 |
95 | DEV_STOP equ 2 |
97 | DEV_STOP equ 2 |
96 | DEV_CALLBACK equ 3 |
98 | DEV_CALLBACK equ 3 |
Line 247... | Line 249... | ||
247 | IOCTL IOCTL |
249 | IOCTL IOCTL |
248 | end virtual |
250 | end virtual |
Line 249... | Line 251... | ||
249 | 251 | ||
Line 250... | Line 252... | ||
250 | EVENT_NOTIFY equ 0x00000200 |
252 | EVENT_NOTIFY equ 0x00000200 |
251 | 253 | ||
252 | OS_BASE equ 0; 0x80400000 |
- | |
Line 253... | Line 254... | ||
253 | SLOT_BASE equ OS_BASE+0x0080000 |
254 | OS_BASE equ 0x80000000 |
254 | new_app_base equ 0x80000000 |
255 | SLOT_BASE equ OS_BASE+0x0080000 |
255 | 256 | ||
Line 339... | Line 340... | ||
339 | align 4 |
340 | align 4 |
340 | proc service_proc stdcall, ioctl:dword |
341 | proc service_proc stdcall, ioctl:dword |
Line 341... | Line 342... | ||
341 | 342 | ||
342 | mov edi, [ioctl] |
343 | mov edi, [ioctl] |
- | 344 | mov eax, [edi+io_code] |
|
- | 345 | ||
- | 346 | cmp eax, SRV_GETVERSION |
|
- | 347 | jne @F |
|
- | 348 | ||
- | 349 | mov eax, [edi+output] |
|
- | 350 | cmp [edi+out_size], 4 |
|
- | 351 | jne .fail |
|
- | 352 | ||
- | 353 | mov [eax], dword API_VERSION |
|
- | 354 | xor eax, eax |
|
- | 355 | ret |
|
343 | mov eax, [edi+io_code] |
356 | @@: |
344 | cmp eax, DEV_PLAY |
357 | cmp eax, DEV_PLAY |
345 | jne @F |
358 | jne @F |
346 | if DEBUG |
359 | if DEBUG |
347 | mov esi, msgPlay |
360 | mov esi, msgPlay |
Line 373... | Line 386... | ||
373 | ret |
386 | ret |
374 | @@: |
387 | @@: |
375 | cmp eax, DEV_GET_MASTERVOL |
388 | cmp eax, DEV_GET_MASTERVOL |
376 | jne @F |
389 | jne @F |
377 | mov ebx, [edi+output] |
390 | mov ebx, [edi+output] |
378 | add ebx, new_app_base |
- | |
379 | stdcall get_master_vol, ebx |
391 | stdcall get_master_vol, ebx |
380 | ret |
392 | ret |
381 | @@: |
393 | ;@@: |
382 | cmp eax, DEV_GET_INFO |
394 | ; cmp eax, DEV_GET_INFO |
383 | jne @F |
395 | ; jne @F |
384 | mov ebx, [edi+output] |
396 | ; mov ebx, [edi+output] |
385 | stdcall get_dev_info, ebx |
397 | ; stdcall get_dev_info, ebx |
386 | ret |
398 | ; ret |
387 | @@: |
399 | @@: |
388 | .fail: |
400 | .fail: |
389 | or eax, -1 |
401 | or eax, -1 |
390 | ret |
402 | ret |
391 | endp |
403 | endp |
Line 1136... | Line 1148... | ||
1136 | 1148 | ||
1137 | align 4 |
1149 | align 4 |
1138 | devices dd (CTRL_SIS shl 16)+VID_SIS,msg_AC, set_SIS |
1150 | devices dd (CTRL_SIS shl 16)+VID_SIS,msg_AC, set_SIS |
Line 1139... | Line 1151... | ||
1139 | dd 0 |
1151 | dd 0 |
Line 1140... | Line 1152... | ||
1140 | 1152 | ||
1141 | version dd 0x00040004 |
1153 | version dd (5 shl 16) or (API_VERSION and 0xFFFF) |
Line 1142... | Line 1154... | ||
1142 | 1154 |