UINT32 idWavOutDev;\r
AUDDRV_INFO* drvInfo;\r
AUDIO_OPTS* opts;\r
- \r
+\r
Audio_Init();\r
drvCount = Audio_GetDriverCount();\r
if (! drvCount)\r
goto Exit_Deinit;\r
- \r
+\r
idWavOut = 0;\r
idWavOutDev = 0;\r
Audio_GetDriverInfo(idWavOut, &drvInfo);\r
printf("WaveOut: Drv Init Error: %02X\n", retVal);\r
goto Exit_Deinit;\r
}\r
- \r
+\r
opts = AudioDrv_GetOptions(audDrv);\r
opts->numChannels = 1;\r
opts->numBitsPerSmpl = 16;\r
CHIP_SAMPLE_RATE = opts->sampleRate;\r
- \r
+\r
device_start_ym3812(0, 3579545);\r
device_reset_ym3812(0);\r
InitEngine();\r
- \r
+\r
AudioDrv_SetCallback(audDrv, FillBuffer);\r
printf("Opening Device %u ...\n", idWavOutDev);\r
retVal = AudioDrv_Start(audDrv, idWavOutDev);\r
printf("Dev Init Error: %02X\n", retVal);\r
goto Exit_DrvDeinit;\r
}\r
- \r
+\r
/*getchar();\r
printf("Current Latency: %u ms\n", AudioDrv_GetLatency(audDrv));*/\r
EngineControlCUI();\r
- \r
+\r
retVal = AudioDrv_Stop(audDrv);\r
- \r
+\r
Exit_DrvDeinit:\r
DeinitEngine();\r
device_stop_ym3812(0);\r
Exit_Deinit:\r
Audio_Deinit();\r
printf("Done.\n");\r
- \r
+\r
#if _DEBUG\r
if (_CrtDumpMemoryLeaks())\r
_getch();\r
#endif\r
- \r
+\r
return 0;\r
}\r
\r
INT16* SmplPtr16;\r
UINT32 curSmpl;\r
INT32 chipSmplsFin;\r
- \r
+\r
smplCount = bufSize / 2;\r
SmplPtr16 = (INT16*)data;\r
for (curSmpl = 0; curSmpl < smplCount; curSmpl ++)\r
ym3812_stream_update(0, chipSmpls, 1);\r
UpdateSoundEngine();\r
smplLastIrq ++;\r
- \r
+\r
chipSmplsFin = chipSmplL[0];\r
- \r
+\r
#if 0\r
if ((curSmpl / (smplCount / 16)) < 15)\r
chipSmplsFin += +0x0100;\r
else\r
chipSmplsFin += -0x0100;\r
#endif\r
- \r
+\r
if (chipSmplsFin < -0x7FFF)\r
chipSmplsFin = -0x7FFF;\r
else if (chipSmplsFin > 0x7FFF)\r
UINT8 vgmId;\r
UINT8 vgmChn;\r
UINT8 retVal;\r
- \r
+\r
printf("Commands:\n");\r
printf("Ls File.vgm - Load File.vgm into Slot s\n");\r
printf("Pcs - Play Slot s on Channel c\n");\r
printf("R - Resume Music\n");\r
printf("Channels: M = music, 0-5 = SFX\n");\r
printf("Slots: M, 0-3 (M equals slot 0)\n");\r
- \r
+\r
for (curSFX = 0; curSFX < VGM_SLOTS; curSFX ++)\r
memset(&vgmFiles[curSFX], 0x00, sizeof(VGM_FILE));\r
- \r
+\r
while(1)\r
{\r
tempStr = fgets(inLine, 0x100, stdin);\r
if (tempPos <= 1)\r
break;\r
inLine[tempPos-1] = '\0';\r
- \r
+\r
switch(toupper(inLine[0]))\r
{\r
case 'L': // load\r
break;\r
}\r
}\r
- \r
+\r
StopMusic();\r
StopSFX(0xFF);\r
for (curSFX = 0; curSFX < VGM_SLOTS; curSFX ++)\r
FreeVGMFile(&vgmFiles[curSFX]);\r
- \r
+\r
printf("Quit.\n");\r
_getch();\r
- \r
+\r
return;\r
}\r