Inserted checks to prevent debugger access. (nw)

This commit is contained in:
Michael Zapf 2013-06-09 13:20:44 +00:00
parent e9b9169c36
commit 220da4e3d7
2 changed files with 28 additions and 10 deletions

View File

@ -1088,16 +1088,16 @@ INT32 tms5220_device::lattice_filter()
bn = m_x[n-1]
*/
/*
int ep = matrix_multiply(m_previous_energy, (m_excitation_data<<6)); //Y(11)
m_u[10] = ep;
for (int i = 0; i < 10; i++)
{
int ii = 10-i; // for m = 10, this would be 11 - i, and since i is from 1 to 10, then ii ranges from 10 to 1
//int jj = ii+1; // this variable, even on the fortran version, is never used. it probably was intended to be used on the two lines below the next one to save some redundant additions on each.
ep = ep - (((m_current_k[ii-1] * m_x[ii-1])>>9)|1); // subtract reflection from lower stage 'top of lattice'
m_u[ii-1] = ep;
m_x[ii] = m_x[ii-1] + (((m_current_k[ii-1] * ep)>>9)|1); // add reflection from upper stage 'bottom of lattice'
}
int ep = matrix_multiply(m_previous_energy, (m_excitation_data<<6)); //Y(11)
m_u[10] = ep;
for (int i = 0; i < 10; i++)
{
int ii = 10-i; // for m = 10, this would be 11 - i, and since i is from 1 to 10, then ii ranges from 10 to 1
//int jj = ii+1; // this variable, even on the fortran version, is never used. it probably was intended to be used on the two lines below the next one to save some redundant additions on each.
ep = ep - (((m_current_k[ii-1] * m_x[ii-1])>>9)|1); // subtract reflection from lower stage 'top of lattice'
m_u[ii-1] = ep;
m_x[ii] = m_x[ii-1] + (((m_current_k[ii-1] * ep)>>9)|1); // add reflection from upper stage 'bottom of lattice'
}
m_x[0] = ep; // feed the last section of the top of the lattice directly to the bottom of the lattice
*/
m_u[10] = matrix_multiply(m_previous_energy, (m_excitation_data<<6)); //Y(11)
@ -1673,6 +1673,9 @@ WRITE_LINE_MEMBER( tms5220_device::wsq_w )
WRITE8_MEMBER( tms5220_device::data_w )
{
// prevent debugger from changing the internal state
if (space.debugger_access()) return;
#ifdef DEBUG_RS_WS
logerror("tms5220_data_w: data %02x\n", data);
#endif
@ -1703,6 +1706,9 @@ WRITE8_MEMBER( tms5220_device::data_w )
READ8_MEMBER( tms5220_device::status_r )
{
// prevent debugger from changing the internal state
if (space.debugger_access()) return 0;
if (!m_true_timing)
{
/* bring up to date first */

View File

@ -116,6 +116,9 @@ tms9928a_device::tms9928a_device( const machine_config &mconfig, const char *tag
READ8_MEMBER( tms9928a_device::vram_read )
{
// prevent debugger from changing the address base
if (space.debugger_access()) return 0;
UINT8 data = m_ReadAhead;
m_ReadAhead = m_vram_space->read_byte(m_Addr);
@ -128,6 +131,9 @@ READ8_MEMBER( tms9928a_device::vram_read )
WRITE8_MEMBER( tms9928a_device::vram_write )
{
// prevent debugger from changing the address base
if (space.debugger_access()) return;
m_vram_space->write_byte(m_Addr, data);
m_Addr = (m_Addr + 1) & (m_vram_size - 1);
m_ReadAhead = data;
@ -137,6 +143,9 @@ WRITE8_MEMBER( tms9928a_device::vram_write )
READ8_MEMBER( tms9928a_device::register_read )
{
// prevent debugger from changing the internal state
if (space.debugger_access()) return 0;
UINT8 data = m_StatusReg;
m_StatusReg = m_FifthSprite;
@ -262,6 +271,9 @@ void tms9928a_device::change_register(UINT8 reg, UINT8 val)
WRITE8_MEMBER( tms9928a_device::register_write )
{
// prevent debugger from changing the internal state
if (space.debugger_access()) return;
if (m_latch)
{
/* set high part of read/write address */