home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / SOUND / CRYS270.ZIP / CRYSEXP.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1995-06-26  |  2.6 KB  |  77 lines

  1. {**************************************************************************}
  2. {*   Voici un petit programme d'exemple d'intégration de mes routines     *}
  3. {*   dans un programme en pascal.                                         *}
  4. {*                                            *}
  5. {*   L'ordre d'appel des fonctions est important.                         *}
  6. {*                                      *}
  7. {* Programmé par Sébastien Granjoux                                       *}
  8. {* Commencé le 06/01/93                                                   *}
  9. {* Modification le 25/10/94                          *}
  10.  
  11. PROGRAM CRYSEXP;
  12.  
  13. {$M 4096,0,8192} { Comme mes routines se chargent seules d'allouer la place
  14.            mémoire nécessaire au chargement du MOD, il faut leur
  15.            laisser de la place.                                     }
  16.  
  17.  
  18. Uses CRYSTAL;    { Utilise l'unité                                          }
  19.  
  20. VAR
  21.    Fichier:STRING;
  22.    Test:INTEGER;
  23.    Irq,Dma:BYTE;
  24.    Device,Dport:WORD;
  25.  
  26. BEGIN
  27.  
  28.   Test:=USESPK;                   { Choisit les cartes sonores utilisables  }
  29.   Test:=USEDAC;
  30.   Test:=USEADL;
  31.   Test:=USESB;
  32.   Test:=USEGUS;
  33.  
  34.   Fichier:='c:patega.mod'+chr(0);  { J'utilise la convention du C qui est
  35.                      différentes de celle du pascal pour
  36.                      la représentation des chaines de
  37.                      de caractères. Elles doivent se
  38.                      terminer par 0 et commencer au
  39.                      premier caractère.                    }
  40.  
  41.   Dport:=0;
  42.   Irq:=0;
  43.   Dma:=0;
  44.   Device:=THE_BEST;
  45.  
  46.   Test:=DETECTSND(Device,Dport,Irq,Dma); { Cherche la meilleur cartes sonore
  47.                            dans les variables
  48.                                            d'environnements  }
  49.  
  50.   Test:=FLOADMOD(Addr(Fichier[1]));   { Charge le MOD. Le nom est passé sous
  51.                        la forme d'une chaine C              }
  52.  
  53.   Test:=SETMOD(1800,Device,Dport,Irq,Dma); { Prepare la MOD à 18kHz avec la
  54.                         carte son trouvé                }
  55.  
  56.   STARTMOD;                  { Commence la musique            }
  57.  
  58.   { A partir de ce moment la musique commence à jouer, si vous ne voulez pas
  59.    la dégrader (surtout avec le PC speaker) évité de bloquer les
  60.    interruptions                                                            }
  61.  
  62.    REPEAT
  63.    BEGIN
  64.     ;                             { Ici vous pouvez appeler MAKEMOD     }
  65.    END
  66.    UNTIL PORT[$60]<$80;               { Beaucoup plus rapide qu'une fonction
  67.                        du genre de keypress et donc meilleur
  68.                        pour la qualité de la musique        }
  69.  
  70.    STOPMOD;                       { Arrête la musique et remet le PC dans
  71.                        son état initial                }
  72.  
  73.    UNLOADMOD;                        { Rend la mémoire utilisé pour charger
  74.                        le MOD au DOS                   }
  75.  
  76. END.
  77.