			ணࠬ஢ Adlib/SoundBlaster
				 ⥧
                            2.0 ( 24 䥢ࠫ 1992 )

                  ᪮ ࠢ 1991 (c), 1992 Jeffrey S. Lee

                               jlee@smylex.uucp


      ᫠  ⭠筮 ⥬, ᫨ ᯥ樠쭮  ७.



                          1 -  㪮 

     㪮  ணࠬ 뫪   ७ ॣ
     १   /뢮:

             0x0388  -   / ﭨ (R/W)
             0x0389  -               (W/O)

     Sound Blaster Pro ந ८ , 饭  
     ந室 ⠪,       0x220, ࠢ
     0x222. Sound Blaster ᮢ⨬  Adlib. १ 0x388  0x389 
     ந室 뢮 모 १  .

      㪮  244 ७ ॣ (01-F5).  ⮣ ⮡
      祭  ॣ:
        -   ॣ   ;
        -  祭  ॣ .

     ᫥     6 ࠧ   , । 뫪
       ॣ . ᫥   30 ࠧ, ०, 祬
      㤥 ᭮ த ணࠬ஢ .  㪮⢥
      Adlib ᪠,    3.3 ᥪ㭤  ,
      23   .

      㪮  ⮫쪮  .

      ⮣ ⮣ ⮡   ﭨ 㪮 , 
     ⠩  0x388.  ﭨ  ᫥ :

              7      6      5      4      3      2      1      0
          +---------+--------+--------+------+------+------+------+------+
          |      | ⠩ | ⠩ |                 ᯮ   |
          | ⠩ |      1 |      2 |                                  |
          +---------+--------+--------+------+------+------+------+------+

           7 - ⠭ ᫨  ⠩ ⥪.
              6 - ⠭ ᫨ 1 ⠩ ⠭.
              5 - ⠭ ᫨ 2 ⠩ ⠭.



                        2 - 

 ⮩ ⠡ ਢ 㭪樨  ॣ  㪮 .
  ᫥ ⠡.  ਢ ॣ ᯮ.

           㭪
   -------      ----------------------------------------------------
     01          LSI / 롮  
     02          1
     03          2
     04          ࠢ 
     08         祢 ० ᨭ⥧ / ᮡ ஢ 
   20. .35      ६ /  / ﭭ ஢ /
		 ⥫쭮 /  
   40. .55       ஢ / ஢ ᨣ ( ஬ )
   60. .75      ⠪ /  ᫥ ⠪
   80. .95       ஢ / 堭
   A0.. A8       ( 8  ⮢ )
   B0.. B8        / ⠢ /  ( 2   )
     BD         㡨 ६ /  / ஫ ⬠
   C0.. C8      稭 ⭮ 裡 / ० 쥤 楯
   E0.. F5      ଠ 

㯯    ॣ஢ ( 20-35, 40-55,  ... ) ᮤঠ
ଠ  9 㬥. ଠ   㬥 ⮨
  ᠭ 楯 1,   ᠭ 楯 2.  ⠡
뢠 ᬥ饭  ।  㯯 ॣ஢   楯.

             1  2  3  4  5  6  7  8  9
    1        00 01 02 08 09 0A 10 11 12
    2        03 04 05 0B 0C 0D 13 14 15

 ࠧ,   ⠪/ᯠ   3 - 62  楯 1,
 65  楯 2. (  ன 楯 - ᥣ ࠢ  ࢮ
楯   ).

⮡ ஢  , ਢ  室 ⮡
ࠢ  5:

    29 -  1 ६
    2C -  2 ६
    49 -  1 ஢
    4C -  2 ஢
    69 -  1 ⠪
    6C -  2 ⠪
    89 -  1 堭
    8C -  2 堭
    A4 -              ( 8  ⮢ )
    B4 -               / ⠢ /  ( 2   )
    C4 -             稭 ⭮ 裡 / ० 쥤 楯
    E9 -  1 ଠ 
    EC -  2 ଠ 



                       ᭥ ࠡ ॣ஢ 

 01 -   筮 ᯮ ⮡ ஢ LSI ன⢮. 
           筮 ⠭  .  5 ࠧ蠥 롮  
	  0 - ᨭᮨ쭠, 1 - । E0-F5


 02 -  1. ᫨ ⠩ 1 㯥, 祭  ⮬
          ॣ 㤥 㢥稢   ९. ᫥
          ९, 㪮  㤥 뢠 뢠 ⠩
	  ( int 08 )  ⠭  7  6   ﭨ. 稪
          ⮣ ⠩ 㢥稢  80 ᥪ㭤.


 03 -  2. ᫨ ⠩ 1 㯥, 祭  ⮬
          ॣ 㤥 㢥稢   ९. ᫥
          ९, 㪮  㤥 뢠 뢠 ⠩
	  ( int 08 )  ⠭  7  6   ﭨ. 稪
          ⮣ ⠩ 㢥稢  320 ᥪ㭤.


 04 - 㦥  ⠩

        7     6     5     4     3     2     1     0
     +-----+-----+-----+-----+-----+-----+-----+-----+
     | IRQ | T1  | T2  |  ᯮ | T2  | T1  |
     | RST | MSK | MSK |                 | CTL | CTL |
     +-----+-----+-----+-----+-----+-----+-----+-----+
       ᪨                          ⠩஢
    ⠩ ⠩஢

           7 -  䫠 ⠩஢ 1 & 2.  ⮬
                    㣨  .
           6 - ᪠ ⠩ 1.  ⠭,   0 .
           5 - ᪠ ⠩ 2.  ⠭,   1 .
           1 -  饭,  ⠩ 2  ࠡ⠥.
                   ⠭, 祭   03 㦠
		   ⠩ 2,  稭 㢥稢.
           0 -  饭,  ⠩ 1  ࠡ⠥.
                   ⠭, 祭   02 㦠
		   ⠩ 1,  稭 㢥稢.


 08 - 祢 ० ᨭ⥧ / ᮡ ஢ .

        7     6     5     4     3     2     1     0
     +-----+-----+-----+-----+-----+-----+-----+-----+
     | CSM | Key |   ᯮ                  |
     | Sel | Spl |                                   |
     +-----+-----+-----+-----+-----+-----+-----+-----+

           7 -  ⠭, 롨ࠥ  ० ᨭ⥧ 
                  (  KEY-ON    饭 ).  襭,
                    롮 FM ०.

           6 - 롮 ० ஢ .


 20-35 - ६ /  / ﭭ ஢ /
	       ⥫쭮 /  

        7     6     5     4     3     2     1     0
     +-----+-----+-----+-----+-----+-----+-----+-----+
     | Amp | Vib | EG  | KSR |       |
     | Mod |     | Typ |     |                       |
     +-----+-----+-----+-----+-----+-----+-----+-----+
      "६"   ﭭ
		  ஢
	   ""    
			⥫쭮

           7 - ਬ "६"  ⠭; 㡨
                  ࠢ 䫠 AM-Depth   BD.
           6 - ਬ ""  ⠭; 㡨
                  ࠢ 䫠 VIB-depth   BD.
           5 - ᫨ ⠭, ﭭ ஢ ᨣ ন
		    饭;  襭,  稭  প
                  ᫥ ﭭ 䠧.
           4 -  ⠭,  砥 ०  ⥫쭮
		  ᨣ  ⮬ 
           3-0 -   㪠뢠  ମ 㤥
                  ந  (   )  ⭮襭 
		  ந 㪠
		  ( 樥 㬭  )

                      0 -   ⠢ 
                      1 -  ।  㪠
                      2 -   ⠢ 
                      3 -  ⠢   
                      4 -  ⠢ 
                      5 -  ⠢    
                      6 -  ⠢   
                      7 -  ⠢   ᥤ쬮 
                      8 -  ⠢ 
                      9 -  ⠢   ᥪ㭤 
		      A -  ⠢    
                      B - "        """ """
		      C -  ⠢   
                      D - "        """ " "
		      E -  ⠢   ᥤ쬮 
                      F - "        """ """


 40-55 -  ஢ / ஢ ᨣ ( ஬ )


        7     6     5     4     3     2     1     0
     +-----+-----+-----+-----+-----+-----+-----+-----+
     |  |       騩 ஢               |
     | ஢    | 24      12     6     3   1.5  .75 | < - dB
     +-----+-----+-----+-----+-----+-----+-----+-----+

           7-6 - ⠭  㤥 㬥 室 ஢
		      ⮬ :

                          00 -     
                          10 -    1.5 DB/8ve
                          01 -    3 DB/8ve
                          11 -    6 DB/8ve

           5-0 - ஫ 騩 室 ஢ 楯.
                        饭  ᠬ ஬;
		       ⠭  ᠬ 娩.
		     । ஢ ᨣ.  楯 祭
		     ⨢   ஬ 饩,
		      ⠭ ஬ 砭.
		     ᫨ 楯 ᯮ  樨
		     㫨饣 ᨣ,  ࠧ 
		     㡨 樨. ,  ஬
		       ᮤন   . 
		     㢥祭  1 㬥蠥  0.75 DB



 60-75 - ⠪ /  ᫥ ⠪

        7     6     5     4     3     2     1     0
     +-----+-----+-----+-----+-----+-----+-----+-----+
     |               |               |
     |   ⠪               |                  |
     +-----+-----+-----+-----+-----+-----+-----+-----+

           7-4 - ᪮ ⠪. 0 - , F - .
           3-0 - ᪮ ᯠ. 0 - , F - .


 80-95 - ﭭ ஢ / 堭

        7     6     5     4     3     2     1     0
     +-----+-----+-----+-----+-----+-----+-----+-----+
     |    ﭭ ஢ |               |
     | 24    12    6     3   | 堭             |
     +-----+-----+-----+-----+-----+-----+-----+-----+

           7-4 - ﭭ ஢. 0 ᠬ ஬, F ᠬ 娩.
           3-0 -  堭. 0 - , F ᠬ .


 A0-B8 -  ( 8  ⮢ ) /
	        / ⠢ /  ( 2   )

        7     6     5     4     3     2     1     0
     +-----+-----+-----+-----+-----+-----+-----+-----+
     |        ᥬ  ⮢            | (A0-A8)
     |                                               |
     +-----+-----+-----+-----+-----+-----+-----+-----+

        7     6     5     4     3     2     1     0
     +-----+-----+-----+-----+-----+-----+-----+------+
     | ᯮ- |  |          ⠢ |  | (B0-B8)
     |     | |                 | |
     +-----+-----+-----+-----+-----+-----+-----+------+

	   ॣ    ⠢    
	  ᮢ . ⬥⨬,   ࠡ  ᨭ⥧஬
	  筮     ।  ⠢.

	   5 -      ⠭.
           4-2 - ⠢ (0-7). 0 , 7 ᮪.
           1-0 - 訥  .

     ஢   ⠢ 4:

                        
           16B          277.2     C(#)(#)
           181          293.7     D ()
           198          311.1     D(#)(#)
           1B0          329.6     E ()
           1CA          349.2     F ()
           1E5          370.0     F(#)(#)
           202          392.0     G(᮫)
           220          415.3     G(#)(᮫#)
           241          440.0     A()
           263          466.2     A(#)(#)
           287          493.9     B()
           2AE          523.3     C()

 C0-C8 - 稭 ⭮ 裡 / ० 쥤 楯

        7     6     5     4     3     2     1     0
     +-----+-----+-----+-----+-----+-----+-----+-----+
     |       ᯮ  |  㡨        | Alg |
     |                       | ⭮ 裡  |     |
     +-----+-----+-----+-----+-----+-----+-----+-----+
						 쥤 ᨣ
						⥫ 楯.
           3-1 - 稭 ⭮ 裡. ᫨    = 0,
                      ⭮ 裡 .  祭 1-7, 楯 1
		     㤥 뫠  뢮 ⭮ ᠬ⥫쭮.
		     1  7 - ᨬ.
           0 -   ᫨ = 0,  楯 1 㫨 楯 2.  ⮬ 砥,
	  	     ⮫쪮 楯 2 ந . ᫨ = 1, 
		     楯 ந .  㪨 
		     ᮧ, ᫨ = 0.


 BD - 㡨 ६ /  / ஫ ⬠

        7     6     5     4     3     2     1     0
     +-----+-----+-----+-----+-----+-----+-----+-----+
     | AM  | Vib | Rhy | BD  | SD  | TOM | Top | HH  |
     | Dep | Dep | Ena |     |     |     | Cym |     |
     +-----+-----+-----+-----+-----+-----+-----+-----+
     㡨      ०        ࠡ     ५
     ६      㤠               
	   㡨     让      -⠬
	        ࠡ      
		                  
					  

	   7 -  㡨 "६" =1 - 4.8db, =0 - 1db.
	   6 - । 㡨 "" =1 - 14%, =0 - 7%.
	   5 - 砥 ०  (0) ( 9 ᮢ )
	   	   㤠 (1) ( 6 ᮢ ).
	          ᫨ ⠭ ० 㤠 ᯮ
	            4  0. 饭 ॣ஢ ⥫
		  楯  ⮬  ० ⠪:

             1  2  3  4  5  让   -⠬  ५
   				 ࠡ ࠡ
    1        00 01 02 08 09       0A    14     12      15     11
    2        03 04 05 0B 0C       0D



 E0-F5 - 롮  

        7     6     5     4     3     2     1     0
     +-----+-----+-----+-----+-----+-----+-----+------+
     |               ᯮ      | 롮 |
     |                                   |       |
     +-----+-----+-----+-----+-----+-----+-----+------+

           1-0 -   5 ॣ 01 ⠭, 室
                     ଠ   ᪠ ᮣ᭮ ଥ 
                     祭 ⨬  ⠬.  㤥 ஡
                     ࠦ 奬᪨  ,   㤭

         ___              ___            ___    ___       _      _
        /   \            /   \          /   \  /   \     / |    / |
       /_____\_______   /_____\_____   /_____\/_____\   /__|___/__|___
              \     /
               \___/

            00              01               10               11



                           㦥 㪮 

  ᭮ 㪮 AdLib, "樠" ⮤ 㦥 Adlib

       1)   ⠩ ᠢ 60h  ॣ 4.
       2)  뢠 ᠢ 80h  ॣ 4.
       3) ⠩ ॣ ﭨ (  388- ). ࠭ १.
       4)  FFh  ॣ 2 (  1 ).
       5)  ⠩ 1 ᠢ 21h  ॣ 4.
       6)  প  80 ᥪ㭤.
       7) ⠩ ॣ ﭨ (  388- ). ࠭ १.
       8)   ⠩  뢠 ( . 蠣 1  2 ).
       9) ஢ ࠭ १ 蠣 3  7  AND   E0h.
           蠣 3   00h,  १ 蠣 7 
	   C0h. ᫨  ࠢ쭮,  AdLib-ᮢ⨬ 
	  ⠭  .

  㣮 ⮤:

PROC Detectadlib                              ;proc to detect adlib
                stc                           ;set the carry flag (default)
                pusha                         ;preserve regs
                mov     dx,0388h              ;use the code posted by lee
                in      al,dx                 ;someone else suggested it...
                cmp     al,0                  ;seems to work
                je      @@there               ;adlib present, clear carry flag
                cmp     al,6                  ;adlib not present if al<>0 OR 6
                jne     @@carryon             ;and again...
                                              ;
@@there:        clc                           ;clear cf, adlib is there
@@carryon:
                popa                          ;restore our regs
                ret                           ;return
ENDP                                          ;end of detect adlib proc


   樠 ⮤

AdlibAddr	dw	0388h

WriteFM PROC NEAR
        push    ax
        push    cx
        push    dx
        xchg    al,ah
        mov	dx, cs:AdlibAddr
        out     dx, al
        mov     cx,7
        call    FMwait
        inc	dx
        mov     al,ah
        out     dx,al
        dec     dx
        mov     cx,30
        call    FMwait
        pop     dx
        pop     cx
        pop     ax
        ret
FMwait: in      al,dx
        loop    FMwait
        ret
WriteFM ENDP


;
; Check for FM chip, returns CF = 0 if found, or CF = 1 if not 
;

TestFMchip      proc    far

        mov     ax, 00100h
        Call    WriteFM
        mov     ax, 00480h
        Call    WriteFM

        mov	dx, cs:AdlibAddr
        in      al, dx
        mov     cl, al
        mov     ax, 002FFh
        Call    WriteFM
        mov     ax, 00421h
        Call    WriteFM

        mov	dx, cs:AdlibAddr
        mov     cx, 100
        call    FMwait
        mov     ch, al

        mov     ax, 00460h
        Call    WriteFM
        mov     al, 80h
        Call    WriteFM

        and     cl, 0E0h
        cmp     cl, 0
        jne     No_FMchip
        and     ch, 0E0h
        cmp     ch, 0C0h
        jne     No_FMchip

        popa
        clc
        ret

No_FMchip:

        popa
        stc
        ret

TestFMchip      endp


 ਬ砭:
ͼ

    㬥 ⠢ ᨬ .. 09/1995. . -,
   ஢᪮ . .
   묨  ⠢ ⮣ 㬥 㦨 ଠ
    ࠧ 筨. ⮬    ⢥⢥
     ଠ,   ० 孨  ⥫ 
   ᯮ짮 ⮣ 㬥.
 訬 ﬨ,   ⥫ ணࠬ஢ Adlib !
			   Vale !

