Rev 2015 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2015 | Rev 2106 | ||
---|---|---|---|
Line 488... | Line 488... | ||
488 | end if |
488 | end if |
Line 489... | Line 489... | ||
489 | 489 | ||
490 | mov edx, CTRL_STAT |
490 | mov edx, CTRL_STAT |
Line -... | Line 491... | ||
- | 491 | call [ctrl.ctrl_read32] |
|
491 | call [ctrl.ctrl_read32] |
492 | |
Line 492... | Line 493... | ||
492 | 493 | cmp eax, 0xffffffff |
|
493 | push eax |
494 | je .exit |
Line 494... | Line 495... | ||
494 | 495 | ||
495 | test eax, 0x40 |
496 | test eax, 0x40 |
Line 496... | Line 497... | ||
496 | jnz .do_intr |
497 | jnz .do_intr |
497 | 498 | ||
- | 499 | test eax, eax |
|
498 | test eax, eax |
500 | jz .exit |
- | 501 | ||
Line 499... | Line 502... | ||
499 | jz .done |
502 | mov edx, CTRL_STAT |
- | 503 | call [ctrl.ctrl_write32] |
|
- | 504 | .exit: |
|
500 | 505 | xor eax, eax |
|
501 | mov edx, CTRL_STAT |
506 | ret |
502 | call [ctrl.ctrl_write32] |
507 | |
Line 503... | Line 508... | ||
503 | jmp .done |
508 | .do_intr: |
Line 539... | Line 544... | ||
539 | je .done |
544 | je .done |
Line 540... | Line 545... | ||
540 | 545 | ||
541 | stdcall [ctrl.user_callback], ebx |
546 | stdcall [ctrl.user_callback], ebx |
542 | .done: |
547 | .done: |
543 | pop eax |
548 | pop eax |
544 | ; and eax, 0x40 |
549 | and eax, 0x40 |
545 | mov edx, CTRL_STAT |
550 | mov edx, CTRL_STAT |
- | 551 | call [ctrl.ctrl_write32] |
|
546 | call [ctrl.ctrl_write32] |
552 | or eax, 1 |
547 | ret |
553 | ret |
548 | .skip: |
554 | .skip: |
549 | mov edx, PCM_OUT_CR_REG |
555 | mov edx, PCM_OUT_CR_REG |
550 | mov ax, 0x11 ;0x1D |
556 | mov ax, 0x11 ;0x1D |
551 | call [ctrl.ctrl_write8] |
557 | call [ctrl.ctrl_write8] |
552 | jmp .done |
- | |
553 | 558 | jmp .done |
|
Line 554... | Line 559... | ||
554 | endp |
559 | endp |
555 | 560 |