Add save states #953

Open
Spegs21 wants to merge 8 commits from Spegs21/save_states into main
Spegs21 commented 2023-08-31 19:53:13 -04:00 (Migrated from github.com)

On going save state implementation per @Exzap comments in #898

Initial work based on this fork.

  • Every PPC thread and it's current thread context (OSThread_t struct)
  • Full RAM dump
  • All of the CafeOS modules and drivers need their own load/store
    • coreinit
  • All of the IOSU modules
    • fsa
  • Dynamic textures which only resides in VRAM and cant be restored from a RAM dump alone
  • The vertex and uniform cache because it can hold information that isn't synced back to RAM
  • Various settings:
    • current graphic packs configuration
    • controller config
    • renderer settings
  • Pause & resume emulation feature (not sure about the implementation of this one)
On going save state implementation per @Exzap comments in #898 Initial work based on [this fork](https://github.com/ChrisNonyminus/Cemu/tree/savestates). - [X] Every PPC thread and it's current thread context (`OSThread_t` struct) - [X] Full RAM dump - All of the [CafeOS modules and drivers](https://github.com/Exzap/Cemu/tree/main/src/Cafe/OS/libs) need their own load/store - [X] coreinit - All of the [IOSU modules](https://github.com/Exzap/Cemu/tree/main/src/Cafe/IOSU) - [x] fsa - [ ] Dynamic textures which only resides in VRAM and cant be restored from a RAM dump alone - [ ] The vertex and uniform cache because it can hold information that isn't synced back to RAM - Various settings: - [ ] current graphic packs configuration - [ ] controller config - [ ] renderer settings - [X] Pause & resume emulation feature (not sure about the implementation of this one)
amayra commented 2023-12-20 18:36:49 -03:00 (Migrated from github.com)

did this RP get dropped ?

did this RP get dropped ?
This pull request has changes conflicting with the target branch.
  • src/Cafe/IOSU/PDM/iosu_pdm.cpp
  • src/Cafe/IOSU/PDM/iosu_pdm.h
  • src/Cafe/IOSU/kernel/iosu_kernel.cpp
  • src/Cafe/IOSU/kernel/iosu_kernel.h
  • src/Cafe/OS/libs/nsyshid/nsyshid.cpp
  • src/Cafe/OS/libs/nsyshid/nsyshid.h
  • src/Cemu/Logging/CemuLogging.h
  • src/gui/MainWindow.cpp
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin Spegs21/save_states:Spegs21/save_states
git checkout Spegs21/save_states

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git checkout main
git merge --no-ff Spegs21/save_states
git checkout Spegs21/save_states
git rebase main
git checkout main
git merge --ff-only Spegs21/save_states
git checkout Spegs21/save_states
git rebase main
git checkout main
git merge --no-ff Spegs21/save_states
git checkout main
git merge --squash Spegs21/save_states
git checkout main
git merge --ff-only Spegs21/save_states
git checkout main
git merge Spegs21/save_states
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: cemu-project_Mirror/Cemu-2024-03-05#953
No description provided.