diff --git a/output64/dll/libsnes.wbx b/output64/dll/libsnes.wbx deleted file mode 100644 index fc7c10836e..0000000000 Binary files a/output64/dll/libsnes.wbx and /dev/null differ diff --git a/output64/dll/libsnes.wbx.gz b/output64/dll/libsnes.wbx.gz new file mode 100644 index 0000000000..a8d07501e6 Binary files /dev/null and b/output64/dll/libsnes.wbx.gz differ diff --git a/waterbox/libsnes/bsnes/base/base.hpp b/waterbox/libsnes/bsnes/base/base.hpp index f8faddb474..96865d5348 100644 --- a/waterbox/libsnes/bsnes/base/base.hpp +++ b/waterbox/libsnes/bsnes/base/base.hpp @@ -16,7 +16,6 @@ const char Version[] = "087"; #include #include #include -#include #include #include #include diff --git a/waterbox/libsnes/bsnes/gameboy/apu/apu.cpp b/waterbox/libsnes/bsnes/gameboy/apu/apu.cpp index be3a4e7795..25cd2bc393 100644 --- a/waterbox/libsnes/bsnes/gameboy/apu/apu.cpp +++ b/waterbox/libsnes/bsnes/gameboy/apu/apu.cpp @@ -8,7 +8,6 @@ namespace GameBoy { #include "wave/wave.cpp" #include "noise/noise.cpp" #include "master/master.cpp" -#include "serialization.cpp" APU apu; void APU::Main() { diff --git a/waterbox/libsnes/bsnes/gameboy/apu/apu.hpp b/waterbox/libsnes/bsnes/gameboy/apu/apu.hpp index 7218415c67..b33f6cf6f2 100644 --- a/waterbox/libsnes/bsnes/gameboy/apu/apu.hpp +++ b/waterbox/libsnes/bsnes/gameboy/apu/apu.hpp @@ -21,8 +21,6 @@ struct APU : Processor, MMIO { uint8 mmio_read(uint16 addr); void mmio_write(uint16 addr, uint8 data); - - void serialize(serializer&); }; extern APU apu; diff --git a/waterbox/libsnes/bsnes/gameboy/apu/master/master.cpp b/waterbox/libsnes/bsnes/gameboy/apu/master/master.cpp index bd0a247e18..40414a59ec 100644 --- a/waterbox/libsnes/bsnes/gameboy/apu/master/master.cpp +++ b/waterbox/libsnes/bsnes/gameboy/apu/master/master.cpp @@ -96,24 +96,4 @@ void APU::Master::power() { right = 0; } -void APU::Master::serialize(serializer &s) { - s.integer(left_in_enable); - s.integer(left_volume); - s.integer(right_in_enable); - s.integer(right_volume); - s.integer(channel4_left_enable); - s.integer(channel3_left_enable); - s.integer(channel2_left_enable); - s.integer(channel1_left_enable); - s.integer(channel4_right_enable); - s.integer(channel3_right_enable); - s.integer(channel2_right_enable); - s.integer(channel1_right_enable); - s.integer(enable); - - s.integer(center); - s.integer(left); - s.integer(right); -} - #endif diff --git a/waterbox/libsnes/bsnes/gameboy/apu/master/master.hpp b/waterbox/libsnes/bsnes/gameboy/apu/master/master.hpp index 31a1e9f0f7..da0212ee85 100644 --- a/waterbox/libsnes/bsnes/gameboy/apu/master/master.hpp +++ b/waterbox/libsnes/bsnes/gameboy/apu/master/master.hpp @@ -20,5 +20,4 @@ struct Master { void run(); void write(unsigned r, uint8 data); void power(); - void serialize(serializer&); }; diff --git a/waterbox/libsnes/bsnes/gameboy/apu/noise/noise.cpp b/waterbox/libsnes/bsnes/gameboy/apu/noise/noise.cpp index c0def117cc..e97546bf19 100644 --- a/waterbox/libsnes/bsnes/gameboy/apu/noise/noise.cpp +++ b/waterbox/libsnes/bsnes/gameboy/apu/noise/noise.cpp @@ -86,23 +86,4 @@ void APU::Noise::power() { lfsr = 0; } -void APU::Noise::serialize(serializer &s) { - s.integer(enable); - - s.integer(envelope_volume); - s.integer(envelope_direction); - s.integer(envelope_frequency); - s.integer(frequency); - s.integer(narrow_lfsr); - s.integer(divisor); - s.integer(counter); - - s.integer(output); - s.integer(length); - s.integer(envelope_period); - s.integer(volume); - s.integer(period); - s.integer(lfsr); -} - #endif diff --git a/waterbox/libsnes/bsnes/gameboy/apu/noise/noise.hpp b/waterbox/libsnes/bsnes/gameboy/apu/noise/noise.hpp index f92efbf3e4..822de6a80c 100644 --- a/waterbox/libsnes/bsnes/gameboy/apu/noise/noise.hpp +++ b/waterbox/libsnes/bsnes/gameboy/apu/noise/noise.hpp @@ -23,5 +23,4 @@ struct Noise { void clock_envelope(); void write(unsigned r, uint8 data); void power(); - void serialize(serializer&); }; diff --git a/waterbox/libsnes/bsnes/gameboy/apu/serialization.cpp b/waterbox/libsnes/bsnes/gameboy/apu/serialization.cpp deleted file mode 100644 index 3468634750..0000000000 --- a/waterbox/libsnes/bsnes/gameboy/apu/serialization.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#ifdef APU_CPP - -void APU::serialize(serializer &s) { - Processor::serialize(s); - - s.array(mmio_data); - s.integer(sequencer_base); - s.integer(sequencer_step); - - square1.serialize(s); - square2.serialize(s); - wave.serialize(s); - noise.serialize(s); - master.serialize(s); -} - -#endif diff --git a/waterbox/libsnes/bsnes/gameboy/apu/square1/square1.cpp b/waterbox/libsnes/bsnes/gameboy/apu/square1/square1.cpp index 0a9e0132eb..2b05b9c4a7 100644 --- a/waterbox/libsnes/bsnes/gameboy/apu/square1/square1.cpp +++ b/waterbox/libsnes/bsnes/gameboy/apu/square1/square1.cpp @@ -131,30 +131,4 @@ void APU::Square1::power() { volume = 0; } -void APU::Square1::serialize(serializer &s) { - s.integer(enable); - - s.integer(sweep_frequency); - s.integer(sweep_direction); - s.integer(sweep_shift); - s.integer(sweep_negate); - s.integer(duty); - s.integer(length); - s.integer(envelope_volume); - s.integer(envelope_direction); - s.integer(envelope_frequency); - s.integer(frequency); - s.integer(counter); - - s.integer(output); - s.integer(duty_output); - s.integer(phase); - s.integer(period); - s.integer(envelope_period); - s.integer(sweep_period); - s.integer(frequency_shadow); - s.integer(sweep_enable); - s.integer(volume); -} - #endif diff --git a/waterbox/libsnes/bsnes/gameboy/apu/square1/square1.hpp b/waterbox/libsnes/bsnes/gameboy/apu/square1/square1.hpp index 2b45676f6c..07d1ab0ac9 100644 --- a/waterbox/libsnes/bsnes/gameboy/apu/square1/square1.hpp +++ b/waterbox/libsnes/bsnes/gameboy/apu/square1/square1.hpp @@ -32,5 +32,4 @@ struct Square1 { void clock_envelope(); void write(unsigned r, uint8 data); void power(); - void serialize(serializer&); }; diff --git a/waterbox/libsnes/bsnes/gameboy/apu/square2/square2.cpp b/waterbox/libsnes/bsnes/gameboy/apu/square2/square2.cpp index 09e5067890..18713c51fb 100644 --- a/waterbox/libsnes/bsnes/gameboy/apu/square2/square2.cpp +++ b/waterbox/libsnes/bsnes/gameboy/apu/square2/square2.cpp @@ -88,23 +88,4 @@ void APU::Square2::power() { volume = 0; } -void APU::Square2::serialize(serializer &s) { - s.integer(enable); - - s.integer(duty); - s.integer(length); - s.integer(envelope_volume); - s.integer(envelope_direction); - s.integer(envelope_frequency); - s.integer(frequency); - s.integer(counter); - - s.integer(output); - s.integer(duty_output); - s.integer(phase); - s.integer(period); - s.integer(envelope_period); - s.integer(volume); -} - #endif diff --git a/waterbox/libsnes/bsnes/gameboy/apu/square2/square2.hpp b/waterbox/libsnes/bsnes/gameboy/apu/square2/square2.hpp index 0a473348ea..4d0d2b730c 100644 --- a/waterbox/libsnes/bsnes/gameboy/apu/square2/square2.hpp +++ b/waterbox/libsnes/bsnes/gameboy/apu/square2/square2.hpp @@ -23,5 +23,4 @@ struct Square2 { void clock_envelope(); void write(unsigned r, uint8 data); void power(); - void serialize(serializer&); }; diff --git a/waterbox/libsnes/bsnes/gameboy/apu/wave/wave.cpp b/waterbox/libsnes/bsnes/gameboy/apu/wave/wave.cpp index 498cd8f643..5ab9cb1c03 100644 --- a/waterbox/libsnes/bsnes/gameboy/apu/wave/wave.cpp +++ b/waterbox/libsnes/bsnes/gameboy/apu/wave/wave.cpp @@ -80,20 +80,4 @@ void APU::Wave::power() { pattern_sample = 0; } -void APU::Wave::serialize(serializer &s) { - s.integer(enable); - - s.integer(dac_enable); - s.integer(volume_shift); - s.integer(frequency); - s.integer(counter); - s.array(pattern); - - s.integer(output); - s.integer(length); - s.integer(period); - s.integer(pattern_offset); - s.integer(pattern_sample); -} - #endif diff --git a/waterbox/libsnes/bsnes/gameboy/apu/wave/wave.hpp b/waterbox/libsnes/bsnes/gameboy/apu/wave/wave.hpp index 7f8d65d337..cc70043b74 100644 --- a/waterbox/libsnes/bsnes/gameboy/apu/wave/wave.hpp +++ b/waterbox/libsnes/bsnes/gameboy/apu/wave/wave.hpp @@ -18,5 +18,4 @@ struct Wave { void write(unsigned r, uint8 data); void write_pattern(unsigned p, uint8 data); void power(); - void serialize(serializer&); }; diff --git a/waterbox/libsnes/bsnes/gameboy/cartridge/cartridge.cpp b/waterbox/libsnes/bsnes/gameboy/cartridge/cartridge.cpp index 910d454bee..16555dafc4 100644 --- a/waterbox/libsnes/bsnes/gameboy/cartridge/cartridge.cpp +++ b/waterbox/libsnes/bsnes/gameboy/cartridge/cartridge.cpp @@ -13,7 +13,6 @@ namespace GameBoy { #include "mmm01/mmm01.cpp" #include "huc1/huc1.cpp" #include "huc3/huc3.cpp" -#include "serialization.cpp" Cartridge cartridge; void Cartridge::load(System::Revision revision, const string &markup, const uint8_t *data, unsigned size) { diff --git a/waterbox/libsnes/bsnes/gameboy/cartridge/cartridge.hpp b/waterbox/libsnes/bsnes/gameboy/cartridge/cartridge.hpp index d7e4c2a534..568ae8307c 100644 --- a/waterbox/libsnes/bsnes/gameboy/cartridge/cartridge.hpp +++ b/waterbox/libsnes/bsnes/gameboy/cartridge/cartridge.hpp @@ -58,7 +58,6 @@ struct Cartridge : MMIO, property { void power(); - void serialize(serializer&); Cartridge(); ~Cartridge(); }; diff --git a/waterbox/libsnes/bsnes/gameboy/cartridge/serialization.cpp b/waterbox/libsnes/bsnes/gameboy/cartridge/serialization.cpp deleted file mode 100644 index 2f54262a05..0000000000 --- a/waterbox/libsnes/bsnes/gameboy/cartridge/serialization.cpp +++ /dev/null @@ -1,54 +0,0 @@ -#ifdef CARTRIDGE_CPP - -void Cartridge::serialize(serializer &s) { - if(info.battery) s.array(ramdata, ramsize); - s.integer(bootrom_enable); - - s.integer(mbc1.ram_enable); - s.integer(mbc1.rom_select); - s.integer(mbc1.ram_select); - s.integer(mbc1.mode_select); - - s.integer(mbc2.ram_enable); - s.integer(mbc2.rom_select); - - s.integer(mbc3.ram_enable); - s.integer(mbc3.rom_select); - s.integer(mbc3.ram_select); - s.integer(mbc3.rtc_latch); - - s.integer(mbc3.rtc_halt); - s.integer(mbc3.rtc_second); - s.integer(mbc3.rtc_minute); - s.integer(mbc3.rtc_hour); - s.integer(mbc3.rtc_day); - s.integer(mbc3.rtc_day_carry); - - s.integer(mbc3.rtc_latch_second); - s.integer(mbc3.rtc_latch_minute); - s.integer(mbc3.rtc_latch_hour); - s.integer(mbc3.rtc_latch_day); - s.integer(mbc3.rtc_latch_day_carry); - - s.integer(mbc5.ram_enable); - s.integer(mbc5.rom_select); - s.integer(mbc5.ram_select); - - s.integer(mmm01.rom_mode); - s.integer(mmm01.rom_base); - - s.integer(mmm01.ram_enable); - s.integer(mmm01.rom_select); - s.integer(mmm01.ram_select); - - s.integer(huc1.ram_writable); - s.integer(huc1.rom_select); - s.integer(huc1.ram_select); - s.integer(huc1.model); - - s.integer(huc3.ram_enable); - s.integer(huc3.rom_select); - s.integer(huc3.ram_select); -} - -#endif diff --git a/waterbox/libsnes/bsnes/gameboy/cpu/cpu.cpp b/waterbox/libsnes/bsnes/gameboy/cpu/cpu.cpp index f1367423ac..4b7e95b071 100644 --- a/waterbox/libsnes/bsnes/gameboy/cpu/cpu.cpp +++ b/waterbox/libsnes/bsnes/gameboy/cpu/cpu.cpp @@ -8,7 +8,6 @@ namespace GameBoy { #include "core/core.cpp" #include "mmio/mmio.cpp" #include "timing/timing.cpp" -#include "serialization.cpp" CPU cpu; void CPU::Main() { diff --git a/waterbox/libsnes/bsnes/gameboy/cpu/cpu.hpp b/waterbox/libsnes/bsnes/gameboy/cpu/cpu.hpp index 983a3f5b43..c16ac493f9 100644 --- a/waterbox/libsnes/bsnes/gameboy/cpu/cpu.hpp +++ b/waterbox/libsnes/bsnes/gameboy/cpu/cpu.hpp @@ -98,7 +98,6 @@ struct CPU : Processor, MMIO { void interrupt_exec(uint16 pc); void power(); - void serialize(serializer&); void initialize(); CPU(); ~CPU(); diff --git a/waterbox/libsnes/bsnes/gameboy/cpu/serialization.cpp b/waterbox/libsnes/bsnes/gameboy/cpu/serialization.cpp deleted file mode 100644 index 0b4c75ba20..0000000000 --- a/waterbox/libsnes/bsnes/gameboy/cpu/serialization.cpp +++ /dev/null @@ -1,76 +0,0 @@ -#ifdef CPU_CPP - -void CPU::serialize(serializer &s) { - Processor::serialize(s); - - s.array(wram,32768); - s.array(hram,8192); - - s.integer(r.a.data); - s.integer(r.f.z); - s.integer(r.f.n); - s.integer(r.f.h); - s.integer(r.f.c); - s.integer(r.b.data); - s.integer(r.c.data); - s.integer(r.d.data); - s.integer(r.e.data); - s.integer(r.h.data); - s.integer(r.l.data); - s.integer(r.sp.data); - s.integer(r.pc.data); - - s.integer(status.clock); - s.integer(status.halt); - s.integer(status.stop); - s.integer(status.ei); - s.integer(status.ime); - - 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.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); -} - -#endif diff --git a/waterbox/libsnes/bsnes/gameboy/gameboy.hpp b/waterbox/libsnes/bsnes/gameboy/gameboy.hpp index 21b3015e83..e7f93281aa 100644 --- a/waterbox/libsnes/bsnes/gameboy/gameboy.hpp +++ b/waterbox/libsnes/bsnes/gameboy/gameboy.hpp @@ -3,13 +3,6 @@ #include -namespace GameBoy { - namespace Info { - static const char Name[] = "bgameboy"; - static const unsigned SerializerVersion = 3; - } -} - /* bgameboy - Game Boy, Super Game Boy, and Game Boy Color emulator author: byuu @@ -33,11 +26,6 @@ namespace GameBoy { clock = 0; } - inline void serialize(serializer &s) { - s.integer(frequency); - s.integer(clock); - } - inline Processor() : thread(nullptr) { } diff --git a/waterbox/libsnes/bsnes/gameboy/lcd/lcd.cpp b/waterbox/libsnes/bsnes/gameboy/lcd/lcd.cpp index 7a3607c606..595c46e2e8 100644 --- a/waterbox/libsnes/bsnes/gameboy/lcd/lcd.cpp +++ b/waterbox/libsnes/bsnes/gameboy/lcd/lcd.cpp @@ -12,7 +12,6 @@ namespace GameBoy { #include "dmg.cpp" #include "cgb.cpp" #include "mmio/mmio.cpp" -#include "serialization.cpp" LCD lcd; void LCD::Main() { diff --git a/waterbox/libsnes/bsnes/gameboy/lcd/lcd.hpp b/waterbox/libsnes/bsnes/gameboy/lcd/lcd.hpp index f1b88115ae..4adec719cf 100644 --- a/waterbox/libsnes/bsnes/gameboy/lcd/lcd.hpp +++ b/waterbox/libsnes/bsnes/gameboy/lcd/lcd.hpp @@ -87,7 +87,6 @@ struct LCD : Processor, MMIO { void power(); - void serialize(serializer&); LCD(); }; diff --git a/waterbox/libsnes/bsnes/gameboy/lcd/serialization.cpp b/waterbox/libsnes/bsnes/gameboy/lcd/serialization.cpp deleted file mode 100644 index df4752aab5..0000000000 --- a/waterbox/libsnes/bsnes/gameboy/lcd/serialization.cpp +++ /dev/null @@ -1,53 +0,0 @@ -#ifdef LCD_CPP - -void LCD::serialize(serializer &s) { - Processor::serialize(s); - - s.array(screen); - s.array(line); - s.array(origin); - - s.array(vram); - s.array(oam); - s.array(bgp); - s.array(obp[0]); - s.array(obp[1]); - s.array(bgpd); - s.array(obpd); - - s.integer(status.lx); - s.integer(status.wyc); - - s.integer(status.display_enable); - s.integer(status.window_tilemap_select); - s.integer(status.window_display_enable); - s.integer(status.bg_tiledata_select); - s.integer(status.bg_tilemap_select); - s.integer(status.ob_size); - s.integer(status.ob_enable); - s.integer(status.bg_enable); - - s.integer(status.interrupt_lyc); - s.integer(status.interrupt_oam); - s.integer(status.interrupt_vblank); - s.integer(status.interrupt_hblank); - - s.integer(status.scy); - s.integer(status.scx); - - s.integer(status.ly); - s.integer(status.lyc); - - s.integer(status.wy); - s.integer(status.wx); - - s.integer(status.vram_bank); - - s.integer(status.bgpi_increment); - s.integer(status.bgpi); - - s.integer(status.obpi_increment); - s.integer(status.obpi); -} - -#endif diff --git a/waterbox/libsnes/bsnes/gameboy/system/serialization.cpp b/waterbox/libsnes/bsnes/gameboy/system/serialization.cpp deleted file mode 100644 index c7ca0f8be3..0000000000 --- a/waterbox/libsnes/bsnes/gameboy/system/serialization.cpp +++ /dev/null @@ -1,64 +0,0 @@ -#ifdef SYSTEM_CPP - -serializer System::serialize() { - serializer s(serialize_size); - - unsigned signature = 0x31545342, version = Info::SerializerVersion, crc32 = 0; - char description[512]; - memset(&description, 0, sizeof description); - - s.integer(signature); - s.integer(version); - s.integer(crc32); - s.array(description); - - serialize_all(s); - return s; -} - -bool System::unserialize(serializer &s) { - unsigned signature, version, crc32; - char description[512]; - - s.integer(signature); - s.integer(version); - s.integer(crc32); - s.array(description); - - if(signature != 0x31545342) return false; - if(version != Info::SerializerVersion) return false; -//if(crc32 != 0) return false; - - power(); - serialize_all(s); - return true; -} - -void System::serialize(serializer &s) { - s.integer(clocks_executed); -} - -void System::serialize_all(serializer &s) { - cartridge.serialize(s); - system.serialize(s); - cpu.serialize(s); - apu.serialize(s); - lcd.serialize(s); -} - -void System::serialize_init() { - serializer s; - - unsigned signature = 0, version = 0, crc32 = 0; - char description[512]; - - s.integer(signature); - s.integer(version); - s.integer(crc32); - s.array(description); - - serialize_all(s); - serialize_size = s.size(); -} - -#endif diff --git a/waterbox/libsnes/bsnes/gameboy/system/system.cpp b/waterbox/libsnes/bsnes/gameboy/system/system.cpp index 0d6567bd8c..37727b5778 100644 --- a/waterbox/libsnes/bsnes/gameboy/system/system.cpp +++ b/waterbox/libsnes/bsnes/gameboy/system/system.cpp @@ -6,7 +6,6 @@ namespace GameBoy { #include "bootrom-dmg.cpp" #include "bootrom-sgb.cpp" #include "bootrom-cgb.cpp" -#include "serialization.cpp" System system; void System::run() { @@ -40,7 +39,6 @@ void System::init() { void System::load(Revision revision) { this->revision = revision; - serialize_init(); } void System::power() { diff --git a/waterbox/libsnes/bsnes/gameboy/system/system.hpp b/waterbox/libsnes/bsnes/gameboy/system/system.hpp index d98a8357cf..a3be91e8e0 100644 --- a/waterbox/libsnes/bsnes/gameboy/system/system.hpp +++ b/waterbox/libsnes/bsnes/gameboy/system/system.hpp @@ -31,15 +31,6 @@ struct System : property { unsigned clocks_executed; - //serialization.cpp - unsigned serialize_size; - - serializer serialize(); - bool unserialize(serializer&); - - void serialize(serializer&); - void serialize_all(serializer&); - void serialize_init(); }; #include diff --git a/waterbox/libsnes/bsnes/nall/moduloarray.hpp b/waterbox/libsnes/bsnes/nall/moduloarray.hpp index be549ae9d6..f6b28ab8b4 100644 --- a/waterbox/libsnes/bsnes/nall/moduloarray.hpp +++ b/waterbox/libsnes/bsnes/nall/moduloarray.hpp @@ -20,10 +20,6 @@ namespace nall { buffer[index + size + size] = value; } - void serialize(serializer &s) { - s.array(buffer, size * 3); - } - modulo_array() { buffer = new T[size * 3](); } diff --git a/waterbox/libsnes/bsnes/nall/priorityqueue.hpp b/waterbox/libsnes/bsnes/nall/priorityqueue.hpp index 443eac21be..390fcff586 100644 --- a/waterbox/libsnes/bsnes/nall/priorityqueue.hpp +++ b/waterbox/libsnes/bsnes/nall/priorityqueue.hpp @@ -66,15 +66,6 @@ namespace nall { heapsize = 0; } - void serialize(serializer &s) { - s.integer(basecounter); - s.integer(heapsize); - for(unsigned n = 0; n < heapcapacity; n++) { - s.integer(heap[n].counter); - s.integer(heap[n].event); - } - } - priority_queue(unsigned size, function callback_ = &priority_queue_nocallback) : callback(callback_) { heap = new heap_t[size]; diff --git a/waterbox/libsnes/bsnes/snes/alt/cpu/cpu.cpp b/waterbox/libsnes/bsnes/snes/alt/cpu/cpu.cpp index 9b67166be0..bd14d2b030 100644 --- a/waterbox/libsnes/bsnes/snes/alt/cpu/cpu.cpp +++ b/waterbox/libsnes/bsnes/snes/alt/cpu/cpu.cpp @@ -5,7 +5,6 @@ namespace SNES { CPU cpu; -#include "serialization.cpp" #include "dma.cpp" #include "memory.cpp" #include "mmio.cpp" diff --git a/waterbox/libsnes/bsnes/snes/alt/cpu/cpu.hpp b/waterbox/libsnes/bsnes/snes/alt/cpu/cpu.hpp index e03d2cc358..890765ee7b 100644 --- a/waterbox/libsnes/bsnes/snes/alt/cpu/cpu.hpp +++ b/waterbox/libsnes/bsnes/snes/alt/cpu/cpu.hpp @@ -27,7 +27,6 @@ public: void power(); void reset(); - void serialize(serializer&); CPU(); ~CPU(); void initialize(); diff --git a/waterbox/libsnes/bsnes/snes/alt/cpu/serialization.cpp b/waterbox/libsnes/bsnes/snes/alt/cpu/serialization.cpp deleted file mode 100644 index 77990c8116..0000000000 --- a/waterbox/libsnes/bsnes/snes/alt/cpu/serialization.cpp +++ /dev/null @@ -1,86 +0,0 @@ -#ifdef CPU_CPP - -void CPU::serialize(serializer &s) { - Processor::serialize(s); - CPUcore::core_serialize(s); - PPUcounter::serialize(s); - - s.array(wram, 128 * 1024); - - queue.serialize(s); - s.array(port_data); - - for(unsigned i = 0; i < 8; i++) { - s.integer(channel[i].dma_enabled); - s.integer(channel[i].hdma_enabled); - - s.integer(channel[i].direction); - s.integer(channel[i].indirect); - s.integer(channel[i].unused); - s.integer(channel[i].reverse_transfer); - s.integer(channel[i].fixed_transfer); - s.integer(channel[i].transfer_mode); - - s.integer(channel[i].dest_addr); - s.integer(channel[i].source_addr); - s.integer(channel[i].source_bank); - - s.integer(channel[i].transfer_size); - - s.integer(channel[i].indirect_bank); - s.integer(channel[i].hdma_addr); - s.integer(channel[i].line_counter); - s.integer(channel[i].unknown); - - s.integer(channel[i].hdma_completed); - s.integer(channel[i].hdma_do_transfer); - } - - s.integer(status.nmi_valid); - s.integer(status.nmi_line); - s.integer(status.nmi_transition); - s.integer(status.nmi_pending); - - s.integer(status.irq_valid); - s.integer(status.irq_line); - s.integer(status.irq_transition); - s.integer(status.irq_pending); - - s.integer(status.irq_lock); - s.integer(status.hdma_pending); - - s.integer(status.wram_addr); - - s.integer(status.joypad_strobe_latch); - - s.integer(status.nmi_enabled); - s.integer(status.virq_enabled); - s.integer(status.hirq_enabled); - s.integer(status.auto_joypad_poll_enabled); - - s.integer(status.pio); - - s.integer(status.wrmpya); - s.integer(status.wrmpyb); - s.integer(status.wrdiva); - s.integer(status.wrdivb); - - s.integer(status.htime); - s.integer(status.vtime); - - s.integer(status.rom_speed); - - s.integer(status.rddiv); - s.integer(status.rdmpy); - - s.integer(status.joy1l); - s.integer(status.joy1h); - s.integer(status.joy2l); - s.integer(status.joy2h); - s.integer(status.joy3l); - s.integer(status.joy3h); - s.integer(status.joy4l); - s.integer(status.joy4h); -} - -#endif diff --git a/waterbox/libsnes/bsnes/snes/alt/dsp/dsp.cpp b/waterbox/libsnes/bsnes/snes/alt/dsp/dsp.cpp index d0c9e077a8..c6c6c64de5 100644 --- a/waterbox/libsnes/bsnes/snes/alt/dsp/dsp.cpp +++ b/waterbox/libsnes/bsnes/snes/alt/dsp/dsp.cpp @@ -5,7 +5,6 @@ namespace SNES { DSP dsp; -#include "serialization.cpp" #include "SPC_DSP.cpp" void DSP::step(unsigned clocks) { diff --git a/waterbox/libsnes/bsnes/snes/alt/dsp/dsp.hpp b/waterbox/libsnes/bsnes/snes/alt/dsp/dsp.hpp index 7335953b0a..79c4e4c42c 100644 --- a/waterbox/libsnes/bsnes/snes/alt/dsp/dsp.hpp +++ b/waterbox/libsnes/bsnes/snes/alt/dsp/dsp.hpp @@ -15,7 +15,6 @@ public: void channel_enable(unsigned channel, bool enable); - void serialize(serializer&); DSP(); private: diff --git a/waterbox/libsnes/bsnes/snes/alt/dsp/serialization.cpp b/waterbox/libsnes/bsnes/snes/alt/dsp/serialization.cpp deleted file mode 100644 index 0565a1b5e9..0000000000 --- a/waterbox/libsnes/bsnes/snes/alt/dsp/serialization.cpp +++ /dev/null @@ -1,31 +0,0 @@ -#ifdef DSP_CPP - -static void dsp_state_save(unsigned char **out, void *in, size_t size) { - memcpy(*out, in, size); - *out += size; -} - -static void dsp_state_load(unsigned char **in, void *out, size_t size) { - memcpy(out, *in, size); - *in += size; -} - -void DSP::serialize(serializer &s) { - Processor::serialize(s); - s.array(samplebuffer); - - unsigned char state[SPC_DSP::state_size]; - unsigned char *p = state; - memset(&state, 0, SPC_DSP::state_size); - if(s.mode() == serializer::Save) { - spc_dsp.copy_state(&p, dsp_state_save); - s.array(state); - } else if(s.mode() == serializer::Load) { - s.array(state); - spc_dsp.copy_state(&p, dsp_state_load); - } else { - s.array(state); - } -} - -#endif diff --git a/waterbox/libsnes/bsnes/snes/alt/ppu-compatibility/ppu.cpp b/waterbox/libsnes/bsnes/snes/alt/ppu-compatibility/ppu.cpp index f0c9df6073..c39630a561 100644 --- a/waterbox/libsnes/bsnes/snes/alt/ppu-compatibility/ppu.cpp +++ b/waterbox/libsnes/bsnes/snes/alt/ppu-compatibility/ppu.cpp @@ -8,7 +8,6 @@ PPU ppu; #include "memory/memory.cpp" #include "mmio/mmio.cpp" #include "render/render.cpp" -#include "serialization.cpp" void PPU::step(unsigned clocks) { clock += clocks; diff --git a/waterbox/libsnes/bsnes/snes/alt/ppu-compatibility/ppu.hpp b/waterbox/libsnes/bsnes/snes/alt/ppu-compatibility/ppu.hpp index 1120fb6b3e..2df53c1e8e 100644 --- a/waterbox/libsnes/bsnes/snes/alt/ppu-compatibility/ppu.hpp +++ b/waterbox/libsnes/bsnes/snes/alt/ppu-compatibility/ppu.hpp @@ -69,7 +69,6 @@ public: unsigned framecounter; void set_frameskip(unsigned frameskip); - void serialize(serializer&); void initialize(); PPU(); ~PPU(); diff --git a/waterbox/libsnes/bsnes/snes/alt/ppu-compatibility/serialization.cpp b/waterbox/libsnes/bsnes/snes/alt/ppu-compatibility/serialization.cpp deleted file mode 100644 index 1ab3d5ecec..0000000000 --- a/waterbox/libsnes/bsnes/snes/alt/ppu-compatibility/serialization.cpp +++ /dev/null @@ -1,208 +0,0 @@ -#ifdef PPU_CPP - -void PPUcounter::serialize(serializer &s) { - s.integer(status.interlace); - s.integer(status.field); - s.integer(status.vcounter); - s.integer(status.hcounter); - - s.array(history.field); - s.array(history.vcounter); - s.array(history.hcounter); - s.integer(history.index); -} - -void PPU::serialize(serializer &s) { - Processor::serialize(s); - PPUcounter::serialize(s); - - s.array(vram,128 * 1024); - s.array(oam,544); - s.array(cgram,512); - - s.integer(ppu1_version); - s.integer(ppu2_version); - - s.integer(region); - s.integer(line); - - s.integer(display.interlace); - s.integer(display.overscan); - - s.integer(cache.oam_basesize); - s.integer(cache.oam_nameselect); - s.integer(cache.oam_tdaddr); - - s.integer(regs.ppu1_mdr); - s.integer(regs.ppu2_mdr); - for(unsigned n = 0; n < 4; n++) s.integer(regs.bg_y[n]); - - s.integer(regs.ioamaddr); - s.integer(regs.icgramaddr); - - s.integer(regs.display_disabled); - s.integer(regs.display_brightness); - - s.integer(regs.oam_basesize); - s.integer(regs.oam_nameselect); - s.integer(regs.oam_tdaddr); - - s.integer(regs.oam_baseaddr); - s.integer(regs.oam_addr); - s.integer(regs.oam_priority); - s.integer(regs.oam_firstsprite); - - s.integer(regs.oam_latchdata); - - for(unsigned n = 0; n < 4; n++) s.integer(regs.bg_tilesize[n]); - s.integer(regs.bg3_priority); - s.integer(regs.bg_mode); - - s.integer(regs.mosaic_size); - for(unsigned n = 0; n < 4; n++) s.integer(regs.mosaic_enabled[n]); - s.integer(regs.mosaic_countdown); - - for(unsigned n = 0; n < 4; n++) s.integer(regs.bg_scaddr[n]); - for(unsigned n = 0; n < 4; n++) s.integer(regs.bg_scsize[n]); - - for(unsigned n = 0; n < 4; n++) s.integer(regs.bg_tdaddr[n]); - - s.integer(regs.bg_ofslatch); - s.integer(regs.m7_hofs); - s.integer(regs.m7_vofs); - for(unsigned n = 0; n < 4; n++) s.integer(regs.bg_hofs[n]); - for(unsigned n = 0; n < 4; n++) s.integer(regs.bg_vofs[n]); - - s.integer(regs.vram_incmode); - s.integer(regs.vram_mapping); - s.integer(regs.vram_incsize); - - s.integer(regs.vram_addr); - - s.integer(regs.mode7_repeat); - s.integer(regs.mode7_vflip); - s.integer(regs.mode7_hflip); - - s.integer(regs.m7_latch); - s.integer(regs.m7a); - s.integer(regs.m7b); - s.integer(regs.m7c); - s.integer(regs.m7d); - s.integer(regs.m7x); - s.integer(regs.m7y); - - s.integer(regs.cgram_addr); - - s.integer(regs.cgram_latchdata); - - for(unsigned n = 0; n < 6; n++) s.integer(regs.window1_enabled[n]); - for(unsigned n = 0; n < 6; n++) s.integer(regs.window1_invert [n]); - for(unsigned n = 0; n < 6; n++) s.integer(regs.window2_enabled[n]); - for(unsigned n = 0; n < 6; n++) s.integer(regs.window2_invert [n]); - - s.integer(regs.window1_left); - s.integer(regs.window1_right); - s.integer(regs.window2_left); - s.integer(regs.window2_right); - - for(unsigned n = 0; n < 6; n++) s.integer(regs.window_mask[n]); - for(unsigned n = 0; n < 5; n++) s.integer(regs.bg_enabled[n]); - for(unsigned n = 0; n < 5; n++) s.integer(regs.bgsub_enabled[n]); - for(unsigned n = 0; n < 5; n++) s.integer(regs.window_enabled[n]); - for(unsigned n = 0; n < 5; n++) s.integer(regs.sub_window_enabled[n]); - - s.integer(regs.color_mask); - s.integer(regs.colorsub_mask); - s.integer(regs.addsub_mode); - s.integer(regs.direct_color); - - s.integer(regs.color_mode); - s.integer(regs.color_halve); - for(unsigned n = 0; n < 6; n++) s.integer(regs.color_enabled[n]); - - s.integer(regs.color_r); - s.integer(regs.color_g); - s.integer(regs.color_b); - s.integer(regs.color_rgb); - - s.integer(regs.mode7_extbg); - s.integer(regs.pseudo_hires); - s.integer(regs.overscan); - s.integer(regs.scanlines); - s.integer(regs.oam_interlace); - s.integer(regs.interlace); - - s.integer(regs.hcounter); - s.integer(regs.vcounter); - s.integer(regs.latch_hcounter); - s.integer(regs.latch_vcounter); - s.integer(regs.counters_latched); - - s.integer(regs.vram_readbuffer); - - s.integer(regs.time_over); - s.integer(regs.range_over); - s.integer(regs.oam_itemcount); - s.integer(regs.oam_tilecount); - - for(unsigned n = 0; n < 256; n++) { - s.integer(pixel_cache[n].src_main); - s.integer(pixel_cache[n].src_sub); - s.integer(pixel_cache[n].bg_main); - s.integer(pixel_cache[n].bg_sub); - s.integer(pixel_cache[n].ce_main); - s.integer(pixel_cache[n].ce_sub); - s.integer(pixel_cache[n].pri_main); - s.integer(pixel_cache[n].pri_sub); - } - - //zero TODO - only on load - //better to just take a small speed hit than store all of bg_tiledata[3][] ... - flush_tiledata_cache(); - - for(unsigned n = 0; n < 6; n++) { - s.array(window[n].main, 256); - s.array(window[n].sub, 256); - } - - for(unsigned n = 0; n < 4; n++) { - s.integer(bg_info[n].tw); - s.integer(bg_info[n].th); - s.integer(bg_info[n].mx); - s.integer(bg_info[n].my); - s.integer(bg_info[n].scx); - s.integer(bg_info[n].scy); - } - - for(unsigned n = 0; n < 128; n++) { - s.integer(sprite_list[n].width); - s.integer(sprite_list[n].height); - s.integer(sprite_list[n].x); - s.integer(sprite_list[n].y); - s.integer(sprite_list[n].character); - s.integer(sprite_list[n].use_nameselect); - s.integer(sprite_list[n].vflip); - s.integer(sprite_list[n].hflip); - s.integer(sprite_list[n].palette); - s.integer(sprite_list[n].priority); - s.integer(sprite_list[n].size); - } - s.integer(sprite_list_valid); - s.integer(active_sprite); - - s.array(oam_itemlist, 32); - - for(unsigned n = 0; n < 34; n++) { - s.integer(oam_tilelist[n].x); - s.integer(oam_tilelist[n].y); - s.integer(oam_tilelist[n].pri); - s.integer(oam_tilelist[n].pal); - s.integer(oam_tilelist[n].tile); - s.integer(oam_tilelist[n].hflip); - } - - s.array(oam_line_pal, 256); - s.array(oam_line_pri, 256); -} - -#endif diff --git a/waterbox/libsnes/bsnes/snes/alt/ppu-performance/background/background.hpp b/waterbox/libsnes/bsnes/snes/alt/ppu-performance/background/background.hpp index 04facf00ed..c2bd08d77e 100644 --- a/waterbox/libsnes/bsnes/snes/alt/ppu-performance/background/background.hpp +++ b/waterbox/libsnes/bsnes/snes/alt/ppu-performance/background/background.hpp @@ -57,7 +57,6 @@ class Background { void render(); void render_mode7(); - void serialize(serializer&); Background(PPU &self, unsigned id); ~Background(); diff --git a/waterbox/libsnes/bsnes/snes/alt/ppu-performance/cache/cache.hpp b/waterbox/libsnes/bsnes/snes/alt/ppu-performance/cache/cache.hpp index 3e9ae7c610..58ba60550a 100644 --- a/waterbox/libsnes/bsnes/snes/alt/ppu-performance/cache/cache.hpp +++ b/waterbox/libsnes/bsnes/snes/alt/ppu-performance/cache/cache.hpp @@ -8,7 +8,6 @@ public: uint8* tile_8bpp(unsigned tile); uint8* tile(unsigned bpp, unsigned tile); - void serialize(serializer&); Cache(PPU &self); ~Cache(); diff --git a/waterbox/libsnes/bsnes/snes/alt/ppu-performance/ppu.cpp b/waterbox/libsnes/bsnes/snes/alt/ppu-performance/ppu.cpp index dacdcd8c62..ef4617cb8b 100644 --- a/waterbox/libsnes/bsnes/snes/alt/ppu-performance/ppu.cpp +++ b/waterbox/libsnes/bsnes/snes/alt/ppu-performance/ppu.cpp @@ -11,7 +11,6 @@ PPU ppu; #include "background/background.cpp" #include "sprite/sprite.cpp" #include "screen/screen.cpp" -#include "serialization.cpp" void PPU::step(unsigned clocks) { clock += clocks; diff --git a/waterbox/libsnes/bsnes/snes/alt/ppu-performance/ppu.hpp b/waterbox/libsnes/bsnes/snes/alt/ppu-performance/ppu.hpp index dc61d566cd..a71eab44e4 100644 --- a/waterbox/libsnes/bsnes/snes/alt/ppu-performance/ppu.hpp +++ b/waterbox/libsnes/bsnes/snes/alt/ppu-performance/ppu.hpp @@ -23,7 +23,6 @@ public: void layer_enable(unsigned layer, unsigned priority, bool enable); void set_frameskip(unsigned frameskip); - void serialize(serializer&); PPU(); ~PPU(); void initialize(); diff --git a/waterbox/libsnes/bsnes/snes/alt/ppu-performance/screen/screen.hpp b/waterbox/libsnes/bsnes/snes/alt/ppu-performance/screen/screen.hpp index e93d3cd495..dec3214e2e 100644 --- a/waterbox/libsnes/bsnes/snes/alt/ppu-performance/screen/screen.hpp +++ b/waterbox/libsnes/bsnes/snes/alt/ppu-performance/screen/screen.hpp @@ -35,7 +35,6 @@ class Screen { alwaysinline uint16 get_pixel_sub(unsigned x); void render(); - void serialize(serializer&); Screen(PPU &self); ~Screen(); diff --git a/waterbox/libsnes/bsnes/snes/alt/ppu-performance/serialization.cpp b/waterbox/libsnes/bsnes/snes/alt/ppu-performance/serialization.cpp deleted file mode 100644 index e928df9d38..0000000000 --- a/waterbox/libsnes/bsnes/snes/alt/ppu-performance/serialization.cpp +++ /dev/null @@ -1,249 +0,0 @@ -#ifdef PPU_CPP - -void PPUcounter::serialize(serializer &s) { - s.integer(status.interlace); - s.integer(status.field); - s.integer(status.vcounter); - s.integer(status.hcounter); - - s.array(history.field); - s.array(history.vcounter); - s.array(history.hcounter); - s.integer(history.index); -} - -void PPU::serialize(serializer &s) { - Processor::serialize(s); - PPUcounter::serialize(s); - - s.array(vram, 64 * 1024); - s.array(oam, 544); - s.array(cgram, 512); - - cache.serialize(s); - bg1.serialize(s); - bg2.serialize(s); - bg3.serialize(s); - bg4.serialize(s); - sprite.serialize(s); - screen.serialize(s); - - s.integer(display.interlace); - s.integer(display.overscan); - s.integer(display.width); - s.integer(display.height); - - s.integer(regs.ppu1_mdr); - s.integer(regs.ppu2_mdr); - - s.integer(regs.vram_readbuffer); - s.integer(regs.oam_latchdata); - s.integer(regs.cgram_latchdata); - s.integer(regs.bgofs_latchdata); - s.integer(regs.mode7_latchdata); - - s.integer(regs.counters_latched); - s.integer(regs.latch_hcounter); - s.integer(regs.latch_vcounter); - - s.integer(regs.display_disable); - s.integer(regs.display_brightness); - - s.integer(regs.oam_baseaddr); - s.integer(regs.oam_addr); - s.integer(regs.oam_priority); - - s.integer(regs.bg3_priority); - s.integer(regs.bgmode); - - s.integer(regs.mode7_hoffset); - - s.integer(regs.mode7_voffset); - - s.integer(regs.vram_incmode); - s.integer(regs.vram_mapping); - s.integer(regs.vram_incsize); - - s.integer(regs.vram_addr); - - s.integer(regs.mode7_repeat); - s.integer(regs.mode7_vflip); - s.integer(regs.mode7_hflip); - - s.integer(regs.m7a); - s.integer(regs.m7b); - s.integer(regs.m7c); - s.integer(regs.m7d); - s.integer(regs.m7x); - s.integer(regs.m7y); - - s.integer(regs.cgram_addr); - - s.integer(regs.window_one_left); - s.integer(regs.window_one_right); - s.integer(regs.window_two_left); - s.integer(regs.window_two_right); - - s.integer(regs.mode7_extbg); - s.integer(regs.pseudo_hires); - s.integer(regs.overscan); - s.integer(regs.interlace); - - s.integer(regs.hcounter); - - s.integer(regs.vcounter); -} - -void PPU::Cache::serialize(serializer &s) { - //rather than save ~512KB worth of cached tiledata, invalidate it all - for(unsigned i = 0; i < 4096; i++) tilevalid[0][i] = false; - for(unsigned i = 0; i < 2048; i++) tilevalid[1][i] = false; - for(unsigned i = 0; i < 1024; i++) tilevalid[2][i] = false; -} - -void PPU::Background::serialize(serializer &s) { - s.integer(regs.mode); - s.integer(regs.priority0); - s.integer(regs.priority1); - - s.integer(regs.tile_size); - s.integer(regs.mosaic); - - s.integer(regs.screen_addr); - s.integer(regs.screen_size); - s.integer(regs.tiledata_addr); - - s.integer(regs.hoffset); - s.integer(regs.voffset); - - s.integer(regs.main_enable); - s.integer(regs.sub_enable); - - s.integer(hires); - s.integer(width); - - s.integer(tile_width); - s.integer(tile_height); - - s.integer(mask_x); - s.integer(mask_y); - - s.integer(scx); - s.integer(scy); - - s.integer(hscroll); - s.integer(vscroll); - - s.integer(mosaic_vcounter); - s.integer(mosaic_voffset); - - window.serialize(s); -} - -void PPU::Sprite::serialize(serializer &s) { - s.integer(regs.priority0); - s.integer(regs.priority1); - s.integer(regs.priority2); - s.integer(regs.priority3); - - s.integer(regs.base_size); - s.integer(regs.nameselect); - s.integer(regs.tiledata_addr); - s.integer(regs.first_sprite); - - s.integer(regs.main_enable); - s.integer(regs.sub_enable); - - s.integer(regs.interlace); - - s.integer(regs.time_over); - s.integer(regs.range_over); - - for(unsigned i = 0; i < 128; i++) { - s.integer(list[i].width); - s.integer(list[i].height); - s.integer(list[i].x); - s.integer(list[i].y); - s.integer(list[i].character); - s.integer(list[i].use_nameselect); - s.integer(list[i].vflip); - s.integer(list[i].hflip); - s.integer(list[i].palette); - s.integer(list[i].priority); - s.integer(list[i].size); - } - s.integer(list_valid); - - s.array(itemlist); - for(unsigned i = 0; i < 34; i++) { - s.integer(tilelist[i].x); - s.integer(tilelist[i].y); - s.integer(tilelist[i].priority); - s.integer(tilelist[i].palette); - s.integer(tilelist[i].tile); - s.integer(tilelist[i].hflip); - } - - s.array(output.palette); - s.array(output.priority); - - window.serialize(s); -} - -void PPU::Screen::serialize(serializer &s) { - s.integer(regs.addsub_mode); - s.integer(regs.direct_color); - - s.integer(regs.color_mode); - s.integer(regs.color_halve); - s.array(regs.color_enable); - - s.integer(regs.color_b); - s.integer(regs.color_g); - s.integer(regs.color_r); - s.integer(regs.color); - - for(unsigned i = 0; i < 256; i++) { - s.integer(output.main[i].color); - s.integer(output.main[i].priority); - s.integer(output.main[i].source); - - s.integer(output.sub[i].color); - s.integer(output.sub[i].priority); - s.integer(output.sub[i].source); - } - - window.serialize(s); -} - -void PPU::LayerWindow::serialize(serializer &s) { - s.integer(one_enable); - s.integer(one_invert); - s.integer(two_enable); - s.integer(two_invert); - - s.integer(mask); - - s.integer(main_enable); - s.integer(sub_enable); - - s.array(main); - s.array(sub); -} - -void PPU::ColorWindow::serialize(serializer &s) { - s.integer(one_enable); - s.integer(one_invert); - s.integer(two_enable); - s.integer(two_invert); - - s.integer(mask); - - s.integer(main_mask); - s.integer(sub_mask); - - s.array(main); - s.array(sub); -} - -#endif diff --git a/waterbox/libsnes/bsnes/snes/alt/ppu-performance/sprite/sprite.hpp b/waterbox/libsnes/bsnes/snes/alt/ppu-performance/sprite/sprite.hpp index 06912d7e24..062f116549 100644 --- a/waterbox/libsnes/bsnes/snes/alt/ppu-performance/sprite/sprite.hpp +++ b/waterbox/libsnes/bsnes/snes/alt/ppu-performance/sprite/sprite.hpp @@ -63,7 +63,6 @@ class Sprite { alwaysinline bool on_scanline(unsigned sprite); void render(); - void serialize(serializer&); Sprite(PPU &self); PPU &self; diff --git a/waterbox/libsnes/bsnes/snes/alt/ppu-performance/window/window.hpp b/waterbox/libsnes/bsnes/snes/alt/ppu-performance/window/window.hpp index ee67dd5e5b..96957b0073 100644 --- a/waterbox/libsnes/bsnes/snes/alt/ppu-performance/window/window.hpp +++ b/waterbox/libsnes/bsnes/snes/alt/ppu-performance/window/window.hpp @@ -14,7 +14,6 @@ public: uint8 sub[256]; void render(bool screen); - void serialize(serializer&); }; class ColorWindow { @@ -33,5 +32,4 @@ public: uint8 sub[256]; void render(bool screen); - void serialize(serializer&); }; diff --git a/waterbox/libsnes/bsnes/snes/alt/smp/smp.cpp b/waterbox/libsnes/bsnes/snes/alt/smp/smp.cpp index 94d2a59475..9002683342 100644 --- a/waterbox/libsnes/bsnes/snes/alt/smp/smp.cpp +++ b/waterbox/libsnes/bsnes/snes/alt/smp/smp.cpp @@ -81,63 +81,6 @@ void SMP::reset() { timer0.stage3_ticks = timer1.stage3_ticks = timer2.stage3_ticks = 0; } -void SMP::serialize(serializer &s) { - Processor::serialize(s); - - s.array(apuram, 64 * 1024); - - s.integer(opcode_number); - s.integer(opcode_cycle); - - s.integer(regs.pc); - s.integer(regs.sp); - s.integer(regs.a); - s.integer(regs.x); - s.integer(regs.y); - - s.integer(regs.p.n); - s.integer(regs.p.v); - s.integer(regs.p.p); - s.integer(regs.p.b); - s.integer(regs.p.h); - s.integer(regs.p.i); - s.integer(regs.p.z); - s.integer(regs.p.c); - - s.integer(rd); - s.integer(wr); - s.integer(dp); - s.integer(sp); - s.integer(ya); - s.integer(bit); - - s.integer(status.iplrom_enable); - - s.integer(status.dsp_addr); - - s.integer(status.ram00f8); - s.integer(status.ram00f9); - - s.integer(timer0.enable); - s.integer(timer0.target); - s.integer(timer0.stage1_ticks); - s.integer(timer0.stage2_ticks); - s.integer(timer0.stage3_ticks); - - s.integer(timer1.enable); - s.integer(timer1.target); - s.integer(timer1.stage1_ticks); - s.integer(timer1.stage2_ticks); - s.integer(timer1.stage3_ticks); - - s.integer(timer2.enable); - s.integer(timer2.target); - - s.integer(timer2.stage1_ticks); - s.integer(timer2.stage2_ticks); - s.integer(timer2.stage3_ticks); -} - SMP::SMP() : apuram(nullptr) { diff --git a/waterbox/libsnes/bsnes/snes/alt/smp/smp.hpp b/waterbox/libsnes/bsnes/snes/alt/smp/smp.hpp index f50184446c..77d8ca33b0 100644 --- a/waterbox/libsnes/bsnes/snes/alt/smp/smp.hpp +++ b/waterbox/libsnes/bsnes/snes/alt/smp/smp.hpp @@ -17,7 +17,6 @@ public: void power(); void reset(); - void serialize(serializer&); SMP(); ~SMP(); void initialize(); diff --git a/waterbox/libsnes/bsnes/snes/cartridge/cartridge.cpp b/waterbox/libsnes/bsnes/snes/cartridge/cartridge.cpp index bfc33d7927..6827beae54 100644 --- a/waterbox/libsnes/bsnes/snes/cartridge/cartridge.cpp +++ b/waterbox/libsnes/bsnes/snes/cartridge/cartridge.cpp @@ -7,7 +7,6 @@ namespace SNES { #include "markup.cpp" -#include "serialization.cpp" Cartridge cartridge; diff --git a/waterbox/libsnes/bsnes/snes/cartridge/cartridge.hpp b/waterbox/libsnes/bsnes/snes/cartridge/cartridge.hpp index 958aabd2c1..d4099227d3 100644 --- a/waterbox/libsnes/bsnes/snes/cartridge/cartridge.hpp +++ b/waterbox/libsnes/bsnes/snes/cartridge/cartridge.hpp @@ -85,7 +85,6 @@ struct Cartridge : property { void load(Mode, const char*); void unload(); - void serialize(serializer&); Cartridge(); ~Cartridge(); diff --git a/waterbox/libsnes/bsnes/snes/cartridge/serialization.cpp b/waterbox/libsnes/bsnes/snes/cartridge/serialization.cpp deleted file mode 100644 index f7e0abfa7f..0000000000 --- a/waterbox/libsnes/bsnes/snes/cartridge/serialization.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifdef CARTRIDGE_CPP - -void Cartridge::serialize(serializer &s) { - for(auto &ram : nvram) { - if(ram.size) s.array(ram.data, ram.size); - } -} - -#endif diff --git a/waterbox/libsnes/bsnes/snes/chip/armdsp/armdsp.cpp b/waterbox/libsnes/bsnes/snes/chip/armdsp/armdsp.cpp index 259ab6ad52..c9efd458de 100644 --- a/waterbox/libsnes/bsnes/snes/chip/armdsp/armdsp.cpp +++ b/waterbox/libsnes/bsnes/snes/chip/armdsp/armdsp.cpp @@ -13,7 +13,6 @@ static bool trace = 0; #include "opcodes.cpp" #include "memory.cpp" #include "disassembler.cpp" -#include "serialization.cpp" ArmDSP armdsp; void ArmDSP::Enter() { armdsp.enter(); } diff --git a/waterbox/libsnes/bsnes/snes/chip/armdsp/armdsp.hpp b/waterbox/libsnes/bsnes/snes/chip/armdsp/armdsp.hpp index 50e84971cf..968fa139d8 100644 --- a/waterbox/libsnes/bsnes/snes/chip/armdsp/armdsp.hpp +++ b/waterbox/libsnes/bsnes/snes/chip/armdsp/armdsp.hpp @@ -61,9 +61,6 @@ struct ArmDSP : public Coprocessor { //disassembler.cpp string disassemble_opcode(uint32 pc); string disassemble_registers(); - - //serialization.cpp - void serialize(serializer&); }; extern ArmDSP armdsp; diff --git a/waterbox/libsnes/bsnes/snes/chip/armdsp/serialization.cpp b/waterbox/libsnes/bsnes/snes/chip/armdsp/serialization.cpp deleted file mode 100644 index 481e4f798f..0000000000 --- a/waterbox/libsnes/bsnes/snes/chip/armdsp/serialization.cpp +++ /dev/null @@ -1,64 +0,0 @@ -#ifdef ARMDSP_CPP - -void ArmDSP::serialize(serializer &s) { - Processor::serialize(s); - - s.array(programRAM, 16 * 1024); - - s.integer(bridge.cputoarm.ready); - s.integer(bridge.cputoarm.data); - s.integer(bridge.armtocpu.ready); - s.integer(bridge.armtocpu.data); - s.integer(bridge.timer); - s.integer(bridge.timerlatch); - s.integer(bridge.reset); - s.integer(bridge.ready); - s.integer(bridge.busy); - - s.integer(cpsr.n); - s.integer(cpsr.z); - s.integer(cpsr.c); - s.integer(cpsr.v); - s.integer(cpsr.i); - s.integer(cpsr.f); - s.integer(cpsr.m); - - s.integer(spsr.n); - s.integer(spsr.z); - s.integer(spsr.c); - s.integer(spsr.v); - s.integer(spsr.i); - s.integer(spsr.f); - s.integer(spsr.m); - - s.integer(r[ 0].data); - s.integer(r[ 1].data); - s.integer(r[ 2].data); - s.integer(r[ 3].data); - s.integer(r[ 4].data); - s.integer(r[ 5].data); - s.integer(r[ 6].data); - s.integer(r[ 7].data); - s.integer(r[ 8].data); - s.integer(r[ 9].data); - s.integer(r[10].data); - s.integer(r[11].data); - s.integer(r[12].data); - s.integer(r[13].data); - s.integer(r[14].data); - s.integer(r[15].data); - - s.integer(shiftercarry); - s.integer(instruction); - s.integer(exception); - - s.integer(pipeline.reload); - s.integer(pipeline.instruction.opcode); - s.integer(pipeline.instruction.address); - s.integer(pipeline.prefetch.opcode); - s.integer(pipeline.prefetch.address); - s.integer(pipeline.mdr.opcode); - s.integer(pipeline.mdr.address); -} - -#endif diff --git a/waterbox/libsnes/bsnes/snes/chip/hitachidsp/hitachidsp.cpp b/waterbox/libsnes/bsnes/snes/chip/hitachidsp/hitachidsp.cpp index d6279c99f8..109f82d6cc 100644 --- a/waterbox/libsnes/bsnes/snes/chip/hitachidsp/hitachidsp.cpp +++ b/waterbox/libsnes/bsnes/snes/chip/hitachidsp/hitachidsp.cpp @@ -6,7 +6,6 @@ namespace SNES { #include "memory.cpp" #include "opcodes.cpp" #include "registers.cpp" -#include "serialization.cpp" HitachiDSP hitachidsp; //zero 01-sep-2014 - dont clobber these when reconstructing! diff --git a/waterbox/libsnes/bsnes/snes/chip/hitachidsp/hitachidsp.hpp b/waterbox/libsnes/bsnes/snes/chip/hitachidsp/hitachidsp.hpp index 7efff3fc97..4aae361ad3 100644 --- a/waterbox/libsnes/bsnes/snes/chip/hitachidsp/hitachidsp.hpp +++ b/waterbox/libsnes/bsnes/snes/chip/hitachidsp/hitachidsp.hpp @@ -43,8 +43,6 @@ public: //registers.cpp unsigned reg_read(unsigned n) const; void reg_write(unsigned n, unsigned data); - - void serialize(serializer&); }; extern HitachiDSP hitachidsp; diff --git a/waterbox/libsnes/bsnes/snes/chip/hitachidsp/serialization.cpp b/waterbox/libsnes/bsnes/snes/chip/hitachidsp/serialization.cpp deleted file mode 100644 index dc6d2d395d..0000000000 --- a/waterbox/libsnes/bsnes/snes/chip/hitachidsp/serialization.cpp +++ /dev/null @@ -1,41 +0,0 @@ -#ifdef HITACHIDSP_CPP - -void HitachiDSP::serialize(serializer &s) { - Processor::serialize(s); - - s.array(dataRAM); - for(auto &n : stack) s.integer(n); - s.integer(opcode); - s.integer((unsigned&)state); - - s.integer(regs.pc); - s.integer(regs.p); - s.integer(regs.n); - s.integer(regs.z); - s.integer(regs.c); - - s.integer(regs.a); - s.integer(regs.acch); - s.integer(regs.accl); - s.integer(regs.busdata); - s.integer(regs.romdata); - s.integer(regs.ramdata); - s.integer(regs.busaddr); - s.integer(regs.ramaddr); - for(auto &n : regs.gpr) s.integer(n); - - s.integer(regs.dma_source); - s.integer(regs.dma_length); - s.integer(regs.dma_target); - s.integer(regs.r1f48); - s.integer(regs.program_offset); - s.integer(regs.r1f4c); - s.integer(regs.page_number); - s.integer(regs.program_counter); - s.integer(regs.r1f50); - s.integer(regs.r1f51); - s.integer(regs.r1f52); - s.array(regs.vector); -} - -#endif diff --git a/waterbox/libsnes/bsnes/snes/chip/icd2/icd2.cpp b/waterbox/libsnes/bsnes/snes/chip/icd2/icd2.cpp index 0b7a7dfdea..a740efeba9 100644 --- a/waterbox/libsnes/bsnes/snes/chip/icd2/icd2.cpp +++ b/waterbox/libsnes/bsnes/snes/chip/icd2/icd2.cpp @@ -7,7 +7,6 @@ namespace SNES { #include "interface/interface.cpp" #include "mmio/mmio.cpp" -#include "serialization.cpp" ICD2 icd2; void ICD2::Enter() { icd2.enter(); } diff --git a/waterbox/libsnes/bsnes/snes/chip/icd2/icd2.hpp b/waterbox/libsnes/bsnes/snes/chip/icd2/icd2.hpp index 19480f840b..5c741a1e25 100644 --- a/waterbox/libsnes/bsnes/snes/chip/icd2/icd2.hpp +++ b/waterbox/libsnes/bsnes/snes/chip/icd2/icd2.hpp @@ -14,8 +14,6 @@ public: uint8 read(unsigned addr); void write(unsigned addr, uint8 data); - void serialize(serializer&); - ICD2(); private: diff --git a/waterbox/libsnes/bsnes/snes/chip/icd2/serialization.cpp b/waterbox/libsnes/bsnes/snes/chip/icd2/serialization.cpp deleted file mode 100644 index 5c31448ed8..0000000000 --- a/waterbox/libsnes/bsnes/snes/chip/icd2/serialization.cpp +++ /dev/null @@ -1,38 +0,0 @@ -#ifdef ICD2_CPP - -void ICD2::serialize(serializer &s) { - Processor::serialize(s); - GameBoy::system.serialize_all(s); - - for(unsigned n = 0; n < 64; n++) s.array(packet[n].data); - s.integer(packetsize); - - s.integer(joyp_id); - s.integer(joyp15lock); - s.integer(joyp14lock); - s.integer(pulselock); - s.integer(strobelock); - s.integer(packetlock); - s.array(joyp_packet.data); - s.integer(packetoffset); - s.integer(bitdata); - s.integer(bitoffset); - - s.integer(r6000_ly); - s.integer(r6000_row); - s.integer(r6001); - s.integer(r6003); - s.integer(r6004); - s.integer(r6005); - s.integer(r6006); - s.integer(r6007); - s.array(r7000); - s.integer(r7800); - s.integer(mlt_req); - - s.array(lcd.buffer); - s.array(lcd.output); - s.integer(lcd.row); -} - -#endif diff --git a/waterbox/libsnes/bsnes/snes/chip/msu1/msu1.cpp b/waterbox/libsnes/bsnes/snes/chip/msu1/msu1.cpp index c4644bc8f5..2bc1f0de58 100644 --- a/waterbox/libsnes/bsnes/snes/chip/msu1/msu1.cpp +++ b/waterbox/libsnes/bsnes/snes/chip/msu1/msu1.cpp @@ -5,8 +5,6 @@ namespace SNES { MSU1 msu1; -#include "serialization.cpp" - void MSU1::Enter() { msu1.enter(); } void MSU1::enter() { diff --git a/waterbox/libsnes/bsnes/snes/chip/msu1/msu1.hpp b/waterbox/libsnes/bsnes/snes/chip/msu1/msu1.hpp index 25572eaffc..a109c339af 100644 --- a/waterbox/libsnes/bsnes/snes/chip/msu1/msu1.hpp +++ b/waterbox/libsnes/bsnes/snes/chip/msu1/msu1.hpp @@ -11,8 +11,6 @@ public: uint8 mmio_read(unsigned addr); void mmio_write(unsigned addr, uint8 data); - void serialize(serializer&); - private: file datafile; file audiofile; diff --git a/waterbox/libsnes/bsnes/snes/chip/msu1/serialization.cpp b/waterbox/libsnes/bsnes/snes/chip/msu1/serialization.cpp deleted file mode 100644 index ffe4485adf..0000000000 --- a/waterbox/libsnes/bsnes/snes/chip/msu1/serialization.cpp +++ /dev/null @@ -1,29 +0,0 @@ -#ifdef MSU1_CPP - -void MSU1::serialize(serializer &s) { - Processor::serialize(s); - - s.integer(mmio.data_offset); - s.integer(mmio.audio_offset); - s.integer(mmio.audio_loop_offset); - - s.integer(mmio.audio_track); - s.integer(mmio.audio_volume); - - s.integer(mmio.data_busy); - s.integer(mmio.audio_busy); - s.integer(mmio.audio_repeat); - s.integer(mmio.audio_play); - - if(datafile.open()) datafile.close(); - if(datafile.open(interface()->path(Cartridge::Slot::Base, "msu1.rom"), file::mode::read)) { - datafile.seek(mmio.data_offset); - } - - if(audiofile.open()) audiofile.close(); - if(audiofile.open(interface()->path(Cartridge::Slot::Base, { "track-", (unsigned)mmio.audio_track, ".pcm" }), file::mode::read)) { - audiofile.seek(mmio.audio_offset); - } -} - -#endif diff --git a/waterbox/libsnes/bsnes/snes/chip/necdsp/necdsp.cpp b/waterbox/libsnes/bsnes/snes/chip/necdsp/necdsp.cpp index 188440eb32..627d3c9d29 100644 --- a/waterbox/libsnes/bsnes/snes/chip/necdsp/necdsp.cpp +++ b/waterbox/libsnes/bsnes/snes/chip/necdsp/necdsp.cpp @@ -5,7 +5,6 @@ namespace SNES { #include "memory.cpp" #include "disassembler.cpp" -#include "serialization.cpp" NECDSP necdsp; //zero 01-sep-2014 - dont clobber these when reconstructing! diff --git a/waterbox/libsnes/bsnes/snes/chip/necdsp/necdsp.hpp b/waterbox/libsnes/bsnes/snes/chip/necdsp/necdsp.hpp index b02ab3567f..318734f987 100644 --- a/waterbox/libsnes/bsnes/snes/chip/necdsp/necdsp.hpp +++ b/waterbox/libsnes/bsnes/snes/chip/necdsp/necdsp.hpp @@ -42,7 +42,6 @@ public: void power(); void reset(); - void serialize(serializer&); NECDSP(); ~NECDSP(); }; diff --git a/waterbox/libsnes/bsnes/snes/chip/necdsp/serialization.cpp b/waterbox/libsnes/bsnes/snes/chip/necdsp/serialization.cpp deleted file mode 100644 index a06510f833..0000000000 --- a/waterbox/libsnes/bsnes/snes/chip/necdsp/serialization.cpp +++ /dev/null @@ -1,55 +0,0 @@ -#ifdef NECDSP_CPP - -void NECDSP::serialize(serializer &s) { - Processor::serialize(s); - - s.array(dataRAM); - - s.array(regs.stack); - s.integer(regs.pc); - s.integer(regs.rp); - s.integer(regs.dp); - s.integer(regs.sp); - - s.integer(regs.k); - s.integer(regs.l); - s.integer(regs.m); - s.integer(regs.n); - s.integer(regs.a); - s.integer(regs.b); - - s.integer(regs.flaga.s1); - s.integer(regs.flaga.s0); - s.integer(regs.flaga.c); - s.integer(regs.flaga.z); - s.integer(regs.flaga.ov1); - s.integer(regs.flaga.ov0); - - s.integer(regs.flagb.s1); - s.integer(regs.flagb.s0); - s.integer(regs.flagb.c); - s.integer(regs.flagb.z); - s.integer(regs.flagb.ov1); - s.integer(regs.flagb.ov0); - - s.integer(regs.tr); - s.integer(regs.trb); - - s.integer(regs.sr.rqm); - s.integer(regs.sr.usf1); - s.integer(regs.sr.usf0); - s.integer(regs.sr.drs); - s.integer(regs.sr.dma); - s.integer(regs.sr.drc); - s.integer(regs.sr.soc); - s.integer(regs.sr.sic); - s.integer(regs.sr.ei); - s.integer(regs.sr.p1); - s.integer(regs.sr.p0); - - s.integer(regs.dr); - s.integer(regs.si); - s.integer(regs.so); -} - -#endif diff --git a/waterbox/libsnes/bsnes/snes/chip/obc1/obc1.cpp b/waterbox/libsnes/bsnes/snes/chip/obc1/obc1.cpp index 8d7d337607..0d25410fac 100644 --- a/waterbox/libsnes/bsnes/snes/chip/obc1/obc1.cpp +++ b/waterbox/libsnes/bsnes/snes/chip/obc1/obc1.cpp @@ -3,7 +3,6 @@ #define OBC1_CPP namespace SNES { -#include "serialization.cpp" OBC1 obc1; void OBC1::init() { diff --git a/waterbox/libsnes/bsnes/snes/chip/obc1/obc1.hpp b/waterbox/libsnes/bsnes/snes/chip/obc1/obc1.hpp index 686adbc987..2209b2a64d 100644 --- a/waterbox/libsnes/bsnes/snes/chip/obc1/obc1.hpp +++ b/waterbox/libsnes/bsnes/snes/chip/obc1/obc1.hpp @@ -9,8 +9,6 @@ public: uint8 read(unsigned addr); void write(unsigned addr, uint8 data); - void serialize(serializer&); - private: uint8 ram_read(unsigned addr); void ram_write(unsigned addr, uint8 data); diff --git a/waterbox/libsnes/bsnes/snes/chip/obc1/serialization.cpp b/waterbox/libsnes/bsnes/snes/chip/obc1/serialization.cpp deleted file mode 100644 index 3d61aafc38..0000000000 --- a/waterbox/libsnes/bsnes/snes/chip/obc1/serialization.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifdef OBC1_CPP - -void OBC1::serialize(serializer &s) { - s.integer(status.address); - s.integer(status.baseptr); - s.integer(status.shift); -} - -#endif diff --git a/waterbox/libsnes/bsnes/snes/chip/sa1/sa1.cpp b/waterbox/libsnes/bsnes/snes/chip/sa1/sa1.cpp index 71c6310a09..08e586ee54 100644 --- a/waterbox/libsnes/bsnes/snes/chip/sa1/sa1.cpp +++ b/waterbox/libsnes/bsnes/snes/chip/sa1/sa1.cpp @@ -5,7 +5,6 @@ namespace SNES { SA1 sa1; -#include "serialization.cpp" #include "bus/bus.cpp" #include "dma/dma.cpp" #include "memory/memory.cpp" diff --git a/waterbox/libsnes/bsnes/snes/chip/sa1/sa1.hpp b/waterbox/libsnes/bsnes/snes/chip/sa1/sa1.hpp index 732b2a851e..1f559a97ee 100644 --- a/waterbox/libsnes/bsnes/snes/chip/sa1/sa1.hpp +++ b/waterbox/libsnes/bsnes/snes/chip/sa1/sa1.hpp @@ -30,7 +30,6 @@ public: void power(); void reset(); - void serialize(serializer&); SA1(); }; diff --git a/waterbox/libsnes/bsnes/snes/chip/sa1/serialization.cpp b/waterbox/libsnes/bsnes/snes/chip/sa1/serialization.cpp deleted file mode 100644 index 3d755883b8..0000000000 --- a/waterbox/libsnes/bsnes/snes/chip/sa1/serialization.cpp +++ /dev/null @@ -1,148 +0,0 @@ -#ifdef SA1_CPP - -void SA1::serialize(serializer &s) { - Processor::serialize(s); - CPUcore::core_serialize(s); - - //sa1.hpp - s.integer(status.tick_counter); - - s.integer(status.interrupt_pending); - - s.integer(status.scanlines); - s.integer(status.vcounter); - s.integer(status.hcounter); - - //bus/bus.hpp - s.array(iram.data(), iram.size()); - - s.integer(cpubwram.dma); - - //dma/dma.hpp - s.integer(dma.line); - - //mmio/mmio.hpp - s.integer(mmio.sa1_irq); - s.integer(mmio.sa1_rdyb); - s.integer(mmio.sa1_resb); - s.integer(mmio.sa1_nmi); - s.integer(mmio.smeg); - - s.integer(mmio.cpu_irqen); - s.integer(mmio.chdma_irqen); - - s.integer(mmio.cpu_irqcl); - s.integer(mmio.chdma_irqcl); - - s.integer(mmio.crv); - - s.integer(mmio.cnv); - - s.integer(mmio.civ); - - s.integer(mmio.cpu_irq); - s.integer(mmio.cpu_ivsw); - s.integer(mmio.cpu_nvsw); - s.integer(mmio.cmeg); - - s.integer(mmio.sa1_irqen); - s.integer(mmio.timer_irqen); - s.integer(mmio.dma_irqen); - s.integer(mmio.sa1_nmien); - - s.integer(mmio.sa1_irqcl); - s.integer(mmio.timer_irqcl); - s.integer(mmio.dma_irqcl); - s.integer(mmio.sa1_nmicl); - - s.integer(mmio.snv); - - s.integer(mmio.siv); - - s.integer(mmio.hvselb); - s.integer(mmio.ven); - s.integer(mmio.hen); - - s.integer(mmio.hcnt); - - s.integer(mmio.vcnt); - - s.integer(mmio.cbmode); - s.integer(mmio.cb); - - s.integer(mmio.dbmode); - s.integer(mmio.db); - - s.integer(mmio.ebmode); - s.integer(mmio.eb); - - s.integer(mmio.fbmode); - s.integer(mmio.fb); - - s.integer(mmio.sbm); - - s.integer(mmio.sw46); - s.integer(mmio.cbm); - - s.integer(mmio.swen); - - s.integer(mmio.cwen); - - s.integer(mmio.bwp); - - s.integer(mmio.siwp); - - s.integer(mmio.ciwp); - - s.integer(mmio.dmaen); - s.integer(mmio.dprio); - s.integer(mmio.cden); - s.integer(mmio.cdsel); - s.integer(mmio.dd); - s.integer(mmio.sd); - - s.integer(mmio.chdend); - s.integer(mmio.dmasize); - s.integer(mmio.dmacb); - - s.integer(mmio.dsa); - - s.integer(mmio.dda); - - s.integer(mmio.dtc); - - s.integer(mmio.bbf); - - s.array(mmio.brf); - - s.integer(mmio.acm); - s.integer(mmio.md); - - s.integer(mmio.ma); - - s.integer(mmio.mb); - - s.integer(mmio.hl); - s.integer(mmio.vb); - - s.integer(mmio.va); - s.integer(mmio.vbit); - - s.integer(mmio.cpu_irqfl); - s.integer(mmio.chdma_irqfl); - - s.integer(mmio.sa1_irqfl); - s.integer(mmio.timer_irqfl); - s.integer(mmio.dma_irqfl); - s.integer(mmio.sa1_nmifl); - - s.integer(mmio.hcr); - - s.integer(mmio.vcr); - - s.integer(mmio.mr); - - s.integer(mmio.overflow); -} - -#endif diff --git a/waterbox/libsnes/bsnes/snes/chip/sdd1/sdd1.cpp b/waterbox/libsnes/bsnes/snes/chip/sdd1/sdd1.cpp index c9b8b1c40a..f3f197daa0 100644 --- a/waterbox/libsnes/bsnes/snes/chip/sdd1/sdd1.cpp +++ b/waterbox/libsnes/bsnes/snes/chip/sdd1/sdd1.cpp @@ -6,7 +6,6 @@ namespace SNES { SDD1 sdd1; #include "decomp.cpp" -#include "serialization.cpp" void SDD1::init() { } diff --git a/waterbox/libsnes/bsnes/snes/chip/sdd1/sdd1.hpp b/waterbox/libsnes/bsnes/snes/chip/sdd1/sdd1.hpp index b0af2ac429..1a0fc335a0 100644 --- a/waterbox/libsnes/bsnes/snes/chip/sdd1/sdd1.hpp +++ b/waterbox/libsnes/bsnes/snes/chip/sdd1/sdd1.hpp @@ -13,7 +13,6 @@ public: uint8 mcu_read(unsigned addr); void mcu_write(unsigned addr, uint8 data); - void serialize(serializer&); SDD1(); ~SDD1(); diff --git a/waterbox/libsnes/bsnes/snes/chip/sdd1/serialization.cpp b/waterbox/libsnes/bsnes/snes/chip/sdd1/serialization.cpp deleted file mode 100644 index 1741e1a4f6..0000000000 --- a/waterbox/libsnes/bsnes/snes/chip/sdd1/serialization.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#ifdef SDD1_CPP - -void SDD1::serialize(serializer &s) { - s.integer(sdd1_enable); - s.integer(xfer_enable); - s.integer(dma_ready); - s.array(mmc); - - for(unsigned n = 0; n < 8; n++) { - s.integer(dma[n].addr); - s.integer(dma[n].size); - } -} - -#endif diff --git a/waterbox/libsnes/bsnes/snes/chip/spc7110/decomp.hpp b/waterbox/libsnes/bsnes/snes/chip/spc7110/decomp.hpp index c11c6ad478..41b2924b10 100644 --- a/waterbox/libsnes/bsnes/snes/chip/spc7110/decomp.hpp +++ b/waterbox/libsnes/bsnes/snes/chip/spc7110/decomp.hpp @@ -4,7 +4,6 @@ public: void init(unsigned mode, unsigned offset, unsigned index); void reset(); - void serialize(serializer&); Decomp(); ~Decomp(); diff --git a/waterbox/libsnes/bsnes/snes/chip/spc7110/serialization.cpp b/waterbox/libsnes/bsnes/snes/chip/spc7110/serialization.cpp deleted file mode 100644 index 5868206122..0000000000 --- a/waterbox/libsnes/bsnes/snes/chip/spc7110/serialization.cpp +++ /dev/null @@ -1,82 +0,0 @@ -#ifdef SPC7110_CPP - -void SPC7110::Decomp::serialize(serializer &s) { - s.integer(decomp_mode); - s.integer(decomp_offset); - - s.array(decomp_buffer, decomp_buffer_size); - s.integer(decomp_buffer_rdoffset); - s.integer(decomp_buffer_wroffset); - s.integer(decomp_buffer_length); - - for(unsigned n = 0; n < 32; n++) { - s.integer(context[n].index); - s.integer(context[n].invert); - } -} - -void SPC7110::serialize(serializer &s) { - s.integer(r4801); - s.integer(r4802); - s.integer(r4803); - s.integer(r4804); - s.integer(r4805); - s.integer(r4806); - s.integer(r4807); - s.integer(r4808); - s.integer(r4809); - s.integer(r480a); - s.integer(r480b); - s.integer(r480c); - decomp.serialize(s); - - s.integer(r4811); - s.integer(r4812); - s.integer(r4813); - s.integer(r4814); - s.integer(r4815); - s.integer(r4816); - s.integer(r4817); - s.integer(r4818); - s.integer(r481x); - s.integer(r4814_latch); - s.integer(r4815_latch); - - s.integer(r4820); - s.integer(r4821); - s.integer(r4822); - s.integer(r4823); - s.integer(r4824); - s.integer(r4825); - s.integer(r4826); - s.integer(r4827); - s.integer(r4828); - s.integer(r4829); - s.integer(r482a); - s.integer(r482b); - s.integer(r482c); - s.integer(r482d); - s.integer(r482e); - s.integer(r482f); - - s.integer(r4830); - s.integer(r4831); - s.integer(r4832); - s.integer(r4833); - s.integer(r4834); - - s.integer(dx_offset); - s.integer(ex_offset); - s.integer(fx_offset); - - s.integer(r4840); - s.integer(r4841); - s.integer(r4842); - - s.array(rtc,20); - s.integer(rtc_state); - s.integer(rtc_mode); - s.integer(rtc_index); -} - -#endif diff --git a/waterbox/libsnes/bsnes/snes/chip/spc7110/spc7110.cpp b/waterbox/libsnes/bsnes/snes/chip/spc7110/spc7110.cpp index 000ebf1c1a..37e45f80b2 100644 --- a/waterbox/libsnes/bsnes/snes/chip/spc7110/spc7110.cpp +++ b/waterbox/libsnes/bsnes/snes/chip/spc7110/spc7110.cpp @@ -5,7 +5,6 @@ namespace SNES { SPC7110 spc7110; -#include "serialization.cpp" #include "decomp.cpp" const unsigned SPC7110::months[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; diff --git a/waterbox/libsnes/bsnes/snes/chip/spc7110/spc7110.hpp b/waterbox/libsnes/bsnes/snes/chip/spc7110/spc7110.hpp index 5610bebfe8..acf6743fd0 100644 --- a/waterbox/libsnes/bsnes/snes/chip/spc7110/spc7110.hpp +++ b/waterbox/libsnes/bsnes/snes/chip/spc7110/spc7110.hpp @@ -39,7 +39,6 @@ public: void decomp_init(); uint8 decomp_read(); - void serialize(serializer&); SPC7110(); ~SPC7110(); void initialize(); diff --git a/waterbox/libsnes/bsnes/snes/chip/srtc/serialization.cpp b/waterbox/libsnes/bsnes/snes/chip/srtc/serialization.cpp deleted file mode 100644 index 9850635065..0000000000 --- a/waterbox/libsnes/bsnes/snes/chip/srtc/serialization.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifdef SRTC_CPP - -void SRTC::serialize(serializer &s) { - s.array(rtc,20); - s.integer(rtc_mode); - s.integer(rtc_index); -} - -#endif diff --git a/waterbox/libsnes/bsnes/snes/chip/srtc/srtc.cpp b/waterbox/libsnes/bsnes/snes/chip/srtc/srtc.cpp index 869f043ef2..606eb7502e 100644 --- a/waterbox/libsnes/bsnes/snes/chip/srtc/srtc.cpp +++ b/waterbox/libsnes/bsnes/snes/chip/srtc/srtc.cpp @@ -5,8 +5,6 @@ namespace SNES { SRTC srtc; -#include "serialization.cpp" - const unsigned SRTC::months[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; SRTC::SRTC() diff --git a/waterbox/libsnes/bsnes/snes/chip/srtc/srtc.hpp b/waterbox/libsnes/bsnes/snes/chip/srtc/srtc.hpp index 2bbc7d65ba..c6ce9bbe0c 100644 --- a/waterbox/libsnes/bsnes/snes/chip/srtc/srtc.hpp +++ b/waterbox/libsnes/bsnes/snes/chip/srtc/srtc.hpp @@ -11,7 +11,6 @@ public: uint8 read(unsigned addr); void write(unsigned addr, uint8 data); - void serialize(serializer&); void initialize(); SRTC(); ~SRTC(); diff --git a/waterbox/libsnes/bsnes/snes/chip/sufamiturbo/serialization.cpp b/waterbox/libsnes/bsnes/snes/chip/sufamiturbo/serialization.cpp deleted file mode 100644 index 526c3496dc..0000000000 --- a/waterbox/libsnes/bsnes/snes/chip/sufamiturbo/serialization.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifdef SUFAMITURBO_CPP - -void SufamiTurbo::serialize(serializer &s) { - if(slotA.ram.data()) s.array(slotA.ram.data(), slotA.ram.size()); - if(slotB.ram.data()) s.array(slotB.ram.data(), slotB.ram.size()); -} - -#endif diff --git a/waterbox/libsnes/bsnes/snes/chip/sufamiturbo/sufamiturbo.cpp b/waterbox/libsnes/bsnes/snes/chip/sufamiturbo/sufamiturbo.cpp index 52bca64403..15bbeaa636 100644 --- a/waterbox/libsnes/bsnes/snes/chip/sufamiturbo/sufamiturbo.cpp +++ b/waterbox/libsnes/bsnes/snes/chip/sufamiturbo/sufamiturbo.cpp @@ -3,7 +3,6 @@ #define SUFAMITURBO_CPP namespace SNES { -#include "serialization.cpp" SufamiTurbo sufamiturbo; SufamiTurbo::SufamiTurbo() diff --git a/waterbox/libsnes/bsnes/snes/chip/sufamiturbo/sufamiturbo.hpp b/waterbox/libsnes/bsnes/snes/chip/sufamiturbo/sufamiturbo.hpp index 9234254c6c..a2e6a4b5c2 100644 --- a/waterbox/libsnes/bsnes/snes/chip/sufamiturbo/sufamiturbo.hpp +++ b/waterbox/libsnes/bsnes/snes/chip/sufamiturbo/sufamiturbo.hpp @@ -7,7 +7,6 @@ public: void load(); void unload(); - void serialize(serializer&); SufamiTurbo(); }; diff --git a/waterbox/libsnes/bsnes/snes/chip/superfx/serialization.cpp b/waterbox/libsnes/bsnes/snes/chip/superfx/serialization.cpp deleted file mode 100644 index 67e5385bd5..0000000000 --- a/waterbox/libsnes/bsnes/snes/chip/superfx/serialization.cpp +++ /dev/null @@ -1,96 +0,0 @@ -#ifdef SUPERFX_CPP - -void SuperFX::serialize(serializer &s) { - Processor::serialize(s); - - //superfx.hpp - s.integer(clockmode); - s.integer(instruction_counter); - - //core/registers.hpp - s.integer(regs.pipeline); - s.integer(regs.ramaddr); - - s.integer(regs.r[ 0].data); - s.integer(regs.r[ 1].data); - s.integer(regs.r[ 2].data); - s.integer(regs.r[ 3].data); - s.integer(regs.r[ 4].data); - s.integer(regs.r[ 5].data); - s.integer(regs.r[ 6].data); - s.integer(regs.r[ 7].data); - s.integer(regs.r[ 8].data); - s.integer(regs.r[ 9].data); - s.integer(regs.r[10].data); - s.integer(regs.r[11].data); - s.integer(regs.r[12].data); - s.integer(regs.r[13].data); - s.integer(regs.r[14].data); - s.integer(regs.r[15].data); - - s.integer(regs.sfr.irq); - s.integer(regs.sfr.b); - s.integer(regs.sfr.ih); - s.integer(regs.sfr.il); - s.integer(regs.sfr.alt2); - s.integer(regs.sfr.alt1); - s.integer(regs.sfr.r); - s.integer(regs.sfr.g); - s.integer(regs.sfr.ov); - s.integer(regs.sfr.s); - s.integer(regs.sfr.cy); - s.integer(regs.sfr.z); - - s.integer(regs.pbr); - s.integer(regs.rombr); - s.integer(regs.rambr); - s.integer(regs.cbr); - s.integer(regs.scbr); - - s.integer(regs.scmr.ht); - s.integer(regs.scmr.ron); - s.integer(regs.scmr.ran); - s.integer(regs.scmr.md); - - s.integer(regs.colr); - - s.integer(regs.por.obj); - s.integer(regs.por.freezehigh); - s.integer(regs.por.highnibble); - s.integer(regs.por.dither); - s.integer(regs.por.transparent); - - s.integer(regs.bramr); - s.integer(regs.vcr); - - s.integer(regs.cfgr.irq); - s.integer(regs.cfgr.ms0); - - s.integer(regs.clsr); - - s.integer(regs.romcl); - s.integer(regs.romdr); - - s.integer(regs.ramcl); - s.integer(regs.ramar); - s.integer(regs.ramdr); - - s.integer(regs.sreg); - s.integer(regs.dreg); - - s.array(cache.buffer); - s.array(cache.valid); - - for(unsigned i = 0; i < 2; i++) { - s.integer(pixelcache[i].offset); - s.integer(pixelcache[i].bitpend); - s.array(pixelcache[i].data); - } - - //timing/timing.hpp - s.integer(cache_access_speed); - s.integer(memory_access_speed); - s.integer(r15_modified); -} - -#endif diff --git a/waterbox/libsnes/bsnes/snes/chip/superfx/superfx.cpp b/waterbox/libsnes/bsnes/snes/chip/superfx/superfx.cpp index 52060fa23b..31efcff036 100644 --- a/waterbox/libsnes/bsnes/snes/chip/superfx/superfx.cpp +++ b/waterbox/libsnes/bsnes/snes/chip/superfx/superfx.cpp @@ -3,7 +3,6 @@ #define SUPERFX_CPP namespace SNES { -#include "serialization.cpp" #include "bus/bus.cpp" #include "core/core.cpp" #include "memory/memory.cpp" diff --git a/waterbox/libsnes/bsnes/snes/chip/superfx/superfx.hpp b/waterbox/libsnes/bsnes/snes/chip/superfx/superfx.hpp index cf28952b43..48483ca759 100644 --- a/waterbox/libsnes/bsnes/snes/chip/superfx/superfx.hpp +++ b/waterbox/libsnes/bsnes/snes/chip/superfx/superfx.hpp @@ -14,7 +14,6 @@ public: void unload(); void power(); void reset(); - void serialize(serializer&); private: unsigned clockmode; diff --git a/waterbox/libsnes/bsnes/snes/controller/controller.cpp b/waterbox/libsnes/bsnes/snes/controller/controller.cpp index 5f37849cd2..c79baaff82 100644 --- a/waterbox/libsnes/bsnes/snes/controller/controller.cpp +++ b/waterbox/libsnes/bsnes/snes/controller/controller.cpp @@ -46,13 +46,6 @@ void Controller::iobit(bool data) { } } -void Controller::serialize(serializer& s) { - Processor::serialize(s); - //Save a zero block. - unsigned char blockzeroes[SaveSize] = {0}; - s.array(blockzeroes, SaveSize); -} - Controller::Controller(bool port) : port(port) { if(!thread) create(Controller::Enter, 1); } diff --git a/waterbox/libsnes/bsnes/snes/controller/controller.hpp b/waterbox/libsnes/bsnes/snes/controller/controller.hpp index 46095a89e9..94ab2ce7cd 100644 --- a/waterbox/libsnes/bsnes/snes/controller/controller.hpp +++ b/waterbox/libsnes/bsnes/snes/controller/controller.hpp @@ -20,7 +20,6 @@ struct Controller : Processor { virtual void enter(); void step(unsigned clocks); void synchronize_cpu(); - virtual void serialize(serializer& s); bool iobit(); void iobit(bool data); diff --git a/waterbox/libsnes/bsnes/snes/controller/gamepad/gamepad.cpp b/waterbox/libsnes/bsnes/snes/controller/gamepad/gamepad.cpp index decc74b74d..b37d099b30 100644 --- a/waterbox/libsnes/bsnes/snes/controller/gamepad/gamepad.cpp +++ b/waterbox/libsnes/bsnes/snes/controller/gamepad/gamepad.cpp @@ -13,19 +13,6 @@ void Gamepad::latch(bool data) { counter = 0; } -void Gamepad::serialize(serializer& s) { - Processor::serialize(s); - //Save block. - unsigned char block[Controller::SaveSize] = {0}; - block[0] = latched ? 1 : 0; - block[1] = counter; - s.array(block, Controller::SaveSize); - if(s.mode() == nall::serializer::Load) { - latched = (block[0] != 0); - counter = block[1]; - } -} - Gamepad::Gamepad(bool port) : Controller(port) { latched = 0; counter = 0; diff --git a/waterbox/libsnes/bsnes/snes/controller/gamepad/gamepad.hpp b/waterbox/libsnes/bsnes/snes/controller/gamepad/gamepad.hpp index a2392d1ecd..63394dd44b 100644 --- a/waterbox/libsnes/bsnes/snes/controller/gamepad/gamepad.hpp +++ b/waterbox/libsnes/bsnes/snes/controller/gamepad/gamepad.hpp @@ -2,7 +2,6 @@ struct Gamepad : Controller { uint2 data(); void latch(bool data); Gamepad(bool port); - void serialize(serializer& s); private: bool latched; unsigned counter; diff --git a/waterbox/libsnes/bsnes/snes/controller/justifier/justifier.cpp b/waterbox/libsnes/bsnes/snes/controller/justifier/justifier.cpp index 665b5a4985..cae1403603 100644 --- a/waterbox/libsnes/bsnes/snes/controller/justifier/justifier.cpp +++ b/waterbox/libsnes/bsnes/snes/controller/justifier/justifier.cpp @@ -98,42 +98,6 @@ void Justifier::latch(bool data) { if(latched == 0) active = !active; //toggle between both controllers, even when unchained } -void Justifier::serialize(serializer& s) { - Processor::serialize(s); - //Save block. - unsigned char block[Controller::SaveSize] = {0}; - block[0] = latched ? 1 : 0; - block[1] = counter; - block[2] = active ? 1 : 0; - block[3] = player1.trigger ? 1 : 0; - block[4] = player2.trigger ? 1 : 0; - block[5] = player1.start ? 1 : 0; - block[6] = player2.start ? 1 : 0; - block[7] = (unsigned short)player1.x >> 8; - block[8] = (unsigned short)player1.x; - block[9] = (unsigned short)player2.x >> 8; - block[10] = (unsigned short)player2.x; - block[11] = (unsigned short)player1.y >> 8; - block[12] = (unsigned short)player1.y; - block[13] = (unsigned short)player2.y >> 8; - block[14] = (unsigned short)player2.y; - s.array(block, Controller::SaveSize); - if(s.mode() == nall::serializer::Load) { - latched = (block[0] != 0); - counter = block[1]; - active = (block[2] != 0); - player1.trigger = (block[3] != 0); - player2.trigger = (block[4] != 0); - player1.start = (block[5] != 0); - player2.start = (block[6] != 0); - player1.x = (short)(((unsigned short)block[7] << 8) | (unsigned short)block[8]); - player2.x = (short)(((unsigned short)block[9] << 8) | (unsigned short)block[10]); - player1.y = (short)(((unsigned short)block[11] << 8) | (unsigned short)block[12]); - player2.y = (short)(((unsigned short)block[13] << 8) | (unsigned short)block[14]); - } -} - - Justifier::Justifier(bool port, bool chained) : Controller(port), chained(chained) { create(Controller::Enter, 21477272); latched = 0; diff --git a/waterbox/libsnes/bsnes/snes/controller/justifier/justifier.hpp b/waterbox/libsnes/bsnes/snes/controller/justifier/justifier.hpp index 6b7bba07a1..f927acf6bf 100644 --- a/waterbox/libsnes/bsnes/snes/controller/justifier/justifier.hpp +++ b/waterbox/libsnes/bsnes/snes/controller/justifier/justifier.hpp @@ -2,7 +2,6 @@ struct Justifier : Controller { void enter(); uint2 data(); void latch(bool data); - void serialize(serializer& s); Justifier(bool port, bool chained); //private: diff --git a/waterbox/libsnes/bsnes/snes/controller/mouse/mouse.cpp b/waterbox/libsnes/bsnes/snes/controller/mouse/mouse.cpp index a0dd45aa5e..97d0339170 100644 --- a/waterbox/libsnes/bsnes/snes/controller/mouse/mouse.cpp +++ b/waterbox/libsnes/bsnes/snes/controller/mouse/mouse.cpp @@ -68,25 +68,6 @@ void Mouse::latch(bool data) { counter = 0; } -void Mouse::serialize(serializer& s) { - Processor::serialize(s); - //Save block. - unsigned char block[Controller::SaveSize] = {0}; - block[0] = latched ? 1 : 0; - block[1] = counter; - block[2] = (unsigned short)position_x >> 8; - block[3] = (unsigned short)position_x; - block[4] = (unsigned short)position_y >> 8; - block[5] = (unsigned short)position_y; - s.array(block, Controller::SaveSize); - if(s.mode() == nall::serializer::Load) { - latched = (block[0] != 0); - counter = block[1]; - position_x = (short)(((unsigned short)block[2] << 8) | (unsigned short)block[3]); - position_y = (short)(((unsigned short)block[4] << 8) | (unsigned short)block[5]); - } -} - Mouse::Mouse(bool port) : Controller(port) { latched = 0; counter = 0; diff --git a/waterbox/libsnes/bsnes/snes/controller/mouse/mouse.hpp b/waterbox/libsnes/bsnes/snes/controller/mouse/mouse.hpp index 6074f342db..dd4d239995 100644 --- a/waterbox/libsnes/bsnes/snes/controller/mouse/mouse.hpp +++ b/waterbox/libsnes/bsnes/snes/controller/mouse/mouse.hpp @@ -2,7 +2,6 @@ struct Mouse : Controller { uint2 data(); void latch(bool data); Mouse(bool port); - void serialize(serializer& s); private: bool latched; unsigned counter; diff --git a/waterbox/libsnes/bsnes/snes/controller/multitap/multitap.cpp b/waterbox/libsnes/bsnes/snes/controller/multitap/multitap.cpp index d9d974f188..9409946479 100644 --- a/waterbox/libsnes/bsnes/snes/controller/multitap/multitap.cpp +++ b/waterbox/libsnes/bsnes/snes/controller/multitap/multitap.cpp @@ -38,26 +38,6 @@ void Multitap::latch(bool data) { counter2 = 0; } -void Multitap::serialize(serializer& s) { - Processor::serialize(s); - //Save block. - unsigned char block[Controller::SaveSize] = {0}; - block[0] = latched ? 1 : 0; - block[1] = counter1; - block[2] = counter2; - block[3] = connected; - block[4] = toggleConnectedInput; - s.array(block, Controller::SaveSize); - if(s.mode() == nall::serializer::Load) { - latched = (block[0] != 0); - counter1 = block[1]; - counter2 = block[2]; - connected = block[3]; - toggleConnectedInput = block[4]; - } -} - - Multitap::Multitap(bool port) : Controller(port) { latched = 0; counter1 = 0; diff --git a/waterbox/libsnes/bsnes/snes/controller/multitap/multitap.hpp b/waterbox/libsnes/bsnes/snes/controller/multitap/multitap.hpp index 5a9d1e4814..b64feb44b3 100644 --- a/waterbox/libsnes/bsnes/snes/controller/multitap/multitap.hpp +++ b/waterbox/libsnes/bsnes/snes/controller/multitap/multitap.hpp @@ -2,7 +2,6 @@ struct Multitap : Controller { uint2 data(); void latch(bool data); Multitap(bool port); - void serialize(serializer& s); private: bool connected; bool toggleConnectedInput; diff --git a/waterbox/libsnes/bsnes/snes/controller/superscope/superscope.cpp b/waterbox/libsnes/bsnes/snes/controller/superscope/superscope.cpp index 2569032bbc..d5edd61a99 100644 --- a/waterbox/libsnes/bsnes/snes/controller/superscope/superscope.cpp +++ b/waterbox/libsnes/bsnes/snes/controller/superscope/superscope.cpp @@ -98,37 +98,6 @@ void SuperScope::latch(bool data) { counter = 0; } -void SuperScope::serialize(serializer& s) { - Processor::serialize(s); - //Save block. - unsigned char block[Controller::SaveSize] = {0}; - block[0] = latched ? 1 : 0; - block[1] = counter; - block[2] = trigger ? 1 : 0; - block[3] = cursor ? 1 : 0; - block[4] = turbo ? 1 : 0; - block[5] = pause ? 1 : 0; - block[6] = offscreen ? 1 : 0; - block[7] = (unsigned short)x >> 8; - block[8] = (unsigned short)x; - block[9] = (unsigned short)y >> 8; - block[10] = (unsigned short)y; - - s.array(block, Controller::SaveSize); - if(s.mode() == nall::serializer::Load) { - latched = (block[0] != 0); - counter = block[1]; - trigger = (block[2] != 0); - cursor = (block[3] != 0); - turbo = (block[4] != 0); - pause = (block[5] != 0); - offscreen = (block[6] != 0); - x = (short)(((unsigned short)block[7] << 8) | (unsigned short)block[8]); - y = (short)(((unsigned short)block[9] << 8) | (unsigned short)block[10]); - } -} - - SuperScope::SuperScope(bool port) : Controller(port) { create(Controller::Enter, 21477272); latched = 0; diff --git a/waterbox/libsnes/bsnes/snes/controller/superscope/superscope.hpp b/waterbox/libsnes/bsnes/snes/controller/superscope/superscope.hpp index 93509d7945..a7a90b71a3 100644 --- a/waterbox/libsnes/bsnes/snes/controller/superscope/superscope.hpp +++ b/waterbox/libsnes/bsnes/snes/controller/superscope/superscope.hpp @@ -2,7 +2,6 @@ struct SuperScope : Controller { void enter(); uint2 data(); void latch(bool data); - void serialize(serializer& s); SuperScope(bool port); //private: diff --git a/waterbox/libsnes/bsnes/snes/cpu/core/core.cpp b/waterbox/libsnes/bsnes/snes/cpu/core/core.cpp index 427176b05a..bef86eae07 100644 --- a/waterbox/libsnes/bsnes/snes/cpu/core/core.cpp +++ b/waterbox/libsnes/bsnes/snes/cpu/core/core.cpp @@ -3,7 +3,6 @@ #define CPUCORE_CPP namespace SNES { -#include "serialization.cpp" #include "algorithms.cpp" #include "disassembler/disassembler.cpp" diff --git a/waterbox/libsnes/bsnes/snes/cpu/core/core.hpp b/waterbox/libsnes/bsnes/snes/cpu/core/core.hpp index 65c5fa9bc3..825ccd390b 100644 --- a/waterbox/libsnes/bsnes/snes/cpu/core/core.hpp +++ b/waterbox/libsnes/bsnes/snes/cpu/core/core.hpp @@ -212,6 +212,5 @@ struct CPUcore { table_mx = 1024, //16-bit accumulator, 16-bit index }; - void core_serialize(serializer&); CPUcore(); }; diff --git a/waterbox/libsnes/bsnes/snes/cpu/core/serialization.cpp b/waterbox/libsnes/bsnes/snes/cpu/core/serialization.cpp deleted file mode 100644 index 81753e9684..0000000000 --- a/waterbox/libsnes/bsnes/snes/cpu/core/serialization.cpp +++ /dev/null @@ -1,37 +0,0 @@ -#ifdef CPUCORE_CPP - -void CPUcore::core_serialize(serializer &s) { - s.integer(regs.pc.d); - - s.integer(regs.a.w); - s.integer(regs.x.w); - s.integer(regs.y.w); - s.integer(regs.z.w); - s.integer(regs.s.w); - s.integer(regs.d.w); - - s.integer(regs.p.n); - s.integer(regs.p.v); - s.integer(regs.p.m); - s.integer(regs.p.x); - s.integer(regs.p.d); - s.integer(regs.p.i); - s.integer(regs.p.z); - s.integer(regs.p.c); - - s.integer(regs.db); - s.integer(regs.e); - s.integer(regs.irq); - s.integer(regs.wai); - s.integer(regs.mdr); - s.integer(regs.vector); - - s.integer(aa.d); - s.integer(rd.d); - s.integer(sp); - s.integer(dp); - - update_table(); -} - -#endif diff --git a/waterbox/libsnes/bsnes/snes/cpu/cpu.cpp b/waterbox/libsnes/bsnes/snes/cpu/cpu.cpp index 127c31f0b2..d0d974295f 100644 --- a/waterbox/libsnes/bsnes/snes/cpu/cpu.cpp +++ b/waterbox/libsnes/bsnes/snes/cpu/cpu.cpp @@ -5,7 +5,6 @@ namespace SNES { CPU cpu; -#include "serialization.cpp" #include "dma/dma.cpp" #include "memory/memory.cpp" #include "mmio/mmio.cpp" diff --git a/waterbox/libsnes/bsnes/snes/cpu/cpu.hpp b/waterbox/libsnes/bsnes/snes/cpu/cpu.hpp index bb70ac78b4..bf0ecd2fdb 100644 --- a/waterbox/libsnes/bsnes/snes/cpu/cpu.hpp +++ b/waterbox/libsnes/bsnes/snes/cpu/cpu.hpp @@ -24,7 +24,6 @@ struct CPU : public Processor, public CPUcore, public PPUcounter { void power(); void reset(); - void serialize(serializer&); CPU(); ~CPU(); void initialize(); diff --git a/waterbox/libsnes/bsnes/snes/cpu/serialization.cpp b/waterbox/libsnes/bsnes/snes/cpu/serialization.cpp deleted file mode 100644 index 2cd32d12ad..0000000000 --- a/waterbox/libsnes/bsnes/snes/cpu/serialization.cpp +++ /dev/null @@ -1,118 +0,0 @@ -#ifdef CPU_CPP - -void CPU::serialize(serializer &s) { - Processor::serialize(s); - CPUcore::core_serialize(s); - PPUcounter::serialize(s); - - s.array(wram,128 * 1024); - - s.integer(cpu_version); - - s.integer(status.interrupt_pending); - - s.integer(status.clock_count); - s.integer(status.line_clocks); - - s.integer(status.irq_lock); - - s.integer(status.dram_refresh_position); - s.integer(status.dram_refreshed); - - s.integer(status.hdma_init_position); - s.integer(status.hdma_init_triggered); - - s.integer(status.hdma_position); - s.integer(status.hdma_triggered); - - s.integer(status.nmi_valid); - s.integer(status.nmi_line); - s.integer(status.nmi_transition); - s.integer(status.nmi_pending); - s.integer(status.nmi_hold); - - s.integer(status.irq_valid); - s.integer(status.irq_line); - s.integer(status.irq_transition); - s.integer(status.irq_pending); - s.integer(status.irq_hold); - - s.integer(status.reset_pending); - - s.integer(status.dma_active); - s.integer(status.dma_counter); - s.integer(status.dma_clocks); - s.integer(status.dma_pending); - s.integer(status.hdma_pending); - s.integer(status.hdma_mode); - - s.integer(status.auto_joypad_active); - s.integer(status.auto_joypad_latch); - s.integer(status.auto_joypad_counter); - s.integer(status.auto_joypad_clock); - - s.array(status.port); - - s.integer(status.wram_addr); - - s.integer(status.joypad_strobe_latch); - s.integer(status.joypad1_bits); - s.integer(status.joypad2_bits); - - s.integer(status.nmi_enabled); - s.integer(status.hirq_enabled); - s.integer(status.virq_enabled); - s.integer(status.auto_joypad_poll); - - s.integer(status.pio); - - s.integer(status.wrmpya); - s.integer(status.wrmpyb); - - s.integer(status.wrdiva); - s.integer(status.wrdivb); - - s.integer(status.hirq_pos); - s.integer(status.virq_pos); - - s.integer(status.rom_speed); - - s.integer(status.rddiv); - s.integer(status.rdmpy); - - s.integer(status.joy1); - s.integer(status.joy2); - s.integer(status.joy3); - s.integer(status.joy4); - - s.integer(alu.mpyctr); - s.integer(alu.divctr); - s.integer(alu.shift); - - for(unsigned i = 0; i < 8; i++) { - s.integer(channel[i].dma_enabled); - s.integer(channel[i].hdma_enabled); - s.integer(channel[i].direction); - s.integer(channel[i].indirect); - s.integer(channel[i].unused); - s.integer(channel[i].reverse_transfer); - s.integer(channel[i].fixed_transfer); - s.integer(channel[i].transfer_mode); - s.integer(channel[i].dest_addr); - s.integer(channel[i].source_addr); - s.integer(channel[i].source_bank); - s.integer(channel[i].transfer_size); - s.integer(channel[i].indirect_bank); - s.integer(channel[i].hdma_addr); - s.integer(channel[i].line_counter); - s.integer(channel[i].unknown); - s.integer(channel[i].hdma_completed); - s.integer(channel[i].hdma_do_transfer); - } - - s.integer(pipe.valid); - s.integer(pipe.addr); - s.integer(pipe.data); -} - -#endif diff --git a/waterbox/libsnes/bsnes/snes/dsp/dsp.cpp b/waterbox/libsnes/bsnes/snes/dsp/dsp.cpp index f03b319e81..75255205d7 100644 --- a/waterbox/libsnes/bsnes/snes/dsp/dsp.cpp +++ b/waterbox/libsnes/bsnes/snes/dsp/dsp.cpp @@ -8,7 +8,6 @@ DSP dsp; #define REG(n) state.regs[r_##n] #define VREG(n) state.regs[v.vidx + v_##n] -#include "serialization.cpp" #include "gaussian.cpp" #include "counter.cpp" #include "envelope.cpp" diff --git a/waterbox/libsnes/bsnes/snes/dsp/dsp.hpp b/waterbox/libsnes/bsnes/snes/dsp/dsp.hpp index a80b38e659..532fcbecab 100644 --- a/waterbox/libsnes/bsnes/snes/dsp/dsp.hpp +++ b/waterbox/libsnes/bsnes/snes/dsp/dsp.hpp @@ -10,7 +10,6 @@ struct DSP : public Processor { void power(); void reset(); - void serialize(serializer&); DSP(); ~DSP(); diff --git a/waterbox/libsnes/bsnes/snes/dsp/serialization.cpp b/waterbox/libsnes/bsnes/snes/dsp/serialization.cpp deleted file mode 100644 index 0595c11e9d..0000000000 --- a/waterbox/libsnes/bsnes/snes/dsp/serialization.cpp +++ /dev/null @@ -1,66 +0,0 @@ -#ifdef DSP_CPP - -void DSP::serialize(serializer &s) { - Processor::serialize(s); - - s.array(state.regs, 128); - state.echo_hist[0].serialize(s); - state.echo_hist[1].serialize(s); - s.integer(state.echo_hist_pos); - - s.integer(state.every_other_sample); - s.integer(state.kon); - s.integer(state.noise); - s.integer(state.counter); - s.integer(state.echo_offset); - s.integer(state.echo_length); - - s.integer(state.new_kon); - s.integer(state.endx_buf); - s.integer(state.envx_buf); - s.integer(state.outx_buf); - - s.integer(state.t_pmon); - s.integer(state.t_non); - s.integer(state.t_eon); - s.integer(state.t_dir); - s.integer(state.t_koff); - - s.integer(state.t_brr_next_addr); - s.integer(state.t_adsr0); - s.integer(state.t_brr_header); - s.integer(state.t_brr_byte); - s.integer(state.t_srcn); - s.integer(state.t_esa); - s.integer(state.t_echo_disabled); - - s.integer(state.t_dir_addr); - s.integer(state.t_pitch); - s.integer(state.t_output); - s.integer(state.t_looped); - s.integer(state.t_echo_ptr); - - s.integer(state.t_main_out[0]); - s.integer(state.t_main_out[1]); - s.integer(state.t_echo_out[0]); - s.integer(state.t_echo_out[1]); - s.integer(state.t_echo_in [0]); - s.integer(state.t_echo_in [1]); - - for(unsigned n = 0; n < 8; n++) { - voice[n].buffer.serialize(s); - s.integer(voice[n].buf_pos); - s.integer(voice[n].interp_pos); - s.integer(voice[n].brr_addr); - s.integer(voice[n].brr_offset); - s.integer(voice[n].vbit); - s.integer(voice[n].vidx); - s.integer(voice[n].kon_delay); - s.integer(voice[n].env_mode); - s.integer(voice[n].env); - s.integer(voice[n].t_envx_out); - s.integer(voice[n].hidden_env); - } -} - -#endif diff --git a/waterbox/libsnes/bsnes/snes/ppu/background/background.hpp b/waterbox/libsnes/bsnes/snes/ppu/background/background.hpp index c279a80631..080e37cb39 100644 --- a/waterbox/libsnes/bsnes/snes/ppu/background/background.hpp +++ b/waterbox/libsnes/bsnes/snes/ppu/background/background.hpp @@ -70,7 +70,6 @@ struct Background { void begin_mode7(); void run_mode7(); - void serialize(serializer&); Background(PPU &self, unsigned id); PPU &self; diff --git a/waterbox/libsnes/bsnes/snes/ppu/counter/counter.hpp b/waterbox/libsnes/bsnes/snes/ppu/counter/counter.hpp index b8d7aa7e2e..f872d6b1b7 100644 --- a/waterbox/libsnes/bsnes/snes/ppu/counter/counter.hpp +++ b/waterbox/libsnes/bsnes/snes/ppu/counter/counter.hpp @@ -27,7 +27,6 @@ public: inline void reset(); function scanline; - void serialize(serializer&); private: inline void vcounter_tick(); diff --git a/waterbox/libsnes/bsnes/snes/ppu/ppu.cpp b/waterbox/libsnes/bsnes/snes/ppu/ppu.cpp index ba0ca1c2fb..f4bac6a44b 100644 --- a/waterbox/libsnes/bsnes/snes/ppu/ppu.cpp +++ b/waterbox/libsnes/bsnes/snes/ppu/ppu.cpp @@ -10,7 +10,6 @@ PPU ppu; #include "screen/screen.cpp" #include "sprite/sprite.cpp" #include "window/window.cpp" -#include "serialization.cpp" void PPU::step(unsigned clocks) { clock += clocks; diff --git a/waterbox/libsnes/bsnes/snes/ppu/ppu.hpp b/waterbox/libsnes/bsnes/snes/ppu/ppu.hpp index 01748c472f..d099251083 100644 --- a/waterbox/libsnes/bsnes/snes/ppu/ppu.hpp +++ b/waterbox/libsnes/bsnes/snes/ppu/ppu.hpp @@ -18,7 +18,6 @@ struct PPU : public Processor, public PPUcounter { void reset(); void layer_enable(unsigned layer, unsigned priority, bool enable); - void serialize(serializer&); void initialize(); PPU(); ~PPU(); diff --git a/waterbox/libsnes/bsnes/snes/ppu/screen/screen.hpp b/waterbox/libsnes/bsnes/snes/ppu/screen/screen.hpp index 6c6748410c..a194f7a5a4 100644 --- a/waterbox/libsnes/bsnes/snes/ppu/screen/screen.hpp +++ b/waterbox/libsnes/bsnes/snes/ppu/screen/screen.hpp @@ -28,7 +28,6 @@ struct Screen { uint16 get_color(unsigned palette); uint16 get_direct_color(unsigned palette, unsigned tile); - void serialize(serializer&); Screen(PPU &self); PPU &self; diff --git a/waterbox/libsnes/bsnes/snes/ppu/serialization.cpp b/waterbox/libsnes/bsnes/snes/ppu/serialization.cpp deleted file mode 100644 index edf90f13cc..0000000000 --- a/waterbox/libsnes/bsnes/snes/ppu/serialization.cpp +++ /dev/null @@ -1,284 +0,0 @@ -#ifdef PPU_CPP - -void PPUcounter::serialize(serializer &s) { - s.integer(status.interlace); - s.integer(status.field); - s.integer(status.vcounter); - s.integer(status.hcounter); - - s.array(history.field); - s.array(history.vcounter); - s.array(history.hcounter); - s.integer(history.index); -} - -void PPU::serialize(serializer &s) { - Processor::serialize(s); - PPUcounter::serialize(s); - - s.array(vram); - s.array(oam); - s.array(cgram); - - s.integer(ppu1_version); - s.integer(ppu2_version); - - s.integer(display.interlace); - s.integer(display.overscan); - - s.integer(regs.ppu1_mdr); - s.integer(regs.ppu2_mdr); - - s.integer(regs.vram_readbuffer); - s.integer(regs.oam_latchdata); - s.integer(regs.cgram_latchdata); - s.integer(regs.bgofs_latchdata); - s.integer(regs.mode7_latchdata); - s.integer(regs.counters_latched); - s.integer(regs.latch_hcounter); - s.integer(regs.latch_vcounter); - - s.integer(regs.oam_iaddr); - s.integer(regs.cgram_iaddr); - - s.integer(regs.display_disable); - s.integer(regs.display_brightness); - - s.integer(regs.oam_baseaddr); - s.integer(regs.oam_addr); - s.integer(regs.oam_priority); - - s.integer(regs.bg3_priority); - s.integer(regs.bgmode); - - s.integer(regs.mode7_hoffset); - s.integer(regs.mode7_voffset); - - s.integer(regs.vram_incmode); - s.integer(regs.vram_mapping); - s.integer(regs.vram_incsize); - - s.integer(regs.vram_addr); - - s.integer(regs.mode7_repeat); - s.integer(regs.mode7_vflip); - s.integer(regs.mode7_hflip); - - s.integer(regs.m7a); - s.integer(regs.m7b); - s.integer(regs.m7c); - s.integer(regs.m7d); - s.integer(regs.m7x); - s.integer(regs.m7y); - - s.integer(regs.cgram_addr); - - s.integer(regs.mode7_extbg); - s.integer(regs.pseudo_hires); - s.integer(regs.overscan); - s.integer(regs.interlace); - - s.integer(regs.hcounter); - s.integer(regs.vcounter); - - bg1.serialize(s); - bg2.serialize(s); - bg3.serialize(s); - bg4.serialize(s); - sprite.serialize(s); - window.serialize(s); - screen.serialize(s); -} - -void PPU::Background::serialize(serializer &s) { - s.integer(id); - - s.integer(regs.tiledata_addr); - s.integer(regs.screen_addr); - s.integer(regs.screen_size); - s.integer(regs.mosaic); - s.integer(regs.tile_size); - - s.integer(regs.mode); - s.integer(regs.priority0); - s.integer(regs.priority1); - - s.integer(regs.main_enable); - s.integer(regs.sub_enable); - - s.integer(regs.hoffset); - s.integer(regs.voffset); - - s.integer(cache.hoffset); - s.integer(cache.voffset); - - s.integer(output.main.priority); - s.integer(output.main.palette); - s.integer(output.main.tile); - - s.integer(output.sub.priority); - s.integer(output.sub.palette); - s.integer(output.sub.tile); - - s.integer(x); - s.integer(y); - - s.integer(mosaic.priority); - s.integer(mosaic.palette); - s.integer(mosaic.tile); - - s.integer(mosaic.vcounter); - s.integer(mosaic.voffset); - s.integer(mosaic.hcounter); - s.integer(mosaic.hoffset); - - s.integer(tile_counter); - s.integer(tile); - s.integer(priority); - s.integer(palette_number); - s.integer(palette_index); - s.array(data); -} - -void PPU::Sprite::serialize(serializer &s) { - for(unsigned i = 0; i < 128; i++) { - s.integer(list[i].x); - s.integer(list[i].y); - s.integer(list[i].character); - s.integer(list[i].nameselect); - s.integer(list[i].vflip); - s.integer(list[i].hflip); - s.integer(list[i].priority); - s.integer(list[i].palette); - s.integer(list[i].size); - } - - s.integer(t.x); - s.integer(t.y); - - s.integer(t.item_count); - s.integer(t.tile_count); - - s.integer(t.active); - for(unsigned n = 0; n < 2; n++) { - s.array(t.item[n]); - for(unsigned i = 0; i < 34; i++) { - s.integer(t.tile[n][i].x); - s.integer(t.tile[n][i].priority); - s.integer(t.tile[n][i].palette); - s.integer(t.tile[n][i].hflip); - s.integer(t.tile[n][i].d0); - s.integer(t.tile[n][i].d1); - s.integer(t.tile[n][i].d2); - s.integer(t.tile[n][i].d3); - } - } - - s.integer(regs.main_enable); - s.integer(regs.sub_enable); - s.integer(regs.interlace); - - s.integer(regs.base_size); - s.integer(regs.nameselect); - s.integer(regs.tiledata_addr); - s.integer(regs.first_sprite); - - s.integer(regs.priority0); - s.integer(regs.priority1); - s.integer(regs.priority2); - s.integer(regs.priority3); - - s.integer(regs.time_over); - s.integer(regs.range_over); - - s.integer(output.main.priority); - s.integer(output.main.palette); - - s.integer(output.sub.priority); - s.integer(output.sub.palette); -} - -void PPU::Window::serialize(serializer &s) { - s.integer(regs.bg1_one_enable); - s.integer(regs.bg1_one_invert); - s.integer(regs.bg1_two_enable); - s.integer(regs.bg1_two_invert); - - s.integer(regs.bg2_one_enable); - s.integer(regs.bg2_one_invert); - s.integer(regs.bg2_two_enable); - s.integer(regs.bg2_two_invert); - - s.integer(regs.bg3_one_enable); - s.integer(regs.bg3_one_invert); - s.integer(regs.bg3_two_enable); - s.integer(regs.bg3_two_invert); - - s.integer(regs.bg4_one_enable); - s.integer(regs.bg4_one_invert); - s.integer(regs.bg4_two_enable); - s.integer(regs.bg4_two_invert); - - s.integer(regs.oam_one_enable); - s.integer(regs.oam_one_invert); - s.integer(regs.oam_two_enable); - s.integer(regs.oam_two_invert); - - s.integer(regs.col_one_enable); - s.integer(regs.col_one_invert); - s.integer(regs.col_two_enable); - s.integer(regs.col_two_invert); - - s.integer(regs.one_left); - s.integer(regs.one_right); - s.integer(regs.two_left); - s.integer(regs.two_right); - - s.integer(regs.bg1_mask); - s.integer(regs.bg2_mask); - s.integer(regs.bg3_mask); - s.integer(regs.bg4_mask); - s.integer(regs.oam_mask); - s.integer(regs.col_mask); - - s.integer(regs.bg1_main_enable); - s.integer(regs.bg1_sub_enable); - s.integer(regs.bg2_main_enable); - s.integer(regs.bg2_sub_enable); - s.integer(regs.bg3_main_enable); - s.integer(regs.bg3_sub_enable); - s.integer(regs.bg4_main_enable); - s.integer(regs.bg4_sub_enable); - s.integer(regs.oam_main_enable); - s.integer(regs.oam_sub_enable); - - s.integer(regs.col_main_mask); - s.integer(regs.col_sub_mask); - - s.integer(output.main.color_enable); - s.integer(output.sub.color_enable); - - s.integer(x); - s.integer(one); - s.integer(two); -} - -void PPU::Screen::serialize(serializer &s) { - s.integer(regs.addsub_mode); - s.integer(regs.direct_color); - - s.integer(regs.color_mode); - s.integer(regs.color_halve); - s.integer(regs.bg1_color_enable); - s.integer(regs.bg2_color_enable); - s.integer(regs.bg3_color_enable); - s.integer(regs.bg4_color_enable); - s.integer(regs.oam_color_enable); - s.integer(regs.back_color_enable); - - s.integer(regs.color_b); - s.integer(regs.color_g); - s.integer(regs.color_r); -} - -#endif diff --git a/waterbox/libsnes/bsnes/snes/ppu/sprite/sprite.hpp b/waterbox/libsnes/bsnes/snes/ppu/sprite/sprite.hpp index 7735f35822..925bc4e502 100644 --- a/waterbox/libsnes/bsnes/snes/ppu/sprite/sprite.hpp +++ b/waterbox/libsnes/bsnes/snes/ppu/sprite/sprite.hpp @@ -74,7 +74,6 @@ struct Sprite { bool on_scanline(SpriteItem&); - void serialize(serializer&); Sprite(PPU &self); PPU &self; diff --git a/waterbox/libsnes/bsnes/snes/ppu/window/window.hpp b/waterbox/libsnes/bsnes/snes/ppu/window/window.hpp index e1fcd4a4f0..fe3ddc7b69 100644 --- a/waterbox/libsnes/bsnes/snes/ppu/window/window.hpp +++ b/waterbox/libsnes/bsnes/snes/ppu/window/window.hpp @@ -80,7 +80,6 @@ struct Window { uint8 mask, bool main_enable, bool sub_enable ); - void serialize(serializer&); Window(PPU &self); PPU &self; diff --git a/waterbox/libsnes/bsnes/snes/random/random.cpp b/waterbox/libsnes/bsnes/snes/random/random.cpp index a92a980aa4..09c9095bf2 100644 --- a/waterbox/libsnes/bsnes/snes/random/random.cpp +++ b/waterbox/libsnes/bsnes/snes/random/random.cpp @@ -9,10 +9,6 @@ unsigned Random::operator()(unsigned result) { return iter = (iter >> 1) ^ (((iter & 1) - 1) & 0xedb88320); } -void Random::serialize(serializer &s) { - s.integer(iter); -} - Random::Random() { iter = 0; } diff --git a/waterbox/libsnes/bsnes/snes/random/random.hpp b/waterbox/libsnes/bsnes/snes/random/random.hpp index 927d717250..e424da8cf9 100644 --- a/waterbox/libsnes/bsnes/snes/random/random.hpp +++ b/waterbox/libsnes/bsnes/snes/random/random.hpp @@ -1,7 +1,6 @@ struct Random { void seed(unsigned seed); unsigned operator()(unsigned result = 0); - void serialize(serializer&); Random(); private: diff --git a/waterbox/libsnes/bsnes/snes/smp/core/core.cpp b/waterbox/libsnes/bsnes/snes/smp/core/core.cpp index 9c94d00a08..6908884eff 100644 --- a/waterbox/libsnes/bsnes/snes/smp/core/core.cpp +++ b/waterbox/libsnes/bsnes/snes/smp/core/core.cpp @@ -6,7 +6,6 @@ namespace SNES { #include "algorithms.cpp" #include "opcodes.cpp" #include "disassembler.cpp" -#include "serialization.cpp" void SMPcore::op_step() { switch(opcode = op_readpc()) { diff --git a/waterbox/libsnes/bsnes/snes/smp/core/core.hpp b/waterbox/libsnes/bsnes/snes/smp/core/core.hpp index 7e927bac6e..b7f30d9f9a 100644 --- a/waterbox/libsnes/bsnes/snes/smp/core/core.hpp +++ b/waterbox/libsnes/bsnes/snes/smp/core/core.hpp @@ -11,7 +11,6 @@ struct SMPcore { word_t dp, sp, rd, wr, bit, ya; uint8 opcode; - void core_serialize(serializer&); string disassemble_opcode(uint16 addr); protected: diff --git a/waterbox/libsnes/bsnes/snes/smp/core/serialization.cpp b/waterbox/libsnes/bsnes/snes/smp/core/serialization.cpp deleted file mode 100644 index c25e229476..0000000000 --- a/waterbox/libsnes/bsnes/snes/smp/core/serialization.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#ifdef SMPCORE_CPP - -void SMPcore::core_serialize(serializer &s) { - s.integer(regs.pc); - s.integer(regs.a); - s.integer(regs.x); - s.integer(regs.y); - s.integer(regs.s); - s.integer(regs.p.n); - s.integer(regs.p.v); - s.integer(regs.p.p); - s.integer(regs.p.b); - s.integer(regs.p.h); - s.integer(regs.p.i); - s.integer(regs.p.z); - s.integer(regs.p.c); - - s.integer(opcode); - s.integer(dp.w); - s.integer(sp.w); - s.integer(rd.w); - s.integer(wr.w); - s.integer(bit.w); - s.integer(ya.w); -} - -#endif diff --git a/waterbox/libsnes/bsnes/snes/smp/serialization.cpp b/waterbox/libsnes/bsnes/snes/smp/serialization.cpp deleted file mode 100644 index 4ece40fdb0..0000000000 --- a/waterbox/libsnes/bsnes/snes/smp/serialization.cpp +++ /dev/null @@ -1,52 +0,0 @@ -#ifdef SMP_CPP - -void SMP::serialize(serializer &s) { - Processor::serialize(s); - SMPcore::core_serialize(s); - - s.array(apuram, 64 * 1024); - - s.integer(status.clock_counter); - s.integer(status.dsp_counter); - s.integer(status.timer_step); - - s.integer(status.clock_speed); - s.integer(status.timer_speed); - s.integer(status.timers_enable); - s.integer(status.ram_disable); - s.integer(status.ram_writable); - s.integer(status.timers_disable); - - s.integer(status.iplrom_enable); - - s.integer(status.dsp_addr); - - s.integer(status.ram00f8); - s.integer(status.ram00f9); - - s.integer(timer0.stage0_ticks); - s.integer(timer0.stage1_ticks); - s.integer(timer0.stage2_ticks); - s.integer(timer0.stage3_ticks); - s.integer(timer0.current_line); - s.integer(timer0.enable); - s.integer(timer0.target); - - s.integer(timer1.stage0_ticks); - s.integer(timer1.stage1_ticks); - s.integer(timer1.stage2_ticks); - s.integer(timer1.stage3_ticks); - s.integer(timer1.current_line); - s.integer(timer1.enable); - s.integer(timer1.target); - - s.integer(timer2.stage0_ticks); - s.integer(timer2.stage1_ticks); - s.integer(timer2.stage2_ticks); - s.integer(timer2.stage3_ticks); - s.integer(timer2.current_line); - s.integer(timer2.enable); - s.integer(timer2.target); -} - -#endif diff --git a/waterbox/libsnes/bsnes/snes/smp/smp.cpp b/waterbox/libsnes/bsnes/snes/smp/smp.cpp index b15b211f5d..84dfd27edb 100644 --- a/waterbox/libsnes/bsnes/snes/smp/smp.cpp +++ b/waterbox/libsnes/bsnes/snes/smp/smp.cpp @@ -5,7 +5,6 @@ namespace SNES { SMP smp; -#include "serialization.cpp" #include "iplrom.cpp" #include "memory/memory.cpp" #include "timing/timing.cpp" diff --git a/waterbox/libsnes/bsnes/snes/smp/smp.hpp b/waterbox/libsnes/bsnes/snes/smp/smp.hpp index a9f5e3db60..cbaa81affc 100644 --- a/waterbox/libsnes/bsnes/snes/smp/smp.hpp +++ b/waterbox/libsnes/bsnes/snes/smp/smp.hpp @@ -14,7 +14,6 @@ struct SMP : public Processor, public SMPcore { void power(); void reset(); - void serialize(serializer&); SMP(); ~SMP(); void initialize(); diff --git a/waterbox/libsnes/bsnes/snes/snes.hpp b/waterbox/libsnes/bsnes/snes/snes.hpp index 84f2e28ed7..cc2a688078 100644 --- a/waterbox/libsnes/bsnes/snes/snes.hpp +++ b/waterbox/libsnes/bsnes/snes/snes.hpp @@ -4,13 +4,6 @@ #include #include -namespace SNES { - namespace Info { - static const char Name[] = "bsnes"; - static const unsigned SerializerVersion = 23; - } -} - /* bsnes - SNES emulator author: byuu @@ -37,11 +30,6 @@ namespace SNES { clock = 0; } - inline void serialize(serializer &s) { - s.integer(frequency); - s.integer(clock); - } - inline Processor() : thread(nullptr) { } diff --git a/waterbox/libsnes/bsnes/snes/system/input.cpp b/waterbox/libsnes/bsnes/snes/system/input.cpp index 4479acc25a..894de0e763 100644 --- a/waterbox/libsnes/bsnes/snes/system/input.cpp +++ b/waterbox/libsnes/bsnes/snes/system/input.cpp @@ -26,22 +26,6 @@ void Input::connect(bool port, Input::Device id) { } } -void Input::serialize(serializer &s) -{ - int p1, p2; - p1 = (int)config.controller_port1; - p2 = (int)config.controller_port2; - s.integer(p1); - s.integer(p2); - if(s.mode() == nall::serializer::Load) { - connect(Controller::Port1, (Device)p1); - connect(Controller::Port2, (Device)p2); - } - port1->serialize(s); - port2->serialize(s); -} - - Input::Input() : port1(nullptr), port2(nullptr) { connect(Controller::Port1, Input::Device::Joypad); connect(Controller::Port2, Input::Device::Joypad); diff --git a/waterbox/libsnes/bsnes/snes/system/input.hpp b/waterbox/libsnes/bsnes/snes/system/input.hpp index d2f5fefbb9..7a6bd9e705 100644 --- a/waterbox/libsnes/bsnes/snes/system/input.hpp +++ b/waterbox/libsnes/bsnes/snes/system/input.hpp @@ -31,7 +31,6 @@ struct Input { Controller *port1; Controller *port2; - void serialize(serializer &s); void connect(bool port, Input::Device id); Input(); ~Input(); diff --git a/waterbox/libsnes/bsnes/snes/system/serialization.cpp b/waterbox/libsnes/bsnes/snes/system/serialization.cpp deleted file mode 100644 index 7cd38ff461..0000000000 --- a/waterbox/libsnes/bsnes/snes/system/serialization.cpp +++ /dev/null @@ -1,120 +0,0 @@ -#ifdef SYSTEM_CPP - -serializer System::serialize() { - serializer s(serialize_size); - - unsigned signature = 0x31545342, version = Info::SerializerVersion, crc32 = cartridge.crc32(); - char description[512], profile[16]; - memset(&description, 0, sizeof description); - memset(&profile, 0, sizeof profile); - strmcpy(profile, Info::Profile, sizeof profile); - - s.integer(signature); - s.integer(version); - s.integer(crc32); - s.array(description); - s.array(profile); - - serialize_all(s); - return s; -} - -bool System::unserialize(serializer &s) { - unsigned signature, version, crc32; - char description[512], profile[16]; - - s.integer(signature); - s.integer(version); - s.integer(crc32); - s.array(description); - s.array(profile); - - if(signature != 0x31545342) return false; - if(version != Info::SerializerVersion) return false; -//if(crc32 != cartridge.crc32()) return false; - if(strcmp(profile, Info::Profile)) return false; - - power(); - serialize_all(s); - return true; -} - -//======== -//internal -//======== - -void System::serialize(serializer &s) { - s.integer((unsigned&)region); - s.integer((unsigned&)expansion); -} - -//zero 01-dec-2012 - these will embed strings in the savestates, so you can debug them more easily. but itll break the savestate format -//#define DEBUGSAVESTATE(X) s.array(#X) -#define DEBUGSAVESTATE(X) - -void System::serialize_all(serializer &s) { - DEBUGSAVESTATE(cart); - cartridge.serialize(s); - DEBUGSAVESTATE(system); - system.serialize(s); - DEBUGSAVESTATE(random); - random.serialize(s); - DEBUGSAVESTATE(cpu); - cpu.serialize(s); - DEBUGSAVESTATE(smp); - smp.serialize(s); - DEBUGSAVESTATE(ppu); - ppu.serialize(s); - DEBUGSAVESTATE(dsp); - dsp.serialize(s); - DEBUGSAVESTATE(input); - input.serialize(s); - - DEBUGSAVESTATE(sufamiturbo); - if(cartridge.mode() == Cartridge::Mode::SufamiTurbo) sufamiturbo.serialize(s); - #if defined(GAMEBOY) - DEBUGSAVESTATE(icd2); - if(cartridge.mode() == Cartridge::Mode::SuperGameBoy) icd2.serialize(s); - #endif - DEBUGSAVESTATE(superfx); - if(cartridge.has_superfx()) superfx.serialize(s); - DEBUGSAVESTATE(sa1); - if(cartridge.has_sa1()) sa1.serialize(s); - DEBUGSAVESTATE(necdsp); - if(cartridge.has_necdsp()) necdsp.serialize(s); - DEBUGSAVESTATE(hitachidsp); - if(cartridge.has_hitachidsp()) hitachidsp.serialize(s); - DEBUGSAVESTATE(armdsp); - if(cartridge.has_armdsp()) armdsp.serialize(s); - DEBUGSAVESTATE(srtc); - if(cartridge.has_srtc()) srtc.serialize(s); - DEBUGSAVESTATE(sdd1); - if(cartridge.has_sdd1()) sdd1.serialize(s); - DEBUGSAVESTATE(spc7110); - if(cartridge.has_spc7110()) spc7110.serialize(s); - DEBUGSAVESTATE(obc1); - if(cartridge.has_obc1()) obc1.serialize(s); - DEBUGSAVESTATE(msu1); - if(cartridge.has_msu1()) msu1.serialize(s); -} - -//perform dry-run state save: -//determines exactly how many bytes are needed to save state for this cartridge, -//as amount varies per game (eg different RAM sizes, special chips, etc.) -void System::serialize_init() { - serializer s; - - unsigned signature = 0, version = 0, crc32 = 0; - char profile[16], description[512]; - - s.integer(signature); - s.integer(version); - s.integer(crc32); - s.array(profile); - s.array(description); - - serialize_all(s); - serialize_size = s.size(); -} - -#endif diff --git a/waterbox/libsnes/bsnes/snes/system/system.cpp b/waterbox/libsnes/bsnes/snes/system/system.cpp index 647dfc98e4..8836b03fd7 100644 --- a/waterbox/libsnes/bsnes/snes/system/system.cpp +++ b/waterbox/libsnes/bsnes/snes/system/system.cpp @@ -12,7 +12,6 @@ System system; #include "video.cpp" #include "audio.cpp" #include "input.cpp" -#include "serialization.cpp" void System::run() { scheduler.sync = Scheduler::SynchronizeMode::None; @@ -122,8 +121,6 @@ void System::load() { if(cartridge.has_obc1()) obc1.load(); if(cartridge.has_msu1()) msu1.load(); if(cartridge.has_link()) link.load(); - - serialize_init(); } void System::unload() { diff --git a/waterbox/libsnes/bsnes/snes/system/system.hpp b/waterbox/libsnes/bsnes/snes/system/system.hpp index 56eb37a152..299fb88129 100644 --- a/waterbox/libsnes/bsnes/snes/system/system.hpp +++ b/waterbox/libsnes/bsnes/snes/system/system.hpp @@ -22,20 +22,12 @@ struct System : property { readonly expansion; readonly cpu_frequency; readonly apu_frequency; - readonly serialize_size; - - serializer serialize(); - bool unserialize(serializer&); System(); private: void runthreadtosave(); - void serialize(serializer&); - void serialize_all(serializer&); - void serialize_init(); - friend class Cartridge; friend class Video; friend class Audio; diff --git a/waterbox/libsnes/bsnes/target-libsnes/libsnes.cpp b/waterbox/libsnes/bsnes/target-libsnes/libsnes.cpp index e05c0493d8..19e2399a40 100644 --- a/waterbox/libsnes/bsnes/target-libsnes/libsnes.cpp +++ b/waterbox/libsnes/bsnes/target-libsnes/libsnes.cpp @@ -279,23 +279,6 @@ void snes_run(void) { SNES::system.run(); } -unsigned snes_serialize_size(void) { - return SNES::system.serialize_size(); -} - -bool snes_serialize(uint8_t *data, unsigned size) { - SNES::system.runtosave(); - serializer s = SNES::system.serialize(); - if(s.size() > size) return false; - memcpy(data, s.data(), s.size()); - return true; -} - -bool snes_unserialize(const uint8_t *data, unsigned size) { - serializer s(data, size); - return SNES::system.unserialize(s); -} - //zero 21-sep-2012 void snes_set_scanlineStart(snes_scanlineStart_t cb) { diff --git a/waterbox/libsnes/bsnes/target-libsnes/libsnes.hpp b/waterbox/libsnes/bsnes/target-libsnes/libsnes.hpp index 59f39a5a60..411488bfce 100644 --- a/waterbox/libsnes/bsnes/target-libsnes/libsnes.hpp +++ b/waterbox/libsnes/bsnes/target-libsnes/libsnes.hpp @@ -114,10 +114,6 @@ void snes_power(void); void snes_reset(void); void snes_run(void); -unsigned snes_serialize_size(void); -bool snes_serialize(uint8_t *data, unsigned size); -bool snes_unserialize(const uint8_t *data, unsigned size); - bool snes_load_cartridge_normal( const char *rom_xml, const uint8_t *rom_data, unsigned rom_size ); diff --git a/waterbox/libsnes/bsnes/target-libsnes/libsnes_pwrap.cpp b/waterbox/libsnes/bsnes/target-libsnes/libsnes_pwrap.cpp index ce8f837bd2..fd0c994408 100644 --- a/waterbox/libsnes/bsnes/target-libsnes/libsnes_pwrap.cpp +++ b/waterbox/libsnes/bsnes/target-libsnes/libsnes_pwrap.cpp @@ -396,22 +396,6 @@ void CMD_init() SNES::input.connect(SNES::Controller::Port2, comm.inports[1]); } -void CMD_Serialize() -{ - int size = comm.buf_size[0]; - char* buf = (char*)comm.buf[0]; - bool ret = snes_serialize((uint8_t*)buf,size); - comm.value = ret ? 1 : 0; -} - -void CMD_Unserialize() -{ - int size = comm.buf_size[0]; - char* buf = (char*)comm.buf[0]; - bool ret = snes_unserialize((uint8_t*)buf ,size); - comm.value = ret ? 1 : 0; -} - static void CMD_Run() { do_SIG_audio_flush(); @@ -527,17 +511,14 @@ void QUERY_peek_set_cdl() { cdlInfo.blockSizes[i] = comm.cdl_size[i]; } } -void QUERY_serialize_size() { - comm.size = snes_serialize_size(); -} const Action kHandlers_CMD[] = { CMD_init, snes_power, snes_reset, CMD_Run, - CMD_Serialize, - CMD_Unserialize, + nullptr, + nullptr, CMD_LoadCartridgeNormal, CMD_LoadCartridgeSGB, snes_term, @@ -548,7 +529,7 @@ const Action kHandlers_QUERY[] = { QUERY_get_memory_size, //eMessage_QUERY_get_memory_size TODO - grab during bootup (for all possible memdomains) QUERY_peek, QUERY_poke, - QUERY_serialize_size, //eMessage_QUERY_serialize_size TODO - grab during bootup/reset (for all possible memdomains) + nullptr, //eMessage_QUERY_serialize_size TODO - grab during bootup/reset (for all possible memdomains) QUERY_set_color_lut, QUERY_GetMemoryIdName, //snes_get_memory_id_name TODO - grab during bootup (for all possible memdomains) QUERY_state_hook_exec, //eMessage_QUERY_state_hook_exec