Exemplo n.º 1
0
void init_sound_system()
{
	char lod_buf[30000];
	WORD ltatten, rtatten, ltgain, rtgain;

	/* Lock Sound System */
	locksnd();

	/* Save old settings */
	ltatten = soundcmd(LTATTEN, -1);
	rtatten = soundcmd(RTATTEN, -1);
	ltgain = soundcmd(LTGAIN, -1);
	rtgain = soundcmd(RTGAIN, -1);
	/* Reset sound system */
	sndstatus(1);
	/* Restore old settings */
	soundcmd(LTATTEN, ltatten);
	soundcmd(RTATTEN, rtatten);
	soundcmd(LTGAIN, ltgain);
	soundcmd(RTGAIN, rtgain);

	/* Set some necessary parameters */
	settracks(0,0);
	setmontracks(0);
	setmode(STEREO16);
	setbuffer(0,sound,sound+sizeof(sound));

	soundcmd(ADDERIN, 0x2);
	soundcmd(ADCINPUT, 0x0);

	/* DSP side */
	dsptristate(ENABLE, ENABLE);
	dsp_abil = Dsp_RequestUniqueAbility();
/*	Dsp_LoadProg(DSP_LOD, dsp_abil, lod_buf);	*/
	Dsp_ExecProg(dsp_bin, sizeof(dsp_bin)/3, dsp_abil);

	/* Connect DMA playback with DSP and then to DAC */
	switch (options.function) {
		case replay:
			devconnect(DMAPLAY, DSPRECV, CLK25M, options.prescale, NO_SHAKE);
			devconnect(DSPXMIT, DAC, CLK25M, options.prescale, NO_SHAKE);
			break;
		case record:
			break;
		case thru:
			devconnect(ADC, DSPRECV, CLK25M, options.prescale, NO_SHAKE);
			devconnect(DSPXMIT, DAC, CLK25M, options.prescale, NO_SHAKE);
			break;
	}

	Dsp_BlkUnpacked(&options.dsp.mono, 1L, 0L, 0L);
	Dsp_BlkUnpacked(&options.dsp.karaoke, 1L, 0L, 0L);
	Dsp_BlkUnpacked(&options.dsp.flange, 1L, 0L, 0L);
}
Exemplo n.º 2
0
void exit_sound_system()
{
	WORD ltatten, rtatten, ltgain, rtgain;

	/* Save old settings */
	ltatten = soundcmd(LTATTEN, -1);
	rtatten = soundcmd(RTATTEN, -1);
	ltgain = soundcmd(LTGAIN, -1);
	rtgain = soundcmd(RTGAIN, -1);
	/* Reset sound system */
	sndstatus(1);
	/* Restore old settings */
	soundcmd(LTATTEN, ltatten);
	soundcmd(RTATTEN, rtatten);
	soundcmd(LTGAIN, ltgain);
	soundcmd(RTGAIN, rtgain);

	/* Set some necessary parameters */
	settracks(0,0);
	setmontracks(0);
	setmode(STEREO16);
	soundcmd(ADDERIN, 0x2);
	soundcmd(ADCINPUT, 0x0);
	devconnect(ADC, DAC, CLK25M, CLK50K, 1);

	/* Unlock Sound System */
	unlocksnd();
}
Exemplo n.º 3
0
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    this->setWindowIcon(QIcon(":res/123.png"));
    mdi = new QMdiArea(this);
    this->setCentralWidget(mdi);
    QDockWidget* dock = new QDockWidget(tr("Script log"),this);
    dock->setObjectName(tr("ScriptLogDock"));
    logText = new QTextEdit(dock);
    logText->setReadOnly(true);
    logText->setLineWrapMode(QTextEdit::NoWrap);
    dock->setWidget(logText);
    this->addDockWidget(Qt::BottomDockWidgetArea, dock);
    if(hidenum == 0){
        hidenum = new QUsbHidEnumerator(this);
    }
    if(hid == 0){
        hid = new QUsbHid(this);
    }
    connect(hidenum, SIGNAL(deviceDiscovered(QUsbHidInfo)), this, SLOT(devconnect(QUsbHidInfo)));
    connect(hidenum, SIGNAL(deviceRemoved(QUsbHidInfo)), this, SLOT(devdisconnect(QUsbHidInfo)));
    connect(hid, SIGNAL(readyRead()), this, SLOT(readyReadData()));
    hidenum->setUpNotifications(0x250,0x250);

    QList<QUsbHidInfo> devs = QUsbHid::enumDevices(0x250,0x250);
    if(devs.size()){
        hidpath = devs.at(0).path;
    }
    QMenu* menu = 0;
    QList<QAction*> list = menuBar()->actions();
    foreach(QAction* act, list){
        if( act->text().contains(tr("help"),Qt::CaseInsensitive) ){
            menu = act->menu();
        }
    }

    if(menu == 0){
        menu = menuBar()->addMenu(tr("&Help"));
    }
    menu->addAction(dock->toggleViewAction());
    menu->addSeparator();
    QAction* act = menu->addAction(tr("&About..."));
    connect(act,SIGNAL(triggered()),this,SLOT(my_about()));
    act = menu->addAction(tr("Send"));
    connect(act,SIGNAL(triggered()),this,SLOT(my_send()));
    this->setWindowTitle(QString::fromLocal8Bit("Tool Box"));

    //test_hid_devices(this);
}
Exemplo n.º 4
0
static void falcon_dmasound_init(void)
{
    /*
     * connect DMA playback to DAC (headphone/speaker)
     * set clock = internal 25.175MHz
     * set TT/STe compatibility mode
     * disable handshaking
     */
    devconnect(0,8,0,0,1);

    setsndmode(0);          /* set 8-bit stereo */
    soundcmd(2,0x0080);     /* set left gain = 8 */
    soundcmd(3,0x0080);     /* set right gain = 8 */
    soundcmd(4,0x0003);     /* set ADDER input to ADC & connection matrix */
    soundcmd(5,0x0003);     /* set L & R channel ADC source to PSG */
    soundcmd(6,0x0003);     /* set TT-compatible prescale to /160 = 50MHz */
}