Exemple #1
0
void system_shutdown(void)
{
    if(snd.enabled)
    {
        OPLL_delete(opll);
        OPLL_close();
    }
}
Exemple #2
0
void system_shutdown(void)
{
    if(snd.enabled)
    {
        OPLL_delete(opll);
        OPLL_close();
#ifdef _3DS
        linearFree(snd.buffer[0]);
        linearFree(snd.buffer[1]);
#endif
    }
}
Exemple #3
0
//static DEVICE_STOP( ym2413 )
void device_stop_ym2413(void *_info)
{
	//ym2413_state *info = get_safe_token(device);
	ym2413_state *info = (ym2413_state *)_info;
	switch(info->EMU_CORE)
	{
#ifdef ENABLE_ALL_CORES
	case EC_MAME:
		ym2413_shutdown(info->chip);
		break;
#endif
	case EC_EMU2413:
		OPLL_delete(info->chip);
		break;
	}

	free(info);
}
Exemple #4
0
void FM_Shutdown(void)
{
    switch(snd.fm_which)
    {
        case SND_EMU2413:
            if(opll)
            {
                OPLL_delete(opll);
                opll = NULL;
            }
            OPLL_close();
            break;

        case SND_YM2413:
            YM2413Shutdown();
            break;
    }
}
Exemple #5
0
Nes_Vrc7_Apu::~Nes_Vrc7_Apu()
{
	if ( opll )
		OPLL_delete( (OPLL *) opll );
}
Exemple #6
0
void    FM_Digital_Close()
{
    OPLL_delete (opll);
}
Exemple #7
0
int main(void){

  static char wave[DATALENGTH*2] ;
  char filename[16] = "temp.wav" ;
  char header[46] ;
  int i;
  clock_t start,finish ;

  FILE *fp ;
  OPLL *opll ;

  /* Create WAVE header */
  chunkID(header,"RIFF") ;
  DWORD(header+4,DATALENGTH*2+36) ;
  chunkID(header+8,"WAVE") ;
  chunkID(header+12,"fmt ") ;
  DWORD(header+16,16) ;
  WORD(header+20,1) ;                   /* WAVE_FORMAT_PCM */
  WORD(header+22,1) ;                   /* channel 1=mono,2=stereo */
  DWORD(header+24,SAMPLERATE) ;         /* samplesPerSec */
  DWORD(header+28,2*SAMPLERATE) ;       /* bytesPerSec */
  WORD(header+32,2) ;                   /* blockSize */
  WORD(header+34,16) ;                  /* bitsPerSample */
  chunkID(header+36,"data") ;
  DWORD(header+40,2*DATALENGTH) ;

  opll = OPLL_new(MSX_CLK,SAMPLERATE) ;
  OPLL_reset(opll);
  OPLL_writeReg(opll,0x30,0x30) ;   /* select PIANO Voice to ch1. */ 
  OPLL_writeReg(opll,0x10,0x80) ;   /* set F-Number(L). */
  OPLL_writeReg(opll,0x20,0x15) ;   /* set BLK & F-Number(H) and keyon. */

  start = clock() ;

  i=0;

  for(i=0;i<DATALENGTH;i++)
  {
    WORD(wave+i*2,OPLL_calc(opll));
  }

  finish = clock() ;
  OPLL_delete(opll) ;

  printf("It has been %f sec to calc %d waves.\n",
	 (double)(finish-start)/CLOCKS_PER_SEC, DATALENGTH) ;
  printf("%f times faster than real YM2413.\n",
	 ((double)DATALENGTH/SAMPLERATE)/((double)(finish-start)/CLOCKS_PER_SEC)) ;

  fp = fopen(filename,"wb") ;
  
  if(fp == NULL) return 1 ;

  fwrite(header,46,1,fp) ;
  fwrite(wave,DATALENGTH,2,fp) ;
  
  fclose(fp) ;

  printf("Wrote : %s\n",filename) ;

  return 0 ;
}
Exemple #8
0
 NES_VRC7::~NES_VRC7 ()
 {
   OPLL_delete (opll);
 }