aboutsummaryrefslogtreecommitdiff
path: root/src/Savestate.h
Commit message (Collapse)AuthorAge
* Move all core types into namespaces (#1886)Jesse Talavera-Greenberg2023-11-25
| | | | | | | | * Reorganize namespaces - Most types are now moved into the `melonDS` namespace - Only good chance to do this for a while, since a big refactor is next * Fix the build
* update copyright yearsArisotura2023-11-04
|
* RTC revamp (#1867)Arisotura2023-10-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * get this started * implement DSi RTC commands * set up RTC clock timer. lay down basic idea of a clock. * make the date/time registers writable * move RTC state to its own structure, to make it easier to deal with * more RTC work lay base for date/time dialog * get the bulk of the RTC functionality going * much simpler design for RTC stuff * aha, that is what it is * start working on the RTC IRQ * implement all types of RTC IRQ * start refining sleep mode. code still kinda sucks. * implement keypad IRQ * refine it some more * shut the fuck uuuuuupppppppppppppp
* Slight polish to DMA (#1856)Jesse Talavera-Greenberg2023-10-24
| | | | | | | | | | | | | | | | | | | | | | | | * Slight polish to DMA - Default-initialize members explicitly - Mark some methods as const noexcept - Initialize DMA::MRAMBurstTable to DMATiming::MRAMDummy - Use the default destructor * Move DMA_Timings definitions to a source file - To ensure constant and unique addresses * Include some extra DMA members in the savestate * Simplify serializing the DMA table - Extend the dummy table to 256 bytes (same length as the real ones) * Revert the type change to DMA::DoSavestate * Keep the MRAMBurstTable inside the DMA class, instead of using a pointer - If we use a pointer to an external table, then we can't use it in savestates (else that external table gets overwritten)
* Implement in-memory savestates (#1693)Jesse Talavera-Greenberg2023-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Refactor Savestate::Var{8,16,32,64} - They now delegate to VarArray - They're declared in the class header so they're likely to be inlined * First crack at refactoring Savestate to work in-memory - Well, third, but who's counting? * Implement Savestate::Finish * Remove the VersionMajor and VersionMinor fields - Instead, pull their values directly from the savestate buffer * Mark a new constructor as explicit * Rename Reset to Rewind * Fix a linebreak * Implement Savestate::Rewind * Add ROMManager::ClearBackupState * Refactor ROMManager to use the refactored Savestate * Capitalize "Least" - It was driving me nuts * Add a log call * Increase default Savestate buffer length to 32MB * Use C-style file I/O instead of C++-style - Dumping bytes to a file with C++'s standard library is a MONSTROUS PAIN IN THE ASS * Quote the savestate's file path for clarity * Write the savestate's length into the header * Add some extra logging calls * Fix section-loading * Remove the deprecated Savestate constructor * Convert a char* to a u32 with memcpy, not a cast * Fix section-handling in loads * Include <cstring> in Savestate.h - This was causing a build error on Linux
* pointless micro optimisationsRSDuck2023-04-28
|
* Increase savestate major version (#1567)patata2023-01-19
|
* update copyright headersArisotura2022-01-09
|
* Custom path support (#1333)Arisotura2022-01-07
| | | | | | | also including: * getting rid of shitty strings * all new, cleaner ROM handling code * base for DSi savestates * GBA slot addons (for now, memory cart)
* BAHAHAHAHAHAHAAAAA-+*~+Arisotura2021-09-02
|
* Cart refactor (#1073)Arisotura2021-04-25
| | | complete cart-interface refactor, will make this code a lot easier to deal with
* update copyright year and add missing GPL headersRSDuck2021-03-12
|
* Implement "lag frame" flag and counter (#949)SuuperW2021-01-21
| | | | | * Implement "lag frame" flag and counter, and expose flag and both frame counters. BizHawk wants these. * Track frame count and lag frames while the system isn't running.
* add cur vertex and light information to savestateRSDuck2020-12-09
|
* remove some UBRSDuck2020-09-04
| | | | | | | - savestates used to read a four bytes from a single byte value - a few unassigned variables - some other things - also make the ROR macro an inline function
* GPU3D: implement zero-dot W limit (DISP_1DOT_DEPTH)Arisotura2020-04-12
|
* detect whether we are running the gameArisotura2020-02-24
|
* update copyright yearsArisotura2020-02-14
|
* hack so that the GL renderer can render linesArisotura2019-06-12
|
* Fix all -Wwrite-strings warningsCameron Cawley2019-05-04
|
* also, update copyright nameArisotura2019-01-22
|
* redesign main emu loop to use timestamps instead of being a trainwreckStapleButter2019-01-05
| | | | | | | | * cleaner code * faster in some cases * more accurate (on-demand compensation for timers and GPU) * less prone to desyncs * overall betterer
* add missing shit to savestates. bump the version up.StapleButter2018-12-11
|
* add some missing shit to savestatesStapleButter2018-11-25
|
* add proper support for GXFIFO stalls.StapleButter2018-11-23
| | | | | | | | bad games that blast the GXFIFO and overflow it: * Super Mario 64 DS * Rayman RR2 latter seems to get its music streaming crapoed.
* * store all 32 matrix stack entries in savestates instead of 31.StapleButter2018-11-05
| | | | | * bump savestate version up. will break compatibility, but the alternative would be guessing the missing matrix entries somehow, so blarg. * avoid relocating the savefile if loading a savestate fails.
* fixor copyright years.StapleButter2018-09-15
|
* base for savestate crapo.StapleButter2018-09-15
I'm not quite settled yet, so before I can get into the real meat, I figured I'd address some 'popular request' items.