mirror of
https://github.com/holub/mame
synced 2025-06-22 04:06:39 +03:00
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:
commit
a942ce2004
@ -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));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user