Subversion Repositories Kolibri OS

Rev

Rev 224 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 224 Rev 227
Line 247... Line 247...
247
PROC_BASE	      equ OS_BASE+0x0080000
247
PROC_BASE	      equ OS_BASE+0x0080000
248
 
248
 
Line 249... Line 249...
249
public START
249
public START
250
public service_proc
250
public service_proc
-
 
251
public version
Line 251... Line 252...
251
 
252
 
252
extrn AttachIntHandler
253
extrn AttachIntHandler
253
extrn SysMsgBoardStr
254
extrn SysMsgBoardStr
254
extrn PciApi
255
extrn PciApi
Line 265... Line 266...
265
section '.flat' code readable align 16
266
section '.flat' code readable align 16
Line 266... Line 267...
266
 
267
 
Line 267... Line -...
267
proc START stdcall, state:dword
-
 
268
 
268
proc START stdcall, state:dword
269
           mov eax, [state]
-
 
270
           cmp eax, 1
269
 
271
           je .entry
270
           cmp [state], 1
272
           jmp .stop
271
           jne .stop
273
.entry:
272
 
274
     if DEBUG
273
     if DEBUG
275
	   mov esi, msgInit
274
           mov esi, msgInit
Line 321... Line 320...
321
           stdcall RegService, sz_sound_srv, service_proc
320
           stdcall RegService, sz_sound_srv, service_proc
Line 322... Line 321...
322
 
321
 
323
           mov esi, msgOk
322
           mov esi, msgOk
324
           call SysMsgBoardStr
-
 
325
 
323
           call SysMsgBoardStr
326
	   ret
324
           ret
327
.fail:
325
.fail:
328
   if DEBUG
326
   if DEBUG
329
	   mov esi, msgFail
327
           mov esi, msgFail
330
           call SysMsgBoardStr
328
           call SysMsgBoardStr
331
   end if
329
   end if
332
           xor eax, eax
330
           xor eax, eax
333
           ret
331
           ret
334
.stop:
332
.stop:
335
           call stop
333
           call stop
336
	   mov ax, 0x1c
-
 
337
	   mov edx, PCM_OUT_SR_REG
-
 
338
	   call [ctrl.ctrl_write16]
-
 
339
           mov [ctrl.user_callback], 0
334
           xor eax, eax
340
           ret
335
           ret
Line 341... Line 336...
341
endp
336
endp
342
 
337
 
Line 481... Line 476...
481
	   mov edi, pcmout_bdl
476
           mov edi, pcmout_bdl
482
@@:
477
@@:
483
	   mov [edi], eax
478
           mov [edi], eax
484
	   mov [edi+4], ebx
479
           mov [edi+4], ebx
485
 
480
           mov [edi+32], eax
486
	   mov [edi+32], eax
-
 
487
	   mov [edi+4+32], ebx
481
           mov [edi+4+32], ebx
488
 
482
           mov [edi+64], eax
489
	   mov [edi+64], eax
-
 
490
	   mov [edi+4+64], ebx
483
           mov [edi+4+64], ebx
491
 
484
           mov [edi+96], eax
492
	   mov [edi+96], eax
-
 
493
	   mov [edi+4+96], ebx
485
           mov [edi+4+96], ebx
494
 
486
           mov [edi+128], eax
495
	   mov [edi+128], eax
-
 
496
	   mov [edi+4+128], ebx
487
           mov [edi+4+128], ebx
497
 
488
           mov [edi+160], eax
498
	   mov [edi+160], eax
-
 
499
	   mov [edi+4+160], ebx
489
           mov [edi+4+160], ebx
500
 
490
           mov [edi+192], eax
501
	   mov [edi+192], eax
-
 
502
	   mov [edi+4+192], ebx
491
           mov [edi+4+192], ebx
503
 
492
           mov [edi+224], eax
504
	   mov [edi+224], eax
-
 
505
	   mov [edi+4+224], ebx
493
           mov [edi+4+224], ebx
506
 
494
 
Line 507... Line 495...
507
	   add eax, 0x4000
495
           add eax, 0x4000
508
	   add edi, 8
496
           add edi, 8
Line 572... Line 560...
572
	   test eax, eax
560
           test eax, eax
573
	   jz .next
561
           jz .next
574
	   cmp eax, -1
562
           cmp eax, -1
575
	   je .next
563
           je .next
576
 
564
           mov edi, devices
577
	   mov edi, devices
-
 
578
@@:
565
@@:
579
	   mov ebx, [edi]
566
           mov ebx, [edi]
580
	   test ebx, ebx
567
           test ebx, ebx
581
	   jz .next
568
           jz .next
582
 
569
 
Line 584... Line 571...
584
	   je .found
571
           je .found
585
	   add edi, 12
572
           add edi, 12
586
	   jmp @B
573
           jmp @B
587
 
574
 
Line -... Line 575...
-
 
575
.next:
588
.next:	   inc [devfn]
576
           inc [devfn]
589
	   cmp [devfn], 256
577
           cmp [devfn], 256
590
	   jb  .next_dev
578
           jb  .next_dev
591
	   mov eax, [bus]
579
           mov eax, [bus]
592
	   inc eax
580
           inc eax
593
	   mov [bus], eax
581
           mov [bus], eax
Line 613... Line 601...
613
	   mov [ctrl.vendor_ids], msg_SIS
601
           mov [ctrl.vendor_ids], msg_SIS
614
 
602
 
Line 615... Line 603...
615
	   mov esi, [edi+8]
603
           mov esi, [edi+8]
616
	   mov [ctrl.ctrl_setup], esi
604
           mov [ctrl.ctrl_setup], esi
617
 
-
 
618
	   ret
605
           ret
619
.err:
606
.err:
620
	   xor eax, eax
607
           xor eax, eax
621
	   ret
608
           ret
622
endp
609
endp
Line 695... Line 682...
695
	   call [ctrl.ctrl_write8]
682
           call [ctrl.ctrl_write8]
696
 
683
 
Line 697... Line 684...
697
	   mov	edx, MC_IN_CR_REG
684
           mov edx, MC_IN_CR_REG
698
	   call [ctrl.ctrl_write8]
685
           call [ctrl.ctrl_write8]
699
 
-
 
700
 
-
 
701
	   ret
686
           ret
702
endp
687
endp
Line 703... Line 688...
703
 
688
 
704
align 4
689
align 4
Line 797... Line 782...
797
     if DEBUG
782
     if DEBUG
798
	   mov esi, msgWRFail
783
           mov esi, msgWRFail
799
           call SysMsgBoardStr
784
           call SysMsgBoardStr
800
     end if
785
     end if
801
 
-
 
802
	   stc
786
           stc
803
	   ret
787
           ret
804
.ok:
788
.ok:
805
	   mov edx, CTRL_STAT
789
           mov edx, CTRL_STAT
806
	   call [ctrl.ctrl_read32]
790
           call [ctrl.ctrl_read32]
Line 885... Line 869...
885
 
869
 
Line 886... Line 870...
886
align 4
870
align 4
887
proc stop
871
proc stop
888
	   mov edx, PCM_OUT_CR_REG
872
           mov edx, PCM_OUT_CR_REG
889
	   mov ax, 0x14
873
           mov ax, 0x0
890
	   call [ctrl.ctrl_write8]
874
           call [ctrl.ctrl_write8]
Line 891... Line 875...
891
 
875
 
892
	   mov eax, 16
-
 
893
	   mov [ctrl.lvi_reg], eax
876
           mov ax, 0x1c
894
	   mov edx, PCM_OUT_LVI_REG
877
           mov edx, PCM_OUT_SR_REG
895
	   call [ctrl.ctrl_write8]
878
           call [ctrl.ctrl_write16]
896
	   ret
879
           ret
Line 897... Line 880...
897
endp
880
endp
898
 
881
 
Line 1129... Line 1112...
1129
align 4
1112
align 4
1130
devices dd (CTRL_SIS  shl 16)+VID_SIS,msg_AC, set_SIS
1113
devices dd (CTRL_SIS  shl 16)+VID_SIS,msg_AC, set_SIS
1131
	dd 0
1114
	dd 0
Line -... Line 1115...
-
 
1115
 
-
 
1116
version      dd 0x00010001
1132
 
1117
 
1133
msg_AC	  db '7012 AC97 controller',13,10, 0
1118
msg_AC       db '7012 AC97 controller',13,10, 0
Line 1134... Line 1119...
1134
msg_SIS   db 'Silicon Integrated Systems',13,10, 0
1119
msg_SIS      db 'Silicon Integrated Systems',13,10, 0