auto CPU::serialize(serializer& s) -> void { LR35902::serialize(s); Thread::serialize(s); s.array(wram); s.array(hram); s.integer(status.clock); s.integer(status.p15); s.integer(status.p14); s.integer(status.joyp); s.integer(status.mlt_req); s.integer(status.serial_data); s.integer(status.serial_bits); s.integer(status.serial_transfer); s.integer(status.serial_clock); s.integer(status.div); s.integer(status.tima); s.integer(status.tma); s.integer(status.timer_enable); s.integer(status.timer_clock); s.integer(status.interrupt_request_joypad); s.integer(status.interrupt_request_serial); s.integer(status.interrupt_request_timer); s.integer(status.interrupt_request_stat); s.integer(status.interrupt_request_vblank); s.integer(status.speed_double); s.integer(status.speed_switch); s.integer(status.dma_source); s.integer(status.dma_target); s.integer(status.dma_mode); s.integer(status.dma_length); s.integer(status.dma_completed); s.integer(status.ff6c); s.integer(status.wram_bank); s.integer(status.ff72); s.integer(status.ff73); s.integer(status.ff74); s.integer(status.ff75); s.integer(status.interrupt_enable_joypad); s.integer(status.interrupt_enable_serial); s.integer(status.interrupt_enable_timer); s.integer(status.interrupt_enable_stat); s.integer(status.interrupt_enable_vblank); }