Merge pull request #1255 from mamehaze/misc_fixes

fix read case in kaneko_calc3.cpp and make kaneko_toybox.cpp safe as well
This commit is contained in:
Olivier Galibert 2016-08-17 13:49:31 +02:00 committed by GitHub
commit a942ce2004
2 changed files with 13 additions and 8 deletions

View File

@ -1674,9 +1674,9 @@ void kaneko_calc3_device::mcu_run()
{
eeprom_serial_93cxx_device *eeprom = space.machine().device<eeprom_serial_93cxx_device>(":eeprom");
for (i=0;i<0x80;i++)
for (i=0;i<0x40;i++)
{
space.write_byte(m_eeprom_addr+0x200000+i, eeprom->internal_read(i));
space.write_word(m_eeprom_addr+0x200000+2*i, eeprom->internal_read(i));
}
}

View File

@ -180,9 +180,11 @@ void kaneko_toybox_device::mcu_run()
eeprom_serial_93cxx_device *eeprom = machine().device<eeprom_serial_93cxx_device>(":eeprom");
for (int i=0;i<0x80;i++)
for (int i=0;i<0x80;i+=2)
{
nvdat[i] = eeprom->internal_read(i);
UINT16 dat = eeprom->internal_read(i/2);
nvdat[i] = (dat & 0xff00) >> 8;
nvdat[i+1] = (dat & 0x00ff);
}
logerror("%s : MCU executed command: %04X %04X (load NVRAM settings)\n", machine().describe_context(), mcu_command, mcu_offset*2);
@ -194,9 +196,10 @@ void kaneko_toybox_device::mcu_run()
{
eeprom_serial_93cxx_device *eeprom = machine().device<eeprom_serial_93cxx_device>(":eeprom");
UINT8* nvdat = (UINT8*)&m_mcuram[mcu_offset];
for (int i=0;i<0x80;i++)
for (int i=0;i<0x80;i+=2)
{
eeprom->internal_write(i, nvdat[i]);
UINT16 dat = (nvdat[i] << 8) | (nvdat[i+1]);
eeprom->internal_write(i/2, dat);
}
logerror("%s : MCU executed command: %04X %04X (save NVRAM settings)\n", machine().describe_context(), mcu_command, mcu_offset*2);
@ -212,10 +215,12 @@ void kaneko_toybox_device::mcu_run()
eeprom_serial_93cxx_device *eeprom = machine().device<eeprom_serial_93cxx_device>(":eeprom");
UINT8* nvdat = (UINT8*)&bonkadv_mcu_43[0];
for (int i=0;i<0x80;i++)
for (int i=0;i<0x80;i+=2)
{
eeprom->internal_write(i, nvdat[i]);
UINT16 dat = (nvdat[i] << 8) | (nvdat[i+1]);
eeprom->internal_write(i/2, dat);
}
logerror("%s : MCU executed command: %04X %04X (restore default NVRAM settings)\n", machine().describe_context(), mcu_command, mcu_offset*2);
}
}