diff --git a/src/devices/sound/tms5110.cpp b/src/devices/sound/tms5110.cpp index 3ab0b67f52d..1ab14ca6b3d 100644 --- a/src/devices/sound/tms5110.cpp +++ b/src/devices/sound/tms5110.cpp @@ -726,6 +726,9 @@ INT32 tms5110_device::lattice_filter() m_u[2] = m_u[3] - matrix_multiply(m_current_k[2], m_x[2]); m_u[1] = m_u[2] - matrix_multiply(m_current_k[1], m_x[1]); m_u[0] = m_u[1] - matrix_multiply(m_current_k[0], m_x[0]); +#ifdef DEBUG_LATTICE + INT32 err = m_x[9] + matrix_multiply(m_current_k[9], m_u[9]); //x_10, real chip doesn't use or calculate this +#endif m_x[9] = m_x[8] + matrix_multiply(m_current_k[8], m_u[8]); m_x[8] = m_x[7] + matrix_multiply(m_current_k[7], m_u[7]); m_x[7] = m_x[6] + matrix_multiply(m_current_k[6], m_u[6]); @@ -743,9 +746,14 @@ INT32 tms5110_device::lattice_filter() for (i = 9; i >= 0; i--) { fprintf(stderr,"Y%d:%04d ", i+1, m_u[i]); - fprintf(stderr,"b%d:%04d ", i+1, m_x[i]); - if ((i % 5) == 0) fprintf(stderr,"\n"); } + fprintf(stderr,"\n"); + fprintf(stderr,"E:%04d ", err); + for (i = 9; i >= 0; i--) + { + fprintf(stderr,"b%d:%04d ", i+1, m_x[i]); + } + fprintf(stderr,"\n"); #endif return m_u[0]; } diff --git a/src/devices/sound/tms5220.cpp b/src/devices/sound/tms5220.cpp index d04069e50b9..033bd4551df 100644 --- a/src/devices/sound/tms5220.cpp +++ b/src/devices/sound/tms5220.cpp @@ -1129,6 +1129,9 @@ INT32 tms5220_device::lattice_filter() m_u[2] = m_u[3] - matrix_multiply(m_current_k[2], m_x[2]); m_u[1] = m_u[2] - matrix_multiply(m_current_k[1], m_x[1]); m_u[0] = m_u[1] - matrix_multiply(m_current_k[0], m_x[0]); +#ifdef DEBUG_LATTICE + INT32 err = m_x[9] + matrix_multiply(m_current_k[9], m_u[9]); //x_10, real chip doesn't use or calculate this +#endif m_x[9] = m_x[8] + matrix_multiply(m_current_k[8], m_u[8]); m_x[8] = m_x[7] + matrix_multiply(m_current_k[7], m_u[7]); m_x[7] = m_x[6] + matrix_multiply(m_current_k[6], m_u[6]); @@ -1146,9 +1149,14 @@ INT32 tms5220_device::lattice_filter() for (i = 9; i >= 0; i--) { fprintf(stderr,"Y%d:%04d ", i+1, m_u[i]); - fprintf(stderr,"b%d:%04d ", i+1, m_x[i]); - if ((i % 5) == 0) fprintf(stderr,"\n"); } + fprintf(stderr,"\n"); + fprintf(stderr,"E:%04d ", err); + for (i = 9; i >= 0; i--) + { + fprintf(stderr,"b%d:%04d ", i+1, m_x[i]); + } + fprintf(stderr,"\n"); #endif return m_u[0]; }