Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature suggestion: state saving #182

Closed
Nanobot567 opened this issue May 11, 2023 · 4 comments
Closed

Feature suggestion: state saving #182

Nanobot567 opened this issue May 11, 2023 · 4 comments
Labels
Project Bigger projects

Comments

@Nanobot567
Copy link

Saving the state of the emulator (to a file or a cookie) could be a nice quality of life feature. Being able to close the browser and then pick up right where you left off would be very convenient for the user.

@mihaip
Copy link
Owner

mihaip commented May 12, 2023

#152 is related to this. It's doable to save an empty disk image, but it's harder to persist changes to the boot disk, because the underlying image might change (if I deploy a new version).

It would be possible to allow a snapshot of the entire boot disk to be saved though, and then load it again. #164 would make that easier.

@that-ben
Copy link

that-ben commented May 12, 2023

Imagine saving diff chunks to a database in the cloud and having the user sign in to InfiniteMac to pick up right where they left on any device in the world. No download, no cookie, no security issue.... Mind blown.

3ohzdQChVBWTRSkILe

@mihaip
Copy link
Owner

mihaip commented Aug 26, 2023

An initial version of this is available. It's currently not enabled by default, but you can either the "Saved HD" checkbox when running a custom instance, or add ?saved_hd=true to any existing instance URL.

image

This has a few improvements over the old "Saved" folder in The Outside World:

  • It's a whole normal 1 GB HFS disk (The Outside World is a virtual file system that is only supported in System 7.0 and later, and only in Basilisk II and SheepSaver-based Macs)
  • You can install system software on Saved HD (either by copying it from an existing disk or via a System Software CD-ROM from the library). It can then be used as a startup disk (if running a custom instance with no other disks), allowing custom extensions and control panels to be installed and persisted across sessions. You can bookmark a URL like https://infinitemac.org/run?saved_hd=true&machine=Quadra+650 and then have your own private Infinite Mac instance that you fully control.
  • The contents can be exported and imported from the emulator settings dialog, to allow backups and sharing across browsers and machines.
  • The contents can also be exported to a .dsk disk image file, so that they can be used in Basilisk II, SheepShaver and other native emulators.
  • The same disk is mounted in all instances, so it's also a way to move data from one to system disk to another.

To ensure that the disk is not corrupted, shut down the emulated Mac before leaving a session.

Let me know how it works out for you -- I will most likely enable it by default in the next week.

@mihaip
Copy link
Owner

mihaip commented Sep 14, 2023

Officially launched: https://blog.persistent.info/2023/09/infinite-mac-improved-persistence.html

@mihaip mihaip closed this as completed Sep 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Project Bigger projects
Projects
None yet
Development

No branches or pull requests

3 participants