private void ws_audio_reset(wsa_state info) { wsa_state chip = (wsa_state)info; uint muteMask; int i; muteMask = ws_get_mute_mask(chip); chip.ws_audio = new WS_AUDIO[4] { new WS_AUDIO(), new WS_AUDIO(), new WS_AUDIO(), new WS_AUDIO() }; // memset(&chip->ws_audio, 0, sizeof(WS_AUDIO)); ws_set_mute_mask(chip, muteMask); chip.SweepTime = 0; chip.SweepStep = 0; chip.NoiseType = 0; chip.NoiseRng = 1; chip.MainVolume = 0x02; // 0x04 chip.PCMVolumeLeft = 0; chip.PCMVolumeRight = 0; RC_RESET(ref chip.HBlankTmr); for (i = 0x80; i < 0xc9; i++) { ws_audio_port_write(chip, (byte)i, initialIoValue[i]); } }
private void ws_audio_done(wsa_state info) { wsa_state chip = (wsa_state)info; //free(chip->ws_internalRam); //free(chip); return; }