From 5eed93c0359874475988295ef4a55d2cdf3036c5 Mon Sep 17 00:00:00 2001 From: hap Date: Tue, 25 Jul 2023 20:25:30 +0200 Subject: [PATCH] votrax: use logmacro --- src/devices/sound/votrax.cpp | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/src/devices/sound/votrax.cpp b/src/devices/sound/votrax.cpp index 8d26113dcfe..f1da1134415 100644 --- a/src/devices/sound/votrax.cpp +++ b/src/devices/sound/votrax.cpp @@ -25,6 +25,15 @@ tp1 = phi clock (tied to f2q rom access) #include "emu.h" #include "votrax.h" +#define LOG_PHONE (1U << 1) +#define LOG_COMMIT (1U << 2) +#define LOG_INT (1U << 3) +#define LOG_TICK (1U << 4) +#define LOG_FILTER (1U << 5) + +//#define VERBOSE (LOG_GENERAL | LOG_PHONE) +#include "logmacro.h" + DEFINE_DEVICE_TYPE(VOTRAX_SC01, votrax_sc01_device, "votrsc01", "Votrax SC-01") DEFINE_DEVICE_TYPE(VOTRAX_SC01A, votrax_sc01a_device, "votrsc01a", "Votrax SC-01-A") @@ -111,7 +120,7 @@ void votrax_sc01_device::write(uint8_t data) m_phone = data & 0x3f; if(m_phone != prev || m_phone != 0x3f) - logerror("phone %02x.%d %s\n", m_phone, m_inflection, s_phone_table[m_phone]); + LOGMASKED(LOG_PHONE, "phone %02x.%d %s\n", m_phone, m_inflection, s_phone_table[m_phone]); m_ar_state = CLEAR_LINE; m_ar_cb(m_ar_state); @@ -408,8 +417,7 @@ void votrax_sc01_device::phone_commit() // Hard-wired on the die, not an actual part of the rom. m_rom_pause = (m_phone == 0x03) || (m_phone == 0x3e); - if(0) - logerror("commit fa=%x va=%x fc=%x f1=%x f2=%x f2q=%x f3=%x dur=%02x cld=%x vd=%d cl=%d pause=%d\n", m_rom_fa, m_rom_va, m_rom_fc, m_rom_f1, m_rom_f2, m_rom_f2q, m_rom_f3, m_rom_duration, m_rom_cld, m_rom_vd, m_rom_closure, m_rom_pause); + LOGMASKED(LOG_COMMIT, "commit fa=%x va=%x fc=%x f1=%x f2=%x f2q=%x f3=%x dur=%02x cld=%x vd=%d cl=%d pause=%d\n", m_rom_fa, m_rom_va, m_rom_fc, m_rom_f1, m_rom_f2, m_rom_f2q, m_rom_f3, m_rom_duration, m_rom_cld, m_rom_vd, m_rom_closure, m_rom_pause); // That does not happen in the sc01(a) rom, but let's // cover our behind. @@ -459,23 +467,24 @@ void votrax_sc01_device::chip_update() // The formants are frozen on a pause phone unless both voice and // noise volumes are zero. if(tick_208 && (!m_rom_pause || !(m_filt_fa || m_filt_va))) { - // interpolate(m_cur_va, m_rom_va); + // interpolate(m_cur_va, m_rom_va); interpolate(m_cur_fc, m_rom_fc); interpolate(m_cur_f1, m_rom_f1); interpolate(m_cur_f2, m_rom_f2); interpolate(m_cur_f2q, m_rom_f2q); interpolate(m_cur_f3, m_rom_f3); - // logerror("int fa=%x va=%x fc=%x f1=%x f2=%02x f2q=%02x f3=%x\n", m_cur_fa >> 4, m_cur_va >> 4, m_cur_fc >> 4, m_cur_f1 >> 4, m_cur_f2 >> 3, m_cur_f2q >> 4, m_cur_f3 >> 4); + LOGMASKED(LOG_INT, "int fa=%x va=%x fc=%x f1=%x f2=%02x f2q=%02x f3=%x\n", m_cur_fa >> 4, m_cur_va >> 4, m_cur_fc >> 4, m_cur_f1 >> 4, m_cur_f2 >> 3, m_cur_f2q >> 4, m_cur_f3 >> 4); } // Non-formant update. Same bug there, va should be updated, not fc. if(tick_625) { if(m_ticks >= m_rom_vd) interpolate(m_cur_fa, m_rom_fa); - if(m_ticks >= m_rom_cld) - // interpolate(m_cur_fc, m_rom_fc); + if(m_ticks >= m_rom_cld) { + // interpolate(m_cur_fc, m_rom_fc); interpolate(m_cur_va, m_rom_va); - // logerror("int fa=%x va=%x fc=%x f1=%x f2=%02x f2q=%02x f3=%x\n", m_cur_fa >> 4, m_cur_va >> 4, m_cur_fc >> 4, m_cur_f1 >> 4, m_cur_f2 >> 3, m_cur_f2q >> 4, m_cur_f3 >> 4); + LOGMASKED(LOG_INT, "int fa=%x va=%x fc=%x f1=%x f2=%02x f2q=%02x f3=%x\n", m_cur_fa >> 4, m_cur_va >> 4, m_cur_fc >> 4, m_cur_f1 >> 4, m_cur_f2 >> 3, m_cur_f2q >> 4, m_cur_f3 >> 4); + } } // Closure counter, reset every other tick in theory when not @@ -510,7 +519,7 @@ void votrax_sc01_device::chip_update() m_noise = ((m_noise << 1) & 0x7ffe) | inp; m_cur_noise = !(((m_noise >> 14) ^ (m_noise >> 13)) & 1); - // logerror("%s tick %02x.%03x 625=%d 208=%d pitch=%02x.%x ns=%04x ni=%d noise=%d cl=%x.%x clf=%d/%d\n", machine().time().to_string(), m_ticks, m_phonetick, tick_625, tick_208, m_pitch >> 3, m_pitch & 7, m_noise, inp, m_cur_noise, m_closure >> 2, m_closure & 3, m_rom_closure, m_cur_closure); + LOGMASKED(LOG_TICK, "%s tick %02x.%03x 625=%d 208=%d pitch=%02x.%x ns=%04x ni=%d noise=%d cl=%x.%x clf=%d/%d\n", machine().time().to_string(), m_ticks, m_phonetick, tick_625, tick_208, m_pitch >> 3, m_pitch & 7, m_noise, inp, m_cur_noise, m_closure >> 2, m_closure & 3, m_rom_closure, m_cur_closure); } void votrax_sc01_device::filters_commit(bool force) @@ -583,10 +592,8 @@ void votrax_sc01_device::filters_commit(bool force) 14083); } - if(0) - if(m_filt_fa || m_filt_va || m_filt_fc || m_filt_f1 || m_filt_f2 || m_filt_f2q || m_filt_f3) - logerror("filter fa=%x va=%x fc=%x f1=%x f2=%02x f2q=%x f3=%x\n", - m_filt_fa, m_filt_va, m_filt_fc, m_filt_f1, m_filt_f2, m_filt_f2q, m_filt_f3); + if(m_filt_fa | m_filt_va | m_filt_fc | m_filt_f1 | m_filt_f2 | m_filt_f2q | m_filt_f3) + LOGMASKED(LOG_FILTER, "filter fa=%x va=%x fc=%x f1=%x f2=%02x f2q=%x f3=%x\n", m_filt_fa, m_filt_va, m_filt_fc, m_filt_f1, m_filt_f2, m_filt_f2q, m_filt_f3); } stream_buffer::sample_t votrax_sc01_device::analog_calc()