diff -Nru sourceold/src/emu/sound/qsound.c temp/src/emu/sound/qsound.c --- sourceold/src/emu/sound/qsound.c 2008-07-24 15:43:32.000000000 +0200 +++ temp/src/emu/sound/qsound.c 2008-07-25 08:19:44.000000000 +0200 @@ -158,17 +158,20 @@ static void qsound_stop (void *_chip) { - struct qsound_info *chip = _chip; - if (chip->fpRawDataR) + if (LOG_WAVE) { - fclose(chip->fpRawDataR); - } - chip->fpRawDataR = NULL; - if (chip->fpRawDataL) - { - fclose(chip->fpRawDataL); + struct qsound_info *chip = _chip; + if (chip->fpRawDataR) + { + fclose(chip->fpRawDataR); + } + chip->fpRawDataR = NULL; + if (chip->fpRawDataL) + { + fclose(chip->fpRawDataL); + } + chip->fpRawDataL = NULL; } - chip->fpRawDataL = NULL; } WRITE8_HANDLER( qsound_data_h_w ) @@ -360,11 +363,13 @@ } pC++; } - - if (chip->fpRawDataL) - fwrite(datap[0], length*sizeof(QSOUND_SAMPLE), 1, chip->fpRawDataL); - if (chip->fpRawDataR) - fwrite(datap[1], length*sizeof(QSOUND_SAMPLE), 1, chip->fpRawDataR); + if (LOG_WAVE) + { + if (chip->fpRawDataL) + fwrite(datap[0], length*sizeof(QSOUND_SAMPLE), 1, chip->fpRawDataL); + if (chip->fpRawDataR) + fwrite(datap[1], length*sizeof(QSOUND_SAMPLE), 1, chip->fpRawDataR); + } }