Previous 199869 Revisions Next

r20704 Sunday 3rd February, 2013 at 17:37:57 UTC by Oliver Stöneberg
replaced bogus memcpy in handler_entry_{read|write} - fixes Visual Studio-only issues/crashes in paso1600, multi16, x68030 and t1000* sets (MT05124,MT05110,MT05112) [Olivier Galibert]
[src/emu]memory.c

trunk/src/emu/memory.c
r20703r20704
45004500   handler_entry::copy(entry);
45014501   handler_entry_read *rentry = static_cast<handler_entry_read *>(entry);
45024502   m_read = rentry->m_read;
4503   memcpy(m_subread, rentry->m_subread, m_subunits*sizeof(access_handler));
4503   for(int i = 0; i < m_subunits; ++i)
4504   {
4505      switch(m_subunit_infos[i].m_size)
4506      {
4507         case 8:
4508            m_subread[i].r8 = rentry->m_subread[i].r8;
4509            break;
4510         case 16:
4511            m_subread[i].r16 = rentry->m_subread[i].r16;
4512            break;
4513         case 32:
4514            m_subread[i].r32 = rentry->m_subread[i].r32;
4515            break;
4516      }
4517   }
45044518   memcpy(m_sub_is_legacy, rentry->m_sub_is_legacy, m_subunits*sizeof(bool));
45054519   memcpy(m_sublegacy_info, rentry->m_sublegacy_info, m_subunits*sizeof(legacy_info));
45064520}
r20703r20704
49364950   handler_entry::copy(entry);
49374951   handler_entry_write *wentry = static_cast<handler_entry_write *>(entry);
49384952   m_write = wentry->m_write;
4939   memcpy(m_subwrite, wentry->m_subwrite, m_subunits*sizeof(access_handler));
4953   for(int i = 0; i < m_subunits; ++i)
4954   {
4955      switch(m_subunit_infos[i].m_size)
4956      {
4957         case 8:
4958            m_subwrite[i].w8 = wentry->m_subwrite[i].w8;
4959            break;
4960         case 16:
4961            m_subwrite[i].w16 = wentry->m_subwrite[i].w16;
4962            break;
4963         case 32:
4964            m_subwrite[i].w32 = wentry->m_subwrite[i].w32;
4965            break;
4966      }
4967   }
49404968   memcpy(m_sub_is_legacy, wentry->m_sub_is_legacy, m_subunits*sizeof(bool));
49414969   memcpy(m_sublegacy_info, wentry->m_sublegacy_info, m_subunits*sizeof(legacy_info));
49424970}

Previous 199869 Revisions Next


© 1997-2024 The MAME Team