Commit graph

17 commits

Author SHA1 Message Date
Michael Ball
c82a71314c BACKENDS: 3DS: Allocate linear memory conditionally based on system model
The New 3DS requires more linear memory to launch the app than the Old 3DS does; this was causing the 3DS port to instantly crash on New 3DS models. 

This commit fixes that while allowing for future functionality coming soon(TM).
2024-11-23 22:17:54 +00:00
Cameron Cawley
4a3f280f1a 3DS: Limit the linear heap to 10 MB 2024-09-02 11:13:09 +03:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Michael Ball
d3e9cdb986 3DS: Set stack size w/o starting SVM inside a thread
This commit introduces a simpler method for setting the stack size. By setting a global variable __stacksize__,
we can override the identically-named, weak-attributed __stacksize__ defined in libctru. This is an intentional
feature of libctru, and renders it unnecessary to run ScummVM from within a thread.

Source: 192b88b6a2
Explanation: https://gbatemp.net/threads/homebrew-development.360646/page-245#post-6362424
Usage in the wild: https://github.com/masterfeizz/ioQuake3DS/blob/master/code/ctr/ctr_main.c#L44
2021-11-01 20:31:23 +01:00
Cameron Cawley
1d5f475c30 3DS: Rename the _3DS namespace 2021-02-15 02:58:15 +02:00
Bastien Bouclet
fb39b94384 3DS: Start ScummVM in a separate thread
Allows to have a larger stack than that of the main thread.

Fixes #11717
2020-09-20 16:33:45 +02:00
Bastien Bouclet
1de6764891 3DS: Use the 800x240px graphics mode for the top screen
The extra horizontal resolution results in much improved visuals
for hi-resolution games.
2020-07-19 17:41:05 +02:00
Michael Ball
b08ab0e130 3DS: Implement dynamic graphics modes to improve performance
When launching a game, switch the graphics mode if necessary
(and by extension the pixel formats used for Graphics::Surfaces
and Sprites) to the one that most closely matches the pixel format
used in-game.

Additional Fixes:
- Fix to prevent cursor position from changing when exiting a menu.
- Fix to prevent updating of Magnification viewport position when
virtual keyboard is open.
- Cosmetic code fixes for improper whitespace and missing curly brackets.
- Remove RGB8 as a mode option because:
  1) It was already commented out in the master 3DS backend.
  2) There are currently no games that explicitly require it.

Notes:
- As these graphics modes are automatically implemented on a per-game basis, they
are meant for backend use only and are purposefully not accessible through the
Options menu.
- RGBA8 (aka RGBA8888) remains the default pixel format, being used for the launcher
menu, CLUT8, and for games which do not specify a particular format.
2020-02-07 18:33:56 +01:00
Bastien Bouclet
b0d0dd1bbe 3DS: Enable GDB host IO 2019-12-31 05:29:37 +01:00
Bastien Bouclet
34e835a20c 3DS: Implement dynamic plugins
Allows a full build to run on old generation devices
2019-12-01 17:19:50 +01:00
Bastien Bouclet
036d61cbd6 3DS: Implement cloud sync support 2019-11-03 19:14:15 +01:00
Bastien Bouclet
f22e07825f 3DS: Embed ScummVM's support files in the package 2019-10-14 21:22:23 +02:00
Nitrus
b782705a20 3DS: Clean up entry point 2018-11-21 07:54:49 +00:00
Thierry Crozat
941d22c047 BACKENDS: Use OSystem::destroy() instead of deleting directly the g_system instance 2018-10-14 21:25:33 +01:00
Eugene Sandulenko
355c4fa646 JANITORIAL: Remove more trailing spaces 2016-10-09 15:02:02 +02:00
Thomas Edvalson
1531b4ddbf 3DS: Add config class/dialog, c-pad cursor control, and option to disable screens 2016-04-22 16:43:59 -04:00
Thomas Edvalson
e2b9572a83 3DS: Initial commit 2016-04-06 02:12:02 -04:00