Subversion Repositories Kolibri OS

Rev

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: