Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- This is a trace of all of the calls that happen when a user makes a save state in Dolphin V. 5.0-17269
- Trace written by Lobsterzelda
- START:
- CompressAndDumpState():
- HEADER (6 char[] Game ID, reserved1 (u16), size of state (or 0 if state is uncompressed - u32), reserved2 (u32) and time savestate was made (double))
- State::DoState():
- 1. cookie (version (148) + COOKIE_BASE) (u32)
- 2. version_created_by ("Dolphin 5.XXX...") (string)
- 3. MARKER - "Version"
- 4. is_wii (bool, false for GameCube games)
- 5. Memory::GetRamSizeReal() (u32)
- 6. Memory::GetExRamSizeReal() (u32)
- Movie::DoState():
- 7. s_currentFrame (u64)
- 8. s_currentByte (u64)
- 9. s_currentLagCount (u64)
- 10. s_currentInputCount (u64)
- 11. s_bPolled (bool)
- 12. s_tickCountAtLastInput (u64)
- 13. MARKER - "Movie"
- VideoBackendBase::DoState():
- VideoCommon_DoState():
- 14. software (bool, always false)
- 15. bpmem (BPMemory Struct)
- 16. MARKER - "BP Memory"
- DoCPState():
- 17. g_main_cp_state.array_bases (EnumMap<u32, CPArray::XF_D>)
- 18. g_main_cp_state.array_strides (EnumMap<u32, CPArray::XF_D>)
- 19. g_main_cp_state.matric_index_a (TMatrixIndexA Union)
- 20. g_main_cp_state.matric_index_b (TMatrixIndexB Union)
- 21. g_main_cp_state.vtx_desc (TVtxDesc Struct)
- 22. g_main_cp_state.vtx_attr (array<VAT, CP_NUM_VAT_REG>)
- 23. MARKER - "CP Memory"
- 24. xfmem (XFMemory Struct)
- 25. MARKER - "XF Memory"
- 26. texMem (u8 texMem[1048576])
- 27. MARKER - "texMem"
- TMEM::DoState():
- 28. s_unit (array<TextureUnitState, 8>)
- 29. MARKER - "TMEM"
- Fifo::DoState():
- 30. s_video_buffer (~2,000,000 bytes array of u8)
- 31. s_video_buffer_write_ptr (u8*)
- 32. s_video_buffer_read_ptr (u8*)
- 33. s_sync_ticks (atomic_int)
- 34. s_syncing_suspended (bool)
- 35. MARKER - "Fifo"
- CommandProcessor::DoState():
- 36. m_CPStatusReg (UCPStatusReg Union)
- 37. m_CPCtrlReg (UCPCtrlReg Union)
- 38. m_CPClearReg (UCPClearReg Union)
- 39. m_bboxleft (u16)
- 40. m_bboxtop (u16)
- 41. m_bboxright (u16)
- 42. m_bboxbottom (u16)
- 43. m_tokenReg (u16)
- SCPFifoStruct::DoState():
- 44. CPBase (atomic_uint)
- 45. CPEnd (atomic_uint)
- 46. CPHiWatermark (u32)
- 47. CPLoWatermark (u32)
- 48. CPReadWriteDistance (atomic_uint)
- 49. CPWritePointer (atomic_uint)
- 50. CPReadPointer (atomic_uint)
- 51. CPBreakpoint (atomic_uint)
- 52. SafeCPReadPointer (atomic_uint)
- 53. bFF_GPLinkEnable (atomic_uint)
- 54. bFF_GPReadEnable (atomic_uint)
- 55. bFF_BPEnable (atomic_uint)
- 56. bFF_BPInt (atomic_uint)
- 57. bFF_Breakpoint (atomic_uint)
- 58. bFF_LoWatermarkInt (atomic_uint)
- 59. bFF_HiWatermarkInt (atomic_uint)
- 60. bFF_LoWatermark (atomic_uint)
- 61. bFF_HiWatermark (atomic_uint)
- 62. s_interrupt_set (Common::Flag)
- 63. s_interrupt_waiting (Common::Flag)
- 64. MARKER - "CommandProcessor"
- PixelEngine::DoState():
- 65. m_ZConf (UPEZConfReg Union)
- 66. m_AlphaConf (UPEAlphaConfReg Union)
- 67. m_DstAlphaConf (UPEDstAlphaConfReg Union)
- 68. m_AlphaModeConf (UPEAlphaModeConfReg Union)
- 69. m_AlphaRead (UPEAlphaReadReg Union)
- 70. m_Control (UPECtrlReg Union)
- 71. s_token (u16)
- 72. s_token_pending (u16)
- 73. s_token_interrupt_pending (bool)
- 74. s_finish_interrupt_pending (bool)
- 75. s_event_raised (bool)
- 76. s_signal_token_interrupt (bool)
- 77. s_signal_finish_interrupt (bool)
- 78. MARKER - "PixelEngine"
- PixelShaderManager::DoState():
- 79. s_bFogRangeAdjustChanged (bool)
- 80. s_bViewPortChanged (bool)
- 81. s_bIndirectDirty (bool)
- 82. s_bDestAlphaDirty (bool)
- 83. constants (PixelShaderConstants Struct)
- 84. MARKER - "PixelShaderManager"
- VertexShaderManager::DoState():
- 85. g_fProjectionMatrix (array<float, 16>)
- 86. s_viewportCorrection (Common::Matrix44)
- FreeLookCamera::DoState():
- 87. m_currentType (FreeLook::ControlType enum)
- SixAxis::DoState():
- CameraControllerInput::DoState():
- 88. m_speed (float)
- 89. m_fov_x_multiplier (float)
- 90. m_fov_y_multiplier (float)
- 91. m_mat (Common::Matrix44)
- 92. nTransformationMatricesChanged (array<int, 2>)
- 93. nNormalMatricesChanged (array<int, 2>)
- 94. nPostTransformMatricesChanged (array<int, 2>)
- 95. nLightsChanged (array<int, 2>)
- 96. nMaterialsChanged (BitSet32)
- 97. bTexMatricesChanged (array<bool, 2>)
- 98. b_posNormalMatrixChanged (bool)
- 99. bProjectionChanged (bool)
- 100. bViewportChanged (bool)
- 101. bTexMtxInfoChanged (bool)
- 102. bLightingConfigChanged (bool)
- 103. constants (VertexShaderConstants)
- 104. MARKER - "VertexShaderManager"
- GeometryShaderManager::DoState():
- 105. s_projection_changed (bool)
- 106. s_viewport_changed (bool)
- 107. constants (GeometryShaderConstants)
- 108. MARKER - "GeometryShaderManager"
- VertexManagerBase::DoState():
- 109. m_zslope (Slope Struct)
- 110. MARKER - "VertexManager"
- FramebufferManager::DoState():
- 111. save_efb_state (bool)
- 112. complicated series of calls that save all the relevant textures to the savestate)
- 113. MARKER - "FramebufferManager"
- TextureCacheBase::DoState():
- 114. last_entry_id (u64)
- 115. complicated series of calls that save all the relevant textures to the savestate.
- 116. MARKER - "TextureCache"
- Renderer::DoState():
- 117. m_is_game_widescreen (bool)
- 118. m_frame_count (int)
- 119. m_prev_efb_format (PixelFormat class)
- 120. m_last_xfb_ticks (u64)
- 121. m_last_xfb_addr (u32)
- 122. m_last_xfb_width (u32)
- 123. m_last_xfb_stride (u32)
- 124. m_last_xfb_height (u32)
- 125. m_bounding_box_fallback (Array<u16>)
- BoundingBox::DoState(): (might cause desyncs)
- 126. m_is_active (bool)
- 127. m_values (int4)
- 128. m_dirty (Array<bool>)
- 129. m_is_valid (bool)
- 130. backend_values (vector<int>(4))
- 131. MARKER - "Renderer"
- 132. MARKER - "video_backend"
- PowerPC::DoState():
- 133. ppcState.gpr (u32[32])
- 134. ppcState.pc (u32)
- 135. ppcState.npc (u32)
- 136. ppcState.cr.fields (u64[8])
- 137. ppcState.msr (UReg_MSR Union)
- 138. ppcState.fpscr (UReg_FPSCR Union)
- 139. ppcState.Exceptions (u32)
- 140. ppcState.downcount (int)
- 141. ppcState.xer_ca (u8)
- 142. ppcState.xer_so_ov (u8)
- 143. ppcState.xer_stringctrl (u16)
- 144. ppcState.ps (PairedSingle[32] (struct))
- 145. ppcState.sr (u32[16])
- 146. ppcState.spr (u32[1024])
- 147. ppcState.tlb (Array<Array<TLBEntry>> (struct))
- 148. ppcState.pagetable_base (u32)
- 149. ppcState.pagetable_hashmask (u32)
- 150. ppcState.reserve (bool)
- 151. ppcState.reserve_address (u32)
- PowerPC::InstructionCache::DoState():
- 152. data (Array<Array<Array<u32>>>)
- 153. tags (Array<Array<u32>>)
- 154. plru (Array<u32>)
- 155. valid (Array<u32>)
- JitInterface::DoState(): (doesn't save anything, just clears caches)
- 156. MARKER - "PowerPC"
- CoreTiming::DoState():
- 157. g.slice_length (int)
- 158. g.global_timer (int_64t)
- 159. s_idled_cycles (int_64t)
- 160. s_fake_dec_start_value (u32)
- 161. s_fake_dec_start_ticks (u64)
- 162. g.fake_TB_start_value (u64)
- 163. g.fake_TB_start_ticks (u64)
- 164. s_last_OC_factor (float)
- 165. s_event_fifo_id (u64)
- 166. MARKER - "CoreTimingData"
- 167. Code to add all events from s_event_queue
- 168. MARKER - "CoreTimingEvents"
- 169. MARKER - "CoreTiming"
- HW::DoState():
- Memory::DoState():
- 170. state_ram_size (u32 - actual RAM size)
- 171. state_l1_cache_size (u32)
- 172. state_have_fake_vmem (bool)
- 173. state_fake_vmem_size (u32)
- 174. state_have_exram (bool)
- 175. state_exram_size (u32)
- 176. m_pRAM (u8[])
- 177. m_pL1Cache (u8[])
- 178. MARKER - "Memory RAM"
- 179. m_pFakeVMEM (u8[])
- 180. MARKER - "Memory FakeVMEM"
- 181. m_pEXRAM (u8[])
- 182. MARKER - "Memory EXRAM"
- 183. MARKER - "Memory"
- VideoInterface::DoState():
- 184. m_VerticalTimingRegister (UVIVerticalTimingRegister Union)
- 185. m_DisplayControlRegister (UVIDisplayControlRegister Union)
- 186. m_HTiming0 (UVIHorizontalTiming0 Union)
- 187. m_HTiming1 (UVIHorizontalTiming1 Union)
- 188. m_VBlankTimingOdd (UVIVBlankTimingRegister Union)
- 189. m_VBlankTimingEven (UVIVBlankTimingRegister Union)
- 190. m_BurstBlankingOdd (UVIBurstBlankingRegister Union)
- 191. m_BurstBlankingEven (UVIBurstBlankingRegister Union)
- 192. m_XFBInfoTop (UVIFBInfoRegister Union)
- 193. m_XFBInfoBottom (UVIFBInfoRegister Union)
- 194. m_3DFBInfoTop (UVIFPInfoRegister Union)
- 195. m_3DFBInfoBottom (UVIFBInfoRegister Union)
- 196. m_InterruptRegister (Array<UVIInterruptRegister> (Union))
- 197. m_LatchRegister (Array<UVILatchRegister> (Union))
- 198. m_PictureConfiguration (PictureConfigurationRegister Union)
- 199. m_HorizontalScaling (UVIHorizontalScaling Union)
- 200. m_FilterCoefTables (SVIFilterCoefTables Struct)
- 201. m_UnkAARegister (u32)
- 202. m_Clock (u16)
- 203. m_DTVStatus (UVIDTVStatus Union)
- 204. m_FBWidth (UVIHorizontalStepping Union)
- 205. m_BorderHBlank (UVIBorderBlankRegister Union)
- 206. s_ticks_last_line_start (u64)
- 207. s_half_line_count (u32)
- 208. s_half_line_of_next_si_poll (u32)
- 209. MARKER - "VideoInterface"
- SerialInterface::DoState():
- 210. Writes out values of 4 device channels (in a for loop with 4 iterations - represents the 4 controller ports)
- 211. s_poll (USIPoll Union)
- 212. s_com_csr (USIComCSR Union)
- 213. s_status_reg (USIStatusReg Union)
- 214. s_exi_clock_count (USIEXIClockCount Union)
- 215. s_si_buffer (Array<u8>)
- 216. MARKER - "SerialInterface"
- ProcessorInterface::DoState():
- 217. m_InterruptMask (u32)
- 218. m_InterruptCause (u32)
- 219. Fifo_CPUBase (u32)
- 220. Fifo_CPUEnd (u32)
- 221. Fifo_CPUWritePointer (u32)
- 222. m_ResetCode (u32)
- 223. MARKER - "ProcessorInterface"
- DSP::DoState():
- 224. s_ARAM.ptr (u8[] (for audio RAM and other stuff))
- 225. s_dspState (UDSPControll Union)
- 226. s_audioDMA (AudioDMA Struct)
- 227. s_arDMA (ARAM_DMA Struct)
- 228. s_ARAM_Info (ARAM_Info Struct)
- 229. s_AR_MODE (u16)
- 230. s_AR_REFRESH (u16)
- 231. s_dsp_slice (int)
- DSPHLE::DoState():
- 232. is_hle (bool - is false)
- 233. m_dsp_control (UDSPControll Union)
- 234. m_control_reg_init_code_clear_time (u64)
- 235. m_dsp_state (DSPState Struct)
- 236. ucode_crc (int)
- 237. last_ucode_crc (int)
- 238. UCodeInterface::DoState() is called for ucode and last_ucode (there's like 20 different possible types - idk which one is used).
- CMailHandler::DoState():
- 239. m_pending_mails (deque<pair<int, bool>>)
- 240. m_last_mail (u32)
- 241. m_halted (bool)
- 242. MARKER - "DSP"
- DVDInterface::DoState():
- 243. s_DISR (UDISR Union)
- 244. s_DICVR (UDICVR Union)
- 245. s_DICMDBUF (u32[3])
- 246. s_DIMAR (u32)
- 247. s_DILENGTH (u32)
- 248. s_DICR (UDICR Union)
- 249. s_DIIMMBUF (u32)
- 250. s_DICFG (UDICFG Union)
- 251. s_stream (bool)
- 252. s_stop_at_track_end (bool)
- 253. s_audio_position (u64)
- 254. s_current_start (u64)
- 255. s_current_length (u32)
- 256. s_next_start (u64)
- 257. s_next_length (u32)
- 258. s_pending_samples (u32)
- 259. s_enable_dtk (bool)
- 260. s_dtk_buffer_length (u8)
- 261. s_driver_state (Enum DriveState)
- 262. s_error_code (Enum DriveError)
- 263. s_read_buffer_start_time (u64)
- 264. s_read_buffer_end_time (u64)
- 265. s_read_buffer_start_offset (u64)
- 266. s_read_buffer_end_offset (u64)
- 267. s_disk_path_to_insert (std::string)
- DVDThread::DoState():
- 268. s_result_map (map<u64, ReadResult>)
- 269. s_next_id (u64)
- 270. had_disc (bool)
- StreamADPCM::ADPCMDecoder::DoState():
- 271. m_histl1 (int_32t)
- 272. m_histl2 (int_32t)
- 273. m_histr1 (int_32t)
- 274. m_histr2 (int_32t)
- 275. MARKER - "DVDInterface"
- GPFifo::DoState():
- 276. s_gather_pipe (u8[512])
- 277. pipe_count (u32)
- 278. MARKER - "GPFifo"
- ExpansionInterface::DoState():
- Iterates over 3 ExpansionInterface::CEXIChannels, and calls CEXIChannel::DoState() on each of them.
- CEXIChannel::DoState():
- 279. m_status (UEXI_STATUS Union)
- 280. m_dma_memory_address (u32)
- 281. m_dma_length (u32)
- 282. m_control UEXI_CONTROL Union)
- 283. m_imm_data (u32)
- 284. m_memcard_header_data (Memcard::HeaderData Struct)
- 285. Iterates over all devices (for memory cards), and calls DoState() on them.
- 286. MARKER - "ExpansionInterface"
- AudioInterface::DoState():
- 287. s_control (AICR Union)
- 288. s_volume (AIVR Union)
- 289. s_sample_counter (u32)
- 290. s_interrupt_timing (u32)
- 291. s_last_cpu_time (u64)
- 292. s_ais_sample_rate_divisor (u32)
- 293. s_aid_sample_rate_divisor (u32)
- 294. s_cpu_cycles_per_sample (u64)
- Mixer::DoState():
- Saves the following values for the m_dma_mixer, m_streaming_mixer, m_wiimote_speaker_mixer, and the 4 m_gba_mixers
- 295. m_input_sample_rate_divisor (unsigned int)
- 296. m_LVolume (atomic_int)
- 297. m_RVolume (atomic_int)
- 298. MARKER - "AudioInterface"
- HSP::DoState():
- 299. type (Enum HSPDeviceType (for ARAM expansion))
- Calls s_device->DoState(), but this seems to do nothing.
- 300. MARKER - "HSP"
- 301. MARKER - "WIIHW"
- 302. MARKER - "HW"
- 303. MARKER - "Wiimote"
- Gecko::DoState():
- 304. s_code_handler_installed (Enum Gecko::Installation)
- 305. MARKER - "Gecko"
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement