auto Cartridge::serialize(serializer& s) -> void {
Thread::serialize(s);
if(ram.size) s.array(ram.data, ram.size);
if(eeprom.size()) eeprom.serialize(s);
if(rtc.size) s.array(rtc.data, rtc.size);
if(rtc.size) {
s.integer(rtc.command);
s.integer(rtc.index);
s.integer(rtc.alarm);
s.integer(rtc.alarmHour);
s.integer(rtc.alarmMinute);
}
s.integer(r.romBank0);
s.integer(r.romBank1);
s.integer(r.romBank2);
s.integer(r.sramBank);
s.integer(r.gpoEnable);
s.integer(r.gpoData);