home *** CD-ROM | disk | FTP | other *** search
/ PC Action 1998 January / PCA0198.ISO / MENUE / POSTFACH / 98012061.TXT < prev    next >
Text File  |  1997-11-25  |  1KB  |  76 lines

  1. 0
  2. FM-Sound-Blaster-Sound (in groben zⁿgen):
  3. Der Zauberleerling
  4. Listings
  5. uses crt;
  6.  
  7. const KEYON     = $20;
  8.  
  9.       FMP        = 8;
  10.       PROFM1P    = 0;
  11.  
  12.       PROFM2P    = 2;
  13.  
  14.  
  15.       LEFT       = $20;
  16.       RIGHT     = $10;
  17.  
  18.  
  19.  
  20. var   IOport : integer;
  21.  
  22. Procedure FMoutput(ioport, reg, val : integer);
  23. begin
  24.    port[ioport]:= reg;
  25.    delay(1);
  26.    port[ioport+1]:= val;
  27. end;
  28.  
  29. Procedure fm(reg, val : integer);
  30. begin
  31.    FMoutput(IOport+FMP, reg, val);
  32. end;
  33.  
  34.  
  35. Procedure Profm1(reg, val : integer);
  36. begin
  37.    FMoutput(IOport+PROFM1p, reg, val);
  38. end;
  39.  
  40.  
  41. Procedure Profm2(reg, val : integer);
  42. begin
  43.    FMoutput(IOport+PROFM2p, reg, val);
  44. end;
  45.  
  46. Begin
  47. ioport:=$220; {Der Port der Soundkarte muß 
  48. angegeben werden!}
  49.  
  50. fm(1,0);
  51. Profm2(5, 1);
  52. fm($C0,LEFT+RIGHT+1);
  53.  
  54. fm($23,$21);
  55.  
  56. fm($43, $0);
  57.  
  58. fm($63,255); {Attack  16 langsam - 255 schnell : 
  59. Fadein   des Tons}
  60. fm($83,15);  {Release 0  langsam - 15  schnell : 
  61. Fadeout  des Tons}
  62.  
  63. fm($20,$20);
  64. fm($40,$3f); { ???    0  unklar  - 63  klar    : 
  65. Klarheit des Tons}
  66. fm($60,$44);
  67. fm($80,$05);
  68.  
  69. fm($A0,255);
  70. fm($b0,63);  { Octave? 32=Minimum 63=Maximum}
  71. repeat until keypressed;
  72. fm($b0,$12);
  73.  
  74. Profm2(5, 0);
  75. end.
  76.