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

DS: Rewrite the Nintendo DS backend #2693

Merged
merged 42 commits into from Feb 4, 2021
Merged

DS: Rewrite the Nintendo DS backend #2693

merged 42 commits into from Feb 4, 2021

Conversation

@ccawley2011
Copy link
Member

@ccawley2011 ccawley2011 commented Dec 19, 2020

Advantages of the rewritten backend include:

  • ScummVM now works natively on the DSi.
  • The filesystem code now uses the standard POSIX APIs along with an up to date version of libfat, which avoids the need for manually patching DLDI drivers for modern environments. Game data files are also bundled into the main .nds file.
  • The keymapper is now supported, which replaces all of the old hardcoded button controls.
  • Audio is now handled using MaxMod, which supports stereo output and removes the need for a modified ARM7 binary.
  • 16-bit colour games are now supported, along with extremely limited support for high resolution games.
  • The text console can be enabled at compile time with the --enable-debug flag.
  • The backend code is heavily simplified, which should make it much easier to understand than before.

There are still some major caveats to watch out for though:

  • Several games crash at certain points.
  • Some plugins refuse to load with the ELF loader (https://bugs.scummvm.org/ticket/11712).
  • The custom options dialog and virtual keyboard have been removed.
  • Very limited testing has been done on systems with less than 16MB RAM.
  • More cleanup is needed in the graphics code.
  • The port-specific README file is out of date and needs to be rewritten.
  • Selecting "Load", "Save" or "Options" in the GMM causes a crash (https://bugs.scummvm.org/ticket/12016).
@henke37
Copy link
Contributor

@henke37 henke37 commented Dec 19, 2020

Does the new sound system do soft synths? Don't think it will.

@ccawley2011 ccawley2011 force-pushed the ccawley2011:ds-rewrite branch from 834cfdb to 529e772 Dec 19, 2020
@Mataniko
Copy link
Contributor

@Mataniko Mataniko commented Dec 20, 2020

For merging, the port specific README will have to be deprecated, and instead migrated to the new docs using the port template.

Do you have a list of games that are not working?

@ccawley2011 ccawley2011 force-pushed the ccawley2011:ds-rewrite branch from b9327a3 to b77361b Jan 26, 2021
@sev-
Copy link
Member

@sev- sev- commented Feb 4, 2021

Thanks!

@sev- sev- merged commit 4300571 into scummvm:master Feb 4, 2021
3 checks passed
3 checks passed
Codacy Static Code Analysis Codacy Static Code Analysis
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
deepcode-ci-bot Well done, no issues found!
Details
@ccawley2011 ccawley2011 deleted the ccawley2011:ds-rewrite branch Feb 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

4 participants