Rev 2010 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2010 | Rev 2015 | ||
---|---|---|---|
Line 332... | Line 332... | ||
332 | call SysMsgBoardStr |
332 | call SysMsgBoardStr |
333 | call create_primary_buff |
333 | call create_primary_buff |
334 | mov esi, msgDone |
334 | mov esi, msgDone |
335 | call SysMsgBoardStr |
335 | call SysMsgBoardStr |
Line -... | Line 336... | ||
- | 336 | ||
- | 337 | if IRQ_REMAP |
|
- | 338 | pushf |
|
- | 339 | cli |
|
- | 340 | ||
- | 341 | mov ebx, [ctrl.int_line] |
|
- | 342 | in al, 0xA1 |
|
- | 343 | mov ah, al |
|
- | 344 | in al, 0x21 |
|
- | 345 | test ebx, ebx |
|
- | 346 | jz .skip |
|
- | 347 | bts ax, bx ;mask old line |
|
- | 348 | .skip |
|
- | 349 | bts ax, IRQ_LINE ;mask new ine |
|
- | 350 | out 0x21, al |
|
- | 351 | mov al, ah |
|
- | 352 | out 0xA1, al |
|
- | 353 | ;remap IRQ |
|
- | 354 | stdcall PciWrite8, 0, 0xF8, 0x61, IRQ_LINE |
|
- | 355 | ||
- | 356 | mov dx, 0x4d0 ;8259 ELCR1 |
|
- | 357 | in al, dx |
|
- | 358 | bts ax, IRQ_LINE |
|
- | 359 | out dx, al ;set level-triggered mode |
|
- | 360 | mov [ctrl.int_line], IRQ_LINE |
|
- | 361 | popf |
|
- | 362 | mov esi, msgRemap |
|
- | 363 | call SysMsgBoardStr |
|
- | 364 | end if |
|
- | 365 | ||
336 | 366 | mov ebx, [ctrl.int_line] |
|
337 | stdcall AttachIntHandler, 17, ac97_irq, dword 0 |
367 | stdcall AttachIntHandler, ebx, ac97_irq, dword 0 |
338 | .reg: |
368 | .reg: |
339 | stdcall RegService, sz_sound_srv, service_proc |
369 | stdcall RegService, sz_sound_srv, service_proc |
340 | ret |
370 | ret |
341 | .fail: |
371 | .fail: |
Line 509... | Line 539... | ||
509 | je .done |
539 | je .done |
Line 510... | Line 540... | ||
510 | 540 | ||
511 | stdcall [ctrl.user_callback], ebx |
541 | stdcall [ctrl.user_callback], ebx |
512 | .done: |
542 | .done: |
513 | pop eax |
543 | pop eax |
514 | and eax, 0x40 |
544 | ; and eax, 0x40 |
515 | mov edx, CTRL_STAT |
545 | mov edx, CTRL_STAT |
516 | call [ctrl.ctrl_write32] |
546 | call [ctrl.ctrl_write32] |
517 | ret |
547 | ret |
518 | .skip: |
548 | .skip: |