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

Ramdrive capabilities improvement #235

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

edo9300
Copy link

@edo9300 edo9300 commented Jan 23, 2024

This PR will focus on making gm9i better use the ramdrive it currently has. The main motivation is being able to use most of the features of gm9i in an envirionment where no storage is available (for example when used throught download and play on an DS).
For the moment what was changed is:

  • Always creating a ramdrive even in DS mode, it will use approximately 1MB of ram, so that it will be able to hold most of the saves
  • As long as a ramdrive is present, even if no other storage is mounted, the cart dump operations will still be doable and will instead write to the ramdrive.
  • The ramdrive DLDI driver was updated slightly to remove repeated code.

There are still various other things that have to be updated:

  • The ramdrive would be usable as dump target only when nothing else is available, while it could be useful to be able to directly dump carts there (for some reason), so a way to prompt the user what drive to use as destination would be needed. (This scenario is actually already an issue when both slot-1 and the microsd are available.)
  • With the current changes, storing saves to gba carts is broken, as the ramdrive will always be used.
  • Could be useful to compress the saves like it's done when writing to gba carts to save space in the ramdrive.
  • In ds mode, if a slot2 memory expansion cart is inserted and then removed, the ramdrive will be unmounted and no longer available.
  • In general, in the dump operations, when selecting an option, it should be checked if enough space is available on that storage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant